diff options
author | Steve Block <steveblock@google.com> | 2011-05-25 19:08:45 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2011-06-08 13:51:31 +0100 |
commit | 2bde8e466a4451c7319e3a072d118917957d6554 (patch) | |
tree | 28f4a1b869a513e565c7760d0e6a06e7cf1fe95a /Source/WebKit2/UIProcess/win | |
parent | 6939c99b71d9372d14a0c74a772108052e8c48c8 (diff) | |
download | external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.zip external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.gz external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.bz2 |
Merge WebKit at r82507: Initial merge by git
Change-Id: I60ce9d780725b58b45e54165733a8ffee23b683e
Diffstat (limited to 'Source/WebKit2/UIProcess/win')
-rw-r--r-- | Source/WebKit2/UIProcess/win/WebContextMenuProxyWin.cpp | 3 | ||||
-rw-r--r-- | Source/WebKit2/UIProcess/win/WebContextWin.cpp | 21 | ||||
-rw-r--r-- | Source/WebKit2/UIProcess/win/WebPageProxyWin.cpp | 31 | ||||
-rw-r--r-- | Source/WebKit2/UIProcess/win/WebUndoClient.cpp | 53 | ||||
-rwxr-xr-x | Source/WebKit2/UIProcess/win/WebUndoClient.h | 46 | ||||
-rw-r--r-- | Source/WebKit2/UIProcess/win/WebView.cpp | 159 | ||||
-rw-r--r-- | Source/WebKit2/UIProcess/win/WebView.h | 17 |
7 files changed, 297 insertions, 33 deletions
diff --git a/Source/WebKit2/UIProcess/win/WebContextMenuProxyWin.cpp b/Source/WebKit2/UIProcess/win/WebContextMenuProxyWin.cpp index 5afd07e..4b5a5a7 100644 --- a/Source/WebKit2/UIProcess/win/WebContextMenuProxyWin.cpp +++ b/Source/WebKit2/UIProcess/win/WebContextMenuProxyWin.cpp @@ -73,6 +73,9 @@ void WebContextMenuProxyWin::populateMenu(HMENU menu, const Vector<WebContextMen void WebContextMenuProxyWin::showContextMenu(const IntPoint& origin, const Vector<WebContextMenuItemData>& items) { + if (items.isEmpty()) + return; + // Hide any context menu we have showing (this also destroys the menu). hideContextMenu(); diff --git a/Source/WebKit2/UIProcess/win/WebContextWin.cpp b/Source/WebKit2/UIProcess/win/WebContextWin.cpp index 26708d7..d5fd859 100644 --- a/Source/WebKit2/UIProcess/win/WebContextWin.cpp +++ b/Source/WebKit2/UIProcess/win/WebContextWin.cpp @@ -64,22 +64,39 @@ void WebContext::platformInitializeWebProcess(WebProcessCreationParameters& para RetainPtr<CFStringRef> cfURLCachePath(AdoptCF, wkCopyFoundationCacheDirectory()); parameters.cfURLCachePath = String(cfURLCachePath.get()); - // Remove the ending '/' (necessary to have CFNetwork find the Cache file). + // Remove the ending '\' (necessary to have CFNetwork find the Cache file). ASSERT(parameters.cfURLCachePath.length()); - if (parameters.cfURLCachePath[parameters.cfURLCachePath.length() - 1] == '/') + if (parameters.cfURLCachePath[parameters.cfURLCachePath.length() - 1] == '\\') parameters.cfURLCachePath.remove(parameters.cfURLCachePath.length() - 1); #if USE(CFURLSTORAGESESSIONS) parameters.uiProcessBundleIdentifier = String(reinterpret_cast<CFStringRef>(CFBundleGetValueForInfoDictionaryKey(CFBundleGetMainBundle(), kCFBundleIdentifierKey))); #endif // USE(CFURLSTORAGESESSIONS) + parameters.initialHTTPCookieAcceptPolicy = m_initialHTTPCookieAcceptPolicy; + #endif // USE(CFNETWORK) } +void WebContext::platformInvalidateContext() +{ +} + String WebContext::platformDefaultDatabaseDirectory() const { return WebCore::pathByAppendingComponent(WebCore::localUserSpecificStorageDirectory(), "Databases"); } +String WebContext::platformDefaultIconDatabasePath() const +{ + // IconDatabase should be disabled by default on Windows, and should therefore have no default path. + return String(); +} + +String WebContext::platformDefaultLocalStorageDirectory() const +{ + return WebCore::pathByAppendingComponent(WebCore::localUserSpecificStorageDirectory(), "LocalStorage"); +} + } // namespace WebKit diff --git a/Source/WebKit2/UIProcess/win/WebPageProxyWin.cpp b/Source/WebKit2/UIProcess/win/WebPageProxyWin.cpp index 186ad44..1745a06 100644 --- a/Source/WebKit2/UIProcess/win/WebPageProxyWin.cpp +++ b/Source/WebKit2/UIProcess/win/WebPageProxyWin.cpp @@ -28,6 +28,7 @@ #include "resource.h" #include <tchar.h> +#include <WebCore/SystemInfo.h> #include <WebCore/WebCoreInstanceHandle.h> #include <wtf/StdLibExtras.h> #include <wtf/text/StringConcatenate.h> @@ -36,30 +37,6 @@ using namespace WebCore; namespace WebKit { -static String windowsVersion() -{ - String osVersion; - OSVERSIONINFO versionInfo = { 0 }; - versionInfo.dwOSVersionInfoSize = sizeof(versionInfo); - ::GetVersionEx(&versionInfo); - - if (versionInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) { - if (versionInfo.dwMajorVersion == 4) { - if (versionInfo.dwMinorVersion == 0) - osVersion = "Windows 95"; - else if (versionInfo.dwMinorVersion == 10) - osVersion = "Windows 98"; - else if (versionInfo.dwMinorVersion == 90) - osVersion = "Windows 98; Win 9x 4.90"; - } - } else if (versionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT) - osVersion = makeString("Windows NT ", String::number(versionInfo.dwMajorVersion), '.', String::number(versionInfo.dwMinorVersion)); - - if (!osVersion.length()) - osVersion = makeString("Windows ", String::number(versionInfo.dwMajorVersion), '.', String::number(versionInfo.dwMinorVersion)); - return osVersion; -} - static String userVisibleWebKitVersionString() { LPWSTR buildNumberStringPtr; @@ -71,12 +48,10 @@ static String userVisibleWebKitVersionString() String WebPageProxy::standardUserAgent(const String& applicationNameForUserAgent) { - DEFINE_STATIC_LOCAL(String, osVersion, (windowsVersion())); + DEFINE_STATIC_LOCAL(String, osVersion, (windowsVersionForUAString())); DEFINE_STATIC_LOCAL(String, webKitVersion, (userVisibleWebKitVersionString())); - if (applicationNameForUserAgent.isEmpty()) - return makeString("Mozilla/5.0 (", osVersion, ") AppleWebKit/", webKitVersion, " (KHTML, like Gecko)"); - return makeString("Mozilla/5.0 (", osVersion, ") AppleWebKit/", webKitVersion, " (KHTML, like Gecko) ", applicationNameForUserAgent); + return makeString("Mozilla/5.0 (", osVersion, ") AppleWebKit/", webKitVersion, " (KHTML, like Gecko)", applicationNameForUserAgent.isEmpty() ? "" : " ", applicationNameForUserAgent); } } // namespace WebKit diff --git a/Source/WebKit2/UIProcess/win/WebUndoClient.cpp b/Source/WebKit2/UIProcess/win/WebUndoClient.cpp new file mode 100644 index 0000000..9bc96f5 --- /dev/null +++ b/Source/WebKit2/UIProcess/win/WebUndoClient.cpp @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2011 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "WebUndoClient.h" + +#include "WKAPICast.h" +#include "WebEditCommandProxy.h" +#include "WebView.h" + +namespace WebKit { + +void WebUndoClient::registerEditCommand(WebView* view, PassRefPtr<WebEditCommandProxy> prpCommand, WebPageProxy::UndoOrRedo undoOrRedo) +{ + if (!m_client.registerEditCommand) + return; + + RefPtr<WebEditCommandProxy> command = prpCommand; + m_client.registerEditCommand(toAPI(view), toAPI(command.release().releaseRef()), (undoOrRedo == WebPageProxy::Undo) ? kWKViewUndo : kWKViewRedo, m_client.clientInfo); +} + +void WebUndoClient::clearAllEditCommands(WebView* view) +{ + if (!m_client.clearAllEditCommands) + return; + + m_client.clearAllEditCommands(toAPI(view), m_client.clientInfo); +} + +} // namespace WebKit + diff --git a/Source/WebKit2/UIProcess/win/WebUndoClient.h b/Source/WebKit2/UIProcess/win/WebUndoClient.h new file mode 100755 index 0000000..12582c0 --- /dev/null +++ b/Source/WebKit2/UIProcess/win/WebUndoClient.h @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2011 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef WebUndoClient_h +#define WebUndoClient_h + +#include "APIClient.h" +#include "WKView.h" +#include "WebPageProxy.h" +#include <wtf/Forward.h> + +namespace WebKit { + +class WebEditCommandProxy; + +class WebUndoClient : public APIClient<WKViewUndoClient> { +public: + void registerEditCommand(WebView*, PassRefPtr<WebEditCommandProxy>, WebPageProxy::UndoOrRedo); + void clearAllEditCommands(WebView*); +}; + +} // namespace WebKit + +#endif // WebUndoClient_h diff --git a/Source/WebKit2/UIProcess/win/WebView.cpp b/Source/WebKit2/UIProcess/win/WebView.cpp index 62e0c42..1447864 100644 --- a/Source/WebKit2/UIProcess/win/WebView.cpp +++ b/Source/WebKit2/UIProcess/win/WebView.cpp @@ -44,7 +44,9 @@ #include <WebCore/BitmapInfo.h> #include <WebCore/Cursor.h> #include <WebCore/FloatRect.h> +#if PLATFORM(CG) #include <WebCore/GraphicsContextCG.h> +#endif #include <WebCore/IntRect.h> #include <WebCore/SoftLinking.h> #include <WebCore/WebCoreInstanceHandle.h> @@ -149,6 +151,12 @@ LRESULT WebView::wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) case WM_VISTA_MOUSEHWHEEL: lResult = onWheelEvent(hWnd, message, wParam, lParam, handled); break; + case WM_HSCROLL: + lResult = onHorizontalScroll(hWnd, message, wParam, lParam, handled); + break; + case WM_VSCROLL: + lResult = onVerticalScroll(hWnd, message, wParam, lParam, handled); + break; case WM_SYSKEYDOWN: case WM_KEYDOWN: case WM_SYSCHAR: @@ -280,6 +288,20 @@ WebView::~WebView() void WebView::initialize() { ::RegisterDragDrop(m_window, this); + + if (shouldInitializeTrackPointHack()) { + // If we detected a registry key belonging to a TrackPoint driver, then create fake + // scrollbars, so the WebView will receive WM_VSCROLL and WM_HSCROLL messages. + // We create an invisible vertical scrollbar and an invisible horizontal scrollbar to allow + // for receiving both types of messages. + ::CreateWindow(TEXT("SCROLLBAR"), TEXT("FAKETRACKPOINTHSCROLLBAR"), WS_CHILD | WS_VISIBLE | SBS_HORZ, 0, 0, 0, 0, m_window, 0, instanceHandle(), 0); + ::CreateWindow(TEXT("SCROLLBAR"), TEXT("FAKETRACKPOINTVSCROLLBAR"), WS_CHILD | WS_VISIBLE | SBS_VERT, 0, 0, 0, 0, m_window, 0, instanceHandle(), 0); + } +} + +void WebView::initializeUndoClient(const WKViewUndoClient* client) +{ + m_undoClient.initialize(client); } void WebView::setParentWindow(HWND parentWindow) @@ -394,6 +416,70 @@ LRESULT WebView::onWheelEvent(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa return 0; } +LRESULT WebView::onHorizontalScroll(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, bool& handled) +{ + ScrollDirection direction; + ScrollGranularity granularity; + switch (LOWORD(wParam)) { + case SB_LINELEFT: + granularity = ScrollByLine; + direction = ScrollLeft; + break; + case SB_LINERIGHT: + granularity = ScrollByLine; + direction = ScrollRight; + break; + case SB_PAGELEFT: + granularity = ScrollByDocument; + direction = ScrollLeft; + break; + case SB_PAGERIGHT: + granularity = ScrollByDocument; + direction = ScrollRight; + break; + default: + handled = false; + return 0; + } + + m_page->scrollBy(direction, granularity); + + handled = true; + return 0; +} + +LRESULT WebView::onVerticalScroll(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, bool& handled) +{ + ScrollDirection direction; + ScrollGranularity granularity; + switch (LOWORD(wParam)) { + case SB_LINEDOWN: + granularity = ScrollByLine; + direction = ScrollDown; + break; + case SB_LINEUP: + granularity = ScrollByLine; + direction = ScrollUp; + break; + case SB_PAGEDOWN: + granularity = ScrollByDocument; + direction = ScrollDown; + break; + case SB_PAGEUP: + granularity = ScrollByDocument; + direction = ScrollUp; + break; + default: + handled = false; + return 0; + } + + m_page->scrollBy(direction, granularity); + + handled = true; + return 0; +} + LRESULT WebView::onKeyEvent(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, bool& handled) { m_page->handleKeyboardEvent(NativeWebKeyboardEvent(hWnd, message, wParam, lParam)); @@ -490,8 +576,10 @@ LRESULT WebView::onSizeEvent(HWND, UINT, WPARAM, LPARAM lParam, bool& handled) int width = LOWORD(lParam); int height = HIWORD(lParam); - if (m_page && m_page->drawingArea()) - m_page->drawingArea()->setSize(IntSize(width, height), IntSize()); + if (m_page && m_page->drawingArea()) { + m_page->drawingArea()->setSize(IntSize(width, height), m_nextResizeScrollOffset); + m_nextResizeScrollOffset = IntSize(); + } handled = true; return 0; @@ -638,8 +726,39 @@ void WebView::stopTrackingMouseLeave() ::TrackMouseEvent(&trackMouseEvent); } +bool WebView::shouldInitializeTrackPointHack() +{ + static bool shouldCreateScrollbars; + static bool hasRunTrackPointCheck; + + if (hasRunTrackPointCheck) + return shouldCreateScrollbars; + + hasRunTrackPointCheck = true; + const wchar_t* trackPointKeys[] = { + L"Software\\Lenovo\\TrackPoint", + L"Software\\Lenovo\\UltraNav", + L"Software\\Alps\\Apoint\\TrackPoint", + L"Software\\Synaptics\\SynTPEnh\\UltraNavUSB", + L"Software\\Synaptics\\SynTPEnh\\UltraNavPS2" + }; + + for (size_t i = 0; i < WTF_ARRAY_LENGTH(trackPointKeys); ++i) { + HKEY trackPointKey; + int readKeyResult = ::RegOpenKeyExW(HKEY_CURRENT_USER, trackPointKeys[i], 0, KEY_READ, &trackPointKey); + ::RegCloseKey(trackPointKey); + if (readKeyResult == ERROR_SUCCESS) { + shouldCreateScrollbars = true; + return shouldCreateScrollbars; + } + } + + return shouldCreateScrollbars; +} + void WebView::close() { + m_undoClient.initialize(0); ::RevokeDragDrop(m_window); setParentWindow(0); m_page->close(); @@ -789,16 +908,41 @@ void WebView::setInitialFocus(bool forward) m_page->setInitialFocus(forward); } +void WebView::setScrollOffsetOnNextResize(const IntSize& scrollOffset) +{ + // The next time we get a WM_SIZE message, scroll by the specified amount in onSizeEvent(). + m_nextResizeScrollOffset = scrollOffset; +} + void WebView::setViewportArguments(const WebCore::ViewportArguments&) { } -void WebView::registerEditCommand(PassRefPtr<WebEditCommandProxy>, WebPageProxy::UndoOrRedo) +void WebView::registerEditCommand(PassRefPtr<WebEditCommandProxy> prpCommand, WebPageProxy::UndoOrRedo undoOrRedo) { + RefPtr<WebEditCommandProxy> command = prpCommand; + m_undoClient.registerEditCommand(this, command, undoOrRedo); } void WebView::clearAllEditCommands() { + m_undoClient.clearAllEditCommands(this); +} + +void WebView::reapplyEditCommand(WebEditCommandProxy* command) +{ + if (!m_page->isValid() || !m_page->isValidEditCommand(command)) + return; + + command->reapply(); +} + +void WebView::unapplyEditCommand(WebEditCommandProxy* command) +{ + if (!m_page->isValid() || !m_page->isValidEditCommand(command)) + return; + + command->unapply(); } FloatRect WebView::convertToDeviceSpace(const FloatRect& rect) @@ -806,6 +950,11 @@ FloatRect WebView::convertToDeviceSpace(const FloatRect& rect) return rect; } +IntRect WebView::windowToScreen(const IntRect& rect) +{ + return rect; +} + FloatRect WebView::convertToUserSpace(const FloatRect& rect) { return rect; @@ -1105,11 +1254,15 @@ void WebView::setFindIndicator(PassRefPtr<FindIndicator> prpFindIndicator, bool hbmp = CreateDIBSection(0, &bitmapInfo, DIB_RGB_COLORS, static_cast<void**>(&bits), 0, 0); HBITMAP hbmpOld = static_cast<HBITMAP>(SelectObject(hdc, hbmp)); +#if PLATFORM(CG) RetainPtr<CGContextRef> context(AdoptCF, CGBitmapContextCreate(bits, width, height, 8, width * sizeof(RGBQUAD), deviceRGBColorSpaceRef(), kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedFirst)); GraphicsContext graphicsContext(context.get()); contentImage->paint(graphicsContext, IntPoint(), contentImage->bounds()); +#else + // FIXME: Implement! +#endif ::SelectObject(hdc, hbmpOld); ::DeleteDC(hdc); diff --git a/Source/WebKit2/UIProcess/win/WebView.h b/Source/WebKit2/UIProcess/win/WebView.h index 28aedd6..1d65179 100644 --- a/Source/WebKit2/UIProcess/win/WebView.h +++ b/Source/WebKit2/UIProcess/win/WebView.h @@ -30,6 +30,7 @@ #include "PageClient.h" #include "WKView.h" #include "WebPageProxy.h" +#include "WebUndoClient.h" #include <ShlObj.h> #include <WebCore/COMPtr.h> #include <WebCore/DragActions.h> @@ -61,9 +62,14 @@ public: void setIsInWindow(bool); void setOverrideCursor(HCURSOR); void setInitialFocus(bool forward); + void setScrollOffsetOnNextResize(const WebCore::IntSize&); void setFindIndicatorCallback(WKViewFindIndicatorCallback, void*); WKViewFindIndicatorCallback getFindIndicatorCallback(void**); void initialize(); + + void initializeUndoClient(const WKViewUndoClient*); + void reapplyEditCommand(WebEditCommandProxy*); + void unapplyEditCommand(WebEditCommandProxy*); // IUnknown virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); @@ -89,6 +95,8 @@ private: LRESULT onMouseEvent(HWND hWnd, UINT message, WPARAM, LPARAM, bool& handled); LRESULT onWheelEvent(HWND hWnd, UINT message, WPARAM, LPARAM, bool& handled); + LRESULT onHorizontalScroll(HWND hWnd, UINT message, WPARAM, LPARAM, bool& handled); + LRESULT onVerticalScroll(HWND hWnd, UINT message, WPARAM, LPARAM, bool& handled); LRESULT onKeyEvent(HWND hWnd, UINT message, WPARAM, LPARAM, bool& handled); LRESULT onPaintEvent(HWND hWnd, UINT message, WPARAM, LPARAM, bool& handled); LRESULT onPrintClientEvent(HWND hWnd, UINT message, WPARAM, LPARAM, bool& handled); @@ -123,6 +131,8 @@ private: void startTrackingMouseLeave(); void stopTrackingMouseLeave(); + bool shouldInitializeTrackPointHack(); + void close(); HCURSOR cursorToShow() const; @@ -134,6 +144,7 @@ private: virtual void displayView(); virtual void scrollView(const WebCore::IntRect& scrollRect, const WebCore::IntSize& scrollOffset); virtual void flashBackingStoreUpdates(const Vector<WebCore::IntRect>& updateRects); + virtual float userSpaceScaleFactor() const { return 1; } virtual WebCore::IntSize viewSize(); virtual bool isViewWindowActive(); @@ -144,6 +155,7 @@ private: virtual void didRelaunchProcess(); virtual void pageClosed(); virtual void takeFocus(bool direction); + virtual void setFocus(bool focused) { } virtual void toolTipChanged(const WTF::String&, const WTF::String&); virtual void setCursor(const WebCore::Cursor&); virtual void setViewportArguments(const WebCore::ViewportArguments&); @@ -151,6 +163,7 @@ private: virtual void clearAllEditCommands(); virtual WebCore::FloatRect convertToDeviceSpace(const WebCore::FloatRect&); virtual WebCore::FloatRect convertToUserSpace(const WebCore::FloatRect&); + virtual WebCore::IntRect windowToScreen(const WebCore::IntRect&); virtual void doneWithKeyEvent(const NativeWebKeyboardEvent&, bool wasEventHandled); virtual void compositionSelectionChanged(bool); virtual PassRefPtr<WebPopupMenuProxy> createPopupMenuProxy(WebPageProxy*); @@ -177,6 +190,8 @@ private: HWND m_window; HWND m_topLevelParentWindow; HWND m_toolTipWindow; + + WebCore::IntSize m_nextResizeScrollOffset; HCURSOR m_lastCursorSet; HCURSOR m_webCoreCursor; @@ -192,6 +207,8 @@ private: unsigned m_inIMEComposition; + WebUndoClient m_undoClient; + WKViewFindIndicatorCallback m_findIndicatorCallback; void* m_findIndicatorCallbackContext; |