summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-05-24 11:24:40 +0100
committerBen Murdoch <benm@google.com>2011-06-02 09:53:15 +0100
commit81bc750723a18f21cd17d1b173cd2a4dda9cea6e (patch)
tree7a9e5ed86ff429fd347a25153107221543909b19 /Source/WebKit2
parent94088a6d336c1dd80a1e734af51e96abcbb689a7 (diff)
downloadexternal_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.zip
external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.gz
external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.bz2
Merge WebKit at r80534: Intial merge by Git
Change-Id: Ia7a83357124c9e1cdb1debf55d9661ec0bd09a61
Diffstat (limited to 'Source/WebKit2')
-rw-r--r--Source/WebKit2/ChangeLog46027
-rw-r--r--Source/WebKit2/ChangeLog-2011-02-1645403
-rw-r--r--Source/WebKit2/Configurations/Base.xcconfig3
-rw-r--r--Source/WebKit2/Configurations/Version.xcconfig2
-rw-r--r--Source/WebKit2/Configurations/WebKit2.xcconfig2
-rw-r--r--Source/WebKit2/DerivedSources.make12
-rw-r--r--Source/WebKit2/DerivedSources.pro18
-rw-r--r--Source/WebKit2/GNUmakefile.am83
-rw-r--r--Source/WebKit2/Platform/CoreIPC/Connection.cpp12
-rw-r--r--Source/WebKit2/Platform/CoreIPC/HandleMessage.h6
-rw-r--r--Source/WebKit2/Platform/CoreIPC/MessageID.h8
-rw-r--r--Source/WebKit2/Platform/SharedMemory.h4
-rw-r--r--Source/WebKit2/Platform/gtk/SharedMemoryGtk.cpp2
-rw-r--r--Source/WebKit2/Platform/gtk/WorkQueueGtk.cpp2
-rw-r--r--Source/WebKit2/Platform/mac/SharedMemoryMac.cpp48
-rw-r--r--Source/WebKit2/Platform/qt/ModuleQt.cpp1
-rw-r--r--Source/WebKit2/Platform/qt/WorkQueueQt.cpp8
-rw-r--r--Source/WebKit2/Platform/win/RunLoopWin.cpp2
-rw-r--r--Source/WebKit2/Platform/win/WorkQueueWin.cpp2
-rw-r--r--Source/WebKit2/PluginProcess/PluginControllerProxy.cpp37
-rw-r--r--Source/WebKit2/PluginProcess/PluginControllerProxy.h12
-rw-r--r--Source/WebKit2/PluginProcess/PluginControllerProxy.messages.in5
-rw-r--r--Source/WebKit2/PluginProcess/PluginProcess.cpp43
-rw-r--r--Source/WebKit2/PluginProcess/PluginProcess.h5
-rw-r--r--Source/WebKit2/PluginProcess/PluginProcess.messages.in8
-rw-r--r--Source/WebKit2/PluginProcess/WebProcessConnection.cpp26
-rw-r--r--Source/WebKit2/PluginProcess/WebProcessConnection.h4
-rw-r--r--Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm12
-rw-r--r--Source/WebKit2/PluginProcess/qt/PluginControllerProxyQt.cpp55
-rw-r--r--Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp69
-rw-r--r--Source/WebKit2/PluginProcess/qt/PluginProcessQt.cpp (renamed from Source/WebKit2/WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp)37
-rwxr-xr-xSource/WebKit2/Scripts/generate-forwarding-headers.pl33
-rw-r--r--Source/WebKit2/Scripts/generate-message-receiver.py3
-rw-r--r--Source/WebKit2/Scripts/generate-messages-header.py3
-rw-r--r--Source/WebKit2/Scripts/webkit2/messages.py7
-rw-r--r--Source/WebKit2/Shared/API/c/WKBase.h5
-rw-r--r--Source/WebKit2/Shared/API/c/WKURLRequest.cpp5
-rw-r--r--Source/WebKit2/Shared/API/c/WKURLRequest.h2
-rw-r--r--Source/WebKit2/Shared/APIObject.h5
-rw-r--r--Source/WebKit2/Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h3
-rw-r--r--Source/WebKit2/Shared/DictionaryPopupInfo.cpp51
-rw-r--r--Source/WebKit2/Shared/DictionaryPopupInfo.h55
-rw-r--r--Source/WebKit2/Shared/DrawingAreaInfo.h49
-rw-r--r--Source/WebKit2/Shared/FontInfo.cpp54
-rw-r--r--Source/WebKit2/Shared/FontInfo.h51
-rw-r--r--Source/WebKit2/Shared/NativeWebKeyboardEvent.h12
-rw-r--r--Source/WebKit2/Shared/PlatformPopupMenuData.cpp29
-rw-r--r--Source/WebKit2/Shared/PlatformPopupMenuData.h7
-rw-r--r--Source/WebKit2/Shared/Plugins/NPIdentifierData.cpp2
-rw-r--r--Source/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp2
-rw-r--r--Source/WebKit2/Shared/Plugins/NPVariantData.cpp2
-rw-r--r--Source/WebKit2/Shared/Plugins/Netscape/NetscapePluginModule.cpp115
-rw-r--r--Source/WebKit2/Shared/Plugins/Netscape/NetscapePluginModule.h20
-rw-r--r--Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm1
-rw-r--r--Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp28
-rw-r--r--Source/WebKit2/Shared/Plugins/PluginQuirks.h10
-rw-r--r--Source/WebKit2/Shared/SecurityOriginData.cpp70
-rw-r--r--Source/WebKit2/Shared/SecurityOriginData.h (renamed from Source/WebKit2/Shared/qt/CleanupHandler.cpp)51
-rw-r--r--Source/WebKit2/Shared/SelectionState.h4
-rw-r--r--Source/WebKit2/Shared/ShareableBitmap.cpp17
-rw-r--r--Source/WebKit2/Shared/ShareableBitmap.h5
-rw-r--r--Source/WebKit2/Shared/WebContextMenuItem.cpp4
-rw-r--r--Source/WebKit2/Shared/WebCoreArgumentCoders.cpp69
-rw-r--r--Source/WebKit2/Shared/WebCoreArgumentCoders.h57
-rw-r--r--Source/WebKit2/Shared/WebEvent.h4
-rw-r--r--Source/WebKit2/Shared/WebEventConversion.cpp1
-rw-r--r--Source/WebKit2/Shared/WebPageCreationParameters.cpp13
-rw-r--r--Source/WebKit2/Shared/WebPageCreationParameters.h5
-rw-r--r--Source/WebKit2/Shared/WebPreferencesStore.h1
-rw-r--r--Source/WebKit2/Shared/WebProcessCreationParameters.cpp28
-rw-r--r--Source/WebKit2/Shared/WebProcessCreationParameters.h14
-rw-r--r--Source/WebKit2/Shared/WebURLRequest.cpp17
-rw-r--r--Source/WebKit2/Shared/WebURLRequest.h3
-rw-r--r--Source/WebKit2/Shared/WebWheelEvent.cpp6
-rw-r--r--Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp2
-rw-r--r--Source/WebKit2/Shared/cg/ShareableBitmapCG.cpp22
-rw-r--r--Source/WebKit2/Shared/cg/WebCoreArgumentCodersCG.cpp46
-rw-r--r--Source/WebKit2/Shared/gtk/NativeWebKeyboardEventGtk.cpp (renamed from Source/WebKit2/UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp)40
-rw-r--r--Source/WebKit2/Shared/gtk/ShareableBitmapGtk.cpp2
-rw-r--r--Source/WebKit2/Shared/gtk/WebCoreArgumentCodersGtk.cpp2
-rw-r--r--Source/WebKit2/Shared/gtk/WebEventFactory.cpp189
-rw-r--r--Source/WebKit2/Shared/gtk/WebEventFactory.h (renamed from Source/WebKit2/UIProcess/WebProcessManager.h)35
-rw-r--r--Source/WebKit2/Shared/mac/PasteboardTypes.h1
-rw-r--r--Source/WebKit2/Shared/mac/PasteboardTypes.mm6
-rw-r--r--Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm19
-rw-r--r--Source/WebKit2/Shared/mac/WebEventFactory.mm23
-rw-r--r--Source/WebKit2/Shared/qt/WebCoreArgumentCodersQt.cpp15
-rw-r--r--Source/WebKit2/Shared/win/LayerTreeContextWin.cpp2
-rw-r--r--Source/WebKit2/Shared/win/WebCoreArgumentCodersWin.cpp18
-rw-r--r--Source/WebKit2/Shared/win/WebKitBundle.cpp63
-rw-r--r--Source/WebKit2/Shared/win/WebKitBundle.h (renamed from Source/WebKit2/Shared/NotImplemented.h)25
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKAPICast.h12
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKApplicationCacheManager.cpp52
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKApplicationCacheManager.h47
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKContext.cpp27
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKContext.h9
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKCookieManager.cpp69
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKCookieManager.h62
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKKeyValueStorageManager.cpp52
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKKeyValueStorageManager.h47
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKPage.cpp101
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKPage.h41
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKPagePrivate.h23
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.cpp65
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.h55
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKPreferences.cpp10
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h4
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKResourceCacheManager.cpp52
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKResourceCacheManager.h47
-rw-r--r--Source/WebKit2/UIProcess/API/C/gtk/WKView.cpp4
-rw-r--r--Source/WebKit2/UIProcess/API/C/gtk/WKView.h3
-rw-r--r--Source/WebKit2/UIProcess/API/mac/FindIndicatorWindow.mm1
-rw-r--r--Source/WebKit2/UIProcess/API/mac/PDFViewController.h16
-rw-r--r--Source/WebKit2/UIProcess/API/mac/PDFViewController.mm93
-rw-r--r--Source/WebKit2/UIProcess/API/mac/PageClientImpl.h12
-rw-r--r--Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm55
-rw-r--r--Source/WebKit2/UIProcess/API/mac/WKView.mm193
-rw-r--r--Source/WebKit2/UIProcess/API/mac/WKViewInternal.h9
-rw-r--r--Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h2
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qgraphicswkview.cpp22
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qgraphicswkview.h4
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qwkpage.cpp25
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qwkpage.h3
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qwkpage_p.h7
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp33
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qwkpreferences.h9
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/html/basic_page.html1
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/qgraphicswkview.pro1
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp93
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/tests.pri16
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/tests.pro2
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/util.h78
-rw-r--r--Source/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.cpp14
-rw-r--r--Source/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.h9
-rw-r--r--Source/WebKit2/UIProcess/DrawingAreaProxy.cpp11
-rw-r--r--Source/WebKit2/UIProcess/DrawingAreaProxy.h35
-rw-r--r--Source/WebKit2/UIProcess/DrawingAreaProxy.messages.in8
-rw-r--r--Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp138
-rw-r--r--Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h43
-rw-r--r--Source/WebKit2/UIProcess/GenericCallback.h114
-rw-r--r--Source/WebKit2/UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp2
-rw-r--r--Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm52
-rw-r--r--Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp2
-rw-r--r--Source/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.cpp168
-rw-r--r--Source/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.h94
-rw-r--r--Source/WebKit2/UIProcess/PageClient.h10
-rw-r--r--Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp15
-rw-r--r--Source/WebKit2/UIProcess/Plugins/PluginInfoStore.h7
-rw-r--r--Source/WebKit2/UIProcess/Plugins/PluginProcessManager.cpp41
-rw-r--r--Source/WebKit2/UIProcess/Plugins/PluginProcessManager.h7
-rw-r--r--Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp80
-rw-r--r--Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.h24
-rw-r--r--Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.messages.in3
-rw-r--r--Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp299
-rw-r--r--Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.h88
-rw-r--r--Source/WebKit2/UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp2
-rw-r--r--Source/WebKit2/UIProcess/Plugins/qt/PluginProcessProxyQt.cpp43
-rw-r--r--Source/WebKit2/UIProcess/TextChecker.h2
-rw-r--r--Source/WebKit2/UIProcess/TiledDrawingAreaProxy.cpp29
-rw-r--r--Source/WebKit2/UIProcess/TiledDrawingAreaProxy.h2
-rw-r--r--Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp99
-rw-r--r--Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.h82
-rw-r--r--Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.messages.in25
-rw-r--r--Source/WebKit2/UIProcess/WebBackForwardList.h4
-rw-r--r--Source/WebKit2/UIProcess/WebContext.cpp122
-rw-r--r--Source/WebKit2/UIProcess/WebContext.h37
-rw-r--r--Source/WebKit2/UIProcess/WebContext.messages.in5
-rw-r--r--Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp134
-rw-r--r--Source/WebKit2/UIProcess/WebCookieManagerProxy.h89
-rw-r--r--Source/WebKit2/UIProcess/WebCookieManagerProxy.messages.in27
-rw-r--r--Source/WebKit2/UIProcess/WebCookieManagerProxyClient.cpp41
-rw-r--r--Source/WebKit2/UIProcess/WebCookieManagerProxyClient.h44
-rw-r--r--Source/WebKit2/UIProcess/WebInspectorProxy.cpp8
-rw-r--r--Source/WebKit2/UIProcess/WebInspectorProxy.h2
-rw-r--r--Source/WebKit2/UIProcess/WebInspectorProxy.messages.in1
-rw-r--r--Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp100
-rw-r--r--Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h82
-rw-r--r--Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.messages.in25
-rw-r--r--Source/WebKit2/UIProcess/WebLoaderClient.cpp8
-rw-r--r--Source/WebKit2/UIProcess/WebLoaderClient.h1
-rw-r--r--Source/WebKit2/UIProcess/WebPageGroup.cpp2
-rw-r--r--Source/WebKit2/UIProcess/WebPageProxy.cpp232
-rw-r--r--Source/WebKit2/UIProcess/WebPageProxy.h120
-rw-r--r--Source/WebKit2/UIProcess/WebPageProxy.messages.in25
-rw-r--r--Source/WebKit2/UIProcess/WebPolicyClient.cpp16
-rw-r--r--Source/WebKit2/UIProcess/WebPolicyClient.h7
-rw-r--r--Source/WebKit2/UIProcess/WebPopupMenuProxy.h2
-rw-r--r--Source/WebKit2/UIProcess/WebProcessManager.cpp96
-rw-r--r--Source/WebKit2/UIProcess/WebProcessProxy.cpp60
-rw-r--r--Source/WebKit2/UIProcess/WebProcessProxy.h11
-rw-r--r--Source/WebKit2/UIProcess/WebProcessProxy.messages.in1
-rw-r--r--Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp96
-rw-r--r--Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.h79
-rw-r--r--Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.messages.in25
-rw-r--r--Source/WebKit2/UIProcess/WebUIClient.cpp6
-rw-r--r--Source/WebKit2/UIProcess/WebUIClient.h4
-rw-r--r--Source/WebKit2/UIProcess/cf/WebPageProxyCF.cpp93
-rw-r--r--Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp7
-rw-r--r--Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp49
-rw-r--r--Source/WebKit2/UIProcess/gtk/WebInspectorGtk.cpp9
-rw-r--r--Source/WebKit2/UIProcess/gtk/WebPageProxyGtk.cpp2
-rw-r--r--Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp2
-rw-r--r--Source/WebKit2/UIProcess/gtk/WebView.cpp297
-rw-r--r--Source/WebKit2/UIProcess/gtk/WebView.h122
-rw-r--r--Source/WebKit2/UIProcess/gtk/WebViewWidget.cpp377
-rw-r--r--Source/WebKit2/UIProcess/gtk/WebViewWidget.h70
-rw-r--r--Source/WebKit2/UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm108
-rw-r--r--Source/WebKit2/UIProcess/mac/TextCheckerMac.mm15
-rw-r--r--Source/WebKit2/UIProcess/mac/WebContextMac.mm13
-rw-r--r--Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm9
-rw-r--r--Source/WebKit2/UIProcess/mac/WebPageProxyMac.mm8
-rw-r--r--Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.h10
-rw-r--r--Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.mm21
-rw-r--r--Source/WebKit2/UIProcess/qt/TextCheckerQt.cpp7
-rw-r--r--Source/WebKit2/UIProcess/qt/WebContextMenuProxyQt.cpp39
-rw-r--r--Source/WebKit2/UIProcess/qt/WebContextMenuProxyQt.h3
-rw-r--r--Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp9
-rw-r--r--Source/WebKit2/UIProcess/qt/WebPageProxyQt.cpp2
-rw-r--r--Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQt.cpp2
-rw-r--r--Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQt.h2
-rw-r--r--Source/WebKit2/UIProcess/win/TextCheckerWin.cpp8
-rw-r--r--Source/WebKit2/UIProcess/win/WebContextMenuProxyWin.cpp2
-rw-r--r--Source/WebKit2/UIProcess/win/WebContextWin.cpp23
-rw-r--r--Source/WebKit2/UIProcess/win/WebInspectorProxyWin.cpp11
-rw-r--r--Source/WebKit2/UIProcess/win/WebPageProxyWin.cpp52
-rw-r--r--Source/WebKit2/UIProcess/win/WebPopupMenuProxyWin.cpp2
-rw-r--r--Source/WebKit2/UIProcess/win/WebPopupMenuProxyWin.h2
-rw-r--r--Source/WebKit2/UIProcess/win/WebView.cpp78
-rw-r--r--Source/WebKit2/UIProcess/win/WebView.h8
-rw-r--r--Source/WebKit2/WebKit2.pri95
-rw-r--r--Source/WebKit2/WebKit2.pro359
-rw-r--r--Source/WebKit2/WebKit2.xcodeproj/project.pbxproj408
-rw-r--r--Source/WebKit2/WebKit2API.pri144
-rw-r--r--Source/WebKit2/WebProcess.pro9
-rw-r--r--Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.cpp101
-rw-r--r--Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.h62
-rw-r--r--Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in27
-rw-r--r--Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp92
-rw-r--r--Source/WebKit2/WebProcess/Cookies/WebCookieManager.h64
-rw-r--r--Source/WebKit2/WebProcess/Cookies/WebCookieManager.messages.in33
-rw-r--r--Source/WebKit2/WebProcess/Downloads/DownloadManager.cpp2
-rw-r--r--Source/WebKit2/WebProcess/Downloads/cf/DownloadCFNet.cpp2
-rw-r--r--Source/WebKit2/WebProcess/Downloads/curl/DownloadCurl.cpp2
-rw-r--r--Source/WebKit2/WebProcess/Downloads/mac/DownloadMac.mm2
-rw-r--r--Source/WebKit2/WebProcess/Downloads/qt/DownloadQt.cpp2
-rw-r--r--Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp1
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp7
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h1
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp4
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h2
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp6
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h3
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp5
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h19
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h2
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp5
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h3
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp35
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h9
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp2
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp2
-rw-r--r--Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp94
-rw-r--r--Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.h62
-rw-r--r--Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in27
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp5
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h3
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp4
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h6
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.cpp19
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.h15
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp12
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h3
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp78
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp26
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h7
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp4
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm9
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp4
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp43
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp4
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Plugin.h4
-rw-r--r--Source/WebKit2/WebProcess/Plugins/PluginController.h24
-rw-r--r--Source/WebKit2/WebProcess/Plugins/PluginProxy.cpp14
-rw-r--r--Source/WebKit2/WebProcess/Plugins/PluginProxy.h1
-rw-r--r--Source/WebKit2/WebProcess/Plugins/PluginView.cpp68
-rw-r--r--Source/WebKit2/WebProcess/Plugins/PluginView.h7
-rw-r--r--Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.cpp120
-rw-r--r--Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.h (renamed from Source/WebKit2/Shared/qt/CleanupHandler.h)70
-rw-r--r--Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.messages.in27
-rw-r--r--Source/WebKit2/WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp58
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp20
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h5
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebContextMenuClient.cpp4
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebDragClient.cpp3
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp28
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.h8
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp99
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h7
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebInspectorClient.cpp4
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp8
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp41
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h8
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp2
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp82
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp2
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm14
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm2
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm9
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm14
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm7
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp2
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp2
-rw-r--r--Source/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp28
-rw-r--r--Source/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.h6
-rw-r--r--Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp34
-rw-r--r--Source/WebKit2/WebProcess/WebPage/DrawingArea.h30
-rw-r--r--Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in2
-rw-r--r--Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp190
-rw-r--r--Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h21
-rw-r--r--Source/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.cpp239
-rw-r--r--Source/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.h123
-rw-r--r--Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h2
-rw-r--r--Source/WebKit2/WebProcess/WebPage/TiledDrawingArea.cpp4
-rw-r--r--Source/WebKit2/WebProcess/WebPage/TiledDrawingArea.h3
-rw-r--r--Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp10
-rw-r--r--Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.h1
-rw-r--r--Source/WebKit2/WebProcess/WebPage/WebInspector.cpp5
-rw-r--r--Source/WebKit2/WebProcess/WebPage/WebInspector.h1
-rw-r--r--Source/WebKit2/WebProcess/WebPage/WebPage.cpp144
-rw-r--r--Source/WebKit2/WebProcess/WebPage/WebPage.h33
-rw-r--r--Source/WebKit2/WebProcess/WebPage/WebPage.messages.in17
-rw-r--r--Source/WebKit2/WebProcess/WebPage/gtk/WebInspectorGtk.cpp4
-rw-r--r--Source/WebKit2/WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm187
-rw-r--r--Source/WebKit2/WebProcess/WebPage/mac/LayerTreeHostMac.h6
-rw-r--r--Source/WebKit2/WebProcess/WebPage/mac/LayerTreeHostMac.mm29
-rw-r--r--Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm128
-rw-r--r--Source/WebKit2/WebProcess/WebPage/qt/WebInspectorQt.cpp4
-rw-r--r--Source/WebKit2/WebProcess/WebPage/win/WebInspectorWin.cpp3
-rw-r--r--Source/WebKit2/WebProcess/WebPage/win/WebPageWin.cpp17
-rw-r--r--Source/WebKit2/WebProcess/WebProcess.cpp115
-rw-r--r--Source/WebKit2/WebProcess/WebProcess.h17
-rw-r--r--Source/WebKit2/WebProcess/WebProcess.messages.in7
-rw-r--r--Source/WebKit2/WebProcess/com.apple.WebProcess.sb1
-rw-r--r--Source/WebKit2/WebProcess/gtk/WebProcessGtk.cpp4
-rw-r--r--Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.h40
-rw-r--r--Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.mm70
-rw-r--r--Source/WebKit2/WebProcess/mac/WebProcessMac.mm10
-rw-r--r--Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm7
-rw-r--r--Source/WebKit2/WebProcess/qt/WebProcessQt.cpp2
-rw-r--r--Source/WebKit2/WebProcess/win/WebProcessWin.cpp13
-rw-r--r--Source/WebKit2/config.h13
-rw-r--r--Source/WebKit2/win/WebKit2.rc48
-rwxr-xr-xSource/WebKit2/win/WebKit2.vcproj346
-rwxr-xr-xSource/WebKit2/win/WebKit2Common.vsprops2
-rw-r--r--Source/WebKit2/win/WebKit2Generated.make8
-rwxr-xr-xSource/WebKit2/win/WebKit2Generated.vcproj28
-rw-r--r--Source/WebKit2/win/WebKit2WebProcess.rc47
-rwxr-xr-xSource/WebKit2/win/WebKit2WebProcess.vcproj4
-rw-r--r--Source/WebKit2/win/WebKit2WebProcessPostBuild.cmd1
-rw-r--r--Source/WebKit2/win/WebKit2WebProcessPreBuild.cmd2
-rw-r--r--Source/WebKit2/win/WebKitPostBuild.cmd1
361 files changed, 57846 insertions, 46280 deletions
diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog
index 9f916ac..3ade49a 100644
--- a/Source/WebKit2/ChangeLog
+++ b/Source/WebKit2/ChangeLog
@@ -1,44701 +1,4206 @@
-2011-02-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Speculative fix for
-
- <rdar://problem/8995361>
- CrashTracer: [USER] 47 crashes in WebProcess at com.apple.WebKit2: WebKit::WebPage::layoutIfNeeded + 4
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::~DrawingAreaImpl):
- Invalidate the layer tree host.
-
-2011-02-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- The plug-in process heap should be executable by default
- https://bugs.webkit.org/show_bug.cgi?id=54364
- <rdar://problem/8990563>
-
- * UIProcess/Launcher/ProcessLauncher.h:
- Add executableHeap flag.
-
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess):
- Set the right posix_spawn flag if executableHeap is true.
-
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::PluginProcessProxy):
- Initialize executableHeap to true.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::connect):
- Initialize executableHeap to false.
-
-2011-02-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Messages waited on are never dispatched
- https://bugs.webkit.org/show_bug.cgi?id=54362
- <rdar://problem/8995051>
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::processIncomingMessage):
- Get the argument encoder from the incoming message.
-
-2011-02-13 Jeremy Moskovich <jeremy@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add a compile-time option to completely disable WebArchive support.
- https://bugs.webkit.org/show_bug.cgi?id=52712
-
- Add an ENABLE(WEB_ARCHIVE) compile-time setting and use it for all WebArchive code.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
-
-2011-02-13 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=54348
- Crash when printing a document with no pages
-
- * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::drawPagesToPDF): Don't fail on a fake
- page that computePagesForPrinting() added to a pageless document.
-
-2011-02-13 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed and landed by Sam Weinig.
-
- AX: Update WK2 usage of remote accessibility api
- https://bugs.webkit.org/show_bug.cgi?id=54220
-
- Rename some of the remote accessibility methods to be more accurate.
- Make sure to unregister the AccessibilityWebPageObject on dealloc.
- Send the window remote token along with the WKView remote token.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _updateRemoteAccessibilityRegistration:]):
- (-[WKView initWithFrame:contextRef:pageGroupRef:]):
- (-[WKView viewDidMoveToWindow]):
- (-[WKView _processDidCrash]):
- (-[WKView _pageClosed]):
- (-[WKView _setAccessibilityWebProcessToken:]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
- (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
- * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
- (-[AccessibilityWebPageObject dealloc]):
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::platformInitialize):
- (WebKit::WebPage::registerUIProcessAccessibilityTokens):
-
-2011-02-11 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=54335
- <rdar://problem/8895141> Make window.print() work with WebKit2
-
- * Platform/CoreIPC/Connection.h: Corrected a typo in FIXME comment.
-
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
- (WebKit::ChunkedUpdateDrawingAreaProxy::update):
- (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::sizeDidChange):
- (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
- (WebKit::TiledDrawingAreaProxy::takeSnapshot):
- (WebKit::TiledDrawingAreaProxy::removeTile):
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
- (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
- (WebKit::LayerBackedDrawingAreaProxy::update):
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::ensureWebProcess):
- (WebKit::WebContext::postMessageToInjectedBundle):
- Updated for send() -> deprecatedSend() rename.
-
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy): Added a flag that's true while serving window.print().
- (WebKit::WebPageProxy::printFrame): Set and unset m_isPerformingDOMPrintOperation.
- (WebKit::WebPageProxy::beginPrinting): Force message processing in web process when serving
- window.print().
- (WebKit::WebPageProxy::endPrinting): Ditto.
- (WebKit::WebPageProxy::computePagesForPrinting): Ditto.
- (WebKit::WebPageProxy::drawRectToPDF): Ditto.
- (WebKit::WebPageProxy::drawPagesToPDF): Ditto.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::~WebProcessProxy):
- (WebKit::WebProcessProxy::sendMessage):
- (WebKit::WebProcessProxy::didFinishLaunching):
- When waiting for a web process to launch, store message flags, too. This is not practically
- important for DispatchMessageEvenWhenWaitingForSyncReply, but it's easier to store flags
- than to remember about this pitfall.
-
- * UIProcess/WebProcessProxy.h:
- (WebKit::WebProcessProxy::send): Added a flags argument, matching Connection::send().
- (WebKit::WebProcessProxy::deprecatedSend): Renamed one of send() overloads, because it was
- conflicting with the other one after adding a flags argument. This matches a change previously
- made to CoreIPC::Connection.
-
-2011-02-12 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Crash in RenderLayerCompositor::updateCompositingLayers when loading some sites
- https://bugs.webkit.org/show_bug.cgi?id=54345
-
- Some sites flip between composited and non-comosited state while loading. When the timing is
- right, when we flip out of compositing we will need to do a display while tossing all the
- compositing layers. This causes us to reenter RenderLayerCompositor::computeCompositingRequirements()
- while we are in the middle of tossing layers, which leads to a crash.
-
- The solution is to defer the logic of exiting compositing mode until the DrawingArea is finished
- doing its display, using a timer.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::DrawingAreaImpl):
- (WebKit::DrawingAreaImpl::setRootCompositingLayer):
- (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingModeSoon):
- * WebProcess/WebPage/DrawingAreaImpl.h:
-
-2011-02-12 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Follow up fix to:
- https://bugs.webkit.org/show_bug.cgi?id=54341 - optionally scale snapshots in document view coordinates
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Fixed the order of the scale and translate.
-
-2011-02-12 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=54341 - optionally scale snapshots in document view coordinates
- <rdar://problem/8990069>
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageCreateScaledSnapshotInDocumentCoordinates): Added.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added above new function.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Added.
- (WebKit::WebPage::snapshotInDocumentCoordinates): Call scaledSnapshotInDocumentCoordinates with a scale of 1.
- * WebProcess/WebPage/WebPage.h: Added scaledSnapshotInDocumentCoordinates().
-
-2011-02-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Can’t open local files on reload or navigation from the back/forward cache
- https://bugs.webkit.org/show_bug.cgi?id=54332
- <rdar://problem/8903076>
-
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::WebInspectorProxy::isInspectorPage):
- * UIProcess/WebInspectorProxy.h:
- Check whether the given page is a web inspector page.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeSandboxExtensionHandle):
- If this is a web inspector page, we don't want to make a sandbox extension.
-
- (WebKit::WebPageProxy::reattachToWebProcessWithItem):
- (WebKit::WebPageProxy::goForward):
- (WebKit::WebPageProxy::goBack):
- (WebKit::WebPageProxy::goToBackForwardItem):
- Pass a sandbox extension along when sending the message.
-
- * UIProcess/WebPageProxy.h:
- Make initializeSandboxExtensionHandle a member function.
-
- * UIProcess/cf/WebPageProxyCF.cpp:
- (WebKit::WebPageProxy::restoreFromSessionStateData):
- Pass a sandbox extension along.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::goForward):
- (WebKit::WebPage::goBack):
- (WebKit::WebPage::goToBackForwardItem):
- Hand the sandbox extension to the sandbox extension tracker.
-
- (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem):
- Pass the sandbox extension to goToBackForwardItem.
-
- (WebKit::shouldReuseCommittedSandboxExtension):
- New function that checks whether a committed sandbox extension should be re-used. We
- do this for page reloads, as well as regular page navigations when both the committed
- and provisional documents have file URLs.
-
- (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
- Reuse the committed sandbox extension if necessary.
-
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
-
-2011-02-11 Anders Carlsson <andersca@apple.com>
-
- Fix Snow Leopard build.
-
- * PluginProcess/PluginProcess.cpp:
- (WebKit::PluginProcess::didFailToSendSyncMessage):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::didFailToSendSyncMessage):
-
-2011-02-11 Yael Aharon <yael.aharon@nokia.com>
-
- Unreviewed Qt webkit2 build fix after r78392.
-
- * WebProcess/WebProcess.h:
-
-2011-02-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebProcess hung communicating with the plug-in process
- https://bugs.webkit.org/show_bug.cgi?id=54328
- <rdar://problem/8854075>
-
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::createWebProcessConnection):
- Add the DispatchMessageEvenWhenWaitingForSyncReply message send flag when sending the
- PluginProcess::CreateWebProcessConnection message, since the plug-in process can be busy waiting
- for a sync reply from the web process.
-
-2011-02-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Incoming synchronous messages should always be processed regardless of connection waiting for a reply
- https://bugs.webkit.org/show_bug.cgi?id=54326
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::SyncMessageState::getOrCreate):
- Assert that the map has a non-null SyncMessageState object.
-
- (CoreIPC::Connection::SyncMessageState::SyncMessageState):
- Initialize m_waitForSyncReplyCount.
-
- (CoreIPC::Connection::SyncMessageState::beginWaitForSyncReply):
- Increment m_waitForSyncReplyCount.
-
- (CoreIPC::Connection::SyncMessageState::endWaitForSyncReply):
- Decrement m_waitForSyncReplyCount. If it's 0, enqueue any incoming sync messages.
-
- (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
- If this is a message that needs to be dispatched, add it to the queue and wake up the client run loop.
-
- (CoreIPC::Connection::SyncMessageState::dispatchMessages):
- Go through the queue of incoming messages and dispatch them.
-
- (CoreIPC::Connection::sendSyncMessage):
- call beginWaitForSyncReply/endWaitForSyncReply.
-
- (CoreIPC::Connection::waitForSyncReply):
- Dispatch messages.
-
- (CoreIPC::Connection::processIncomingMessage):
- Call SyncMessageState::processIncomingMessage.
-
- (CoreIPC::Connection::enqueueIncomingMessage):
- Add helper function for enqueuing an incoming message.
-
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::Message::destinationID):
-
-2011-02-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- WebKit2: Going to Ars Technica crashes WebProcess in WebCore::ResourceRequestBase::url() const + 9
- <rdar://problem/8978832>
-
- Speculative fix for crash accessing a bad ResourceRequest in policy
- client code. Remove early returns from dispatchDecidePolicyForMIMEType
- and dispatchDecidePolicyForNavigationAction that are not present in the WebKit1
- equivalent code. This should be safe, now that the IPC calls are synchronous.
-
- Also removes some invalid assertions in WebFrameProxy that were getting hit. It is okay
- for the url to empty.
-
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
- (WebKit::WebFrameProxy::didFailProvisionalLoad):
- (WebKit::WebFrameProxy::didFailLoad):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
-
-2011-02-11 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler and Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=53593
- <rdar://problem/8948380> Crash beneath HistoryController::recursiveSetProvisionalItem in web
- process (preceded by assertion failure) if UI process exits while
- Messages::WebPage::RestoreSessionAndNavigateToCurrentItem is being handled
-
- Can't test exiting the UI process.
-
- * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessage):
- * Platform/CoreIPC/Connection.h: (CoreIPC::Connection::Client::didFailToSendSyncMessage):
- Notify connection client when the connection fails to send a sync message.
-
- * WebProcess/WebProcess.cpp: (WebKit::WebProcess::didFailToSendSyncMessage):
- * WebProcess/WebProcess.h:
- Quit the web process immediately if it tried to send a sync message to a dead UI process.
- It never needs to continue and handle an unexpected null "reply".
-
- * PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::didFailToSendSyncMessage):
- * PluginProcess/PluginProcess.h:
- Ditto. There is no need for a plug-in to keep running even briefly if it couldn't get a
- reply to a sync message.
-
-2011-02-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a way to send async messages that can't get out of order with sync ones
- https://bugs.webkit.org/show_bug.cgi?id=54319
- <rdar://problem/8894844>
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::sendMessage):
- sendMessage now takes a messageSendFlags. Update the messageID if the
- messageSendFlags contain DispatchMessageEvenWhenWaitingForSyncReply.
-
- (CoreIPC::Connection::waitForSyncReply):
- Process asynchronous messages as well.
-
- (CoreIPC::Connection::processIncomingMessage):
- Check if a message should be dispatched even when we're waiting for a
- synchronous reply.
-
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::send):
- Send now takes a messageSendFlags parameter.
-
- * Platform/CoreIPC/MessageID.h:
- (CoreIPC::MessageID::messageIDWithAddedFlags):
- Return a new MessageID object with the given flags added.
-
- (CoreIPC::MessageID::shouldDispatchMessageWhenWaitingForSyncReply):
- Add getter.
-
-2011-02-11 Sam Weinig <sam@webkit.org>
+2011-03-07 Damian Kaleta <dkaleta@apple.com>
Reviewed by Anders Carlsson.
- Crash with dynamic popup menu use
- <rdar://problem/8716952>
-
- Invalidate popup menus when forcing them closed, since they might still be
- in their tracking loop.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::showPopupMenu):
- (WebKit::WebPageProxy::hidePopupMenu):
- * UIProcess/WebPopupMenuProxy.h:
- (WebKit::WebPopupMenuProxy::invalidate):
- * UIProcess/mac/WebPopupMenuProxyMac.mm:
- (WebKit::WebPopupMenuProxyMac::showPopupMenu):
- * UIProcess/win/WebPopupMenuProxyWin.cpp:
- (WebKit::WebPopupMenuProxyWin::showPopupMenu):
- (WebKit::WebPopupMenuProxyWin::setFocusedIndex):
-
-2011-02-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Actually initialize m_syncMessageState.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::Connection):
-
-2011-02-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Move the binary semaphore into SyncMessageState
- https://bugs.webkit.org/show_bug.cgi?id=54311
-
- With this change, all connections that belong to the same run loop will use same binary semaphore.
- This is in preparation for making any connection be able to wakeup the client run loop.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::SyncMessageState::wakeUpClientRunLoop):
- (CoreIPC::Connection::SyncMessageState::wait):
- (CoreIPC::Connection::waitForSyncReply):
- (CoreIPC::Connection::processIncomingMessage):
- (CoreIPC::Connection::connectionDidClose):
- * Platform/CoreIPC/Connection.h:
-
-2011-02-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add a SyncMessageState class to CoreIPC::Connection
- https://bugs.webkit.org/show_bug.cgi?id=54309
-
- SyncMessageState objects are shared between all connections scheduled on
- a given run loop. It will be used to keep track of state when waiting
- for replies for a synchronous message.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::SyncMessageState::syncMessageStateMap):
- (CoreIPC::Connection::SyncMessageState::syncMessageStateMapMutex):
- Add a global RunLoop -> SyncMessageState map and a mutex for locking.
-
- (CoreIPC::Connection::SyncMessageState::getOrCreate):
- Look in the map for an existing SyncMessageState object and create a new
- one if none is found.
-
- (CoreIPC::Connection::SyncMessageState::SyncMessageState):
- Initialize m_runLoop.
-
- (CoreIPC::Connection::SyncMessageState::~SyncMessageState):
- Remove the object from the map.
-
-2011-02-11 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Darin Adler.
-
- crashes in WebProcess at WebCore::Range::startPosition const + 16
- https://bugs.webkit.org/show_bug.cgi?id=54294
- <rdar://problem/8982710>
-
- I don't have a repro case for this bugs, but the side-by-side
- comparison of the IME support implementation in WebKit and WebKi2
- shows a missing null check on a Range that could very well explain
- this crash.
- I tried running platform/mac/editing/input tests with a version of WebKit
- without the null check and I can reproduce a crash with the same signature.
- These tests are not yet enabled for WebKit2.
-
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::firstRectForCharacterRange):
-
-2011-02-11 Jeff Miller <jeffm@apple.com>
-
- Reviewed by Steve Falkenburg.
-
- Eliminate /DELAYLOAD:msimg32.dll ignored warning when building WebKit project
- https://bugs.webkit.org/show_bug.cgi?id=54296
-
- * win/WebKit2Common.vsprops: Remove msimg32.dll from the list of DelayLoadDLLs.
-
-2011-02-11 Chandra Vallala <chandra.vallala@motorola.com> and Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Implement UpdateChunk, ChunkedUpdateDrawingArea/Proxy
- classes for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=54080
-
- * GNUmakefile.am:
- * Shared/gtk/UpdateChunk.cpp: Added.
- (WebKit::UpdateChunk::UpdateChunk):
- (WebKit::UpdateChunk::~UpdateChunk):
- (WebKit::UpdateChunk::encode):
- (WebKit::UpdateChunk::decode):
- (WebKit::UpdateChunk::createImage):
- * Shared/gtk/UpdateChunk.h: Added.
- (WebKit::UpdateChunk::rect):
- (WebKit::UpdateChunk::isEmpty):
- (WebKit::UpdateChunk::size):
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
- Initialize the surface.
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
- * UIProcess/DrawingAreaProxy.h: Added cairo variables.
- * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp: Added.
- (WebKit::ChunkedUpdateDrawingAreaProxy::page):
- (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
- (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
- (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
- (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
- * WebProcess/WebPage/gtk/ChunkedUpdateDrawingAreaGtk.cpp: Added.
- (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
-
-2011-02-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Repro crash with Sony Google TV ad at Gizmodo
- https://bugs.webkit.org/show_bug.cgi?id=54150
- <rdar://problem/8782346>
-
- Re-landing this fix, bug without the test case, since it causes hangs on the bots.
- https://bugs.webkit.org/show_bug.cgi?id=54171 tracks adding back the test.
-
- Since PluginView::evaluate can cause the plug-in element to go away, we need to protect it.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::~PluginView):
- Null out m_pluginElement here so we'll catch crashes earlier.
-
- (WebKit::PluginView::evaluate):
- Add a plug-in protector.
-
-2011-02-10 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Enrica Casucci and Adele Peterson.
-
- WebKit2 pages gobble up cmd-I as an editing command in some cases where it shouldn't
- https://bugs.webkit.org/show_bug.cgi?id=54254
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _handleStyleKeyEquivalent:]):
- Return early if we're not in an editable region.
-
-2011-02-10 Andreas Kling <kling@webkit.org>
-
- Unreviewed Qt build fix.
-
- waitFor() -> deprecatedWaitFor()
-
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
-
-2011-02-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Move code to dispatch an incoming message out into a new function
- https://bugs.webkit.org/show_bug.cgi?id=54239
-
- This also fixes a leak where we wouldn't free ArgumentDecoder objects
- after a connection has been invalidated.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::dispatchMessage):
- (CoreIPC::Connection::dispatchMessages):
- * Platform/CoreIPC/Connection.h:
-
-2011-02-10 Anders Carlsson <andersca@apple.com>
-
- Try again to fix the Qt build.
-
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::sizeDidChange):
- (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
- (WebKit::TiledDrawingAreaProxy::takeSnapshot):
- (WebKit::TiledDrawingAreaProxy::removeTile):
-
-2011-02-10 Anders Carlsson <andersca@apple.com>
-
- Attempt to fix the Qt build.
-
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::sizeDidChange):
- (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
- (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
- (WebKit::TiledDrawingAreaProxy::takeSnapshot):
- (WebKit::TiledDrawingAreaProxy::removeTile):
- * WebProcess/WebPage/TiledDrawingArea.cpp:
- (WebKit::TiledDrawingArea::display):
- (WebKit::TiledDrawingArea::setSize):
- (WebKit::TiledDrawingArea::updateTile):
- (WebKit::TiledDrawingArea::tileUpdateTimerFired):
- (WebKit::TiledDrawingArea::didReceiveMessage):
-
-2011-02-10 Adam Roben <aroben@apple.com>
-
- Handle a null FindIndicator correctly
-
- We are passed a null FindIndicator when the find indicator becomes hidden.
-
- Fixes <http://webkit.org/b/54213> <rdar://problem/8983261> REGRESSION (r78198): Crash in
- FindIndicator::contentImage when scrolling page
-
- Reviewed by Steve Falkenburg.
-
- * Platform/win/SharedMemoryWin.cpp:
- (WebKit::SharedMemory::Handle::isNull): Implemented.
- (WebKit::SharedMemory::create): Bail out if the handle is null, just like Mac does.
- Otherwise assert that ::MapViewOfFile succeeded. This doesn't fix the bug, but should help
- catch other errors.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::setFindIndicator): Null-check the FindIndicator before dereferencing it.
- Also changed the function to store the FindIndicator in a RefPtr.
-
-2011-02-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
+ QuickTime plugin should opt in to a 32-bit non-executable heap
+ https://bugs.webkit.org/show_bug.cgi?id=55704
+ <rdar://problem/8105706>
- Add 'deprecated' to the deprecated CoreIPC functions
- https://bugs.webkit.org/show_bug.cgi?id=54223
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::sendMessage):
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::send):
- (CoreIPC::Connection::deprecatedSendSync):
- (CoreIPC::Connection::deprecatedSend):
- (CoreIPC::Connection::deprecatedWaitFor):
- * Platform/CoreIPC/mac/ConnectionMac.cpp:
- (CoreIPC::Connection::open):
- * PluginProcess/PluginProcess.cpp:
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
* UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::createWebProcessConnection):
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::postMessage):
- (WebKit::InjectedBundle::postSynchronousMessage):
- * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
- (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- (WebKit::ChunkedUpdateDrawingArea::display):
- (WebKit::ChunkedUpdateDrawingArea::setSize):
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::setSize):
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- (WebKit::LayerBackedDrawingArea::attachCompositingContext):
-
-2011-02-10 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Window resizer does not have a border when there are scrollbars in WebKit2 windows
- <rdar://problem/8488476>
- https://bugs.webkit.org/show_bug.cgi?id=54222
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _updateGrowBoxForWindowFrameChange]):
- (-[WKView _didChangeScrollbarsForMainFrame]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/API/qt/qwkpage_p.h:
- (QWKPagePrivate::didChangeScrollbarsForMainFrame):
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::didChangeScrollbarsForMainFrame):
- * UIProcess/win/WebView.h:
-
-2011-02-10 Ivan Krstić <ike@apple.com>
-
- Reviewed by Adam Roben.
-
- Rename remaining instances of _HOME sandbox parameter.
- <rdar://problem/8983428>
-
- * WebProcess/com.apple.WebProcess.sb:
-
-2011-02-10 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Anders Carlsson.
-
- AX: AX needs to stop using WebCoreViewFactory
- https://bugs.webkit.org/show_bug.cgi?id=54153
-
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-02-10 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Sandbox violations trying to read crypto preferences.
- <rdar://problem/8981151>
-
- * WebProcess/com.apple.WebProcess.sb:
-
-2011-02-10 Peter Varga <pvarga@webkit.org>
-
- Reviewed by Csaba Osztrogonác.
-
- Remove PCRE source from trunk
- https://bugs.webkit.org/show_bug.cgi?id=54188
-
- * WebKit2.pro:
-
-2011-02-09 Adam Roben <aroben@apple.com>
-
- Turn on the new drawing area on Windows
-
- Fixes <http://webkit.org/b/53805> <rdar://problem/8960666> WebKit2 on Windows should use
- DrawingAreaProxyImpl
-
- Reviewed by Darin Adler.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::useNewDrawingArea): Return true!
-
-2011-02-09 Adam Roben <aroben@apple.com>
-
- Hook up WM_PRINT to the new drawing area
-
- Fixes <http://webkit.org/b/54145> <rdar://problem/8979559> WM_PRINT doesn't work with new
- drawing area (assertion failure in DrawingAreaProxyImpl in Debug builds)
-
- Reviewed by Darin Adler.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::paint): Added. Code came from onPaintEvent.
-
- (WebKit::WebView::onPaintEvent):
- (WebKit::WebView::onPrintClientEvent):
- Changed to call paint.
-
- * UIProcess/win/WebView.h: Added paint. Also separated message handler functions into their
- own paragraph.
-
-2011-02-09 Adam Roben <aroben@apple.com>
-
- Notice when the backing store goes away after DidSetSize
-
- Fixes <http://webkit.org/b/54142> <rdar://problem/8979365> Crash in
- DrawingAreaProxyImpl::paint when WKView paints after being resized while hidden
-
- Reviewed by Darin Adler.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::paint): Null-check m_backingStore after waiting for
- DidSetSize, as m_backingStore can go away when we receive that message. This is the bug fix.
- Also moved the accelerated compositing check inside the block where we wait for DidSetSize.
- If we didn't wait for DidSetSize, we already know that we're not in accelerated compositing
- mode (and asserted so earlier in this function).
-
-2011-02-09 Adam Roben <aroben@apple.com>
-
- Decode a null SharedMemory::Handle correctly on Windows
-
- Fixes <http://webkit.org/b/54141> <rdar://problem/8979195> WKView draws at wrong size,
- performs badly if is resized while hidden (assertion fails in
- BackingStore::incorporateUpdate in Debug builds)
-
- Reviewed by Darin Adler.
-
- * Platform/win/SharedMemoryWin.cpp:
- (WebKit::getDuplicatedHandle): Added. Code came from decode. The only changes were to
- null-check sourceHandle (this is the bug fix) and to assert when ::DuplicateHandle fails
- (which would have caught the bug earlier).
- (WebKit::SharedMemory::Handle::decode): Changed to use getDuplicatedHandle.
-
-2011-02-09 Adam Roben <aroben@apple.com>
-
- Don't invalidate outside of the WebPage's bounds
-
- Fixes <http://webkit.org/b/54123> <rdar://problem/8978383> Assertion failure in
- BackingStore::BackingStore if a new WebPage becomes active before receiving a size
-
- Reviewed by Darin Adler.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::setNeedsDisplay): Intersect the dirty rect with our bounds before
- doing anything else.
- (WebKit::DrawingAreaImpl::display): Added an assertion to help catch the bad case a little
- earlier.
-
-2011-02-10 Eric Seidel <eric@webkit.org>
-
- Unreviewed, rolling out r78157.
- http://trac.webkit.org/changeset/78157
- https://bugs.webkit.org/show_bug.cgi?id=54150
-
- Fails on a bunch of bots
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::~PluginView):
- (WebKit::PluginView::evaluate):
-
-2011-02-09 Brian Weinstein <bweinstein@apple.com>
-
- Rubber-stamped by Sam Weinig.
-
- Fix a typo in WebSecurityOrigin::protocol.
-
- * Shared/WebSecurityOrigin.h:
- (WebKit::WebSecurityOrigin::protocol): This should return the protocol, not the domain.
-
-2011-02-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- File uploads do not work within the sandbox
- <rdar://problem/8950518>
- https://bugs.webkit.org/show_bug.cgi?id=54154
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didChooseFilesForOpenPanel):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::extendSandboxForFileFromOpenPanel):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
-
-2011-02-09 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=54148
- <rdar://problem/8973887> REGRESSION (WebKit2): Opening two print dialogs causes havoc
-
- * UIProcess/API/mac/WKPrintingView.h: Moved _isForcingPreviewUpdate into a static variable,
- because dispatching a notification affects all WKPrintingViews at once.
- * UIProcess/API/mac/WKPrintingView.mm:
- (-[WKPrintingView _updatePreview]): Updated for new variable name.
- (-[WKPrintingView knowsPageRange:]): Don't break if the method is called twice in a row
- (we already had this logic when printing from separate thread, but not for preview).
- (-[WKPrintingView drawRect:]): Changed all LOG messages to have view object address for
- easier matching.
- (-[WKPrintingView rectForPage:]): Ditto.
- (-[WKPrintingView beginDocument]): Ditto.
- (-[WKPrintingView endDocument]): Ditto.
-
-2011-02-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Repro crash with Sony Google TV ad at Gizmodo
- https://bugs.webkit.org/show_bug.cgi?id=54150
-
- Since PluginView::evaluate can cause the plug-in element to go away, we need to protect it.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::~PluginView):
- Null out m_pluginElement here so we'll catch crashes earlier.
-
- (WebKit::PluginView::evaluate):
- Add a plug-in protector.
-
-2011-02-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Google Maps says it has horizontal scrollbars when it doesn't
- <rdar://problem/8978005>
-
- We were updating the main frame's scrollbar state for changes to
- frames other than the main frame.
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::contentsSizeChanged):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- (WebKit::WebChromeClient::WebChromeClient):
- Change to bail out early if we are not looking at the main frame. Also
- fix some silly typos and rename the variables to be more specific.
-
-2011-02-09 Ivan Krstić <ike@apple.com>
-
- Reviewed by Sam Weinig.
-
- Allow read-only access to mouse preferences from sandboxed WebProcess.
- <rdar://problem/8975279>
-
- * WebProcess/com.apple.WebProcess.sb:
-
-2011-02-09 Steve Falkenburg <sfalken@apple.com>
-
- Build fix.
-
- * win/MainWin.cpp:
- (wWinMain):
-
-2011-02-09 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Implement Module class for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=48510
-
- * GNUmakefile.am:
- * Platform/Module.h: Added GModule handle for GTK port.
- * Platform/gtk/ModuleGtk.cpp: Initial code using GModule calls.
- (WebKit::Module::load):
- (WebKit::Module::unload):
- (WebKit::Module::platformFunctionPointer):
-
-2011-02-09 Chandra Vallala <chandra.vallala@motorola.com> and Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Implement WKBaseGtk API for Webkit2
- https://bugs.webkit.org/show_bug.cgi?id=54081
-
- * GNUmakefile.am: Added new files to compilation.
- * Shared/API/c/WKBase.h: Included WKBaseGtk.h in this file.
- * Shared/API/c/gtk: Added.
- * Shared/API/c/gtk/WKBaseGtk.h: Added. Declaration of WKViewRef
- for GTK port.
- * UIProcess/API/C/WKAPICast.h: Included WKAPICastGtk.h in this
- file.
- * UIProcess/API/C/gtk: Added.
- * UIProcess/API/C/gtk/WKAPICastGtk.h: Added. Type definition
- template for WKViewRef to WebView and vice-versa.
- * UIProcess/API/C/gtk/WKView.cpp: Added. Implementation of WKView
- API interface.
- (WKViewCreate):
- (WKViewGetWindow):
- (WKViewGetPage):
- (WKURLCreateWithURL):
- * UIProcess/API/C/gtk/WKView.h: Added. Declaration of WKView API
- interface.
-
-2011-02-09 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Add WebGraphicsContext stub to the compilation
- https://bugs.webkit.org/show_bug.cgi?id=54078
-
- * GNUmakefile.am:
- * Shared/API/c/gtk/WKGraphicsContextGtk.cpp: Added stub just for
- compilation.
- (WKGraphicsContextGetGtkContext):
- * Shared/API/c/gtk/WKGraphicsContextGtk.h: Added stub just for
- compilation.
- * Shared/WebGraphicsContext.cpp:
- (WebKit::WebGraphicsContext::WebGraphicsContext):
- * Shared/WebGraphicsContext.h:
- (WebKit::WebGraphicsContext::platformContext):
-
-2011-02-09 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Add geolocation support to the webkit2 compilation
- https://bugs.webkit.org/show_bug.cgi?id=54077
-
- Add Geolocation files to the GTK compilation.
-
- * GNUmakefile.am:
-
-2011-02-09 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Csaba Osztrogonác.
-
- [Qt][WK2] Don't generate superfluous forwarding header for config.h.
-
- * Scripts/generate-forwarding-headers.pl:
-
-2011-02-09 Adam Roben <aroben@apple.com>
-
- Hide the ugly details of WebView::m_window initialization from WebPageProxy, and make it
- less ugly
-
- WebView::WebView was initially creating a hidden window, then showing it. It would tell
- WebPageProxy about the window while it was still hidden, and then have to inform
- WebPageProxy that the window had become shown. This resulted in WebPageProxy sending
- unnecessary messages to the web process, and confused code that assumed that the window
- would be in the same state after WebView's constructor exited as it was when WebPageProxy
- first found out about the window.
-
- We now don't hide the window when creating it, which simplifies the code, and only tell
- WebPageProxy about the window after we're done modifying it, which fixes the bug.
-
- Fixes <http://webkit.org/b/53878> <rdar://problem/8977306> Assertion failure in
- DrawingAreaImpl::resumePainting after window.open or when opening Web Inspector
-
- Reviewed by Anders Carlsson.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView): Changed ::CreateWindowEx to ::CreateWindowExW, to match other
- Win32 API calls in WebKit2. Pass WS_VISIBLE to ::CreateWindowExW rather than waiting until
- later to show the window. Added an assertion that m_isVisible matches the window's visible
- state. Don't even create our WebPageProxy, or tell it about our window, until we're done
- initializing our window, so that it doesn't get informed about our window's internal state
- changes that happen beneath ::CreateWindowExW.
- (WebKit::WebView::onSizeEvent): Null-check m_page since we can receive this message beneath
- ::CreateWindowExW.
- (WebKit::WebView::onShowWindowEvent): Ditto. Replaced one FIXME with another. Always set
- handled to false so that ::DefWindowProcW can do its thing. (MSDN says this is when it
- actually shows/hides the window, though I couldn't find any consequences of not calling
- ::DefWindowProcW here.)
-
-2011-02-09 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: follow up on InspectorAgent split -
- removing unnecessary methods from InspectorController.
- https://bugs.webkit.org/show_bug.cgi?id=54093
-
- * WebProcess/WebPage/WebInspector.cpp:
- (WebKit::WebInspector::showConsole):
- (WebKit::WebInspector::stopJavaScriptProfiling):
-
-2011-02-09 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Avoid WebProcessMain compilation, we are used a gtk specific main
- https://bugs.webkit.org/show_bug.cgi?id=54015
-
- Avoided the compilation of the general WebProcessMain, and added
- soup initialization to WebProcessMainGtk.cpp.
-
- * GNUmakefile.am:
- * WebProcess/gtk/WebProcessMainGtk.cpp:
- (WebKit::WebProcessMainGtk):
-
-2011-02-08 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Incorrect assertion in WorkQueueGtk, we need to register
- more than one handle
- https://bugs.webkit.org/show_bug.cgi?id=54014
-
- Fixed assertion condition we need to register more than one
- handler for the same file descriptor.
-
- * Platform/gtk/WorkQueueGtk.cpp:
- (WorkQueue::registerEventSourceHandler):
-
-2011-02-08 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Martin Robinson.
-
- Fix typo in the include guards name in ChunkedUpdateDrawingAreaProxy.h
- https://bugs.webkit.org/show_bug.cgi?id=54013
-
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
-
-2011-02-08 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Fix after r77874, m_isConnected is initialized before the
- socket is opened
- https://bugs.webkit.org/show_bug.cgi?id=54011
-
- Fixed connection breakage after r77874, we have to wait until open
- the socket to open the connection.
-
- * Platform/CoreIPC/gtk/ConnectionGtk.cpp:
- (CoreIPC::Connection::platformInitialize):
- (CoreIPC::Connection::open):
-
-2011-02-08 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [WK2] LayerTreeContext is used outside the ACCELERATED_COMPOSITING
- guards but not defined in DrawingAreaProxy.h
- https://bugs.webkit.org/show_bug.cgi?id=54009
-
- Removed the guards in the forward declaration, this will fail if
- the class is finally used in the function, but it works for the
- moment.
-
- * UIProcess/DrawingAreaProxy.h:
-
-2011-02-08 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Martin Robinson.
-
- WebKit2 GTK Fails to Build #include nested too deeply
- https://bugs.webkit.org/show_bug.cgi?id=52219
-
- * GNUmakefile.am: Removed the commands to create the directories
- for the forwarding headers, the script already does it for us.
- * config.h: Removed the config.h inclusion and added the
- autotoolsconfig.h directly, also added a condition to share the
- defines with QT.
-
-2011-02-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Mark Rowe.
-
- Crash when going back/forward when back/forward list is in a bad state.
- https://bugs.webkit.org/show_bug.cgi?id=54059
- <rdar://problem/8975244>
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::goForward): Add a null check.
- (WebKit::WebPageProxy::goBack): ditto
-
-2011-02-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Beth Dakin.
-
- Assertion failure !isInAcceleratedCompositingMode() in DrawingAreaProxyImpl::incorporateUpdate()
- https://bugs.webkit.org/show_bug.cgi?id=54046
- <rdar://problem/8973960>
-
- DrawingAreaImpl::setRootCompositingLayer can be called with a new layer even when already
- in accelerated compositing mode. Similarly, it can be called with a null layer even when not
- in accelerated compositing mode. Make the drawing area and layer tree host handle both these cases.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::setRootCompositingLayer):
- Only call enterAcceleratedCompositingMode if there is no layer tree host, otherwise
- just call LayerTreeHost::setRootCompositingLayer.
-
- (WebKit::DrawingAreaImpl::setSize):
- Add an assert.
-
- (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
- Assert that we don't have a layer tree host.
-
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
- Assert that we do have a layer tree host.
-
- (WebKit::DrawingAreaImpl::display):
- If the call to display caused the page to enter accelerated compositing mode, we don't
- want to send back an Update message.
-
- * WebProcess/WebPage/LayerTreeHost.cpp:
- (WebKit::LayerTreeHost::create):
- * WebProcess/WebPage/LayerTreeHost.h:
- Create no longer takes a graphics layer.
-
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
- (WebKit::LayerTreeHostMac::create):
- (WebKit::LayerTreeHostMac::LayerTreeHostMac):
- Create no longer takes a graphics layer.
-
- (WebKit::LayerTreeHostMac::setRootCompositingLayer):
- Set the new root compositing layer.
-
-2011-02-08 Adam Roben <aroben@apple.com>
-
- Implement WorkQueue::scheduleWorkAfterDelay on Windows
-
- Each WorkQueue now owns its own timer queue. When scheduleWorkAfterDelay is called, we
- create a timer-queue timer with the given delay. When the timer fires, we schedule the work
- on the queue and clean up the timer.
+ (WebKit::pluginNeedsExecutableHeap): Decides per plugin if it should opt-in to a 32-bit non-executable heap.
+ By default it should opt-out.
+ (WebKit::PluginProcessProxy::PluginProcessProxy):
- Fixes <http://webkit.org/b/54040> <rdar://problem/8974230> Web process sticks around forever
- if it's hung when UI process goes away
+2011-03-07 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
- * Platform/WorkQueue.h: Added timerCallback and m_timerQueue.
-
- * Platform/win/WorkQueueWin.cpp:
- (WorkQueue::platformInitialize): Initialize m_timerQueue.
- (WorkQueue::platformInvalidate): Clean up m_timerQueue.
- (TimerContext::TimerContext): Added this helper object to hold the context needed by the
- timer callback.
- (WorkQueue::timerCallback): Added. Schedules the WorkItem on the WorkQueue and cleans up the
- timer.
- (WorkQueue::scheduleWorkAfterDelay): Create a timer-queue timer on our timer queue that will
- fire after the given delay. Pass a new TimerContext object to the timer callback that
- contains the information it needs.
-
-2011-02-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Rename PluginProcess::initializeConnection to PluginProcess::initialize
- https://bugs.webkit.org/show_bug.cgi?id=54039
+ Add unableToImplementPolicy callback for WebKit2 policy client
+ <rdar://problem/9071902>
+ https://bugs.webkit.org/show_bug.cgi?id=55884
- * PluginProcess/PluginProcess.cpp:
- (WebKit::PluginProcess::initialize):
- * PluginProcess/PluginProcess.h:
- * PluginProcess/mac/PluginProcessMainMac.mm:
- (WebKit::PluginProcessMain):
- * WebProcess/WebProcess.h:
-
-2011-02-08 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/8972913> and https://bugs.webkit.org/show_bug.cgi?id=54036
- didChangeBackForwardList should include some context about what changed
-
- Update the implementation of this API to include the new item (if any) and removed items (if any):
* UIProcess/API/C/WKPage.h:
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::didChangeBackForwardList):
- * UIProcess/WebLoaderClient.h:
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didChangeBackForwardList):
+ (WebKit::WebPageProxy::unableToImplementPolicy):
* UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebPolicyClient.cpp:
+ (WebKit::WebPolicyClient::unableToImplementPolicy):
+ * UIProcess/WebPolicyClient.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
+ (WebKit::InjectedBundlePagePolicyClient::unableToImplementPolicy):
+ * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchUnableToImplementPolicy):
+ Pipe unableToImplementPolicy through both the bundle and the main WebKit2 API.
- Have WebBackForwardList pass the new items and/or removed items when calling the notifier:
- * UIProcess/WebBackForwardList.cpp:
- (WebKit::WebBackForwardList::addItem):
- (WebKit::WebBackForwardList::goToItem):
- (WebKit::WebBackForwardList::clear):
-
-2011-02-08 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Sandbox violations visiting MobileMe.
- <rdar://problem/8961330>
-
- * WebProcess/com.apple.WebProcess.sb:
-
-2011-02-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Rename PluginProcess::initialize to PluginProcess::initializePluginProcess
- https://bugs.webkit.org/show_bug.cgi?id=54037
-
- Rename PluginProcess::initialize to PluginProcess::initializePluginProcess to better
- match the WebProcess initialization code, in preparation of sharing more code.
-
- * PluginProcess/PluginProcess.cpp:
- (WebKit::PluginProcess::initializePluginProcess):
- * PluginProcess/PluginProcess.h:
- * PluginProcess/PluginProcess.messages.in:
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::didFinishLaunching):
-
-2011-02-08 Sam Weinig <sam@webkit.org>
+2011-03-07 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
- WK2: Add ability to pass context to policy delegate methods
- https://bugs.webkit.org/show_bug.cgi?id=54031
+ Replace WebKit2's decidePolicyForMIMEType with decidePolicyForResponse
+ https://bugs.webkit.org/show_bug.cgi?id=55827
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::callMemberFunction):
- (CoreIPC::handleMessageVariadic):
- * Scripts/webkit2/messages.py:
- Add ability to pass variadic messages to sync messages.
-
- * Shared/API/c/WKBase.h:
- * Shared/APIObject.h:
- Add WKBundleNavigation type.
+ - Renamed FrameLoaderClient::dispatchDecidePolicyForMIMEType to dispatchDecidePolicyForResponse
+ and pass the entire response, instead of just the MIMEType.
+ - Updated both UIProcess API and bundle API to also be based on the whole response, not just the
+ MIMEType.
* UIProcess/API/C/WKPage.h:
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::decidePolicyForNavigationAction):
- (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
- (WebKit::WebPageProxy::decidePolicyForMIMEType):
+ (WebKit::WebPageProxy::decidePolicyForResponse):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebPolicyClient.cpp:
- (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
- (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
- (WebKit::WebPolicyClient::decidePolicyForMIMEType):
+ (WebKit::WebPolicyClient::decidePolicyForResponse):
* UIProcess/WebPolicyClient.h:
- Update policy client for new data.
-
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- * WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp: Added.
- (WKBundleNavigationActionGetTypeID):
- (WKBundleNavigationActionGetNavigationType):
- (WKBundleNavigationActionGetEventModifiers):
- (WKBundleNavigationActionGetEventMouseButton):
- (WKBundleNavigationActionCopyHitTestResult):
- (WKBundleNavigationActionCopyFormElement):
- * WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.h: Added.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageSetPolicyClient):
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp: Added.
- (WebKit::mouseEventForNavigationAction):
- (WebKit::mouseButtonForMouseEvent):
- (WebKit::InjectedBundleNavigationAction::modifiersForNavigationAction):
- (WebKit::InjectedBundleNavigationAction::mouseButtonForNavigationAction):
- (WebKit::InjectedBundleNavigationAction::create):
- (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
- * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h: Added.
- (WebKit::InjectedBundleNavigationAction::navigationType):
- (WebKit::InjectedBundleNavigationAction::modifiers):
- (WebKit::InjectedBundleNavigationAction::mouseButton):
- (WebKit::InjectedBundleNavigationAction::hitTestResult):
- (WebKit::InjectedBundleNavigationAction::formElement):
- (WebKit::InjectedBundleNavigationAction::type):
- * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp: Added.
- (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
- (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
- (WebKit::InjectedBundlePagePolicyClient::decidePolicyForMIMEType):
- * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h: Added.
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::createWindow):
+ * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
+ (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):
+ * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::initializeInjectedBundlePolicyClient):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::injectedBundlePolicyClient):
- Pipe the policy client through the bundle to allow setting user data.
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
- Add new files.
-
-2011-02-08 Anders Carlsson <andersca@apple.com>
+2011-03-06 Jessie Berlin <jberlin@apple.com>
Reviewed by Sam Weinig.
- Crash calling -setFrame:andScrollBy: in windowDidResize
- https://bugs.webkit.org/show_bug.cgi?id=54030
- <rdar://problem/8969760>
-
- * Platform/mac/SharedMemoryMac.cpp:
- (WebKit::SharedMemory::create):
- Assert that size is not zero here; we never want to try to create shared memory with a zero size.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::setSize):
- Always invalidate the entire visible page when resizing.
-
-2011-02-08 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove orphan code from old parser
- https://bugs.webkit.org/show_bug.cgi?id=53984
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp
- * WebProcess/WebCoreSupport/WebChromeClient.h
-
-2011-02-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- UI process crashes if web process crashes while web inspector is focused
- https://bugs.webkit.org/show_bug.cgi?id=53965
- <rdar://problem/8961633>
-
- Make sure to close the web inspector web page proxy before calling platformClose, since
- platformClose can cause the web page proxy to try to send messages (such as SetActive)
- to the web process while it's in a bad state.
-
- The original fix, http://trac.webkit.org/changeset/77866, put the call to m_page->close() in
- WebInspectorProxy::didClose, which was wrong and lead to crashes. The right place to close the page
- is in WebInspectorProxy::invalidate.
-
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::WebInspectorProxy::invalidate):
-
-2011-02-08 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Adam Roben.
-
- ASSERTION FAILURE: ASSERT_NOT_REACHED() in Connection::writeEventHandler() after the Web
- Process crashes.
- https://bugs.webkit.org/show_bug.cgi?id=54005
-
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- (CoreIPC::Connection::writeEventHandler):
- Handle ERROR_BROKEN_PIPE by calling connectionDidClose() and returning early.
-
-2011-02-08 Adam Roben <aroben@apple.com>
-
- Handle WM_TIMER messages for stopped timers
-
- Whenever we stop a timer, we call ::KillTimer to cancel any future firings of the timer. But
- ::KillTimer doesn't do anything about WM_TIMER messages that have already been posted to the
- message queue. We need to handle those, too.
-
- Fixes <http://webkit.org/b/53999> Occasional assertion failures in
- RunLoop::TimerBase::timerFired
-
- Reviewed by Darin Adler.
-
- * Platform/win/RunLoopWin.cpp:
- (RunLoop::TimerBase::timerFired): Just bail if the timer has already been stopped.
-
-2011-02-08 Adam Roben <aroben@apple.com>
-
- Don't mark a Connection as connected until open() is called on Windows
-
- This matches Mac. Even though the Connection's pipe is connected before open() is called,
- the Connection itself isn't really connected to the pipe until then, and we won't actually
- read any data from before that point.
-
- Fixes <http://webkit.org/b/53998> <rdar://problem/8971207> REGRESSION (r77874): Assertion
- failure on launch in Connection::setDidCloseOnConnectionWorkQueueCallback on Windows
-
- Reviewed by Darin Adler.
-
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- (CoreIPC::Connection::platformInitialize): Moved code to set m_isConnected from here to
- open.
- (CoreIPC::Connection::platformInvalidate): Unset m_isConnected, to match Mac. (This isn't
- part of the bug fix, but seemed worthwhile.)
- (CoreIPC::Connection::open): Set m_isConnected now that we're going to listen on the pipe.
-
-2011-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
+ WebKit2: Use CFNetwork Sessions API.
+ https://bugs.webkit.org/show_bug.cgi?id=55435.
- Unreviewed, rolling out r77866.
- http://trac.webkit.org/changeset/77866
- https://bugs.webkit.org/show_bug.cgi?id=53981
+ When Private Browsing is enabled, use cookies from a in-memory cookie storage based on the
+ Private Browsing Storage Session.
- caused all WebKit2 inspector tests to crash (Requested by
- othermaciej on #webkit).
-
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::WebInspectorProxy::didClose):
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+ Add support for using the new WKSI functions in WebCore.
-2011-02-07 Maciej Stachowiak <mjs@apple.com>
+2011-03-06 Oleg Romashin <romaxa@gmail.com>
- Reviewed by Dan Bernstein.
+ Reviewed by Kenneth Rohde Christiansen.
- Add resource load client for injected bundle and move willSendRequest there
- https://bugs.webkit.org/show_bug.cgi?id=53972
+ [Qt][WK2] Make Qt port compiling with ENABLE_PLUGIN_PROCESS=1, part1
+ Adding dummy Qt files for Plugin Process implementation,
+ Adding missing sources into Qt pro files
+ https://bugs.webkit.org/show_bug.cgi?id=55719
- * GNUmakefile.am:
+ * DerivedSources.pro:
+ * PluginProcess/qt: Added.
+ * PluginProcess/qt/PluginControllerProxyQt.cpp: Added.
+ (WebKit::PluginControllerProxy::platformInitialize):
+ (WebKit::PluginControllerProxy::platformDestroy):
+ (WebKit::PluginControllerProxy::platformGeometryDidChange):
+ * PluginProcess/qt/PluginProcessMainQt.cpp: Added.
+ (WebKit::PluginProcessMain):
+ * PluginProcess/qt/PluginProcessQt.cpp: Added.
+ (WebKit::PluginProcess::platformInitialize):
+ * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp: Added.
+ (WebKit::PluginProcessProxy::platformInitializePluginProcess):
+ * WebKit2.pri:
* WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageSetPageLoaderClient):
- (WKBundlePageSetResourceLoadClient):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp: Added.
- (WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource):
- (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
- (WebKit::InjectedBundlePageResourceLoadClient::didReceiveResponseForResource):
- (WebKit::InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource):
- (WebKit::InjectedBundlePageResourceLoadClient::didFinishLoadForResource):
- (WebKit::InjectedBundlePageResourceLoadClient::didFailLoadForResource):
- * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h: Added.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
- (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
- (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
- (WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::initializeInjectedBundleResourceLoadClient):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::injectedBundleResourceLoadClient):
- * win/WebKit2.vcproj:
-
-2011-02-07 Mark Rowe <mrowe@apple.com>
-
- Fix the 32-bit build.
-
- * UIProcess/cf/WebBackForwardListCF.cpp:
- (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Add some casts
- to prevent warnings about mixing signed and unsigned comparisons.
-
-2011-02-07 Qi Zhang <qi.2.zhang@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl
- https://bugs.webkit.org/show_bug.cgi?id=52974
-
- Add ContextMenuItemTagCopyImageUrlToClipboard into standard action but Qt platform specific.
-
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::WebPlatformStrategies::contextMenuItemTagCopyImageUrlToClipboard):
- * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
-
-2011-02-07 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fixing a build break on Mac caused by http://trac.webkit.org/changeset/77874
-
- Removed unused static function.
-
- * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
-
-2011-02-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/8969888>
- The WebProcess should set LSFileQuarantineEnabled to true
-
- * WebProcess/Info.plist:
-
-2011-02-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Crash in web process after the connection had been closed
- https://bugs.webkit.org/show_bug.cgi?id=51115
- <rdar://problem/8964255>
-
- Remove didCloseOnConnectionWorkQueue from Connection::Client and add
- Connection::setDidCloseOnConnectionWorkQueueCallback which takes a static
- function, eliminating the race condition in connectionDidClose where m_client could be
- nulled out in the client thread right before we try to dereference it.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::Connection):
- Initialize m_didCloseOnConnectionWorkQueueCallback.
-
- (CoreIPC::Connection::setDidCloseOnConnectionWorkQueueCallback):
- Update m_didCloseOnConnectionWorkQueueCallback.
-
- (CoreIPC::Connection::connectionDidClose):
- Call m_didCloseOnConnectionWorkQueueCallback.
-
- * Platform/WorkQueue.h:
- Make WorkQueue noncopyable.
-
- * PluginProcess/PluginProcess.cpp:
- (WebKit::PluginProcess::initializeConnection):
- Call setDidCloseOnConnectionWorkQueueCallback.
-
- * Shared/ChildProcess.cpp:
- (WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
- * Shared/ChildProcess.h:
- didCloseOnConnectionWorkQueue is now a static member function.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initialize):
- Call setDidCloseOnConnectionWorkQueueCallback.
-
-2011-02-07 Enrica Casucci <enrica@apple.com>
-
- Reviewed Adam Roben and Darin Adler.
-
- WebKit2: drag and drop support on Windows.
- https://bugs.webkit.org/show_bug.cgi?id=52775
- <rdar://problem/8514409>
-
- This patch contains the remaining work to support
- a WebKit window as drag source on Windows.
- I've added the code to generate the image for dragging a link as
- well as the steps necessary to package the HBITMAP into a SharedMemory
- object and send it over to the UI process where DoDragDrop is performed.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setDragImage):
- (WebKit::WebPageProxy::startDragDrop):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebCoreSupport/WebDragClient.cpp:
- (WebKit::WebDragClient::startDrag): Made startDrag for
- platforms other than Windows and Mac.
- * WebProcess/WebCoreSupport/WebDragClient.h:
- * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
- (WebKit::WebDragClient::startDrag):
- * WebProcess/WebCoreSupport/win/WebDragClientWin.cpp: Added.
- (WebKit::draggingSourceOperationMaskToDragCursors):
- (WebKit::WebDragClient::startDrag):
- * WebProcess/WebCoreSupport/win/WebDragSource.cpp: Added.
- This object implements the IDropSource interface.
- (WebDragSource::createInstance):
- (WebDragSource::WebDragSource):
- (WebDragSource::QueryInterface):
- (WebDragSource::AddRef):
- (WebDragSource::Release):
- (WebDragSource::QueryContinueDrag):
- (WebDragSource::GiveFeedback):
- * WebProcess/WebCoreSupport/win/WebDragSource.h: Added.
- * win/WebKit2.vcproj:
-
-2011-02-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- UI process crashes if web process crashes while web inspector is focused
- https://bugs.webkit.org/show_bug.cgi?id=53965
- <rdar://problem/8961633>
-
- Make sure to close the web inspector web page proxy before calling platformClose, since
- platformClose can cause the web page proxy to try to send messages (such as SetActive)
- to the web process while it's in a bad state.
-
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::WebInspectorProxy::didClose):
-
-2011-02-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Find bouncy is missing content on pages with framesets
- https://bugs.webkit.org/show_bug.cgi?id=53958
- <rdar://problem/8904447>
-
- Fix paint rect computation; FrameView::paint expects the paint rect to be in the
- parent widget's coordinate system.
-
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::updateFindIndicator):
-
-2011-02-07 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/8960434> and https://bugs.webkit.org/show_bug.cgi?id=53957
- Crash after incorrectly restoring bogus session state.
-
- In some cases we're writing an invalid session state for a back/forward list where the current entry is 0
- but the number of entries is also 0.
- In such cases the current entry should be "NoCurrentEntryIndex."
-
- When we later read this state in, we set ourselves up to crash later.
-
- Amusingly an ASSERT caught this, but we should've rejected it before the ASSERT fired.
-
- * UIProcess/cf/WebBackForwardListCF.cpp:
- (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Fail the restore if the "current index past the end
- of the list" case occurs, and speculatively bail out of the case where we have no current index but do have a list.
- Also remove the unhelpful ASSERT.
-
-2011-02-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add bundle API to get the background color of a frame
- <rdar://problem/8962670>
- https://bugs.webkit.org/show_bug.cgi?id=53952
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameGetBodyBackgroundColor):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- Add API function.
-
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::getDocumentBackgroundColor):
- * WebProcess/WebPage/WebFrame.h:
- Call down into the document to get either the body's, or if there is no body,
- the root element's, background color.
-
-2011-02-07 Sam Weinig <sam@webkit.org>
-
- Fix typo. vectical -> vertical.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
-
-2011-02-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Inform the UIProcess when main frame scrollbars change
- <rdar://problem/8967496>
- https://bugs.webkit.org/show_bug.cgi?id=53941
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageHasHorizontalScrollbar):
- (WKPageHasVerticalScrollbar):
- * UIProcess/API/C/WKPage.h:
- Add API to query whether the main frame has scrollbars.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::processDidCrash):
- (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::hasHorizontalScrollbar):
- (WebKit::WebPageProxy::hasVerticalScrollbar):
- Store/update main frame scrollbar state.
-
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::contentsSizeChanged):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- (WebKit::WebChromeClient::WebChromeClient):
- Post message when main frame scrollbar state changes.
-
-2011-02-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Some content is not covered by Find-on-page overlay
- https://bugs.webkit.org/show_bug.cgi?id=53937
- <rdar://problem/8711353>
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::didInstallPageOverlay):
- Call LayerTreeHost::didInstallPageOverlay.
-
- (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
- Call LayerTreeHost::didUninstallPageOverlay.
-
- (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
- Call LayerTreeHost::setPageOverlayNeedsDisplay.
-
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::drawRect):
- Remove a bogus assertion.
-
- * WebProcess/WebPage/LayerTreeHost.h:
- Add new pure virtual member functions.
-
- * WebProcess/WebPage/PageOverlay.cpp:
- (WebKit::PageOverlay::setNeedsDisplay):
- Call DrawingArea::setPageOverlayNeedsDisplay.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::installPageOverlay):
- Make sure to call PageOverlay::setNeedsDisplay after the page overlay has been installed.
-
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
- (WebKit::LayerTreeHostMac::LayerTreeHostMac):
- Create the page overlay layer if needed.
-
- (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
- Invalidate the page overlay layer as well.
-
- (WebKit::LayerTreeHostMac::sizeDidChange):
- Resize the page overlay layer.
-
- (WebKit::LayerTreeHostMac::didInstallPageOverlay):
- Create the page overlay layer.
-
- (WebKit::LayerTreeHostMac::didUninstallPageOverlay):
- Destroy the page overlay layer.
-
- (WebKit::LayerTreeHostMac::setPageOverlayNeedsDisplay):
- Call setNeedsDisplay on the page overlay layer.
-
- (WebKit::LayerTreeHostMac::paintContents):
- Handle painting the page overlay layer.
-
- (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
- Flush the page overlay layer changes as well.
-
- (WebKit::LayerTreeHostMac::createPageOverlayLayer):
- Create a layer and add it as a sublayer of the root layer.
-
- (WebKit::LayerTreeHostMac::destroyPageOverlayLayer):
- Destroy the page overlay layer.
-
-2011-02-06 Adam Roben <aroben@apple.com>
-
- Make it possible to use DrawingAreaProxyImpl on Windows
-
- It can be optionally turned on by setting the WEBKIT2_USE_NEW_DRAWING_AREA environment
- variable. Turning it on by default is covered by <http://webkit.org/b/53805>.
-
- Fixes <http://webkit.org/b/53879>.
-
- Reviewed by Anders Carlsson.
-
- * UIProcess/BackingStore.h: Add an m_bitmap member on Windows.
-
- * UIProcess/win/BackingStoreWin.cpp:
- (WebKit::BitmapDC::operator HDC):
- (WebKit::BitmapDC::BitmapDC):
- (WebKit::BitmapDC::~BitmapDC):
- Added this helper class, which uses RAII to select a bitmap into a new memory DC.
- (WebKit::BackingStore::paint): Wrap our bitmap in a BitmapDC and use ::BitBlt to copy the
- specified rect into the destination DC.
- (WebKit::createBitmap): New helper function, just creates a DIB section with the specified
- size.
- (WebKit::BackingStore::incorporateUpdate): Ported from BackingStoreMac.mm. It seems like
- this code could be shared at some point.
- (WebKit::BackingStore::scroll): Wrap our bitmap in a BitmapDC and use ::ScrollDC to scroll
- the specified rect.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::useNewDrawingArea): Added. Returns true if the WEBKIT2_USE_NEW_DRAWING_AREA
- environment variable is set.
- (WebKit::drawPageBackground): New helper function. Code came from onPaintEvent.
- (WebKit::WebView::onPaintEvent): Ported from -[WKView drawRect:].
- (WebKit::WebView::createDrawingAreaProxy): Create a DrawingAreaProxyImpl if we're using the
- new drawing area.
-
- (WebKit::WebView::enterAcceleratedCompositingMode):
- (WebKit::WebView::exitAcceleratedCompositingMode):
- (WebKit::WebView::pageDidEnterAcceleratedCompositing):
- (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
- Added some assertions to make sure these are only called when expected. We don't expect
- enter/exitAcceleratedCompositingMode to be called at all right now, because accelerated
- compositing is turned off in WebKit2 on Windows.
-
- (WebKit::WebView::switchToDrawingAreaTypeIfNecessary): Ditto, and added a case for the
- DrawingAreaInfo::Impl constant.
-
-2011-02-07 Adam Roben <aroben@apple.com>
-
- Start compiling DrawingArea[Proxy]Impl and dependencies on Windows
-
- Fixes <http://webkit.org/b/53875> WebKit2 on Windows should build DrawingArea[Proxy]Impl
-
- Reviewed by Sam Weinig and Darin Adler.
-
- * Platform/Region.cpp:
- (WebKit::Region::Shape::shapeOperation): Initialize variable to avoid a bogus "potentially
- uninitialized variable" warning.
-
- * UIProcess/BackingStore.cpp: Removed #error for non-Mac platforms.
-
- * UIProcess/BackingStore.h: Added a PlatformGraphicsContext typedef for Windows.
-
- * UIProcess/DrawingAreaProxy.h:
- * UIProcess/DrawingAreaProxyImpl.cpp:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- Allow Windows to compile the new drawing area code.
-
- * WebProcess/WebPage/DrawingArea.cpp:
- (WebKit::DrawingArea::create): Allow creating a DrawingAreaImpl on Windows, too.
-
- * WebProcess/WebPage/DrawingArea.h:
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- * WebProcess/WebPage/LayerTreeHost.cpp:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didReceiveMessage):
- Allow Windows to compile the new drawing area code.
-
- * Shared/win/LayerTreeContextWin.cpp: Added.
- * UIProcess/win/BackingStoreWin.cpp: Added.
- Stubbed out these files.
-
- * win/WebKit2.vcproj: Added new files.
-
-2011-02-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Rename some drawing area related member functions
- https://bugs.webkit.org/show_bug.cgi?id=53935
-
- * WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::setPageOverlayNeedsDisplay):
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::setNeedsDisplay):
- (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
- * WebProcess/WebPage/DrawingAreaImpl.h:
- * WebProcess/WebPage/LayerTreeHost.h:
- * WebProcess/WebPage/mac/LayerTreeHostMac.h:
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
- (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
- (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
-
-2011-02-07 Adam Roben <aroben@apple.com>
-
- Use the right calling convention when calling WebKitMain
-
- Fixes <http://webkit.org/b/53923> REGRESSION (r77678): Crash on quit in web process in
- wWinMain
-
- Reviewed by Steve Falkenburg.
-
- * win/MainWin.cpp:
- (wWinMain): Use __cdecl instead of WINAPI (__stdcall) when calling WebKitMain, since that is
- how that function is declared.
+ * WebKit2API.pri:
+ * WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp: Added.
+ (WebKit::PluginProxy::needsBackingStore):
-2011-02-07 Anders Carlsson <andersca@apple.com>
+2011-03-05 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
- The drawing area should be in charge of drawing the page overlay
- https://bugs.webkit.org/show_bug.cgi?id=53927
+ Remove unneeded onPageClose function from DrawingArea
+ https://bugs.webkit.org/show_bug.cgi?id=55836
* WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::didInstallPageOverlay):
- (WebKit::DrawingArea::didUninstallPageOverlay):
- (WebKit::DrawingArea::setOverlayNeedsDisplay):
- Add empty stubs.
+ Remove empty function.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::didInstallPageOverlay):
- Add empty function. This will eventually ask the layer tree host to
- create a GraphicsLayer for the page overlay.
-
- (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
- Tell the page that it needs to be repainted.
-
- (WebKit::DrawingAreaImpl::setOverlayNeedsDisplay):
- Just call setNeedsDisplay for now.
-
- (WebKit::DrawingAreaImpl::display):
- Paint the page overlay too.
-
- * WebProcess/WebPage/DrawingAreaImpl.h:
* WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::drawRect):
- Only call drawPageOverlay if we have an old drawing area.
-
- (WebKit::WebPage::drawPageOverlay):
- Draw the page overlay. Code moved here from WebPage::drawRect.
-
- (WebKit::WebPage::installPageOverlay):
- Call DrawingArea::installPageOverlay.
-
- (WebKit::WebPage::uninstallPageOverlay):
- Call DrawingArea::uninstallPageOverlay.
-
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::hasPageOverlay):
- Add getter.
-
-2011-02-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add WebPage::bounds and use it
- https://bugs.webkit.org/show_bug.cgi?id=53926
-
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- (WebKit::ChunkedUpdateDrawingArea::resumePainting):
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::resumePainting):
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::bounds):
-
-2011-02-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Don't exclude overlay scrollers from the page overlay bounds
- https://bugs.webkit.org/show_bug.cgi?id=53924
-
- Don't subtract the scrollbars from the page overlay bounds if
- overlay scrollers are enabled.
-
- * WebProcess/WebPage/PageOverlay.cpp:
- (WebKit::PageOverlay::bounds):
-
-2011-02-07 Adam Roben <aroben@apple.com>
-
- Windows build fix after r77794
-
- * win/WebKit2.def: Export WebCore symbols used by WebKitTestRunner.
-
-2011-02-07 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Antti Koivisto.
-
- Add WKURLRequestCopyURL API (needed for tests and also generally useful)
- https://bugs.webkit.org/show_bug.cgi?id=53909
-
- * Shared/API/c/WKURLRequest.cpp:
- (WKURLRequestCopyURL):
- * Shared/API/c/WKURLRequest.h:
- * Shared/WebURLRequest.h:
- (WebKit::WebURLRequest::url):
-
-2011-02-06 Ryosuke Niwa <rniwa@webkit.org>
-
- Unreviewed; speculative Qt build fix.
-
- * WebKit2.pro:
+ (WebKit::WebPage::close):
+ Remove only called
-2011-02-06 Ryosuke Niwa <rniwa@webkit.org>
+2011-03-04 Jon Honeycutt <jhoneycutt@apple.com>
- Reviewed by Darin Adler.
+ WK2 Mac build fix.
- OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
- https://bugs.webkit.org/show_bug.cgi?id=52867
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageComputePagesForPrinting):
+ (WKPageBeginPrinting):
- * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
- (WebKit::NetscapePluginModule::getPluginInfo): Calls adoptArrayPtr.
+ * UIProcess/API/C/WKPagePrivate.h:
-2011-02-06 Benjamin Poulain <ikipou@gmail.com>
+2011-03-04 Jon Honeycutt <jhoneycutt@apple.com>
- Reviewed by Andreas Kling.
+ WK2 Mac build fix.
- [Qt] WebKit does not build on Mac with WebKit 2
- https://bugs.webkit.org/show_bug.cgi?id=53380
-
- * Platform/CoreIPC/qt/ConnectionQt.cpp: Use fcntl() to set close on exec so
- we do not rely on recent kernel.
- (CoreIPC::Connection::readyReadHandler):
- * Platform/qt/SharedMemoryQt.cpp: ditto
- (WebKit::SharedMemory::create):
- (WebKit::SharedMemory::createHandle):
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Guard prctl() since it is
- a Linux specific function.
- (WebKit::QtWebProcess::setupChildProcess):
- * UIProcess/DrawingAreaProxy.h: Differentiate between building on Mac
- and the Mac port.
- * UIProcess/DrawingAreaProxyImpl.cpp: ditto
- * UIProcess/WebPageProxy.cpp: ditto
- (WebKit::WebPageProxy::didReceiveMessage):
- * WebProcess/WebPage/DrawingArea.cpp: ditto
- (WebKit::DrawingArea::create):
- * WebProcess/WebPage/DrawingArea.h:
- * WebProcess/WebPage/DrawingAreaImpl.cpp: ditto
- * WebProcess/WebPage/WebPage.cpp: ditto
- (WebKit::WebPage::didReceiveMessage):
+ * UIProcess/API/C/WKPagePrivate.h:
-2011-02-05 Maciej Stachowiak <mjs@apple.com>
+2011-03-04 Jon Honeycutt <jhoneycutt@apple.com>
- Reviewed by Dan Bernstein.
-
- REGRESSION: New drawing area is causing some WebProcess crashes in layout tests
- https://bugs.webkit.org/show_bug.cgi?id=53865
- <rdar://problem/8963148>
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): Handle the case
- where this is called repeatedly without exiting accelerated composting mode
- first.
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Handle the case
- of being called more than once.
-
-2011-02-05 Anders Carlsson <andersca@apple.com>
+ WK2 needs printing support on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=55800
+ <rdar://problem/8903808>
Reviewed by Darin Adler.
- Need a way to resize and scroll the page at the same time
- https://bugs.webkit.org/show_bug.cgi?id=53814
- <rdar://problem/8498008>
-
- Add -[WKView setFrame:andScrollBy:].
-
- * UIProcess/API/mac/WKView.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView setFrame:andScrollBy:]):
- Stash away the scroll offset and call setFrame:.
+ * UIProcess/API/C/WKPage.cpp:
+ (ComputedPagesContext::ComputedPagesContext):
+ (computedPagesCallback):
+ From the Vector of WebCore::IntRects, build up a Vector of WKRects.
+ Call the callback, passing these rects and the scale factor.
+ (printInfoFromWKPrintInfo):
+ Return a PrintInfo structure from the WKPrintInfo.
+ (WKPageComputePagesForPrinting):
+ Call WebPageProxy::computePagesForPrinting(). Pass
+ computedPagesCallback as the callback function, so that we can
+ translate the WebCore rect type to WKRect before calling the caller's
+ callback function.
+ (WKPageBeginPrinting):
+ Call WebPageProxy::beginPrinting().
+ (WKPageDrawPagesToPDF):
+ Call WebPageProxy::drawPagesToPDF().
- (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
- (-[WKView _setDrawingAreaSize:]):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::setViewportSize):
- DrawingAreaProxy::setSize now takes a scroll offset.
+ * UIProcess/API/C/WKPagePrivate.h:
+ Declare the WKPrintInfo type and new functions.
- * UIProcess/DrawingAreaProxy.cpp:
- (WebKit::DrawingAreaProxy::setSize):
- This now takes a scroll offset and stores it in m_scrollOffset.
+ * UIProcess/WebPageProxy.cpp:
+ Compile this code on Windows.
- * UIProcess/DrawingAreaProxy.h:
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::sendSetSize):
- Send along the scroll offset and set it back to zero.
+ * UIProcess/WebPageProxy.h:
+ Ditto.
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::didSetSize):
* UIProcess/win/WebView.cpp:
- (WebKit::WebView::onSizeEvent):
- (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
- DrawingAreaProxy::setSize now takes a scroll offset.
-
- * WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::setSize):
- Add a scrollOffset parameter.
+ (WebKit::WebView::paint):
+ We're painting the window; leave printing mode.
- * WebProcess/WebPage/DrawingArea.messages.in:
- Add a scroll offset parameter to the SetSize message.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::setSize):
- Call WebPage::scrollMainFrameIfNotAtMaxScrollPosition.
-
- * WebProcess/WebPage/DrawingAreaImpl.h:
* WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::scrollMainFrameIfNotAtMaxScrollPosition):
- Compute a scroll offset and call setScrollPosition on the main frame view.
-
-2011-02-04 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- WebKit2: Crash when InjectedBundlePageLoaderClient::willSendRequestForFrame returns a null WKURLRequestRef
- https://bugs.webkit.org/show_bug.cgi?id=53829
-
- Store the result of m_client.willSendRequestForFrame in a RefPtr, and null check it before
- calling resourceRequest() on it.
-
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- (WebKit::InjectedBundlePageLoaderClient::willSendRequestForFrame):
-
-2011-02-04 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * WebProcess/mac/WebProcessMac.mm:
-
-2011-02-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark Rowe.
+ Compile this code on Windows.
- Link opened in background tab fails to paint when activated if it completes loading before tab is selected
- https://bugs.webkit.org/show_bug.cgi?id=53827
- <rdar://problem/8962355>
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::resumePainting):
- Invalidate the entire page.
-
-2011-02-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix <rdar://problem/8961227> WebKit2 does not work with symlinked home directories.
-
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::platformSetCacheModel):
- Don't adopt an autoreleased pointer, this would lead to a crash.
-
- (WebKit::appendSandboxParameterPath):
- (WebKit::appendSandboxParameterConfPath):
- (WebKit::initializeSandbox):
- Clean up the sandbox parameter code and make sure that realpath is called for all parameters.
-
-2011-02-04 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Sandbox violations when visiting a site using HTTP authentication
- <rdar://problem/8951079>
+ * WebProcess/WebPage/WebPage.h:
+ Ditto.
- * WebProcess/com.apple.WebProcess.sb:
+ * WebProcess/WebPage/WebPage.messages.in:
+ Ditto.
-2011-02-04 Alexey Proskuryakov <ap@apple.com>
+2011-03-04 Steve Falkenburg <sfalken@apple.com>
Reviewed by Darin Adler.
- https://bugs.webkit.org/show_bug.cgi?id=53823
- Print layout sometimes seen on screen
-
- <rdar://problem/8948742> REGRESSION (WebKit2) - When I print a page, I visually see it re-layout
- <rdar://problem/8899389> REGRESSION(WebKit2): Wrong content can appear when print dialog is up
-
- * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::setAutodisplay): Removed a
- branch that didn't do anything useful.
-
- * UIProcess/API/mac/WKPrintingView.h:
- * UIProcess/API/mac/WKPrintingView.mm:
- (-[WKPrintingView _suspendAutodisplay]):
- (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
- (-[WKPrintingView _delayedResumeAutodisplay]):
- (-[WKPrintingView knowsPageRange:]):
- (-[WKPrintingView beginDocument]):
- (-[WKPrintingView endDocument]):
- When page setup changes, or when going from print preview to actual printing, AppKit calls
- -endDocument just to begin it again. Delay resuming autodisplay until the next run loop
- iteration.
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::invalidateContentsAndWindow):
- (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
- Tightened it up from other side - we should never send pixels to UI process while in
- printing mode. This is not 100% reliable, because relayout doesn't happen immediately,
- and we can still have print layout in screen mode - but it helps.
-
-2011-02-04 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Fix for <rdar://problem/8961580>.
- Work around for <rdar://problem/8957845>.
-
- * WebProcess/com.apple.WebProcess.sb:
-
-2011-02-04 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- WebKit2 doesn't hide mouse pointer on keypress
- https://bugs.webkit.org/show_bug.cgi?id=53821
- rdar://problem/8630895
-
- * UIProcess/PageClient.h: Renamed didNotHandleKeyEvent to
- doneWithKeyEvent and added a bool wasEventHandled argument.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveEvent): Changed code to call
- doneWithKeyEvent and call even if event was handled.
-
- * UIProcess/API/mac/PageClientImpl.h: Updated for above change.
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::doneWithKeyEvent): Ditto. But also
- call [NSCursor setHiddenUntilMouseMoves:YES] when a key down
- event was handled. This matches what -[WebHTMLView keyDown:] does.
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::doneWithKeyEvent): Ditto.
- * UIProcess/API/qt/qwkpage_p.h: Ditto.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::doneWithKeyEvent): Ditto.
- * UIProcess/win/WebView.h: Ditto.
-
-2011-02-04 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- WebKit2 clients fail to launch on Windows if client exe is in a different directory from WebKit
- https://bugs.webkit.org/show_bug.cgi?id=53810
- <rdar://problem/8946085>
-
- If WebKit2WebProcess.exe is in a different directory from the client process, and that
- client process uses CreateProcess to launch WebKit2WebProcess, the DLL search path may
- end up excluding the directory containing WebKit. To address this, we use SetDllDirectory
- to explicitly include the WebKit directory in the DLL search path.
-
- * win/MainWin.cpp:
- (wWinMain): Use SetDllDirectory and LoadLibrary to load WebKit.dll from WebKit2WebProcess.exe
- * win/WebKit2WebProcessCommon.vsprops: Don't link directly to WebKit. Link against shlwapi.
-
-2011-02-04 Adam Roben <aroben@apple.com>
-
- Allow passing a null filter callback to WKPageCopySessionState
-
- WebKit2 part of <http://webkit.org/b/53616> <rdar://problem/8949883>.
-
- Reviewed by Sam Weinig.
-
- * UIProcess/cf/WebBackForwardListCF.cpp:
- (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Check if the filter is null
- before calling it.
-
-2011-02-04 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by John Sullivan.
-
- WebKit2: DidInitiateLoadForResource needs to know if the resource is being loaded by a committed or provisional frame
- https://bugs.webkit.org/show_bug.cgi?id=53794
-
- When we navigate from one page to another, there can be multiple subresource requests between when
- the new page has started its provisional load and when it has committed the load.
-
- There can be:
-
- - The main resource load of the provisional page
- - Synchronous XHR from the unload event of the loaded page.
-
- WebKit clients need to be able to differentiate between these loads.
-
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didInitiateLoadForResource): Pass whether or not the page is provisionally loading
- to the client.
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in: Add a new parameter to DidInitiateLoadForResource.
- * UIProcess/WebResourceLoadClient.cpp:
- (WebKit::WebResourceLoadClient::didInitiateLoadForResource): a new parameter to didInitiateLoadForResource.
- * UIProcess/WebResourceLoadClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest): Pass whether or not the page is currently
- in a provisional load (checked by seeing if the DocumentLoader matches the FrameLoader's provisionalDocumentLoader)
- to the UI Process.
-
-2011-02-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark Rowe.
-
- Mac WebKit2 should use the new drawing area
- https://bugs.webkit.org/show_bug.cgi?id=53802
- <rdar://problem/7881419>
- <rdar://problem/7881447>
- <rdar://problem/8252632>
- <rdar://problem/8479422>
- <rdar://problem/8633813>
- <rdar://problem/8734512>
- <rdar://problem/8787660>
-
- * UIProcess/API/mac/WKView.mm:
- (useNewDrawingArea):
- Return true. Eventually this function should be removed, but let's keep it for now so
- we can go back to the old drawing area if necessary.
-
-2011-02-04 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders Carlsson.
-
- WebKit2: Crash in WebPageProxy::setPendingAPIRequestURL after web process crashed
- https://bugs.webkit.org/show_bug.cgi?id=53799
- <rdar://problem/8943956>
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::reload):
-
-2011-02-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Fix a shared memory leak
- https://bugs.webkit.org/show_bug.cgi?id=53800
-
- Move the send right representing the shared memory.
-
- * Platform/mac/SharedMemoryMac.cpp:
- (WebKit::SharedMemory::Handle::encode):
-
-2011-02-04 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/8636239> and https://bugs.webkit.org/show_bug.cgi?id=53785
- WebKit2: Pages with dynamically inserted iframes can add extraneous back/forward items.
-
- WebCore doesn't gracefully handle the case where the decidePolicyForNavigationAction callback
- does not occur synchronously. Let's make it synchronous.
-
- Change WebPageProxy to handle this message reply synchronously:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::receivedPolicyDecision):
- (WebKit::WebPageProxy::decidePolicyForNavigationAction):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in: Make the navigation policy action message be synchronous.
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::callMemberFunction): Add a 6-argument varient
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Send the message synchronously.
-
-2011-02-04 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
- Correct prebuild build-stopping rule to allow project only rebuilds.
-
- * win/WebKit2WebProcessPreBuild.cmd:
-
-2011-02-04 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
-
- Assertion failure in WebInspectorProxy::platformClose closing main window when inspecting a popup
- window, or when running regression tests.
- https://bugs.webkit.org/show_bug.cgi?id=53798
- <rdar://problem/8814364>
-
- Only assert about the state of m_inspectorWindow and m_inspectorView if the inspector is visible.
- Also, only call ::DestroyWindow if the HWND is non-null, just to be safe.
-
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::platformClose):
-
-2011-02-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Go out of accelerated compositing mode when the drawing area is destroyed
- https://bugs.webkit.org/show_bug.cgi?id=53788
-
- This fixes a crash in the UI process if a web process crashes while in accelerated compositing mode.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl):
-
-2011-02-03 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: remove settings related methods from InspectorClient
- https://bugs.webkit.org/show_bug.cgi?id=53686
-
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
- (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
-
-2011-02-03 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Dan Bernstein.
-
- WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
- https://bugs.webkit.org/show_bug.cgi?id=52897
- <rdar://problem/8898294>
-
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toAPI):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- (WebKit::InjectedBundlePageLoaderClient::willSendRequestForFrame):
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
-
-2011-02-03 Ivan Krstić <ike@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Make WebProcess pass explicit homedir parameter to the sandbox
- <rdar://problem/8405760>
- <https://webkit.org/b/53558>
-
- * WebProcess/com.apple.WebProcess.sb:
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::initializeSandbox):
-
-2011-02-03 James Kozianski <koz@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Add navigator.registerProtocolHandler behind a flag.
- https://bugs.webkit.org/show_bug.cgi?id=52609
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-02-03 Adam Langley <agl@chromium.org>
-
- Reviewed by Adam Barth.
-
- Plumb mixed script URL to FrameLoaderClient
- https://bugs.webkit.org/show_bug.cgi?id=52384
-
- Regressions covered by http/tests/security/mixedContent/*
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::didRunInsecureContent):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
-
-2011-02-03 Jon Honeycutt <jhoneycutt@apple.com>
-
- Download bundles should be moved to their final destination when they
- finish.
-
- https://bugs.webkit.org/show_bug.cgi?id=53668
-
- Reviewed by Adam Roben.
-
- * WebProcess/Downloads/Download.cpp:
- (WebKit::Download::Download):
- Initialize m_allowOverwrite.
- (WebKit::Download::retrieveDestinationWithSuggestedFilename):
- Return the result of requesting the destination filename from the UI
- process.
- (WebKit::Download::decideDestinationWithSuggestedFilename):
- Call retrieveDestinationWithSuggestedFilename().
- (WebKit::Download::didFinish):
- Call platformDidFinish().
-
- * WebProcess/Downloads/Download.h:
- Declare retrieveDestinationWithSuggestedFilename() and
- platformDidFinish(). Add a member variable to store whether the UI
- process would like us to overwrite existing files.
-
- * WebProcess/Downloads/cf/DownloadCFNet.cpp:
- (WebKit::willResumeWithResponseCallback):
- Remove some trailing whitespace.
-
- * WebProcess/Downloads/curl/DownloadCurl.cpp:
- (WebKit::Download::platformDidFinish):
- Stubbed.
-
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (WebKit::Download::platformDidFinish):
- Stubbed.
-
- * WebProcess/Downloads/qt/DownloadQt.cpp:
- (WebKit::Download::platformDidFinish):
- Stubbed.
-
- * WebProcess/Downloads/cf/win/DownloadCFNetWin.cpp:
- (WebKit::Download::didDecideDestination):
- Store whether the UI process would like us to overwrite existing files.
- (WebKit::Download::platformDidFinish):
- Try to move the bundle to the final destination. If that fails, ask the
- UI process for a new destination. If we receive one, try again to move
- the bundle. Call didCreateDestination() to report the updated path of
- file whether it's the bundle that we failed to move, or the new final
- destination.
-
- This is similar to what is done by WebKit 1's CFNetwork port.
-
- * win/WebKit2.vcproj:
- Add DownloadWin.cpp.
-
-2011-02-01 Jon Honeycutt <jhoneycutt@apple.com>
-
- Small clean-up in DownloadCFNet.cpp.
-
- Rubber-stamped by Mark Rowe.
-
- * WebProcess/Downloads/cf/DownloadCFNet.cpp:
- (WebKit::Download::didDecideDestination):
- Moved out of the section labeled "CFURLDownload callbacks" and up near
- the other member functions.
-
-2011-02-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Paint non-composited contents in a layer
- https://bugs.webkit.org/show_bug.cgi?id=53742
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::setNeedsDisplay):
- Call LayerTreeHost::setNonCompositedContentsNeedDisplayInRect.
-
- (WebKit::DrawingAreaImpl::scroll):
- Call LayerTreeHost::scrollNonCompositedContents.
-
- (WebKit::DrawingAreaImpl::setSize):
- Call LayerTreeHost::sizeDidChange.
-
- * WebProcess/WebPage/LayerTreeHost.h:
- Add new pure virtual member functions.
-
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
- (WebKit::LayerTreeHostMac::LayerTreeHostMac):
- Create the non-composited content layer.
-
- (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
- Call setNeedsDisplay on the GraphicsLayer.
-
- (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
- Just call setNonCompositedContentsNeedDisplayInRect.
-
- (WebKit::LayerTreeHostMac::sizeDidChange):
- Resize the layers and flush any changes.
-
- (WebKit::LayerTreeHostMac::paintContents):
- Call WebPage::drawRect.
-
- (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback):
- Lay out the web page.
-
- (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
- Call syncCompositingStateForThisLayerOnly on the non-composited content layer.
-
-2011-02-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- When in accelerated compositing mode, wait for DidSetSize messages
- https://bugs.webkit.org/show_bug.cgi?id=53736
-
- Normally we wait for DidSetSize messages from ::paint, but that's never called in
- accelerated compositing mode so we just do it right after sending the SetSize message.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::paint):
- Call waitForAndDispatchDidSetSize.
-
- (WebKit::DrawingAreaProxyImpl::sendSetSize):
- Call waitForAndDispatchDidSetSize when in accelerated compositing mode.
-
- (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidSetSize):
- New utility function which waits for and dispatches a DidSetSize message.
-
- * UIProcess/DrawingAreaProxyImpl.h:
-
-2011-02-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Pass along an UpdateInfo object to the ExitAcceleratedCompositingMode message
- https://bugs.webkit.org/show_bug.cgi?id=53734
-
- * UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
- Add an UpdateInfo parameter.
-
- * UIProcess/DrawingAreaProxy.messages.in:
- Add an UpdateInfo parameter to the ExitAcceleratedCompositingMode message.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
- Incorporate the passed in update.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
- Create a new UpdateInfo object, paint into it and pass it along as a parameter
- to the ExitAcceleratedCompositingMode message.
-
-2011-02-03 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix for <rdar://problem/8944544> Ability to animate track
- for WKPainter scrollers
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-02-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Change DidSetSize to take a LayerTreeContext parameter
- https://bugs.webkit.org/show_bug.cgi?id=53724
-
- Since SetSize can cause layout to happen, we need to pass along a layer tree context to
- the DidSetSize message so the UI process can enter/exit accelerated compositing mode appropriately.
-
- * Shared/LayerTreeContext.h:
- * Shared/mac/LayerTreeContextMac.mm:
- Add equality operators to LayerTreeContext.
-
- * UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::didSetSize):
- This now takes a LayerTreeContext parameter.
-
- * UIProcess/DrawingAreaProxy.messages.in:
- Add LayerTreeContext parameter.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- Get rid of m_isInAcceleratedCompositingMode and use the current layer context instead.
-
- (WebKit::DrawingAreaProxyImpl::paint):
- Bail if the call to DidSetSize ended up entering accelerated compositing mode.
-
- (WebKit::DrawingAreaProxyImpl::didSetSize):
- If the new layer tree context is different, enter/exit accelerated compositing mode accordingly.
-
- (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
- (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
- Update the layer tree context.
-
- * UIProcess/DrawingAreaProxyImpl.h:
- (WebKit::DrawingAreaProxyImpl::isInAcceleratedCompositingMode):
- Add simple getter.
+ Adopt VersionStamper tool for Windows WebKit DLLs
+ https://bugs.webkit.org/show_bug.cgi?id=55784
+ <rdar://problem/9021320>
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::setSize):
- Pass along the layer tree context.
+ We now use a tool to stamp the version number onto the Apple WebKit DLLs
+ during the post-build step.
-2011-02-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
+ Fetch the WebKit version from a string resource instead of the version resource.
- Get rid of LayerTreeContext::seed on Mac.
- Add sequence checks to enterAcceleratedCompositingMode and exitAcceleratedCompositingMode and
- have them call newly added overloads that don't have the checks.
-
- * Shared/LayerTreeContext.h:
- * Shared/mac/LayerTreeContextMac.mm:
- (WebKit::LayerTreeContext::LayerTreeContext):
- (WebKit::LayerTreeContext::encode):
- (WebKit::LayerTreeContext::decode):
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
- (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
- * UIProcess/DrawingAreaProxyImpl.h:
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
- (WebKit::LayerTreeHostMac::LayerTreeHostMac):
-
-2011-02-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Get rid of timestamps in UpdateInfo
- https://bugs.webkit.org/show_bug.cgi?id=53713
-
- Add a 64-bit sequence number to all DrawingAreaProxy messages, and use it to
- check whether Update messages should be handled or not.
-
- * Shared/UpdateInfo.cpp:
- (WebKit::UpdateInfo::encode):
- (WebKit::UpdateInfo::decode):
- * Shared/UpdateInfo.h:
- (WebKit::UpdateInfo::UpdateInfo):
- * UIProcess/BackingStore.cpp:
- (WebKit::BackingStore::BackingStore):
- (WebKit::BackingStore::incorporateUpdate):
- * UIProcess/BackingStore.h:
- * UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::update):
- (WebKit::DrawingAreaProxy::didSetSize):
- (WebKit::DrawingAreaProxy::enterAcceleratedCompositingMode):
- (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
- * UIProcess/DrawingAreaProxy.messages.in:
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
- (WebKit::DrawingAreaProxyImpl::update):
- (WebKit::DrawingAreaProxyImpl::didSetSize):
- (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
- (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
- * UIProcess/DrawingAreaProxyImpl.h:
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::generateSequenceNumber):
- (WebKit::DrawingAreaImpl::setSize):
- (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
- (WebKit::DrawingAreaImpl::display):
+ * UIProcess/win/WebPageProxyWin.cpp:
+ (WebKit::userVisibleWebKitVersionString): Fetch version from a string resource.
+ * win/WebKit2.rc: Removed version, added stringtable.
+ * win/WebKit2WebProcess.rc: Removed.
+ * win/WebKit2WebProcess.vcproj:
+ * win/WebKit2WebProcessPostBuild.cmd: Don't run autoversion script. It isn't used in this project.
+ * win/WebKit2WebProcessPreBuild.cmd: Stamp version.
+ * win/WebKitPostBuild.cmd: Stamp version.
-2011-02-03 Anders Carlsson <andersca@apple.com>
+2011-03-04 Jeff Miller <jeffm@apple.com>
Reviewed by Darin Adler.
- Don't send enter/exit accelerated compositing mode messages when handling setSize
- https://bugs.webkit.org/show_bug.cgi?id=53706
-
- Don't send EnterAcceleratedCompositingMode/ExitAcceleratedCompositing mode when
- the mode changes happen as a result of relayout in setSize, since an updated state
- is going to be sent back in the DidSetSize message.
+ Add WKPageValidateCommand()
+ https://bugs.webkit.org/show_bug.cgi?id=55793
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::didSetSize):
- Add an assert.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::DrawingAreaImpl):
- Initialize m_inSetSize.
-
- (WebKit::DrawingAreaImpl::setRootCompositingLayer):
- Factor out code into enterAcceleratedCompositingMode and exitAcceleratedCompositingMode.
-
- (WebKit::DrawingAreaImpl::setSize):
- Set m_inSetSize to true while handling setSize.
-
- (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
- Take over the message sending responsibility from LayerTreeHostMac, and don't send messages
- if we're currently handling a SetSize message.
-
- * WebProcess/WebPage/DrawingAreaImpl.h:
- Add m_inSetSize.
-
- * WebProcess/WebPage/LayerTreeHost.h:
- Add layerTreeHost getter.
-
- * WebProcess/WebPage/mac/LayerTreeHostMac.h:
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
- (WebKit::LayerTreeHostMac::LayerTreeHostMac):
- Don't send EnterAcceleratedCompositingMode messages.
-
- (WebKit::LayerTreeHostMac::layerTreeContext):
- Add getter for the current layer tree context.
-
- (WebKit::LayerTreeHostMac::invalidate):
- Don't send ExitAcceleratedCompositingMode messages.
-
-2011-02-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make the layer tree host keep track of the layer tree context
- https://bugs.webkit.org/show_bug.cgi?id=53698
-
- Add a LayerTreeContext member variable to the LayerTreeHost object,
- and also add a seed count to the LayerTreeContext so we can keep track of
- how layer tree contexts relate to each other.
-
- * Shared/LayerTreeContext.h:
- * Shared/mac/LayerTreeContextMac.mm:
- (WebKit::LayerTreeContext::LayerTreeContext):
- (WebKit::LayerTreeContext::makeWithSeed):
- (WebKit::LayerTreeContext::encode):
- (WebKit::LayerTreeContext::decode):
-
- * WebProcess/WebPage/mac/LayerTreeHostMac.h:
- Add the layer tree context as a member variable.
-
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
- (WebKit::LayerTreeHostMac::LayerTreeHostMac):
- Initialize the layer tree context.
-
-2011-02-03 Sam Weinig <sam@webkit.org>
-
- Fix Qt build.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
-
-2011-02-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add notification of the end of a rubber band.
- <rdar://problem/8940648>
-
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::drawHeader):
- (WebKit::WebPageProxy::drawFooter):
- (WebKit::WebPageProxy::didCompleteRubberBandForMainFrame):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::didCompleteRubberBandForMainFrame):
- * UIProcess/WebUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::didCompleteRubberBandForMainFrame):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- Pipe the notification up to the WKUIClient.
-
-2011-02-03 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r77449.
- http://trac.webkit.org/changeset/77449
- https://bugs.webkit.org/show_bug.cgi?id=53663
-
- causes many WebKit2 tests to crash (Requested by othermaciej
- on #webkit).
-
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toAPI):
- (WebKit::toCopiedAPI):
- (WebKit::toURLRef):
- (WebKit::toCopiedURLAPI):
- * Shared/WebString.h:
- (WebKit::WebString::isNull):
- (WebKit::WebString::WebString):
-
-2011-02-02 Sam Weinig <sam@webkit.org>
-
- Fix license block issues pointed out by Daniel Bates.
-
- * Shared/API/c/WKGraphicsContext.cpp:
- * Shared/API/c/WKGraphicsContext.h:
- * Shared/API/c/cg/WKGraphicsContextCG.cpp:
- * Shared/API/c/cg/WKGraphicsContextCG.h:
- * Shared/WebGraphicsContext.cpp:
-
-2011-02-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Add WKBundleFrameGetVisibleContentBoundsExcludingScrollbars API for WebKit2.
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameGetContentBounds):
- (WKBundleFrameGetVisibleContentBounds):
- (WKBundleFrameGetVisibleContentBoundsExcludingScrollbars):
- (WKBundleFrameGetScrollOffset):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::contentBounds):
- (WebKit::WebFrame::visibleContentBounds):
- (WebKit::WebFrame::visibleContentBoundsExcludingScrollbars):
- (WebKit::WebFrame::scrollOffset):
- * WebProcess/WebPage/WebFrame.h:
- Move implementation of frame geometry to the implementation file
- instead of keeping it in the API file.
-
-2011-02-02 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Geoff Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=53361
- <rdar://problem/8921729> REGRESSION: Membuster accumulates 1GB+ memory due to autorelease
- pools not being drained.
- Call into AppKit to add observers that push and pop autorelease pools on entry
- and exit from the CFRunLoop. This will prevent memory from accumulating.
-
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain):
-
-2011-02-02 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make null WTF::String objects turn into 0 pointers for WKStringRef and WKURLRef.
- rdar://problem/8948688
-
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toAPI): Return 0 if the passed in string is 0.
- (WebKit::toCopiedAPI): Ditto.
- (WebKit::toURLRef): Ditto. Old code was trying to do this but was missing a return.
- (WebKit::toCopiedURLAPI): Ditto. Old code was trying to do this but had incorrect
- nll check.
-
- * Shared/WebString.h: Removed isNull function. It can never return true.
- Removed constructor code that turns the null string into the empty string.
- Instead assert that the passed in string is not null.
-
-2011-02-02 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Beth Dakin.
-
- <rdar://problem/8928367> Crash when loading canvas pages inside HTMLCanvasElement::createImageBuffer().
-
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Add some missing initializers.
-
-2011-02-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Beth Dakin.
-
- Add ChromeClient function to paint custom overhang areas.
- https://bugs.webkit.org/show_bug.cgi?id=53639
-
- * Shared/API/c/WKBase.h:
- * Shared/API/c/WKGraphicsContext.cpp: Added.
- (WKGraphicsContextGetTypeID):
- * Shared/API/c/WKGraphicsContext.h: Added.
- * Shared/API/c/WKSharedAPICast.h:
- * Shared/API/c/cg/WKGraphicsContextCG.cpp: Added.
- (WKGraphicsContextGetCGContext):
- * Shared/API/c/cg/WKGraphicsContextCG.h: Added.
- * Shared/APIObject.h:
- * Shared/WebGraphicsContext.cpp: Added.
- (WebKit::WebGraphicsContext::WebGraphicsContext):
- * Shared/WebGraphicsContext.h: Added.
- (WebKit::WebGraphicsContext::create):
- (WebKit::WebGraphicsContext::platformContext):
- (WebKit::WebGraphicsContext::type):
- Add WebGraphicsContext API type.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
- (WebKit::InjectedBundlePageUIClient::pageDidScroll):
- (WebKit::InjectedBundlePageUIClient::shouldPaintCustomOverhangArea):
- (WebKit::InjectedBundlePageUIClient::paintCustomOverhangArea):
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::paintCustomOverhangArea):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- Pipe paintCustomOverhangArea to the InjectedBundlePageUIClient.
-
- * UIProcess/API/C/WebKit2.h:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
- Add new files.
-
-2011-02-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Work towards making the layer tree host be in charge of all painting
- https://bugs.webkit.org/show_bug.cgi?id=53636
-
- Make sure that DrawingAreaImpl::display is never called when in accelerated compositing mode,
- since the layer tree host is supposed to handle all drawing in that case.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::scroll):
- (WebKit::DrawingAreaImpl::setRootCompositingLayer):
- (WebKit::DrawingAreaImpl::setSize):
- (WebKit::DrawingAreaImpl::didUpdate):
-
-2011-02-02 Mark Rowe <mrowe@apple.com>
-
- Fix the 32-bit build.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::computeFakeWindowBoundsRect):
-
-2011-02-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make sure that we don't try to call display() when in accelerated compositing mode
- https://bugs.webkit.org/show_bug.cgi?id=53629
-
- When in accelerated compositing mode, the layer tree host should handle all painting, so make sure that display() is never called.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::setNeedsDisplay):
- (WebKit::DrawingAreaImpl::setRootCompositingLayer):
- (WebKit::DrawingAreaImpl::display):
-
-2011-02-02 Adam Roben <aroben@apple.com>
-
- Assert WebBackForwardList's current index is valid to help catch errors
-
- Hopefully this will help catch a crash I saw once but haven't yet been able to reproduce.
-
- Fixes <http://webkit.org/b/53622>.
-
- Reviewed by Brady Eidson.
-
- * UIProcess/WebBackForwardList.cpp:
- (WebKit::WebBackForwardList::WebBackForwardList):
- (WebKit::WebBackForwardList::addItem):
- (WebKit::WebBackForwardList::goToItem):
- (WebKit::WebBackForwardList::currentItem):
- (WebKit::WebBackForwardList::backItem):
- (WebKit::WebBackForwardList::forwardItem):
- (WebKit::WebBackForwardList::itemAtIndex):
- (WebKit::WebBackForwardList::backListCount):
- (WebKit::WebBackForwardList::forwardListCount):
- (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
- (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
- (WebKit::WebBackForwardList::clear):
- * UIProcess/cf/WebBackForwardListCF.cpp:
- (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
- (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
- Assert that m_current is valid.
-
- * UIProcess/WebBackForwardList.h: Moved the NoCurrentItemIndex to a static data member so
- that it can be used from WebBackForwardListCF.cpp.
-
-2011-02-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- The drawing area proxy should keep track of the accelerated compositing state
- https://bugs.webkit.org/show_bug.cgi?id=53624
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
- Initialize m_isInAcceleratedCompositingMode to false.
-
- (WebKit::DrawingAreaProxyImpl::paint):
- Don't try to paint if we're in accelerated compositing mode.
-
- (WebKit::DrawingAreaProxyImpl::didSetSize):
- Bail if we're in accelerated compositing mode.
-
- (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
- Set m_isInAcceleratedCompositingMode to true, null out the backing store.
-
- (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
- Set m_isInAcceleratedCompositingMode back to false.
-
- (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
- Assert that we're not in accelerated compositing mode.
-
- * UIProcess/DrawingAreaProxyImpl.h:
-
-2011-02-02 Timothy Hatcher <timothy@apple.com>
-
- Give the Web Process access to the Safari RSS preferences.
-
- <rdar://problem/8916870> Sandbox violation related to RSS during initial
- page load with WebKit2 (prevents RSS from working)
-
- Reviewed by Darin Adler.
-
- * WebProcess/com.apple.WebProcess.sb:
-
-2011-02-02 Steve Lacey <sjl@chromium.org>
-
- Reviewed by Eric Carlson.
-
- Implement basic media statistics on media elements.
- https://bugs.webkit.org/show_bug.cgi?id=53322
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-02-01 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=53561
- <rdar://problem/8900228> Stepping through print previews in WebKit2 mode steps in and out of
- printing mode a lot
-
- Disable NSView autodisplay, so that -[WKView drawRect:] isn't called (other than when
- resizing the window), so that we don't have to switch modes all the time.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::setAutodisplay):
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setAutodisplay):
- * UIProcess/WebPageProxy.h:
- Pipe the call from WKPrintingView down to WKView.
-
- * UIProcess/API/mac/WKPrintingView.mm:
- (-[WKPrintingView beginDocument]): Added. We don't want to autodisplay WKView while printing,
- because layout is changed to print at the time, and drawing to screen requires relayout.
+ On the Mac, validation of edit menu commands is handled within WebKit2 in WKView.mm.
+ However, on Windows we need to do this in the client, so expose this functionality
+ in the API via WKPageValidateCommand().
- (-[WKPrintingView endDocument]): When not printing, turn autodisplay back on. Also, call
- -[super endDocument] for unknown but definitive good (oops!).
-
-2011-02-02 David Hyatt <hyatt@apple.com>
-
- Reviewed by Darin Adler.
-
- Conversion of right()/bottom() to maxX()/maxY() as part of the removal of those accessors.
-
- * UIProcess/win/WebPopupMenuProxyWin.cpp:
- (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::prepareCandidateWindow):
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- (WebKit::NetscapePlugin::platformGeometryDidChange):
-
-2011-02-01 Darin Adler <darin@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Overflow in WebKit2 argument decoder buffer checking
- https://bugs.webkit.org/show_bug.cgi?id=53536
-
- * Platform/CoreIPC/ArgumentDecoder.cpp:
- (CoreIPC::roundUpToAlignment): Tweak code a bit for clarity and to replace
- C casts with C++ casts.
- (CoreIPC::ArgumentDecoder::alignBufferPosition): Rearrange buffer calculation
- so we don't do any math with the passed-in size, because that could overflow.
- (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain): Ditto.
-
-2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
+ Change the Mac implementation to call WebPageProxy::validateCommand() with a callback
+ to match this new API, so it no longer has to go through PageClient to get notified
+ when a command is validated. This makes PageClient::setEditCommandState() obsolete,
+ so I removed the stub implementations in qt and gtk as well.
- Unreviewed.
-
- Fix Qt build after r77339.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::enterAcceleratedCompositingMode):
- (QWKPagePrivate::exitAcceleratedCompositingMode):
- * UIProcess/API/qt/qwkpage_p.h:
-
-2011-02-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Attach the layer tree in the UI process
- https://bugs.webkit.org/show_bug.cgi?id=53560
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _enterAcceleratedCompositingMode:]):
- Make a render layer and add it as a sublayer of our root layer.
-
- * WebProcess/WebPage/mac/LayerTreeHostMac.h:
- Make LayerTreeHostMac a GraphicsLayerClient.
-
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
- (WebKit::LayerTreeHostMac::LayerTreeHostMac):
- Create a root layer, add the layer subtree as a child of the root layer.
-
- (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
- Assert that m_rootLayer is null.
-
- (WebKit::LayerTreeHostMac::invalidate):
- Null out m_rootLayer.
-
- (WebKit::LayerTreeHostMac::notifyAnimationStarted):
- (WebKit::LayerTreeHostMac::notifySyncRequired):
- (WebKit::LayerTreeHostMac::paintContents):
- Add stubs.
-
- (WebKit::LayerTreeHostMac::showDebugBorders):
- (WebKit::LayerTreeHostMac::showRepaintCounter):
- Return the correct settings.
-
- (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
- Flush the root layer changes.
-
-2011-02-01 Anders Carlsson <andersca@apple.com>
-
- Fix Windows build.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::enterAcceleratedCompositingMode):
- (WebKit::WebView::exitAcceleratedCompositingMode):
- * UIProcess/win/WebView.h:
-
-2011-02-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add a layer backed NSView for accelerated content
- https://bugs.webkit.org/show_bug.cgi?id=53555
-
- Rename the current _layerHostingView to _oldLayerHostingView and
- add a new _layerHostingView to be used with the new drawing area.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView hitTest:]):
- (-[WKView _startAcceleratedCompositing:]):
- (-[WKView _stopAcceleratedCompositing]):
- (-[WKView _enterAcceleratedCompositingMode:]):
- (-[WKView _exitAcceleratedCompositingMode]):
-
-2011-02-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Pass enter/exit accelerated compositing mode to the WKView
- https://bugs.webkit.org/show_bug.cgi?id=53552
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
- (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageValidateCommand): Added.
+ * UIProcess/API/C/WKPage.h: Added WKPageValidateCommand().
+ * UIProcess/API/mac/PageClientImpl.h: Removed setEditCommandState().
+ * UIProcess/API/mac/PageClientImpl.mm: Removed setEditCommandState().
* UIProcess/API/mac/WKView.mm:
- (-[WKView _enterAcceleratedCompositingMode:]):
- (-[WKView _exitAcceleratedCompositingMode]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
- (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::enterAcceleratedCompositingMode):
- (WebKit::WebPageProxy::exitAcceleratedCompositingMode):
- * UIProcess/WebPageProxy.h:
-
-2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed Qt buildfix after r77286.
-
- https://bugs.webkit.org/show_bug.cgi?id=53520
- Remove the physical terminology from IntRect and FloatRect.
-
- * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
-
-2011-02-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Send messages when entering/exiting accelerated compositing
- https://bugs.webkit.org/show_bug.cgi?id=53534
-
- * Shared/LayerTreeContext.h: Added.
- * Shared/mac/LayerTreeContextMac.mm: Added.
- Add new LayerTreeContext which holds all information needed to enter
- accelerated compositing mode.
-
- * UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::enterAcceleratedCompositingMode):
- (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
- Add empty stubs.
-
- * UIProcess/DrawingAreaProxy.messages.in:
- Add new messgaes.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
- (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
- * UIProcess/DrawingAreaProxyImpl.h:
- Add empty stubs.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebProcess/WebPage/mac/LayerTreeHostMac.h:
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
- (WebKit::LayerTreeHostMac::LayerTreeHostMac):
- (WebKit::LayerTreeHostMac::invalidate):
- Send messages.
-
-2011-02-01 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein and Darin Adler.
-
- <rdar://problem/8830594> Printed page is sometimes shifted down, making footer invisible
-
- * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView locationOfPrintRect:]): Instead of
- letting AppKit compute content position on page, make the view provide it. We can do this
- because WK(Printing)Views are always printed on their own, not as part of other views.
-
-2011-02-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Make LayerTreeHost ref counted
- https://bugs.webkit.org/show_bug.cgi?id=53530
-
- LayerTreeHostMac will soon be able to trigger layout, which could cause
- the page to leave accelerated compositing mode and free the LayerTreeHostMac object.
-
- Making LayerTreeHost ref counted will let LayerTreeHostMac protect itself while triggering layout.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::setRootCompositingLayer):
- * WebProcess/WebPage/DrawingAreaImpl.h:
- * WebProcess/WebPage/LayerTreeHost.cpp:
- (WebKit::LayerTreeHost::create):
- * WebProcess/WebPage/LayerTreeHost.h:
- * WebProcess/WebPage/mac/LayerTreeHostMac.h:
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
- (WebKit::LayerTreeHostMac::create):
- (WebKit::LayerTreeHostMac::LayerTreeHostMac):
- (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
- (WebKit::LayerTreeHostMac::invalidate):
-
-2011-02-01 Sam Weinig <sam@webkit.org>
-
- Reviewed by Beth Dakin.
-
- Part 2 for <rdar://problem/8492788>
- Adopt WKScrollbarPainterController
-
- Use header detection to define scrollbar painting controller #define.
-
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-02-01 David Hyatt <hyatt@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=53520
-
- Remove the physical terminology from IntRect and FloatRect.
-
- Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
- we need to update our terminology to be more accurate.
-
- I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
- renaming right() and bottom() to maxX() and maxY(). These terms remain accurate
- even for flipped rectangles.
-
- * Platform/Region.cpp:
- (WebKit::Region::Shape::Shape):
- * UIProcess/API/mac/WKPrintingView.mm:
- (pageDidComputePageRects):
- * UIProcess/FindIndicator.cpp:
- (WebKit::FindIndicator::draw):
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::invalidate):
- (WebKit::TiledDrawingAreaProxy::paint):
- (WebKit::TiledDrawingAreaProxy::createTiles):
- * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
- (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::callSetWindow):
-
-2011-02-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Move flushPendingLayerChanges to LayerTreeHostMac
- https://bugs.webkit.org/show_bug.cgi?id=53525
-
- In preparation for adding more Mac specific code to flushPendingLayerChanges.
-
- * WebProcess/WebPage/LayerTreeHost.cpp:
- * WebProcess/WebPage/LayerTreeHost.h:
- * WebProcess/WebPage/mac/LayerTreeHostMac.h:
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
- (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
+ (validateCommandCallback): Added.
+ (-[WKView validateUserInterfaceItem:]): Pass callback to validateCommand().
+ * UIProcess/API/qt/qwkpage.cpp: Removed setEditCommandState().
+ * UIProcess/API/qt/qwkpage_p.h: Removed setEditCommandState().
+ * UIProcess/PageClient.h: Removed setEditCommandState().
+ * UIProcess/WebPageProxy.cpp: Removed didValidateCommand().
+ (WebKit::WebPageProxy::validateCommand): This now takes a callback.
+ (WebKit::WebPageProxy::validateCommandCallback): Added.
+ (WebKit::WebPageProxy::processDidCrash): Invalidate m_validateCommandCallbacks.
+ * UIProcess/WebPageProxy.h: Removed didValidateCommand(), validateCommand() now takes a callback.
+ (WebKit::ValidateCommandCallback::create): Added.
+ (WebKit::ValidateCommandCallback::~ValidateCommandCallback): Added.
+ (WebKit::ValidateCommandCallback::performCallbackWithReturnValue): Added.
+ (WebKit::ValidateCommandCallback::invalidate): Added.
+ (WebKit::ValidateCommandCallback::ValidateCommandCallback): Added.
+ * UIProcess/WebPageProxy.messages.in: Removed DidValidateCommand, added ValidateCommandCallback.
+ * UIProcess/gtk/WebView.cpp: Removed setEditCommandState().
+ * UIProcess/gtk/WebView.h: Removed setEditCommandState().
+ * UIProcess/win/WebView.cpp: Removed setEditCommandState().
+ * UIProcess/win/WebView.h: Removed setEditCommandState().
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::validateCommand): This now takes a callbackID.
+ * WebProcess/WebPage/WebPage.h: validateCommand now takes a callbackID.
+ * WebProcess/WebPage/WebPage.messages.in: ValidateCommand now takes a callbackID.
+
+2011-03-04 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Reference-counting for WKBundlePageResourceLoadClient::willSendRequestForFrame seems unclear/wrong
+ https://bugs.webkit.org/show_bug.cgi?id=53919
+ <rdar://problem/8966020>
+
+ Adopt the result of m_client.willSendRequestForFrame (which will be leaked by the client).
+
+ * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
+ (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
-2011-02-01 Beth Dakin <bdakin@apple.com>
+2011-03-04 Darin Adler <darin@apple.com>
- Reviewed by Sam Weinig.
+ Reviewed by Mark Rowe.
- Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
+ WebKit2 session state should include even loads too new to be in the back/forward list
+ https://bugs.webkit.org/show_bug.cgi?id=55781
+ part of <rdar://problem/8968847>
- Implement NSView's viewWillStartLiveResize and
- viewDidEndLiveResize and propagate the messages down
- to WebCore.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView viewWillStartLiveResize]):
- (-[WKView viewDidEndLiveResize]):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::viewWillStartLiveResize):
- (WebKit::WebPageProxy::viewWillEndLiveResize):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::viewWillStartLiveResize):
- (WebKit::WebPage::viewWillEndLiveResize):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
-
- A bunch of new WebKitSystemInterface functions.
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
+ * UIProcess/cf/WebPageProxyCF.cpp:
+ (WebKit::WebPageProxy::sessionStateData): Save URLs that are early enough in the loading
+ process to not be included in the back/forward list yet: The pending API request URL and
+ the provisional URL.
+ (WebKit::WebPageProxy::restoreFromSessionStateData): Call loadURL if the back/forward
+ list is not restored and a URL is present. Later we can improve the way we handle the
+ case where we have both a back/forward list and a URL.
-2011-02-01 Dave Hyatt <hyatt@apple.com>
+2011-03-04 Jessie Berlin <jberlin@apple.com>
Reviewed by Darin Adler.
- https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
- with vertical text.
+ WebKit2: Use CFNetwork Sessions API.
+ https://bugs.webkit.org/show_bug.cgi?id=55435.
- Change printing functions to check writing-mode and properly swap width and height
- as needed.
+ Add in the CFURLSTORAGESESSIONS guards that I incorrectly left out because the code was
+ contained within guards that made USE(CFURLSTORAGESESSIONS) always be true.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::computePagesForPrinting):
-
-2011-01-31 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=53466
- Move WebKit2 to printing via API methods
-
- Also fixes <rdar://problem/8933724> REGRESSION: Wrong pages are printed when not printing from page 1
-
- Also fixes horizontal tiling (no bug filed).
-
- The main idea here is that we don't force AppKit to use a different scaling factor when
- a Web view can't be resized to exact page size, and scale when drawing instead.
-
- * UIProcess/API/mac/WKPrintingView.mm:
- (-[WKPrintingView _firstPrintedPageNumber]): Factored out into a separate method.
- (-[WKPrintingView _lastPrintedPageNumber]): Ditto.
- (pageDidDrawToPDF): Avoid crashing if data is null.
- (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Use -_firstPrintedPageNumber
- and -_lastPrintedPageNumber.
- (pageDidComputePageRects): Set frame size to what it would have been for a normal NSView
- that's been asked to resize.
- (-[WKPrintingView _pageForRect:]): Check x(), because several pages can be at the same y()
- when tiling horizontally.
- (-[WKPrintingView _drawPDFDocument:page:atPoint:]): Point to draw at and frame size are
- now using different units, translate as appropriate.
- (-[WKPrintingView _drawPreview:]): Scale the rect to WebCore units.
- (-[WKPrintingView drawRect:]): Correctly calculate page number when the first page to print
- isn't page 1.
- (-[WKPrintingView rectForPage:]): Scale the rect to AppKit units.
-
-2011-01-31 Darin Adler <darin@apple.com>
-
- Reviewed by Adele Peterson.
-
- WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
- https://bugs.webkit.org/show_bug.cgi?id=53460
-
- * UIProcess/API/mac/WKView.mm: Added WEBCORE_COMMAND macro for lots of editor commands that
- are implemented in WebCore so they will get forwarded. Many of these will probably work without
- any further changes required. Added comments about the methods that we do not yet forward.
- (createSelectorExceptionMap): Map scrollPageDown: to ScrollPageForward and
- scrollPageUp: to ScrollPageBackward because we want the page up and page down
- keys to follow the document logical order, not physical order. This is equivalent
- to what we do in WebPage::performDefaultBehaviorForKeyEvent.
-
-2011-01-31 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Steve Falkenburg.
-
- WebKit2: the cookies used by the WebKit2 Web Process should not go in a top-level
- directory.
- https://bugs.webkit.org/show_bug.cgi?id=53278
-
- Use the name WebKit2WebProcess since the default location for the cookies is determined
- based on the process name (which is WebKit2WebProcess.exe on Windows).
-
- * win/WebKit2.make:
- Copy the WebKit2WebProcess.resources directory into the AppleInternal bin.
-
- * win/WebKit2WebProcess.resources: Added.
- * win/WebKit2WebProcess.resources/Info.plist: Added.
- Copied from the WebKit version of Info.plist.
-
- * win/WebKit2WebProcessPostBuild.cmd:
- Copy the WebKit2WebProcess.resources directory into the WebKitOutPutDir's bin.
-
-2011-01-31 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Make LayerTreeHost an abstract base class and make LayerTreeHostMac inherit from it
- https://bugs.webkit.org/show_bug.cgi?id=53432
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add LayerTreeHostMac.h.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- * WebProcess/WebPage/DrawingAreaImpl.h:
- Make m_layerTreeHost an OwnPtr and initialize/destroy it appropriately.
-
- * WebProcess/WebPage/LayerTreeHost.cpp:
- (WebKit::LayerTreeHost::create):
- On Mac, create a LayerTreeHostMac instance.
-
- (WebKit::LayerTreeHost::~LayerTreeHost):
- No need to call platformInvalidate anymore.
-
- * WebProcess/WebPage/LayerTreeHost.h:
- * WebProcess/WebPage/mac/LayerTreeHostMac.h: Added.
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
- (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
- Invalidate the run loop observer here instead of in platformInvalidate.
-
- (WebKit::LayerTreeHostMac::scheduleLayerFlush):
- (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback):
- These are now members of LayerTreeHostMac.
-
-2011-01-30 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- [Take 2!]
- Fixed crash on window close (maybe crash on launch?) due to missing frame null checks
- https://bugs.webkit.org/show_bug.cgi?id=53408
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::didNavigateWithNavigationData):
- (WebKit::WebContext::didPerformClientRedirect):
- (WebKit::WebContext::didPerformServerRedirect):
- (WebKit::WebContext::didUpdateHistoryTitle): Use MESSAGE_CHECK because
- we don't think we should be able to reach this state under normal conditions.
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ * UIProcess/win/WebContextWin.cpp:
+ (WebKit::WebContext::platformInitializeWebProcess):
-2011-01-30 Geoffrey Garen <ggaren@apple.com>
+2011-03-04 Jessie Berlin <jberlin@apple.com>
Reviewed by Maciej Stachowiak.
- Fixed crash on window close (maybe crash on launch?) due to missing
- frame null checks
- https://bugs.webkit.org/show_bug.cgi?id=53408
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::didNavigateWithNavigationData):
- (WebKit::WebContext::didPerformClientRedirect):
- (WebKit::WebContext::didPerformServerRedirect):
- (WebKit::WebContext::didUpdateHistoryTitle): Check for NULL, since we're
- calling a function that can return it.
-
-2011-01-30 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Csaba Osztrogonác.
-
- [Qt][WK2]REGRESSION (r76991): Fix build errors
- https://bugs.webkit.org/show_bug.cgi?id=53400
-
- Revert the temporary build fix (http://trac.webkit.org/changeset/77088)
- and remove WebKit2Prefix.h from the build.
- * UIProcess/API/qt/qwkhistory.h:
- * UIProcess/API/qt/qwkpage.h:
- * WebKit2.pro:
-
-2011-01-30 Jeff Miller <jeffm@apple.com>
-
- Reviewed by Dan Bernstein.
-
- FindController::updateFindIndicator() crashes if selection isn't visible
- https://bugs.webkit.org/show_bug.cgi?id=53399
-
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::updateFindIndicator): Return false if ShareableBitmap::createShareable() returns null (typically because the selection rect is empty).
-
-2011-01-30 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed.
-
- [Qt][WK2] Buildfix.
-
- * UIProcess/API/qt/qwkhistory.h:
- * UIProcess/API/qt/qwkpage.h:
-
-2011-01-29 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- Add WKPageCopyPendingAPIRequestURL API
- https://bugs.webkit.org/show_bug.cgi?id=53383
+ WebKit2: Use CFNetwork Sessions API.
+ https://bugs.webkit.org/show_bug.cgi?id=55435.
- This API returns the last URL requested for load via API, if neither that load nor any
- other load subsequently reaches the provisional state.
-
- This is useful to be able to track loads initiated via the API
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageCopyPendingAPIRequestURL): Retrieve the pending URL.
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::loadURL): Set pending URL.
- (WebKit::WebPageProxy::loadURLRequest): ditto
- (WebKit::WebPageProxy::reload): ditto
- (WebKit::WebPageProxy::goForward): ditto
- (WebKit::WebPageProxy::goBack): ditto
- (WebKit::WebPageProxy::estimatedProgress): Assume the initial
- progress value when there is a pending URL.
- (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Clear
- pending URL; clients should look at the provisional URL now.
- (WebKit::WebPageProxy::decidePolicyForNavigationAction): Clear
- pending URL if it doesn't match the policy URL; this means we
- were interrupted by another load.
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::pendingAPIRequestURL): Helper function.
- (WebKit::WebPageProxy::clearPendingAPIRequestURL): ditto
- (WebKit::WebPageProxy::setPendingAPIRequestURL): ditto
-
-2011-01-28 Jon Honeycutt <jhoneycutt@apple.com>
-
- Downloads in WK2 on Windows should write resume data to bundle
- https://bugs.webkit.org/show_bug.cgi?id=53282
- <rdar://problem/8753077>
-
- Reviewed by Alice Liu.
-
- * WebProcess/Downloads/Download.cpp:
- (WebKit::Download::decideDestinationWithSuggestedFilename):
- Call didDecideDestination(), now that the destination is decided.
-
- * WebProcess/Downloads/Download.h:
- Declare didDecideDestination(). Added member variables to hold the
- destination file path and the download bundle path.
- (WebKit::Download::destination):
- Return the path to the final destination for this download.
-
- * WebProcess/Downloads/cf/DownloadCFNet.cpp:
- (WebKit::Download::start):
- Remove the name of an unused param.
- (WebKit::Download::startWithHandle):
- Ditto.
- (WebKit::Download::cancel):
- Tell CFNetwork not to delete the file upon failure, and tell it to
- cancel the download. Copy the resume data for the download, and append
- it to the download bundle. Call didCancel() with an empty
- DataReference, since we have written our own resume data.
- (WebKit::decideDestinationWithSuggestedObjectNameCallback):
- Remove some unused param names. Removed the call to
- CFURLDownloadSetDestination() - this is now handled in
- Download::didDecideDestination().
- (WebKit::didCreateDestinationCallback):
- Report that the final destination was created, rather than the download
- bundle, matching old WebKit.
- (WebKit::Download::didDecideDestination):
- Store the final destination and the download bundle paths, and call
- CFURLDownloadSetDestination(), passing the path to the download bundle.
-
- * WebProcess/Downloads/curl/DownloadCurl.cpp:
- (WebKit::Download::didDecideDestination):
- Stubbed.
-
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (WebKit::Download::didDecideDestination):
- Stubbed - unneeded on the Mac.
-
- * WebProcess/Downloads/qt/DownloadQt.cpp:
- (WebKit::Download::didDecideDestination):
- Stubbed.
-
-2011-01-29 Jeff Miller <jeffm@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Support find bouncy in WebKit2 on Windows
- https://bugs.webkit.org/show_bug.cgi?id=53329
- <rdar://problem/8565843>
- The Mac implements the find bouncy inside of WebKit in the UI process for WebKit2, but we need to do this inside Safari for WebKit2 on Windows.
- Add infrastructure to call back into the app when the find indicator changes.
-
- * UIProcess/API/C/win/WKView.cpp: Cleanup some code style violations.
- (WKViewSetFindIndicatorCallback): Added.
- (WKViewGetFindIndicatorCallback): Added.
- * UIProcess/API/C/win/WKView.h: Cleanup some code style violations.
- * UIProcess/FindIndicator.cpp:
- (WebKit::FindIndicator::create):
- (WebKit::FindIndicator::FindIndicator):
- (WebKit::FindIndicator::frameRect):
- (WebKit::FindIndicator::draw):
- Rename m_selectionRect to m_selectionRectInWindowCoordinates and m_textRects to m_textRectsInSelectionRectCoordinates (along with similarly named local variables) to be more explict about the coordinate system.
- * UIProcess/FindIndicator.h:
- (WebKit::FindIndicator::selectionRectInWindowCoordinates): Added.
- (WebKit::FindIndicator::textRects): Rename m_textRects to m_textRectsInSelectionRectCoordinates.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setFindIndicator): Rename selectionRect to selectionRectInWindowCoordinates and textRects to textRectsInSelectionRectCoordinates to be more explict about the coordinate system.
- * UIProcess/WebPageProxy.h: Ditto.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- (WebKit::WebView::setFindIndicator): Added.
- (WebKit::WebView::setFindIndicatorCallback): Added.
- (WebKit::WebView::getFindIndicatorCallback): Added.
- * UIProcess/win/WebView.h:
-
-2011-01-28 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=53367
- <rdar://problem/8926460> Remove dysfunctional code from -[WKPrintingView _isPrintingPreview].
-
- * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _isPrintingPreview]): The common
- branch works fine for now, no need to make platforms different.
-
-2011-01-28 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Dan Bernstein.
-
- WKPageGetEstimatedProgress returns wrong value after a mainframe provisional load has started
- https://bugs.webkit.org/show_bug.cgi?id=53358
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didStartProgress): Start progress at the magic initial value, not 0.
-
-2011-01-28 Anders Carlsson <andersca@apple.com>
-
- Yet another build fix (What was I thinking?)
-
- * WebProcess/Downloads/Download.h:
- * WebProcess/Plugins/PluginProxy.h:
-
-2011-01-28 Anders Carlsson <andersca@apple.com>
-
- Fix Windows build.
-
- * Shared/PrintInfo.h:
-
-2011-01-28 Anders Carlsson <andersca@apple.com>
-
- Fix tyop.
-
- * Shared/mac/CoreAnimationRenderer.mm:
-
-2011-01-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add CoreAnimationRenderer class
- https://bugs.webkit.org/show_bug.cgi?id=53343
-
- * Shared/mac/CoreAnimationRenderer.h: Added.
- * Shared/mac/CoreAnimationRenderer.mm: Added.
-
- (WebKit::CoreAnimationRenderer::CoreAnimationRenderer):
- Initialize the underlying CARenderer object and hook up a notification observer.
-
- (WebKit::CoreAnimationRenderer::~CoreAnimationRenderer):
- Assert that the client is null. It has been set to null by the call to invalidate().
-
- (WebKit::CoreAnimationRenderer::setBounds):
- Update the bounds on the CARenderer and the root layer.
-
- (WebKit::CoreAnimationRenderer::render):
- Ask the renderer to render and return the next frame time.
-
- (WebKit::CoreAnimationRenderer::invalidate):
- Remove the change observer and reset the client.
-
- (WebKit::CoreAnimationRenderer::rendererDidChange):
- Call the client member function.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
-2011-01-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add an OBJC_CLASS macro for forward declaring an Objective-C class
- https://bugs.webkit.org/show_bug.cgi?id=53337
-
- * Shared/NativeWebKeyboardEvent.h:
- * Shared/PrintInfo.h:
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
- * UIProcess/LayerBackedDrawingAreaProxy.h:
- * UIProcess/WebInspectorProxy.h:
- * UIProcess/mac/WebContextMenuProxyMac.h:
- * UIProcess/mac/WebPopupMenuProxyMac.h:
- * WebProcess/Downloads/Download.h:
- * WebProcess/Plugins/PluginProxy.h:
- * WebProcess/WebPage/LayerBackedDrawingArea.h:
- * WebProcess/WebPage/WebPage.h:
- * config.h:
-
-2011-01-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Don't put config.h in the message headers.
-
- * Scripts/webkit2/messages.py:
- * Scripts/webkit2/messages_unittest.py:
-
-2011-01-28 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * Shared/mac/ShareableSurface.cpp:
-
-2011-01-28 Anders Carlsson <andersca@apple.com>
-
- Try to unbreak the Windows build.
-
- * UIProcess/cf/WebPageProxyCF.cpp:
-
-2011-01-28 Brady Eidson <beidson@apple.com>
+ When Private Browsing is enabled, get the cached url response from the cache associated with
+ the Private Browsing Storage Session.
- Reviewed by John Sullivan.
-
- https://bugs.webkit.org/show_bug.cgi?id=53330
- Need InjectedBundle API to get the response MIMEType for a URL
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameCopyMIMETypeForResourceWithURL):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
-
- Get the MIMEType from the in-memory cache, or cachedResponseMIMETypeForURL() if not available:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::mimeTypeForResourceWithURL):
- * WebProcess/WebPage/WebFrame.h:
-
- Get the MIMEType from the platform's disk cache if available:
- * WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::platformHasLocalDataForURL):
+ If Private Browsing is enabled, call into WKSI to get the response.
(WebKit::WebPage::cachedResponseMIMETypeForURL):
- * WebProcess/WebPage/qt/WebPageQt.cpp:
- (WebKit::WebPage::cachedResponseMIMETypeForURL):
+ Ditto.
* WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::platformHasLocalDataForURL):
+ If Private Browsing is enabled, call into WKSI to get the CFURLCacheRef.
(WebKit::WebPage::cachedResponseMIMETypeForURL):
+ Ditto.
-2011-01-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Clean up the mess introduced when config.h was added to the project:
-
- - Remove the contents of WebKit2Prefix.h that is now in config.h, to avoid including everything
- twice in each file, probably slowing down compile time.
-
- - Add config.h to all the files that were forgotten in order to keep the build from breaking.
-
- - Added trap to ensure that config.h is included at the top of every implementation file. If this
- had been added it would have caught the previous issue.
-
-2011-01-28 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Geoff Garen.
-
- <rdar://problem/8857651> Implement unregisterWorld for WebKit2
- Rename unregisterWorld to clearWrappers. Clearing the wrappers reduces the
- memory use of isolated worlds.
-
- * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
- (WKBundleScriptWorldClearWrappers):
- * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
- * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
- (WebKit::InjectedBundleScriptWorld::clearWrappers):
- * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
-
-2011-01-28 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- <select> can't display right-to-left (rtl) languages
- https://bugs.webkit.org/show_bug.cgi?id=19785
-
- * Shared/WebPopupItem.cpp:
- (WebKit::WebPopupItem::WebPopupItem): Added initializers for m_textDirection and m_hasTextDirectionOverride.
- (WebKit::WebPopupItem::encode): Encode the item's writing direction and direction override values.
- (WebKit::WebPopupItem::decode): Decode the item's writing direction and direction override values.
- * Shared/WebPopupItem.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::showPopupMenu): Added a parameter for the menu's text direction.
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in: Ditto.
- * UIProcess/WebPopupMenuProxy.h:
- * UIProcess/mac/WebPopupMenuProxyMac.h:
- * UIProcess/mac/WebPopupMenuProxyMac.mm:
- (WebKit::WebPopupMenuProxyMac::populate): Added a parameter for the menu's text direction.
- Set items' text alignment to match the menu's writing direction. Set items' writing direction
- and direction override according to their styles.
- (WebKit::WebPopupMenuProxyMac::showPopupMenu): Set the pop-up's layout direction.
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural): Changed to return false.
- (WebKit::WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added.
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
- (WebKit::WebPopupMenu::populateItems): Initialize items' writing direction and direction override
- values.
- (WebKit::WebPopupMenu::show): Pass the menu's writing direction.
-
-2011-01-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add ShareableSurface class
- https://bugs.webkit.org/show_bug.cgi?id=53313
-
- * Shared/mac/ShareableSurface.cpp: Added.
- (WebKit::ShareableSurface::Handle::Handle):
- Initialize the mach port.
-
- (WebKit::ShareableSurface::Handle::~Handle):
- Deallocate our send right if needed.
+2011-03-04 Jeff Miller <jeffm@apple.com>
- (WebKit::ShareableSurface::Handle::encode):
- Encode the send right, and then null it out.
+ Reviewed by Darin Adler.
- (WebKit::ShareableSurface::Handle::decode):
- Decode the send right.
+ Move WKViewExecuteCommand() to WKPageExecuteCommand()
+ https://bugs.webkit.org/show_bug.cgi?id=55744
- (WebKit::createIOSurface):
- Create an IOSurface with the given size.
-
- (WebKit::ShareableSurface::create):
- Create an IOSurface, either from a size or from a handle.
-
- (WebKit::ShareableSurface::~ShareableSurface):
- Delete the texture and framebuffer.
-
- (WebKit::ShareableSurface::createHandle):
- Create a mach port from the surface.
-
- (WebKit::ShareableSurface::attach):
- Create an FBO if needed and bind it.
-
- (WebKit::ShareableSurface::detach):
- Unbind the FBO.
-
- (WebKit::ShareableSurface::textureID):
- Generate a new texture and bind it to the IOSurface.
-
- * Shared/mac/ShareableSurface.h: Added.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
-2011-01-27 Adam Roben <aroben@apple.com>
-
- Change BinarySemaphore to wrap an auto-reset Win32 event on Windows
-
- Fixes <http://webkit.org/b/53208> <rdar://problem/8922490>.
+ Executing a command operates on a page, so it makes more sense for it to be in WKPage.
+ This also makes it available on all platforms, not just Windows.
- Reviewed by Dave Hyatt.
-
- * Platform/CoreIPC/BinarySemaphore.cpp: Wrap this implementation in #if !PLATFORM(WIN).
-
- * Platform/CoreIPC/BinarySemaphore.h: Make the Windows implementation have a single HANDLE
- member that holds the event.
-
- * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Copied from Source/WebKit2/Platform/CoreIPC/BinarySemaphore.cpp.
- (CoreIPC::BinarySemaphore::BinarySemaphore): Create our event.
- (CoreIPC::BinarySemaphore::~BinarySemaphore): Destory our event.
- (CoreIPC::BinarySemaphore::signal): Signal the event.
- (CoreIPC::BinarySemaphore::wait): Convert the absolute time to a wait interval, then wait
- for the event to be signaled or for the interval to elapse.
-
- * win/WebKit2.vcproj: Added BinarySemaphoreWin.cpp. Also let VS have its way with the file.
-
-2011-01-27 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Anders Carlsson.
-
- WebKit2: Page flashes just before accelerated compositing animation
- https://bugs.webkit.org/show_bug.cgi?id=53274
-
- When switching out of compositing mode, the new ChunkedUpdateDrawingAreaProxy
- is getting created with the current page size. When the setSize() call is
- subsequently made, the sizeDidChange() call is not made (which does the initial
- render of the page) because the old size and new size are the same. The solution
- is to skip the setting of the size in the ctor and let it go through a size
- change sequence.
-
- * UIProcess/DrawingAreaProxy.cpp:
- (WebKit::DrawingAreaProxy::DrawingAreaProxy):
-
-2011-01-28 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Fix dist compilation for the release
- https://bugs.webkit.org/show_bug.cgi?id=53290
-
- * GNUmakefile.am: Remove a file that is not in the repository
- anymore.
-
-
-2011-01-28 Andreas Kling <kling@webkit.org>
-
- Rubber-stamped by Simon Hausmann.
-
- [Qt][WK2] Combine QWKPage::engine{Connected,Disconnected} into one signal.
-
- Having two signals for this is redundant, combine them into
- QWKPage::engineConnectionChanged(bool connected).
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::didRelaunchProcess):
- (QWKPagePrivate::processDidCrash):
- * UIProcess/API/qt/qwkpage.h:
-
-2011-01-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Maciej Stachowiak.
-
- Build fix for Mac Intel Debug after r76916
- https://bugs.webkit.org/show_bug.cgi?id=53284
-
- Fix macro redefinition by guarding the redefined macros.
-
- * config.h:
-
-2011-01-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed build fix for Mac Intel Debug after r76916.
-
- Fix macro redefinition by guarding the redefined macros.
-
- Check if the macro is already defined before defininig it.
- c++config.h has the same macros with the same values.
-
- * config.h:
-
-2011-01-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Adam Barth.
-
- Update the expected results for test-webkitpy after r76916.
-
- Include "config.h" in the expected results as well.
-
- * Scripts/webkit2/messages_unittest.py:
-
-2011-01-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageExecuteCommand): Added.
+ * UIProcess/API/C/WKPage.h: Add WKPageExecuteCommand().
+ * UIProcess/API/C/win/WKView.cpp: Remove WKViewExecuteCommand().
+ * UIProcess/API/C/win/WKView.h: Remove WKViewExecuteCommand().
- Unreviewed buildfix for SnowLeopard Intel Debug.
+2011-03-04 Dan Bernstein <mitz@apple.com>
- Fix macro redefinition by not including config.h.
+ LLVM Compiler build fix.
- Revert previous change in WebPageProxyCF.cpp.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::runJavaScriptInMainFrame):
- * UIProcess/cf/WebPageProxyCF.cpp:
+2011-03-03 Timothy Hatcher <timothy@apple.com>
-2011-01-27 Greg Coletta <greg.coletta@nokia.com>
+ Make the WKPageRunJavaScriptFunction callback take a WKSerializedScriptValueRef.
- Reviewed by Laszlo Gombos.
+ https://webkit.org/b/55623
- Get rid of prefix header dependency for WebKit2 build system.
- https://bugs.webkit.org/show_bug.cgi?id=50174
-
- Add config.h include explicitelly.
+ Reviewed by Darin Adler.
- * Platform/CoreIPC/ArgumentDecoder.cpp:
- * Platform/CoreIPC/ArgumentEncoder.cpp:
- * Platform/CoreIPC/Attachment.cpp:
- * Platform/CoreIPC/BinarySemaphore.cpp:
- * Platform/CoreIPC/Connection.cpp:
- * Platform/CoreIPC/DataReference.cpp:
- * Platform/CoreIPC/gtk/ConnectionGtk.cpp:
- * Platform/CoreIPC/mac/ConnectionMac.cpp:
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- * Platform/Logging.cpp:
- * Platform/Module.cpp:
- * Platform/Region.cpp:
- * Platform/RunLoop.cpp:
- * Platform/WorkQueue.cpp:
- * Platform/cg/CGUtilities.cpp:
- * Platform/gtk/RunLoopGtk.cpp:
- * Platform/gtk/SharedMemoryGtk.cpp:
- * Platform/gtk/WorkQueueGtk.cpp:
- * Platform/mac/MachUtilities.cpp:
- * Platform/mac/SharedMemoryMac.cpp:
- * Platform/mac/WorkQueueMac.cpp:
- * Platform/qt/MappedMemoryPool.cpp:
- * Platform/qt/ModuleQt.cpp:
- * Platform/qt/RunLoopQt.cpp:
- * Platform/qt/WorkQueueQt.cpp:
- * Platform/win/ModuleWin.cpp:
- * Platform/win/RunLoopWin.cpp:
- * Platform/win/SharedMemoryWin.cpp:
- * Platform/win/WorkQueueWin.cpp:
- * PluginProcess/PluginControllerProxy.cpp:
- * PluginProcess/PluginProcess.cpp:
- * PluginProcess/WebProcessConnection.cpp:
- * Scripts/webkit2/messages.py:
- * Shared/API/c/WKArray.cpp:
- * Shared/API/c/WKCertificateInfo.cpp:
- * Shared/API/c/WKContextMenuItem.cpp:
- * Shared/API/c/WKData.cpp:
- * Shared/API/c/WKDictionary.cpp:
- * Shared/API/c/WKError.cpp:
- * Shared/API/c/WKImage.cpp:
- * Shared/API/c/WKMutableArray.cpp:
- * Shared/API/c/WKMutableDictionary.cpp:
- * Shared/API/c/WKNumber.cpp:
- * Shared/API/c/WKSecurityOrigin.cpp:
- * Shared/API/c/WKSerializedScriptValue.cpp:
- * Shared/API/c/WKString.cpp:
- * Shared/API/c/WKType.cpp:
- * Shared/API/c/WKURL.cpp:
- * Shared/API/c/WKURLRequest.cpp:
- * Shared/API/c/WKURLResponse.cpp:
- * Shared/API/c/WKUserContentURLPattern.cpp:
- * Shared/API/c/cf/WKStringCF.cpp:
- * Shared/API/c/cf/WKURLCF.cpp:
- * Shared/API/c/cf/WKURLRequestCF.cpp:
- * Shared/API/c/cf/WKURLResponseCF.cpp:
- * Shared/API/c/cg/WKImageCG.cpp:
- * Shared/API/c/win/WKCertificateInfoWin.cpp:
- * Shared/ChildProcess.cpp:
- * Shared/ImmutableArray.cpp:
- * Shared/ImmutableDictionary.cpp:
- * Shared/MutableArray.cpp:
- * Shared/MutableDictionary.cpp:
- * Shared/OriginAndDatabases.cpp:
- * Shared/PlatformPopupMenuData.cpp:
- * Shared/Plugins/NPIdentifierData.cpp:
- * Shared/Plugins/NPObjectMessageReceiver.cpp:
- * Shared/Plugins/NPObjectProxy.cpp:
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- * Shared/Plugins/NPVariantData.cpp:
- * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
- * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
- * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
- * Shared/Plugins/PluginProcessCreationParameters.cpp:
- * Shared/PrintInfo.cpp:
- * Shared/SessionState.cpp:
- * Shared/ShareableBitmap.cpp:
- * Shared/UpdateInfo.cpp:
- * Shared/VisitedLinkTable.cpp:
- * Shared/WebBackForwardListItem.cpp:
- * Shared/WebContextMenuItem.cpp:
- * Shared/WebContextMenuItemData.cpp:
- * Shared/WebError.cpp:
- * Shared/WebEvent.cpp:
- * Shared/WebEventConversion.cpp:
- * Shared/WebGeolocationPosition.cpp:
- * Shared/WebImage.cpp:
- * Shared/WebKeyboardEvent.cpp:
- * Shared/WebMemorySampler.cpp:
- * Shared/WebMouseEvent.cpp:
- * Shared/WebOpenPanelParameters.cpp:
- * Shared/WebPageCreationParameters.cpp:
- * Shared/WebPageGroupData.cpp:
- * Shared/WebPlatformTouchPoint.cpp:
- * Shared/WebPopupItem.cpp:
- * Shared/WebPreferencesStore.cpp:
- * Shared/WebProcessCreationParameters.cpp:
- * Shared/WebTouchEvent.cpp:
- * Shared/WebURLRequest.cpp:
- * Shared/WebURLResponse.cpp:
- * Shared/WebWheelEvent.cpp:
- * Shared/cairo/ShareableBitmapCairo.cpp:
- * Shared/cf/ArgumentCodersCF.cpp:
- * Shared/cg/ShareableBitmapCG.cpp:
- * Shared/gtk/ShareableBitmapGtk.cpp:
- * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
- * Shared/mac/CommandLineMac.cpp:
- * Shared/mac/UpdateChunk.cpp:
- * Shared/qt/CleanupHandler.cpp:
- * Shared/qt/NativeWebKeyboardEventQt.cpp:
- * Shared/qt/ShareableBitmapQt.cpp:
- * Shared/qt/UpdateChunk.cpp:
- * Shared/qt/WebCoreArgumentCodersQt.cpp:
- * Shared/qt/WebEventFactoryQt.cpp:
- * Shared/qt/WebURLRequestQt.cpp:
- * Shared/qt/WebURLResponseQt.cpp:
- * Shared/win/CommandLineWin.cpp:
- * Shared/win/NativeWebKeyboardEventWin.cpp:
- * Shared/win/PlatformCertificateInfo.cpp:
- * Shared/win/UpdateChunk.cpp:
- * Shared/win/WebCoreArgumentCodersWin.cpp:
- * Shared/win/WebEventFactory.cpp:
- * Shared/win/WebURLRequestWin.cpp:
- * Shared/win/WebURLResponseWin.cpp:
- * UIProcess/API/C/WKAuthenticationChallenge.cpp:
- * UIProcess/API/C/WKAuthenticationDecisionListener.cpp:
- * UIProcess/API/C/WKBackForwardList.cpp:
- * UIProcess/API/C/WKBackForwardListItem.cpp:
- * UIProcess/API/C/WKContext.cpp:
- * UIProcess/API/C/WKCredential.cpp:
- * UIProcess/API/C/WKDatabaseManager.cpp:
- * UIProcess/API/C/WKDownload.cpp:
- * UIProcess/API/C/WKFormSubmissionListener.cpp:
- * UIProcess/API/C/WKFrame.cpp:
- * UIProcess/API/C/WKFramePolicyListener.cpp:
- * UIProcess/API/C/WKGeolocationManager.cpp:
- * UIProcess/API/C/WKGeolocationPermissionRequest.cpp:
- * UIProcess/API/C/WKGeolocationPosition.cpp:
- * UIProcess/API/C/WKInspector.cpp:
- * UIProcess/API/C/WKNavigationData.cpp:
- * UIProcess/API/C/WKOpenPanelParameters.cpp:
- * UIProcess/API/C/WKOpenPanelResultListener.cpp:
* UIProcess/API/C/WKPage.cpp:
- * UIProcess/API/C/WKPageGroup.cpp:
- * UIProcess/API/C/WKPreferences.cpp:
- * UIProcess/API/C/WKProtectionSpace.cpp:
- * UIProcess/API/C/win/WKContextWin.cpp:
- * UIProcess/API/C/win/WKView.cpp:
- * UIProcess/API/C/win/WKViewPrivate.cpp:
- * UIProcess/API/cpp/qt/WKStringQt.cpp:
- * UIProcess/API/cpp/qt/WKURLQt.cpp:
- * UIProcess/API/qt/ClientImpl.cpp:
- * UIProcess/API/qt/qgraphicswkview.cpp:
- * UIProcess/API/qt/qwkcontext.cpp:
- * UIProcess/API/qt/qwkpage.cpp:
- * UIProcess/API/qt/qwkpreferences.cpp:
- * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
- * UIProcess/Authentication/AuthenticationDecisionListener.cpp:
- * UIProcess/Authentication/WebCredential.cpp:
- * UIProcess/Authentication/WebProtectionSpace.cpp:
- * UIProcess/BackingStore.cpp:
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- * UIProcess/Downloads/DownloadProxy.cpp:
- * UIProcess/DrawingAreaProxy.cpp:
- * UIProcess/DrawingAreaProxyImpl.cpp:
- * UIProcess/FindIndicator.cpp:
- * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
- * UIProcess/GeolocationPermissionRequestProxy.cpp:
- * UIProcess/Launcher/ProcessLauncher.cpp:
- * UIProcess/Launcher/ThreadLauncher.cpp:
- * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
- * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
- * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
- * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- * UIProcess/Plugins/PluginInfoStore.cpp:
- * UIProcess/Plugins/PluginProcessManager.cpp:
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
- * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- * UIProcess/ResponsivenessTimer.cpp:
- * UIProcess/TiledDrawingAreaProxy.cpp:
- * UIProcess/VisitedLinkProvider.cpp:
- * UIProcess/WebBackForwardList.cpp:
- * UIProcess/WebContext.cpp:
- * UIProcess/WebContextInjectedBundleClient.cpp:
- * UIProcess/WebContextMenuProxy.cpp:
- * UIProcess/WebDatabaseManagerProxy.cpp:
- * UIProcess/WebDatabaseManagerProxyClient.cpp:
- * UIProcess/WebDownloadClient.cpp:
- * UIProcess/WebEditCommandProxy.cpp:
- * UIProcess/WebFindClient.cpp:
- * UIProcess/WebFormClient.cpp:
- * UIProcess/WebFormSubmissionListenerProxy.cpp:
- * UIProcess/WebFrameListenerProxy.cpp:
- * UIProcess/WebFramePolicyListenerProxy.cpp:
- * UIProcess/WebFrameProxy.cpp:
- * UIProcess/WebGeolocationManagerProxy.cpp:
- * UIProcess/WebGeolocationProvider.cpp:
- * UIProcess/WebHistoryClient.cpp:
- * UIProcess/WebInspectorProxy.cpp:
- * UIProcess/WebLoaderClient.cpp:
- * UIProcess/WebNavigationData.cpp:
- * UIProcess/WebOpenPanelResultListenerProxy.cpp:
- * UIProcess/WebPageContextMenuClient.cpp:
- * UIProcess/WebPageGroup.cpp:
+ (WKPageRunJavaScriptInMainFrame): Use ScriptValueCallback.
+ (callRunJavaScriptBlockAndRelease): Use WKSerializedScriptValueRef.
+ * UIProcess/API/C/WKPage.h: Use WKSerializedScriptValueRef.
* UIProcess/WebPageProxy.cpp:
- * UIProcess/WebPolicyClient.cpp:
- * UIProcess/WebPreferences.cpp:
- * UIProcess/WebProcessManager.cpp:
- * UIProcess/WebProcessProxy.cpp:
- * UIProcess/WebResourceLoadClient.cpp:
- * UIProcess/WebUIClient.cpp:
- * UIProcess/cf/WebBackForwardListCF.cpp:
- * UIProcess/cf/WebPageProxyCF.cpp:
- * UIProcess/cf/WebPreferencesCF.cpp:
- * UIProcess/gtk/TextCheckerGtk.cpp:
- * UIProcess/gtk/WebInspectorGtk.cpp:
- * UIProcess/gtk/WebPageProxyGtk.cpp:
- * UIProcess/gtk/WebPreferencesGtk.cpp:
- * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
- * UIProcess/qt/TextCheckerQt.cpp:
- * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
- * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
- * UIProcess/qt/WebContextMenuProxyQt.cpp:
- * UIProcess/qt/WebContextQt.cpp:
- * UIProcess/qt/WebInspectorProxyQt.cpp:
- * UIProcess/qt/WebPageProxyQt.cpp:
- * UIProcess/qt/WebPopupMenuProxyQt.cpp:
- * UIProcess/qt/WebPreferencesQt.cpp:
- * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
- * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp:
- * UIProcess/win/TextCheckerWin.cpp:
- * UIProcess/win/WebContextMenuProxyWin.cpp:
- * UIProcess/win/WebContextWin.cpp:
- * UIProcess/win/WebInspectorProxyWin.cpp:
- * UIProcess/win/WebPageProxyWin.cpp:
- * UIProcess/win/WebPopupMenuProxyWin.cpp:
- * UIProcess/win/WebView.cpp:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Authentication/AuthenticationManager.cpp:
- * WebProcess/Downloads/Download.cpp:
- * WebProcess/Downloads/DownloadManager.cpp:
- * WebProcess/Downloads/cf/DownloadCFNet.cpp:
- * WebProcess/Downloads/curl/DownloadCurl.cpp:
- * WebProcess/Downloads/qt/DownloadQt.cpp:
- * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
- * WebProcess/Geolocation/WebGeolocationManager.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
- * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
- * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
- * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
- * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
- * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
- * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
- * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
- * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
- * WebProcess/Plugins/Netscape/JSNPObject.cpp:
- * WebProcess/Plugins/Netscape/NPJSObject.cpp:
- * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
- * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
- * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- * WebProcess/Plugins/Plugin.cpp:
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
- * WebProcess/Plugins/PluginProxy.cpp:
- * WebProcess/Plugins/PluginView.cpp:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
- * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
- * WebProcess/WebCoreSupport/WebDragClient.cpp:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
- * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
- * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
- * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
- * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
- * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
- * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
- * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp:
- * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp:
- * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
- * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
- * WebProcess/WebKitMain.cpp:
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- * WebProcess/WebPage/DecoderAdapter.cpp:
- * WebProcess/WebPage/DrawingArea.cpp:
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- * WebProcess/WebPage/EncoderAdapter.cpp:
- * WebProcess/WebPage/FindController.cpp:
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- * WebProcess/WebPage/PageOverlay.cpp:
- * WebProcess/WebPage/TiledDrawingArea.cpp:
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- * WebProcess/WebPage/WebContextMenu.cpp:
- * WebProcess/WebPage/WebEditCommand.cpp:
- * WebProcess/WebPage/WebFrame.cpp:
- * WebProcess/WebPage/WebInspector.cpp:
- * WebProcess/WebPage/WebOpenPanelResultListener.cpp:
+ (WebKit::WebPageProxy::close): Call invalidateCallbackMap for m_scriptValueCallbacks.
+ (WebKit::WebPageProxy::runJavaScriptInMainFrame): Take a ScriptValueCallback.
+ (WebKit::WebPageProxy::scriptValueCallback): Added. Create a WebSerializedScriptValue
+ from the DataReference before calling the callback.
+ (WebKit::WebPageProxy::processDidCrash): Call invalidateCallbackMap for m_scriptValueCallbacks.
+ * UIProcess/WebPageProxy.h: Added ScriptValueCallback and m_scriptValueCallbacks.
+ * UIProcess/WebPageProxy.messages.in: Added ScriptValueCallback.
* WebProcess/WebPage/WebPage.cpp:
- * WebProcess/WebPage/WebPageGroupProxy.cpp:
- * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
- * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
- * WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp:
- * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp:
- * WebProcess/WebPage/qt/WebInspectorQt.cpp:
- * WebProcess/WebPage/qt/WebPageQt.cpp:
- * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp:
- * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp:
- * WebProcess/WebPage/win/WebInspectorWin.cpp:
- * WebProcess/WebPage/win/WebPageWin.cpp:
- * WebProcess/WebProcess.cpp:
- * WebProcess/gtk/WebProcessGtk.cpp:
- * WebProcess/gtk/WebProcessMainGtk.cpp:
- * WebProcess/qt/WebProcessMainQt.cpp:
- * WebProcess/qt/WebProcessQt.cpp:
- * WebProcess/win/WebProcessMainWin.cpp:
- * WebProcess/win/WebProcessWin.cpp:
- * config.h: Copied from Source/WebKit2/WebKit2Prefix.h.
- * win/WebKit2Common.vsprops:
+ (WebKit::WebPage::runJavaScriptInMainFrame): Create a DataReference from a WebCore::SerializedScriptValue.
+ And use ScriptValueCallback to send the message back.
-2011-01-27 Maciej Stachowiak <mjs@apple.com>
+2011-03-03 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Darin Adler.
+ Reviewed by Adam Roben.
- execCommand("Paste") doesn't work in WebKitTestRunner
- https://bugs.webkit.org/show_bug.cgi?id=52785
+ Cleanup from https://bugs.webkit.org/show_bug.cgi?id=55427.
- Thread through the new JavaScriptCanAccessClipboard setting.
-
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetJavaScriptCanAccessClipboard):
- (WKPreferencesGetJavaScriptCanAccessClipboard):
- * UIProcess/API/C/WKPreferences.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
+ Call WebCore::startObservingCookieChanges and WebCore::stopObservingCookieChanges
+ on all platforms, and stub the functions on platforms that don't implement them.
-2011-01-27 Nate Chapin <japhet@chromium.org>
+ * WebProcess/Cookies/WebCookieManager.cpp:
+ (WebKit::WebCookieManager::startObservingCookieChanges):
+ (WebKit::WebCookieManager::stopObservingCookieChanges):
- Reviewed by Adam Barth.
-
- Use Document::url() instead of FrameLoader::url().
- https://bugs.webkit.org/show_bug.cgi?id=41165
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
- (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
- (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
- (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::url):
-
-2011-01-27 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Encode/Decode hasPreciseScrollingDeltas bit in WebWheelEvent
- https://bugs.webkit.org/show_bug.cgi?id=53254
-
- * Shared/WebWheelEvent.cpp:
- (WebKit::WebWheelEvent::WebWheelEvent):
- Initialize m_phase and m_hasPreciseScrollingDeltas.
-
- (WebKit::WebWheelEvent::encode):
- (WebKit::WebWheelEvent::decode):
- Add missing coding for m_hasPreciseScrollingDeltas.
-
-2011-01-26 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Darin Adler and Adam Roben.
-
- WebKit2: add support for drag and drop on Windows
- https://bugs.webkit.org/show_bug.cgi?id=52775
- <rdar://problem/8514409>
-
- On Windows the access to the content being dragged is
- provided via the IDataObject interface that is made available
- to the window that registers itself as drop target.
- Since this interface cannot be accessed from the WebProcess,
- in every call to one of the methods of the IDropTarget interface
- we serialize the content of the drag clipboard and send it over to
- the WebProcess. The implementation uses the same messages as the
- Mac one, with slightly different parameters to pass the serialized
- clipboard.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::performDragControllerAction): Added Windows
- specific implementation.
- * UIProcess/WebPageProxy.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView): Added dropTargetHelper object creation.
- (WebKit::WebView::initialize): Added to register for drag/drop with out
- refcount issues.
- (WebKit::WebView::close):
- (WebKit::WebView::windowReceivedMessage):
- (WebKit::WebView::QueryInterface):
- (WebKit::WebView::AddRef):
- (WebKit::WebView::Release):
- (WebKit::dragOperationToDragCursor):
- (WebKit::WebView::keyStateToDragOperation):
- (WebKit::WebView::DragEnter):
- (WebKit::WebView::DragOver):
- (WebKit::WebView::DragLeave):
- (WebKit::WebView::Drop):
- * UIProcess/win/WebView.h:
- (WebKit::WebView::create):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::performDragControllerAction):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
-
-2011-01-26 Alexey Proskuryakov <ap@apple.com>
+2011-03-03 Jeff Miller <jeffm@apple.com>
Reviewed by Darin Adler.
- https://bugs.webkit.org/show_bug.cgi?id=53197
- <rdar://problem/8895682> Make WebKit2 printing asynchronous
-
- <rdar://problem/8899988> REGRESSION(WebKit2): Attempting to print WHATWG HTML spec shows
- 1-page blank preview
-
- <rdar://problem/8900078> WebKit2 printing has a separate message exchange per page when
- printing instead of printing all at once
-
- * UIProcess/API/mac/WKPrintingView.h: Store a lot more cached information.
-
- * UIProcess/API/mac/WKPrintingView.mm:
- (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): Use PrintOperation stored in
- class. We generally want that now, because current operation will not be set up on other threads.
- (-[WKPrintingView _isPrintingPreview]): Added. Preview is different, because it can draw
- a placeholder - but actual printing need to wait until UI process has data.
- (-[WKPrintingView _updatePreview]): Force AppKit to update print preview when we have real
- data to replace placeholder with.
- (-[WKPrintingView _hasPageRects]): Return if page rects have already been computed.
- (-[WKPrintingView _expectedPreviewCallbackForRect:]): Find an existing request for this rect,
- if any.
- (pageDidDrawToPDF): Update preview - or if actually printing, release control to printing thread.
- (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Ask for a PDF document with
- pages the user asked to print.
- (pageDidComputePageRects): When web process returns page geometry data, we update preview to display
- a page count (which indirectly triggers a request for a preview). When actually printing,
- request a PDF right away, we'll need it later.
- (-[WKPrintingView _askPageToComputePageRects]): Ask web process for page geometry.
- (prepareDataForPrintingOnSecondaryThread): This function starts preparing all data necessary
- for actual printing on main thread.
- (-[WKPrintingView knowsPageRange:]): Changed to be async for preview, and to call main
- thread for actual printing.
- (-[WKPrintingView _pageForRect:]): Find page number for a given range, assuming that AppKit
- always asks for full pages.
- (-[WKPrintingView _drawPDFDocument:page:atPoint:]): A helper function to draw a PDF document.
- (-[WKPrintingView _drawPreview:]): Draw the whole page for preview.
- (-[WKPrintingView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
- Draw the whole page for actual printing.
- (-[WKPrintingView _drawPageBorderWithSizeOnMainThread:]): Call drawPageBorderWithSize: with
- correct graphics context and print operation.
- (-[WKPrintingView drawPageBorderWithSize:]): Delegate work to main thread when called from a
- secondary one.
- (-[WKPrintingView _provideTotalScaleFactorForPrintOperation:]): Added an assertion that
- our stored NSPrintOperation isn't out of sync with reality.
- (-[WKPrintingView rectForPage:]): Handle the case where we don't have the data yet, drawing
- a placeholder.
- (-[WKPrintingView endDocument]): When page setup changes, we must reset all state.
-
- * UIProcess/API/mac/WKView.mm: (-[WKView printOperationWithPrintInfo:forFrame:]): Tell
- NSPrintingView which operation it's serving, so that it knows it even when current operation
- isn't set.
-
+ Refactor classes in GenericCallback.h
+ https://bugs.webkit.org/show_bug.cgi?id=55732
+
+ Since we're going to need to add additional callback classes, make a CallbackBase class that manages
+ the context and the callback ID. The existing callback classes (VoidCallback, GenericCallback, and
+ ComputedPagesCallback) now all derive from CallbackBase.
+
+ Fix bug in VoidCallback where we meant to implement the destructor, but we were implementing the default
+ constructor instead (we forgot the leading ~).
+
* UIProcess/GenericCallback.h:
+ (WebKit::CallbackBase::~CallbackBase):
+ (WebKit::CallbackBase::callbackID):
+ (WebKit::CallbackBase::CallbackBase):
+ (WebKit::CallbackBase::context):
+ (WebKit::CallbackBase::generateCallbackID):
+ (WebKit::VoidCallback::~VoidCallback):
+ (WebKit::VoidCallback::performCallback):
+ (WebKit::VoidCallback::invalidate):
+ (WebKit::VoidCallback::VoidCallback):
+ (WebKit::GenericCallback::create):
+ (WebKit::GenericCallback::~GenericCallback):
+ (WebKit::GenericCallback::performCallbackWithReturnValue):
+ (WebKit::GenericCallback::invalidate):
+ (WebKit::GenericCallback::GenericCallback):
(WebKit::ComputedPagesCallback::create):
(WebKit::ComputedPagesCallback::~ComputedPagesCallback):
(WebKit::ComputedPagesCallback::performCallbackWithReturnValue):
(WebKit::ComputedPagesCallback::invalidate):
- (WebKit::ComputedPagesCallback::callbackID):
- (WebKit::ComputedPagesCallback::generateCallbackID):
(WebKit::ComputedPagesCallback::ComputedPagesCallback):
- Added ComputedPagesCallback, which returns a vector of IntRects and a double. Hopefully,
- it will become a specialization of GenericCallback one day.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close): Added m_voidCallbacks - it looks like they were omitted
- by accident.
- (WebKit::WebPageProxy::computedPagesCallback): Added.
- (WebKit::WebPageProxy::processDidCrash): Added m_computedPagesCallbacks.
- (WebKit::WebPageProxy::computePagesForPrinting): Async now!
- (WebKit::WebPageProxy::drawRectToPDF): Ditto.
- (WebKit::WebPageProxy::drawPagesToPDF): Added.
- * UIProcess/WebPageProxy.h:
-
- * UIProcess/WebPageProxy.messages.in: Added ComputedPagesCallback.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::beginPriting): Compute page rects right away - we'll need them in
- drawPagesToPDF(), which doesn't have a PrintInfo.
- (WebKit::WebPage::computePagesForPrinting): Send async response.
- (WebKit::WebPage::drawRectToPDF): This function used to draw into original
- location at frame coordinates, and now it draws at (0, 0).
- (WebKit::WebPage::drawPagesToPDF): Added - make a multi-page PDF.
- * WebProcess/WebPage/WebPage.h:
-
- * WebProcess/WebPage/WebPage.messages.in: Added DrawPagesToPDF.
-
-2011-01-27 Alejandro G. Castro <alex@igalia.com>
-
- Unreviewed GTK build fix after r76797.
+2011-03-03 Adam Roben <aroben@apple.com>
- * Shared/WebPreferencesStore.h: Use Qt fonts preference for the moment.
+ Don't assume the web process has had a chance to paint before the view has to paint
-2011-01-27 Dan Bernstein <mitz@apple.com>
+ Fixes <http://webkit.org/b/55739> REGRESSION (r80307): Lots of tests crashing in
+ BackingStore::paint
Reviewed by Anders Carlsson.
- Allow pop-up menus to contain multiple items that have the same title.
-
- * UIProcess/mac/WebPopupMenuProxyMac.mm:
- (WebKit::WebPopupMenuProxyMac::populate): Set the item’s title after adding it rather than
- when adding it, so that it will not replace any existing item with the same title.
-
-2011-01-27 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt][WK2] Add QWKPage APIs regarding engine process availability
- https://bugs.webkit.org/show_bug.cgi?id=53237
-
- QWKPage will now emit engineConnected() and engineDisconnected()
- when the web process crashes and is relaunched respectively.
-
- Also added QWKPage::isConnectedToEngine() for convenience.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::QWKPagePrivate):
- (QWKPagePrivate::didRelaunchProcess):
- (QWKPagePrivate::processDidCrash):
- (QWKPage::isConnectedToEngine):
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/API/qt/qwkpage_p.h:
-
-2011-01-27 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt][WK2] Lots of layout test failures due to wrong font type
- https://bugs.webkit.org/show_bug.cgi?id=53233
-
- * Shared/WebPreferencesStore.h:
- Specialize default font families for Qt.
-
-2011-01-26 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Dan Bernstein.
-
- WebKitTestRunner needs to support layoutTestController.evaluateInWebInspector
- https://bugs.webkit.org/show_bug.cgi?id=42319
-
- Add WKBundleInspector and APIs needed to implement WebKitTestRunner APIs.
-
- * GNUmakefile.am:
- * Shared/API/c/WKBase.h:
- * Shared/APIObject.h:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp: Added.
- (WKBundleInspectorGetTypeID):
- (WKBundleInspectorShow):
- (WKBundleInspectorClose):
- (WKBundleInspectorEvaluateScriptForTest):
- (WKBundleInspectorSetPageProfilingEnabled):
- * WebProcess/InjectedBundle/API/c/WKBundleInspector.h: Added.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageGetInspector):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/WebPage/WebInspector.cpp:
- (WebKit::WebInspector::create):
- (WebKit::WebInspector::evaluateScriptForTest):
- * WebProcess/WebPage/WebInspector.h:
- (WebKit::WebInspector::type):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::inspector):
- * WebProcess/WebPage/WebPage.h:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
-
-2011-01-26 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
- <rdar://problem/8821760>
-
- Reviewed by Antti Koivisto.
-
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Added initialization for
- GetHTTPPipeliningPriority and SetHTTPPipeliningPriority.
-
-2011-01-26 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics
- when using WKScrollbars.
-
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-01-26 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Add events to represent the start/end of a gesture scroll
- https://bugs.webkit.org/show_bug.cgi?id=53215
-
- * Scripts/webkit2/messages.py:
- * Shared/WebEvent.h:
- (WebKit::WebGestureEvent::WebGestureEvent):
- (WebKit::WebGestureEvent::position):
- (WebKit::WebGestureEvent::globalPosition):
- * Shared/WebEventConversion.cpp:
- (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
- (WebKit::platform):
- * Shared/WebEventConversion.h:
- * Shared/WebGestureEvent.cpp: Added.
- (WebKit::WebGestureEvent::WebGestureEvent):
- (WebKit::WebGestureEvent::encode):
- (WebKit::WebGestureEvent::decode):
- (WebKit::WebGestureEvent::isGestureEventType):
- * Shared/mac/WebEventFactory.h:
- * Shared/mac/WebEventFactory.mm:
- (WebKit::gestureEventTypeForEvent):
- (WebKit::WebEventFactory::createWebGestureEvent):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView shortCircuitedEndGestureWithEvent:]):
- (-[WKView beginGestureWithEvent:]):
- (-[WKView viewDidMoveToWindow]):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::handleGestureEvent):
- (WebKit::WebPageProxy::didReceiveEvent):
- * UIProcess/WebPageProxy.h:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::handleGestureEvent):
- (WebKit::WebPage::gestureEvent):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
- Pipe gesture events down to WebCore.
-
-2011-01-26 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Dave Hyatt.
-
- <rdar://problem/8446709> Allow inter-ideograph justification for CJK
- https://bugs.webkit.org/show_bug.cgi?id=53184
-
- * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
- (WebKit::WebPopupMenu::setUpPlatformData): Added a TrailingExpansionBehavior parameter to the
- RenderText constructor.
-
-2011-01-26 Jing Jin <jjin@apple.com>
-
- Reviewed by Darin Adler.
-
- Methods to temporarily disable size updates to the page drawing area in WKView.
- https://bugs.webkit.org/show_bug.cgi?id=53206
- Part of <rdar://problem/8818585>
-
- * UIProcess/API/mac/WKView.h: Added _frameSizeUpdateDisabledCount.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView setFrameSize:]): Only update page size if frame size updates are enabled.
- (-[WKView _setDrawingAreaSize:]): Helper method to set the page's drawing area's size.
- (-[WKView disableFrameSizeUpdates]): Increment _frameSizeUpdateDisabledCount
- (-[WKView enableFrameSizeUpdates]): Decrement _frameSizeUpdateDisabledCount, and if the count is 0, meaning
- that no one is disabling frame size updates anymore, update the drawing area's size to match the current frame.
- (-[WKView frameSizeUpdatesDisabled]): Returns YES if at least one caller is disabling frame size updates.
- * UIProcess/API/mac/WKViewInternal.h: Declared -disableFrameSizeUpdates, -enableFrameSizeUpdates, and -frameSizeUpdatesDisabled.
- * UIProcess/API/mac/WKViewPrivate.h: Added.
- * WebKit2.xcodeproj/project.pbxproj: Added WKViewPrivate.h
-
-2011-01-26 Jing Jin <jjin@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- Several WKView Internal category methods are implemented in the main category.
- https://bugs.webkit.org/show_bug.cgi?id=53195
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _setEventBeingResent:]): Moved into implementation of WKView (Internal).
- (-[WKView _interceptKeyEvent:]): Moved into implementation of WKView (Internal).
- (-[WKView _getTextInputState:selectionEnd:underlines:WebCore::]): Moved into implementation of WKView (Internal).
- (-[WKView _setAccessibilityChildToken:]): Moved into implementation of WKView (Internal).
-
-2011-01-26 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by John Sullivan.
-
- WebKit2: Need API to get the frame load state of a BundleFrame
- https://bugs.webkit.org/show_bug.cgi?id=53193
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameGetFrameLoadState): Call through to the FrameLoader to get the frame load state.
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
-
-2011-01-25 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Antti Koivisto.
-
- Crashes loading pages when cancelling subresource loads through WebKit
- https://bugs.webkit.org/show_bug.cgi?id=53123
- <rdar://problem/8914361>
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): If our URL is null, return early instead of dispatching
- a message.
-
-2011-01-25 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- WK2 leaks when a page is closed
- https://bugs.webkit.org/show_bug.cgi?id=53100
-
- Allow the WKView a chance to clean up on a page close. In this case,
- cleaning up means removing the references the accessibility token has
- to the window.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::pageClosed):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _setRemoteAccessibilityWindow:]):
- (-[WKView _setAccessibilityChildToken:]):
- (-[WKView _processDidCrash]):
- (-[WKView _pageClosed]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/API/qt/qwkpage_p.h:
- (QWKPagePrivate::pageClosed):
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::pageClosed):
- * UIProcess/win/WebView.h:
-
-2011-01-25 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Adam Roben.
-
- Expose WebGL flag set/get in WK2
- https://bugs.webkit.org/show_bug.cgi?id=53096
-
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetWebGLEnabled):
- (WKPreferencesGetWebGLEnabled):
- * UIProcess/API/C/WKPreferencesPrivate.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
-
-2011-01-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add and implement LayerTreeHost::scheduleLayerFlush
- https://bugs.webkit.org/show_bug.cgi?id=53135
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add LayerTreeHostMac.mm.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::scheduleCompositingLayerSync):
- Call LayerTreeHost::scheduleLayerFlush.
-
- * WebProcess/WebPage/LayerTreeHost.cpp:
- (WebKit::LayerTreeHost::~LayerTreeHost):
- Call platformInvalidate().
-
- (WebKit::LayerTreeHost::flushPendingLayerChanges):
- Rename from syncCompositingLayers.
-
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm: Added.
- (WebKit::LayerTreeHost::scheduleLayerFlush):
- Create a run loop observer if needed. This code is copied from LayerBackedDrawingAreaMac.mm
-
- (WebKit::LayerTreeHost::platformInvalidate):
- Invalidate the run loop observer.
-
- (WebKit::LayerTreeHost::flushPendingLayerChangesRunLoopObserverCallback):
- Call flushPendingChanges() and remove the run loop observer if it succeeded.
-
-2011-01-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Simon Fraser.
-
- Add LayerTreeHost class
- https://bugs.webkit.org/show_bug.cgi?id=53132
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add LayerTreeHost files.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::DrawingAreaImpl):
- Initialize m_layerTreeHost.
-
- (WebKit::DrawingAreaImpl::setRootCompositingLayer):
- Call the m_layerTreeHost.
-
- * WebProcess/WebPage/LayerTreeHost.cpp: Added.
- (WebKit::LayerTreeHost::attachRootCompositingLayer):
- (WebKit::LayerTreeHost::detachRootCompositingLayer):
- Add stubbed out functions.
-
- (WebKit::LayerTreeHost::syncCompositingLayers):
- Sync the compositing layers in the main frame.
-
- * WebProcess/WebPage/LayerTreeHost.h: Added.
-
-2011-01-25 Steve Falkenburg <sfalken@apple.com>
-
- Rubber-stamped by Adam Roben.
-
- Windows production build fix.
- Use correct environment variable escaping
-
- * win/WebKit2.make:
- * win/WebKit2Generated.make:
-
-2011-01-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Don't inform the UI process about compositing changes when using the new drawing area
- https://bugs.webkit.org/show_bug.cgi?id=53120
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::changeAcceleratedCompositingMode):
- Return early if we're using the new drawing area.
-
- (WebKit::WebPage::exitAcceleratedCompositingMode):
- Call setRootCompositingLayer(0) so the drawing area knows when we leave accelerated compositing.
-
-2011-01-25 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Pipe a timestamp down into the PlatformWheelEvent for the Mac.
- https://bugs.webkit.org/show_bug.cgi?id=53111
-
- * Shared/WebEventConversion.cpp:
- (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
- Assign the timestamp.
-
-2011-01-25 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac.
- https://bugs.webkit.org/show_bug.cgi?id=53107
-
- * Shared/WebEvent.h:
- (WebKit::WebWheelEvent::hasPreciseScrollingDeltas):
- * Shared/WebEventConversion.cpp:
- (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
- * Shared/WebWheelEvent.cpp:
- (WebKit::WebWheelEvent::WebWheelEvent):
- * Shared/mac/WebEventFactory.mm:
- (WebKit::WebEventFactory::createWebWheelEvent):
-
-2011-01-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- need a way to request the host CALayer render server port
- https://bugs.webkit.org/show_bug.cgi?id=53101
- <rdar://problem/8913620>
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::compositingRenderServerPort):
- Get the render server port from the plug-in process.
-
- * PluginProcess/PluginControllerProxy.h:
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetValue):
- Call NetscapePlugin::compositingRenderServerPort.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::compositingRenderServerPort):
- Call PluginController::compositingRenderServerPort.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::compositingRenderServerPort):
- Get the render server port from the web process.
-
- * WebProcess/Plugins/PluginView.h:
- Add compositingRenderServerPort.
-
-2011-01-25 Maciej Stachowiak <mjs@apple.com>
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::paint): Bail if the web process hasn't had a chance to paint
+ yet.
- Rubber stamped by Dan Bernstein.
+2011-03-03 Adam Roben <aroben@apple.com>
- Change some floating point constants from 1.0 to 1.
+ Throw away DrawingAreaProxyImpl's backing store after not painting for 5 seconds
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ The intent is to save memory for views that aren't painting.
-2011-01-25 Maciej Stachowiak <mjs@apple.com>
+ Fixes <http://webkit.org/b/51262> <rdar://problem/8782537> WebPageProxy should delete its
+ backing store after not painting for a while
Reviewed by Anders Carlsson.
- Improve scale factor resetting
- https://bugs.webkit.org/show_bug.cgi?id=53093
-
- Two key changes:
- - Don't set the scale factor to what it already is, as this causes an
- uneeded force layout and scroll
- - Don't ever set the scale factor based on a non-main frame committing
-
- This fixes two WebKit2 layout tests.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
-
-2011-01-24 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Eric Seidel.
-
- Change ENABLE_3D_CANVAS to ENABLE_WEBGL
- https://bugs.webkit.org/show_bug.cgi?id=53041
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-01-25 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt][WK2] Add QWKPage::processCrashed() signal
- https://bugs.webkit.org/show_bug.cgi?id=53076
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::processDidCrash):
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/API/qt/qwkpage_p.h:
-
-2011-01-24 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::initializeSandbox):
-
-2011-01-24 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Reset the page scale factor on standard frame loads
- https://bugs.webkit.org/show_bug.cgi?id=53058
- <rdar://problem/8908844>
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::scaleWebView):
- Don't set m_viewScaleFactor here. It will be set in viewScaleFactorDidChange.
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): Initialize our timer.
+ (WebKit::DrawingAreaProxyImpl::paint): Don't bail if we don't have a backing store (but do
+ bail if we're in accelerated compositing mode); we might have thrown it away to save memory
+ but now are being asked to paint by the view. The existing code in this function will handle
+ getting a new backing store if possible by blocking for a little while to try to receive a
+ DidUpdateBackingStoreState message. Added an assertion that we do have a backing store if we
+ don't have any outstanding UpdateBackingStoreState requests. After painting, call
+ discardBackingStoreSoon to update our timer.
+ (WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon): Set the timer for 5 seconds in the
+ future.
+ (WebKit::DrawingAreaProxyImpl::discardBackingStore): Throw away the backing store, and tell
+ the web process we'll need a full backing store update on the next paint.
- (WebKit::WebPageProxy::viewScaleFactorDidChange):
- Update m_viewScaleFactor.
+ * UIProcess/DrawingAreaProxyImpl.h: Added m_discardBackingStoreTimer.
- * UIProcess/WebPageProxy.h:
- Add viewScaleFactorDidChange.
+2011-03-03 Adam Roben <aroben@apple.com>
- * UIProcess/WebPageProxy.messages.in:
- Add ViewScaleFactorDidChange message.
+ Add a way to tell the web process to perform a full backing store update on its next paint
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
- Set the scale factor.
+ Messages::DrawingArea::UpdateBackingStoreState now takes a boolean specifying whether the
+ full backing store update should happen immediately or should be deferred until the next
+ paint or compositing mode change occurs. The deferred update isn't used yet, but will be
+ used when we start throwing away backing stores to save memory.
- (WebKit::WebFrameLoaderClient::restoreViewState):
- Inform the UI process about the new view scale factor.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::scaleWebView):
- Send a ViewScaleFactorDidChange message.
-
-2011-01-24 Maciej Stachowiak <mjs@apple.com>
+ Fixes <http://webkit.org/b/55730> UI process needs a way to tell the web process its backing
+ store needs a full update on the next paint
Reviewed by Anders Carlsson.
- Use designated temp directory for the database for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=53052
-
- Add the API necessary to support this. Database path is now
- determined on the UI process side and passed to the Web process.
- Reviewed by Anders Carlsson.
-
- * GNUmakefile.am:
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
- * UIProcess/API/C/WKContext.cpp:
- (WKContextSetDatabaseDirectory):
- * UIProcess/API/C/WKContextPrivate.h:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::ensureWebProcess):
- (WebKit::WebContext::databaseDirectory):
- * UIProcess/WebContext.h:
- (WebKit::WebContext::setDatabaseDirectory):
- * UIProcess/mac/WebContextMac.mm:
- (WebKit::WebContext::platformDefaultDatabaseDirectory):
- * UIProcess/qt/WebContextQt.cpp:
- (WebKit::WebContext::platformDefaultDatabaseDirectory):
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::platformDefaultDatabaseDirectory):
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
- (WebKit::WebDatabaseManager::initialize):
- (WebKit::WebDatabaseManager::WebDatabaseManager):
- * WebProcess/WebCoreSupport/WebDatabaseManager.h:
- * WebProcess/WebCoreSupport/gtk/WebDatabaseManagerGtk.cpp: Removed.
- * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm: Removed.
- * WebProcess/WebCoreSupport/qt/WebDatabaseManagerQt.cpp: Removed.
- * WebProcess/WebCoreSupport/win/WebDatabaseManagerWin.cpp: Removed.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::WebProcess):
- (WebKit::WebProcess::initializeWebProcess):
- * WebProcess/com.apple.WebProcess.sb:
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::initializeSandbox):
- * win/WebKit2.vcproj:
-
-2011-01-24 Brent Fulgham <bfulgham@webkit.org>
-
- Unreviewed build fix.
-
- * win/WebKit2.vcproj: Don't build the CG Utilities when building
- without CG support.
-
-2011-01-24 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Don't use the timeout checker for non-user-interaction messages
- https://bugs.webkit.org/show_bug.cgi?id=53046
-
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
- (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
- (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
-
-2011-01-24 Adam Roben <aroben@apple.com>
-
- Windows Production build fix
-
- * win/WebKit2.make: Update for move of WebKit2 into Source.
-
-2011-01-24 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Adam Roben.
-
- WebKit2: LayoutTests: The UNIMPLEMENTED warnings in TextCheckerWin should be disabled
- https://bugs.webkit.org/show_bug.cgi?id=53029
-
- * UIProcess/win/TextCheckerWin.cpp:
- Disable the warnings for this file.
-
-2011-01-24 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Wait for half a second if we're asked to paint when receiving a DidSetSize message
- https://bugs.webkit.org/show_bug.cgi?id=53028
-
* UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::paint):
-
-2011-01-24 Anders Carlsson <andersca@apple.com>
+ (WebKit::DrawingAreaProxyImpl::paint): If we have an outstanding backing store state change
+ request, tell the web process to perform the backing store update right away, in case we
+ previously told it it could defer the update.
+ (WebKit::DrawingAreaProxyImpl::sizeDidChange): Specify that we need an immediate backing
+ store update.
+ (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): We can no longer assert that we
+ were waiting for a DidUpdateBackingStoreState message when we receive one, as it's possible
+ for the web process to decide to send us this message on its own (if we asked it to do a
+ deferred backing store update and then it needed to paint some part of the page). Specify
+ that we need an immediate backing store update if the web process hasn't updated to our
+ latest state, as we're about to draw potentially out-of-date bits to the screen and want to
+ get the right bits as soon as possible. Also added a FIXME about a potential optimization.
+ (WebKit::DrawingAreaProxyImpl::backingStoreStateDidChange): Added a RespondImmediatelyOrNot
+ parameter, which is just passed through to sendUpdateBackingStoreState.
+ (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState): Added a RespondImmediatelyOrNot
+ parameter that is used to specify to the web process whether to perform the full backing
+ store update immediately. We now only wait for a DidUpdateBackingStoreState message (and
+ thus suppress any more UpdateBackingStoreState messages until one is received) when we ask
+ the web process for an immediate response; otherwise we could end up accidentally calling
+ waitForAndDispatchDidUpdateBackingStoreState when the web process hasn't been told to send
+ us such a message.
+
+ * UIProcess/DrawingAreaProxyImpl.h: Added RespondImmediatelyOrNot.
- Reviewed by Sam Weinig.
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::updateBackingStoreState): Added respondImmediately argument.
- Implement forceRedisplay in the new drawing area
- https://bugs.webkit.org/show_bug.cgi?id=53026
+ * WebProcess/WebPage/DrawingArea.messages.in: Added respondImmediately argument to
+ UpdateBackingStoreState message.
* WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::forceRepaint):
- * WebProcess/WebPage/DrawingAreaImpl.h:
-
-2011-01-24 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fill unpainted rects with the background color.
- https://bugs.webkit.org/show_bug.cgi?id=53025
-
- * UIProcess/API/mac/WKView.mm:
- (drawPageBackground):
- Add new helper function.
-
- (-[WKView drawRect:]):
- Iterate over the unpainted rects and fill them with the background color.
-
-2011-01-24 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- WebKit2 version of <rdar://problem/6097826> Mail's cursor does not become a resize cursor when moving mouse from scrolled email to the horizontal splitter
-
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::setCursor): If the current cursor comes from a cursor rect, do not override it.
-
-2011-01-24 Balazs Kelemen <kbalazs@webkit.org>
-
- Rubber-stamped by Csaba Osztrogonác.
-
- Typo fix.
-
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- (WebKit::ProcessLauncher::launchProcess): Move the bracket to the right place.
-
-2011-01-24 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Remove CleanupHandler by passing file descriptors.
-
- Deleting files in signal handler of UI process is not a good idea,
- because the memory where filenames are stored might not be valid
- after a crash.
-
- To avoid the need of using signal handlers for cleanup,
- change following:
- 1) Avoid passing filenames between processes, pass fds
- 2) When mmap'ing files, delete them immediately after
- opening and mmap'ing them.
- 3) Pass sockets with fds during fork+exec instead of
- passing them via the filesystem.
- 4) Use mmap'ed files for implementation of SharedMemory.
- QSharedMemory does not support cleanup correctly.
-
- Consquences:
- - Move MappedMemory to SharedMemory, make UpdateChunk use this.
- - Implement CoreIPC::Attachment using mmaped files.
- - Send messages using datagram socket. This solution works
- similiarly to Mach ports on Mac.
- - Send big messages out-of-line and thus avoid increasing
- the receive buffer.
- - Remove MemoryMappedPool and rely on libc/kernel caching
- of mmapped areas.
- - Unmap memory areas after use.
- - When UI process crashes, kill the web process using SIGKILL.
- This is possible again because cleanup handler is not needed.
-
- [WK2][Qt] Multiple problems with MemoryMappedPool
- https://bugs.webkit.org/show_bug.cgi?id=51984
-
- * Platform/CoreIPC/Attachment.cpp:
- (CoreIPC::Attachment::Attachment):
- * Platform/CoreIPC/Attachment.h:
- (CoreIPC::Attachment::size):
- (CoreIPC::Attachment::releaseFileDescriptor):
- (CoreIPC::Attachment::fileDescriptor):
- * Platform/CoreIPC/Connection.h:
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- (CoreIPC::MessageInfo::MessageInfo):
- (CoreIPC::MessageInfo::setMessageBodyOOL):
- (CoreIPC::MessageInfo::isMessageBodyOOL):
- (CoreIPC::MessageInfo::bodySize):
- (CoreIPC::MessageInfo::messageID):
- (CoreIPC::MessageInfo::attachmentCount):
- (CoreIPC::Connection::platformInitialize):
- (CoreIPC::Connection::platformInvalidate):
- (CoreIPC::SocketNotifierDisableGuard::SocketNotifierDisableGuard):
- (CoreIPC::SocketNotifierDisableGuard::~SocketNotifierDisableGuard):
- (CoreIPC::Connection::readyReadHandler):
- (CoreIPC::Connection::open):
- (CoreIPC::Connection::platformCanSendOutgoingMessages):
- (CoreIPC::Connection::sendOutgoingMessage):
- * Platform/SharedMemory.h:
- * Platform/WorkQueue.h:
- * Platform/qt/MappedMemoryPool.cpp: Removed.
- * Platform/qt/MappedMemoryPool.h: Removed.
- * Platform/qt/SharedMemoryQt.cpp:
- (WebKit::SharedMemory::Handle::Handle):
- (WebKit::SharedMemory::Handle::~Handle):
- (WebKit::SharedMemory::Handle::isNull):
- (WebKit::SharedMemory::Handle::encode):
- (WebKit::SharedMemory::Handle::decode):
- (WebKit::SharedMemory::Handle::releaseToAttachment):
- (WebKit::SharedMemory::Handle::adoptFromAttachment):
- (WebKit::SharedMemory::create):
- (WebKit::accessModeMMap):
- (WebKit::SharedMemory::~SharedMemory):
- (WebKit::accessModeFile):
- (WebKit::SharedMemory::createHandle):
- * Platform/qt/WorkQueueQt.cpp:
- (WorkQueue::registerSocketEventHandler):
- * Shared/qt/UpdateChunk.cpp:
- (WebKit::UpdateChunk::UpdateChunk):
- (WebKit::UpdateChunk::~UpdateChunk):
- (WebKit::UpdateChunk::encode):
- (WebKit::UpdateChunk::decode):
- (WebKit::UpdateChunk::createImage):
- * Shared/qt/UpdateChunk.h:
- * UIProcess/Launcher/ProcessLauncher.h:
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- (WebKit::QtWebProcess::QtWebProcess):
- (WebKit::QtWebProcess::setupChildProcess):
- (WebKit::ProcessLauncher::launchProcess):
- (WebKit::ProcessLauncher::platformInvalidate):
- * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
- (WebKit::webThreadBody):
- (WebKit::ThreadLauncher::createWebThread):
- * WebKit2.pro:
- * WebProcess/qt/WebProcessMainQt.cpp:
- (WebKit::WebProcessMainQt):
-
-2011-01-24 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Csaba Osztrogonác.
-
- [Qt] Move project files into Source
- https://bugs.webkit.org/show_bug.cgi?id=52891
-
- * DerivedSources.pro:
- * WebKit2.pro:
- * WebProcess.pro:
-
-2011-01-23 Damian Kaleta <dkaleta@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/8905171>
- https://bugs.webkit.org/show_bug.cgi?id=52985
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::scaleWebView): Eliminated early return inside WebPageProxy::scaleWebView, making it
- consistent with WebKit1.
-
-2011-01-23 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=52968
- Use a separate NSView for printing
-
- Also addresses <rdar://problem/8900148> Improper check for
- -[NSGraphicsContext currentContextDrawingToScreen]
-
- * UIProcess/API/mac/WKPrintingView.h: Added.
- * UIProcess/API/mac/WKPrintingView.mm: Added.
- (-[WKPrintingView initWithFrameProxy:]):
- (-[WKPrintingView isFlipped]):
- (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]):
- (-[WKPrintingView knowsPageRange:]):
- (-[WKPrintingView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
- (-[WKPrintingView drawPageBorderWithSize:]):
- (-[WKPrintingView _provideTotalScaleFactorForPrintOperation:]):
- (-[WKPrintingView rectForPage:]):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView drawRect:]):
- (-[WKView canChangeFrameLayout:]):
- (-[WKView printOperationWithPrintInfo:forFrame:]):
- * WebKit2.xcodeproj/project.pbxproj:
- Moved printing code to a separate view, simplifying as appropriate. The view is currently not
- referenced by anything in WebKit2 directly, being owned by NSPrintOperation.
-
-2011-01-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Transparent windows with compositing WebKit2 content show garbage
- https://bugs.webkit.org/show_bug.cgi?id=52966
- <rdar://problem/8765051>
-
- * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
- (WebKit::LayerBackedDrawingAreaProxy::paint):
- If the WKView should draw transparent background, do so.
-
-2011-01-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add an asynchronous WKPageForceRepaint
- https://bugs.webkit.org/show_bug.cgi?id=52964
- <rdar://problem/8898527>
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageForceRepaint):
- Call WebPageProxy::forceRepaint.
-
- * UIProcess/API/C/WKPage.h:
- Add WKPageForceRepaint.
-
- * UIProcess/GenericCallback.h:
- Add a "generic" VoidCallback class.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::forceRepaint):
- Insert the callback in the m_voidCallbacks map and send a forceRepaint message.
-
- (WebKit::WebPageProxy::voidCallback):
- Call the right void callback.
-
- (WebKit::WebPageProxy::processDidCrash):
- Invalidate m_voidCallbacks.
-
- * UIProcess/WebPageProxy.messages.in:
- Add a VoidCallback message.
-
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- (WebKit::ChunkedUpdateDrawingArea::forceRepaint):
- Force a repaint.
-
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
- Add forceRepaint.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::forceRepaint):
- Call forceRepaint on the drawing area.
-
- * WebProcess/WebPage/WebPage.messages.in:
- Add a ForceRepaint message.
-
-2011-01-21 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- Introduce FontMetrics abstraction
- https://bugs.webkit.org/show_bug.cgi?id=51456
-
- * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Use FontMetrics instead of Font to access the metrics.
- (WebKit::WebPopupMenu::setUpPlatformData):
-
-2011-01-22 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=52950
- Leak in WebPage::drawRectToPDF
-
- * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::drawRectToPDF): Use RetainPtr here, too.
-
-2011-01-22 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=52951
- WebKit2 generates a bad PDF for cross process messaging
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
- Use a correct offset when flipping.
-
-2011-01-21 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=52943
- Objective-C files should use #import, not #include
-
- * UIProcess/API/C/WebKit2.h: This is an interesting one, because it's cross-platform, and
- there is more than one WKView.h.
-
- * Platform/mac/ModuleMac.mm:
- * Platform/mac/RunLoopMac.mm:
- * PluginProcess/mac/PluginControllerProxyMac.mm:
- * PluginProcess/mac/PluginProcessMac.mm:
- * PluginProcess/mac/PluginProcessMainMac.mm:
- * Shared/API/c/mac/WKCertificateInfoMac.mm:
- * Shared/API/c/mac/WKURLRequestNS.mm:
- * Shared/API/c/mac/WKURLResponseNS.mm:
- * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
- * Shared/mac/PlatformCertificateInfo.mm:
- * Shared/mac/SandboxExtensionMac.mm:
- * Shared/mac/WebCoreArgumentCodersMac.mm:
- * Shared/mac/WebMemorySampler.mac.mm:
- * Shared/mac/WebURLRequestMac.mm:
- * Shared/mac/WebURLResponseMac.mm:
- * UIProcess/API/mac/FindIndicatorWindow.mm:
- * UIProcess/API/mac/WKTextInputWindowController.mm:
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
- * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
- * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
- * UIProcess/mac/BackingStoreMac.mm:
- * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
- * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
- * UIProcess/mac/TextCheckerMac.mm:
- * UIProcess/mac/WebContextMac.mm:
- * UIProcess/mac/WebContextMenuProxyMac.mm:
- * UIProcess/mac/WebPageProxyMac.mm:
- * UIProcess/mac/WebPopupMenuProxyMac.mm:
- * UIProcess/mac/WebPreferencesMac.mm:
- * WebProcess/Downloads/mac/DownloadMac.mm:
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
- * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
- * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm:
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
- * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- * WebProcess/WebPage/mac/WebPageMac.mm:
- * WebProcess/mac/WebProcessMac.mm:
-
-2011-01-21 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix the WebKit2 build with clang.
-
- * Scripts/webkit2/messages.py: Add some more structs to the list.
- * UIProcess/DrawingAreaProxy.h: Forward-declare UpdateInfo as a class.
- * UIProcess/TextChecker.h: Forward-declare TextCheckerState as a struct.
- * UIProcess/WebPageProxy.h: Forward-declare ContextMenuState as a struct.
- * UIProcess/mac/TextCheckerMac.mm: Fix the type of the string constants so that they can be passed to
- functions expecting NSString* without generating warnings.
- * WebProcess/WebPage/DrawingArea.h: Forward-declare WebPageCreationParameters as a struct.
- * WebProcess/WebPage/DrawingAreaImpl.h: Forward-declare UpdateInfo as a class.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::getResourceDataFromFrame): Add parens around the assignment in the condition of
- the if statement to suppress a warning.
-
-2011-01-21 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
-
- WebKit2: Need API to stop loading a WKFrame
- https://bugs.webkit.org/show_bug.cgi?id=52925
-
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameStopLoading): Call through to WebFrameProxy::stopLoading.
- * UIProcess/API/C/WKFrame.h:
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::stopLoading): Send a message to the WebProcess to stop loading the frame
- with the passed in ID.
- * UIProcess/WebFrameProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::stopLoadingFrame): Call stopForUserCancel on the passed-in frame.
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in: Add StopLoadingFrame.
-
-2011-01-21 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam Roben.
-
- <rdar://problem/8894125> and https://bugs.webkit.org/show_bug.cgi?id=52916
- Expose "suggested filename" for a resource based on its resource response.
-
- API pieces:
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameCopySuggestedFilenameForResourceURL):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
-
- Implementation:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::suggestedFilenameForResourceURL): See if the DocumentLoader has
- a resource for this URL and, if so, return the response's suggested filename.
- * WebProcess/WebPage/WebFrame.h:
-
-2011-01-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- DrawingAreaProxyImpl::paint should return the unpainted region
- https://bugs.webkit.org/show_bug.cgi?id=52918
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView drawRect:]):
- Add unpaintedRegion parameter.
-
- * UIProcess/BackingStore.h:
- (WebKit::BackingStore::size):
- Add a size getter.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::paint):
- Initialize the unpainted region to the dirty region, then subtract the painted region.
-
-2011-01-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein and Maciej Stachowiak.
-
- Fix for <rdar://problem/8896057>
-
- Give the Web Process access to the PubSub agent.
-
- * WebProcess/com.apple.WebProcess.sb:
-
-2011-01-21 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship"
- https://bugs.webkit.org/show_bug.cgi?id=52779
-
- Rename ScrollbarClient -> ScrollableArea.
-
- * UIProcess/win/WebPopupMenuProxyWin.cpp:
- (WebKit::WebPopupMenuProxyWin::onMouseWheel):
- (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
- * UIProcess/win/WebPopupMenuProxyWin.h:
-
-2011-01-21 Adam Roben <aroben@apple.com>
-
- Update for WKCACFLayerRenderer -> CACFLayerView rename
-
- Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't
-
- Reviewed by Simon Fraser.
-
- * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Just removed all the unnecessary
- #includes.
-
-2011-01-20 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- WebKit2: Implement showModalDialog
- https://bugs.webkit.org/show_bug.cgi?id=52855
-
- * Shared/WebPageCreationParameters.h: Added canRunModal.
-
- * UIProcess/API/C/WKPage.h: Added a runModal function pointer to
- WKPageUIClient. Also removed a lot of redundant typedefs and added
- a new one, WKPageCallback, for callbacks without arguments or return
- values.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage): Added a runModal function pointer of 0.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::creationParameters): Set canRunModal
- based on return value of WebUIClient::canRunModal.
-
- * UIProcess/WebPageProxy.h: Added runModal.
- Calls WebUIClient::runModal.
-
- * UIProcess/WebPageProxy.messages.in: Added RunModal message.
- Also removed the periods from the phrases in the comments
- as Maciej requested a while back.
-
+ (WebKit::DrawingAreaImpl::DrawingAreaImpl): Initialize new member that's used to track
+ whether we should send a DidUpdateBackingStoreState message instead of an Update or
+ compositing mode change message. This will be set to true when a deferred backing store
+ update is pending.
+ (WebKit::DrawingAreaImpl::layerHostDidFlushLayers): If a deferred update is pending, send a
+ DidUpdateBackingStoreState message instead of a compositing mode change message.
+ (WebKit::DrawingAreaImpl::updateBackingStoreState): Added respondImmediately argument. If
+ we've already been told about this state ID (as can happen when the UI process decides it
+ needs an immediate update to a state that it previously requested a deferred update to),
+ don't bother updating the page's size, etc. In addition, if we've already sent a
+ DidUpdateBackingStoreState message for this state, we don't have to do anything at all.
+ Moved code to send the DidUpdateBackingStoreState message from here...
+ (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): ...to here.
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Always update our dirty region,
+ even if painting is suspended or we're in the process of updating the backing store state.
+ It causes no harm and simplifies the code. If a deferred update is pending, send a
+ DidUpdateBackingStoreState message instead of a compositing mode change message. Also
+ removed a redundant if.
+ (WebKit::DrawingAreaImpl::display): Added an assertion that this isn't called while updating
+ backing store state, as otherwise we might end up sending two DidUpdateBackingStoreState
+ messages. If a deferred update is pending, send a DidUpdateBackingStoreState message instead
+ of an Update message.
+
+ * WebProcess/WebPage/DrawingAreaImpl.h: Updated updateBackingStoreState to match the base
+ class. Added sendDidUpdateBackingStoreState and m_shouldSendDidUpdateBackingStoreState.
+
+2011-03-03 Andy Estes <aestes@apple.com>
+
+ Reviewed by Darin Adler.
+
+ When displaying the missing plug-in sheet, pass the 'pluginspage'
+ attribute to the UI process.
+ https://bugs.webkit.org/show_bug.cgi?id=55553
+
+ * UIProcess/API/C/WKPage.h: Add pluginsPageURL as the third argument to
+ missingPluginButtonClicked.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::missingPluginButtonClicked): Ditto.
+ * UIProcess/WebPageProxy.h: Ditto.
+ * UIProcess/WebPageProxy.messages.in: Ditto.
* UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::canRunModal): Added. Returns true or false
- based on whether a runModal function was supplied in the
- WKPageUIClient structure.
- (WebKit::WebUIClient::runModal): Added. Calls the runModal
- function from the WKPageUIClient structure.
- * UIProcess/WebUIClient.h: Declared the above functions.
-
+ (WebKit::WebUIClient::missingPluginButtonClicked): Ditto.
+ * UIProcess/WebUIClient.h: Ditto.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::canRunModal): Call through to WebPage.
- (WebKit::WebChromeClient::runModal): Ditto.
+ (WebKit::WebChromeClient::missingPluginButtonClicked): Get the value of
+ pluginspageAttr.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage): Initialize m_canRunModal based on the
- creation parameters. Initialize m_isRunningModal to false.
- (WebKit::WebPage::close): Stop the nested run loop if we are running modal.
- (WebKit::WebPage::runModal): Send a message to ask the UI process to run
- modal and then start a nested run loop. It gets stopped when the page is closed.
- * WebProcess/WebPage/WebPage.h: Defined the canRunModal function
- and declared the runModal function.
+2011-03-03 Alexey Proskuryakov <ap@apple.com>
-2011-01-20 Alexey Proskuryakov <ap@apple.com>
+ Suggested by Dan Bernstein.
- Reviewed by Darin Adler.
+ Move "const" around "NSString *", so that it suddenly begins to make sense.
- https://bugs.webkit.org/show_bug.cgi?id=52849
- Make window.print work with WebKit2
+ * WebProcess/mac/FullKeyboardAccessWatcher.mm:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::printFrame):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::printFrame):
- * UIProcess/WebUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::print):
- Just pass through deelagte call to a WebKit2 client.
-
- * UIProcess/API/C/WKPage.h: Also added "Callback" suffix to other printing related function
- types.
+2011-03-03 Jeff Miller <jeffm@apple.com>
-2011-01-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Keep track of the latest update timestamp in the backing store
- https://bugs.webkit.org/show_bug.cgi?id=52848
-
- * Shared/UpdateInfo.h:
- (WebKit::UpdateInfo::UpdateInfo):
- Initialize timestamp to 0.
+ Reviewed by Anders Carlsson.
- * UIProcess/BackingStore.cpp:
- (WebKit::BackingStore::BackingStore):
- Initialize m_latestUpdateTimestamp to 0.
+ WebKit2: Add WKViewRef API for executing edit commands
+ https://bugs.webkit.org/show_bug.cgi?id=49829
- (WebKit::BackingStore::incorporateUpdate):
- If the update is too old, discard it. Otherwise, create a bitmap
- and pass it to platformIncorporateUpdate. Finally update the timestamp.
+ Added WKViewExecuteCommand() and documented some of the WebCore EditorCommand strings.
- * UIProcess/BackingStore.h:
- Add m_latestUpdateTimestamp.
+ * UIProcess/API/C/win/WKView.cpp:
+ (WKViewExecuteCommand): Added.
+ * UIProcess/API/C/win/WKView.h: Added WKViewExecuteCommand() and comment block with WebCore EditorCommand strings.
- * UIProcess/mac/BackingStoreMac.mm:
- (WebKit::BackingStore::platformIncorporateUpdate):
- Update now that we are already given the shareable bitmap.
+2011-03-03 Jessie Berlin <jberlin@apple.com>
-2011-01-20 Beth Dakin <bdakin@apple.com>
+ Reviewed by Adam Roben.
- Reviewed by Geoffrey Garen.
+ WebKit2: Use CFNetwork Sessions API.
+ https://bugs.webkit.org/show_bug.cgi?id=55435
- Fix for <rdar://problem/8890255>
+ Set the Private Browsing Storage Session on requests when Private Browsing is enabled.
- Allow WebKitSystemInterface to draw scrollbars
- when appropriate.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
+ Support using WKCopyRequestWithStorageSession in WebCore.
-2011-01-20 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dave Hyatt.
+2011-03-03 Adam Roben <aroben@apple.com>
- Cleanup Scrollbar/ScrollbarClient relationship
- https://bugs.webkit.org/show_bug.cgi?id=52779
+ Don't try to paint outside the page's bounds
- * UIProcess/win/WebPopupMenuProxyWin.cpp:
- (WebKit::WebPopupMenuProxyWin::scrollPosition):
- (WebKit::WebPopupMenuProxyWin::setScrollOffset):
- (WebKit::WebPopupMenuProxyWin::scrollTo):
- (WebKit::WebPopupMenuProxyWin::onMouseWheel):
- (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
- * UIProcess/win/WebPopupMenuProxyWin.h:
- (WebKit::WebPopupMenuProxyWin::verticalScrollbar):
-
-2011-01-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add a timestamp to UpdateInfo
- https://bugs.webkit.org/show_bug.cgi?id=52844
-
- * Shared/UpdateInfo.cpp:
- (WebKit::UpdateInfo::encode):
- (WebKit::UpdateInfo::decode):
- * Shared/UpdateInfo.h:
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::setSize):
- (WebKit::DrawingAreaImpl::display):
+ When the page is resized smaller, we would allocate a ShareableBitmap at the old, larger
+ size, even though we only needed to paint at the new, smaller size.
-2011-01-20 Anders Carlsson <andersca@apple.com>
+ The assertion added in this patch will fire during the WebKit2/ResizeViewWhileHidden API
+ test if this fix gets broken in the future.
- Reviewed by Beth Dakin.
-
- Add Connection::waitForAndDispatchImmediately
- https://bugs.webkit.org/show_bug.cgi?id=52841
-
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::waitForAndDispatchImmediately):
-
-2011-01-20 Kevin Decker <kdecker@apple.com>
+ Fixes <http://webkit.org/b/55715> DrawingAreaImpl allocates more memory than necessary when
+ the page is resized smaller
Reviewed by Anders Carlsson.
- <rdar://problem/8880689> need a way to obtain the rendered rectangle for box elements
- https://bugs.webkit.org/show_bug.cgi?id=52823
-
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
- (WKBundleNodeHandleGetRenderRect): Added new method that will return a rendered rectangle for box elements
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: Ditto.
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: Ditto.
- (WebKit::InjectedBundleNodeHandle::renderRect): Ditto.
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Ditto.
-
-2011-01-20 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
-
- Reviewed by Andreas Kling.
-
- Remove null ptr deref that happens when reattaching to
- a new web process.
-
- Implement didRelaunchProcess that sets the drawing area size
- after the drawing area is re-instantiated.
-
- [Qt][WK2] Null ptr deref in UI process after web process has crashed
- https://bugs.webkit.org/show_bug.cgi?id=52796
-
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::QGraphicsWKView):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::QWKPagePrivate):
- (QWKPagePrivate::init):
- (QWKPagePrivate::createDrawingAreaProxy):
- (QWKPagePrivate::didRelaunchProcess): Reset drawing area size after crash.
- * UIProcess/API/qt/qwkpage_p.h:
-
-2011-01-20 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adam Roben.
-
- WebKitTestRunner needs to support layoutTestController.evaluateScriptInIsolatedWorld
- https://bugs.webkit.org/show_bug.cgi?id=42327
-
- Added a new API call, WKBundleFrameForJavaScriptContext, that gets the WKBundleFrameRef
- that corresponds to a JSContextRef (or null if none).
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameForJavaScriptContext): Simple wrapper, defers to a WebFrame
- static method.
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::frameForContext): Follow the maze of twisty pointers.
- * WebProcess/WebPage/WebFrame.h:
-
-2011-01-20 Alejandro G. Castro <alex@igalia.com>
-
- Fix compilation error in GTK WebKit2.
-
- * Platform/CoreIPC/gtk/ConnectionGtk.cpp:
- (CoreIPC::readBytesFromSocket):
- (CoreIPC::writeBytesToSocket):
-
-2011-01-20 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Csaba Osztrogonác.
-
- Refactoring of the custom allocation framework
- https://bugs.webkit.org/show_bug.cgi?id=49897
-
- Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
- The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
- equivalent macro implementation at the necessary places.
-
-2011-01-19 Simon Fraser <simon.fraser@apple.com>
-
- Fix the WebKit2 build.
-
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
-
-2011-01-19 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit2: Need API to get the parent frame of a frame
- https://bugs.webkit.org/show_bug.cgi?id=52774
-
- Add the API to get the parent frame of a frame.
-
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameGetParentFrame):
- * UIProcess/API/C/WKFrame.h:
-
-2011-01-19 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit2: add support for drag and drop
- https://bugs.webkit.org/show_bug.cgi?id=52343
- <rdar://problem/7660558>
-
- This patch contains the remaining work to support drag and drop on Mac.
- I've added a PasteboardTypes class to encapsulate all the pasteboard formats
- supported for drag and drop.
- In this implementation we don't support the promised types, since I could not
- find an efficient way to do this across processes.
- The bulk of the patch consists in creating a shareable bitmap for the drag image,
- pass its handle to the UI process and create a new NSImage from it to be given to
- AppKit for dragging.
- I've added the missing implementation of the methods in the drag client to hook
- up the placement of the data in the pasteboard.
-
- * Shared/mac/PasteboardTypes.h: Added.
- * Shared/mac/PasteboardTypes.mm: Added.
- (WebKit::PasteboardTypes::forEditing):
- (WebKit::PasteboardTypes::forURL):
- (WebKit::PasteboardTypes::forImages):
- (WebKit::PasteboardTypes::forImagesWithArchive):
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::setDragImage): Added.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _registerDraggedTypes]): Refactored to use the new PasteboardTypes class.
- (-[WKView initWithFrame:contextRef:pageGroupRef:]):
- (-[WKView _setMouseDownEvent:]):
- (-[WKView _mouseHandler:]):
- (-[WKView mouseDown:]):
- (-[WKView mouseUp:]):
- (-[WKView mouseDragged:]):
- (-[WKView draggedImage:endedAt:operation:]):
- (-[WKView draggingEntered:]):
- (-[WKView _setDragImage:at:linkDrag:]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setDragImage):
- (WebKit::WebPageProxy::dragEnded):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebDragClient.cpp:
- * WebProcess/WebCoreSupport/WebDragClient.h:
- * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: Added.
- (WebKit::fontFromNSFont):
- (WebKit::WebDragClient::startDrag): Added implementation.
- (WebKit::WebDragClient::createDragImageForLink): Ditto.
- (WebKit::writeURL): Helper function.
- (WebKit::writeImage): Helper function.
- (WebKit::WebDragClient::declareAndWriteDragImage): Added implementation.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::dragEnded):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
-
-2011-01-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Put the deprecated Connection member functions next to eachother
- https://bugs.webkit.org/show_bug.cgi?id=52767
-
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::sendSync):
- (CoreIPC::Connection::send):
-
-2011-01-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- When resizing, the web process should repaint the page
- https://bugs.webkit.org/show_bug.cgi?id=52764
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::didSetSize):
- Incorporate the update.
-
- (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
- Return early if the update bounds rect is empty. This can happen if painting is
- disabled and we get a DidSetSize message.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::setSize):
- If painting is disabled, just send back an empty UpdateInfo struct. Otherwise,
- paint and fill in the UpdateInfo struct.
-
- (WebKit::DrawingAreaImpl::display):
- Assert that painting is not disabled.
-
-2011-01-19 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=52739
- Make it possible for a WebKit2 client to print headers and footers
-
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::headerHeight):
- (WebKit::WebPageProxy::footerHeight):
- (WebKit::WebPageProxy::drawHeader):
- (WebKit::WebPageProxy::drawFooter):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::headerHeight):
- (WebKit::WebUIClient::footerHeight):
- (WebKit::WebUIClient::drawHeader):
- (WebKit::WebUIClient::drawFooter):
- * UIProcess/WebUIClient.h:
- Pass UIClient calls through.
-
- * UIProcess/API/mac/WKView.mm:
- (currentPrintOperationScale): A helper to extract scale factor from the current NSPrintOperation.
- (-[WKView _adjustPrintingMarginsForHeaderAndFooter]): Copied from WebKit1. Change current
- print info to account for header and footer height as provided by the client.
- (-[WKView knowsPageRange:]): Call -[self _adjustPrintingMarginsForHeaderAndFooter].
- (-[WKView drawPageBorderWithSize:]): When AppKit asks to print page border, call the client
- to do that. Code adapted form WebKit1.
-
- * UIProcess/API/qt/qwkpage:
- (QWKPage::QWKPage): Added zeroes for new WKPageUIClient members to avoid breaking the build.
-
-2011-01-19 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Darin Adler.
-
- Crash in WebDatabaseManagerProxy::getDatabaseOrigins when called after the WebProcess has
- died at least once
- https://bugs.webkit.org/show_bug.cgi?id=52730
-
- WebDatabaseManagerProxy::invalidate was setting m_webContext to 0, and invalidate gets
- called in WebContext::processDidClose. However, m_webContext is only set in the
- constructor, which is only called from the constructor of WebContext, so attempting to send
- a message to any new WebProcess after the first one died was causing a null deref.
-
- This patch moves setting m_webcontext into clearContext and clearContext is only called in
- the WebContext destructor.
-
- This patch also adds checks for a valid WebProcessProxy before attempting to send messages to
- the WebProcessProxy so that if the WebProcess has died and has not been revived, it does not
- attempt to dereference a null WebProcessProxy.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::~WebContext):
- Call WebDatabaseManagerProxy::clearContext.
- * UIProcess/WebContext.h:
- (WebKit::WebContext::hasValidProcess):
- Make this method public so that it can be called from WebDatabaseManagerProxy.
-
- * UIProcess/WebDatabaseManagerProxy.cpp:
- (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
- If there isn't a valid process, invalidate the callback and return early.
- (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
- Ditto.
- (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
- If tehre isn't a valid process return early.
- (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
- Ditto.
- (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
- Ditto.
- (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
- Ditto.
- (WebKit::WebDatabaseManagerProxy::invalidate):
- Move setting m_webContext to 0 from here ...
- * UIProcess/WebDatabaseManagerProxy.h:
- (WebKit::WebDatabaseManagerProxy::clearContext):
- ... to here.
-
-2011-01-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Suspend/resume painting as the WKView visibility changes
- https://bugs.webkit.org/show_bug.cgi?id=52738
-
- * UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::visibilityDidChange):
- Add new member function. It should really be pure virtual once setPageIsVisible
- is removed.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::visibilityDidChange):
- Send SuspendPainting/ResumePainting messages based on whether the view is visible or not.
-
- (WebKit::DrawingAreaProxyImpl::setPageIsVisible):
- Make this a stub; it should really be removed.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::viewStateDidChange):
- Call visibilityDidChange.
-
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::isViewVisible):
- Add new getter.
-
- * WebProcess/WebPage/DrawingArea.messages.in:
- Add SuspendPainting and ResumePainting messages.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::DrawingAreaImpl):
- Initialize m_isPaintingSuspended.
-
- (WebKit::DrawingAreaImpl::suspendPainting):
- Set m_isPaintingSuspended to true and stop the display timer.
-
- (WebKit::DrawingAreaImpl::resumePainting):
- Set m_isPaintingSuspended to false.
-
- (WebKit::DrawingAreaImpl::scheduleDisplay):
- (WebKit::DrawingAreaImpl::display):
- Bail if m_isPaintingSuspended is true.
-
-2011-01-19 Andreas Kling <kling@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt][WK2] Implement formatLocalizedString() for Qt.
-
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::formatLocalizedString):
-
-2011-01-19 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
- https://bugs.webkit.org/show_bug.cgi?id=52695
-
- Added a hostingLayer as the parent of the existing drawingLayer.
- The hostingLayer is now the root which is passed to the
- remote context. It never changes except to track the size
- of the window. The backingLayer is now a child of the
- hostingLayer, which allow it to switch between tiled and
- non-tiled.
-
- I also now give back accurate settings for debug borders and
- repaint counters.
-
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
- (WebKit::LayerBackedDrawingArea::setSize):
- (WebKit::LayerBackedDrawingArea::showDebugBorders):
- (WebKit::LayerBackedDrawingArea::showRepaintCounter):
- * WebProcess/WebPage/LayerBackedDrawingArea.h:
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- (WebKit::LayerBackedDrawingArea::platformInit):
- (WebKit::LayerBackedDrawingArea::attachCompositingContext):
- (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
-
-2011-01-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Send a new SetSize message if the size differs from the current size
- https://bugs.webkit.org/show_bug.cgi?id=52728
-
- * UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::didSetSize):
- Add UpdateInfo parameter.
-
- * UIProcess/DrawingAreaProxy.messages.in:
- Add UpdateInfo parameter to the DidSetSize message.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::didSetSize):
- If the view size differs from the current size send another SetSize message.
-
- * UIProcess/DrawingAreaProxyImpl.h:
- Add UpdateInfo parameter to didSetSize.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::setSize):
- The DidSetSize message now takes an UpdateInfo parameter.
-
-2011-01-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Throttle sending of SetSize messages
- https://bugs.webkit.org/show_bug.cgi?id=52727
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
- Initialize m_isWaitingForDidSetSize to false.
-
- (WebKit::DrawingAreaProxyImpl::didSetSize):
- Null out the backing store.
-
- (WebKit::DrawingAreaProxyImpl::sendSetSize):
- If m_isWaitingForDidSetSize is true, do nothing. Otherwise, set m_isWaitingForDidSetSize
- to true and send a SetSize message.
-
- * UIProcess/DrawingAreaProxyImpl.h:
- Add m_isWaitingForDidSetSize.
-
-2011-01-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Pass WebPageCreationParameters to DrawingArea::create
- https://bugs.webkit.org/show_bug.cgi?id=52726
-
- * WebProcess/WebPage/DrawingArea.cpp:
- (WebKit::DrawingArea::create):
- * WebProcess/WebPage/DrawingArea.h:
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::create):
- (WebKit::DrawingAreaImpl::DrawingAreaImpl):
- * WebProcess/WebPage/DrawingAreaImpl.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::changeAcceleratedCompositingMode):
-
-2011-01-19 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Laszlo Gombos and Tor Arne Vestbø.
-
- [Qt] Remove unnecessary "../Source" from paths
- after moving source files into Source is finished.
-
- * DerivedSources.pro:
- * WebKit2.pro:
-
-2011-01-18 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKitTestRunner should track loading more like DumpRenderTree
- https://bugs.webkit.org/show_bug.cgi?id=52692
-
- Relax the message check in didSaveFrameToPageCache a bit more, since
- layout tests were still hitting the old one.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::isDisconnectedFrame):
- (WebKit::WebPageProxy::didSaveFrameToPageCache):
-
-2011-01-18 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/8860833> and https://bugs.webkit.org/show_bug.cgi?id=52599
- UIProcess crash in WebPageProxy::reattachToWebProcess when web process crashes with a new tab/window.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::reattachToWebProcessWithItem): Null check item *both* places it is used.
-
-2011-01-18 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- <rdar://problem/8752200> and https://bugs.webkit.org/show_bug.cgi?id=52664
- Need WebKit2 API to asynchronously get the resource data for a URL
-
- Rename WKFrameGetMainResourceDataFunction to WKFrameGetResourceDataFunction, and add
- new API to get a resource by URL:
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameGetMainResourceData):
- (WKFrameGetResourceData):
- (callGetResourceDataBlockAndDispose):
- (WKFrameGetMainResourceData_b):
- (WKFrameGetResourceData_b):
- * UIProcess/API/C/WKFrame.h:
-
- Implement the new API in the UIProcess side:
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::getResourceData):
- * UIProcess/WebFrameProxy.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::getResourceDataFromFrame):
- * UIProcess/WebPageProxy.h:
-
- Have the WebProcess get the data and call back to the UIProcess:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::getResourceDataFromFrame):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
-
-2011-01-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Make PageClientImpl::scrollView do hardware blitting
- https://bugs.webkit.org/show_bug.cgi?id=52689
-
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::scrollView):
- Clip the scroll rect and scroll the view.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
- Scroll before painting.
-
-2011-01-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Artifacts when scrolling with new drawing area
- https://bugs.webkit.org/show_bug.cgi?id=52682
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::scroll):
- When scrolling, we want the intersection of the scroll rect and clip rect.
-
-2011-01-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Use a CGLayer for the backing store when possible
- https://bugs.webkit.org/show_bug.cgi?id=52679
-
- * UIProcess/mac/BackingStoreMac.mm:
- (WebKit::BackingStore::paint):
- If there is a layer, paint it into the given context.
-
- (WebKit::BackingStore::backingStoreContext):
- If we can get the containing window graphics context, use it to create a
- CGLayer that we'll use for the backing store.
-
- (WebKit::BackingStore::scroll):
- Paint the layer into itself.
-
- * UIProcess/mac/WebPageProxyMac.mm:
- (WebKit::WebPageProxy::containingWindowGraphicsContext):
- Call the page client.
-
-2011-01-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Pass the web page proxy to BackingStore::create
- https://bugs.webkit.org/show_bug.cgi?id=52673
-
- * UIProcess/BackingStore.cpp:
- (WebKit::BackingStore::create):
- Add WebPageProxy parameter.
-
- (WebKit::BackingStore::BackingStore):
- Add WebPageProxy parameter.
-
- * UIProcess/BackingStore.h:
- Add WebPageProxy member variable.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
- Pass the web page proxy when creating the backing store.
-
- * UIProcess/mac/BackingStoreMac.mm:
- (WebKit::BackingStore::backingStoreContext):
- Set the default blend mode.
-
-2011-01-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Factor code to create the backing store bitmap context out into a new function
- https://bugs.webkit.org/show_bug.cgi?id=52670
-
- * UIProcess/BackingStore.h:
- * UIProcess/mac/BackingStoreMac.mm:
- (WebKit::BackingStore::backingStoreContext):
- Create the backing store context.
-
- (WebKit::BackingStore::incorporateUpdate):
- Call backingStoreContext.
-
- (WebKit::BackingStore::scroll):
- Assert that the context is not null.
-
-2011-01-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add PageClientImpl::containingWindowGraphicsContext
- https://bugs.webkit.org/show_bug.cgi?id=52666
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::containingWindowGraphicsContext):
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.h:
-
-2011-01-18 Damian Kaleta <dkaleta@apple.com>
-
- Reviewed by Sam Weinig.
-
- WK2 methods WKPageScaleWebView and WKPageGetViewScaleFactor need to have consistent names
- https://bugs.webkit.org/show_bug.cgi?id=52647
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageSetScaleFactor):
- (WKPageGetScaleFactor):
- * UIProcess/API/C/WKPage.h:
-
-2011-01-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Ask the web page proxy to scroll the view when needed
- https://bugs.webkit.org/show_bug.cgi?id=52665
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::scrollView):
- * UIProcess/WebPageProxy.h:
-
-2011-01-18 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::scrollView):
-
-2011-01-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add PageClient::scrollView
- https://bugs.webkit.org/show_bug.cgi?id=52663
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::scrollView):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::scrollView):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::PageClientImpl::scrollView):
- * UIProcess/win/WebView.h:
-
-2011-01-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Rename scrollDelta to scrollOffset everywhere.
-
- * Shared/UpdateInfo.cpp:
- (WebKit::UpdateInfo::encode):
- (WebKit::UpdateInfo::decode):
- * Shared/UpdateInfo.h:
- * UIProcess/BackingStore.h:
- * UIProcess/mac/BackingStoreMac.mm:
- (WebKit::BackingStore::incorporateUpdate):
- (WebKit::BackingStore::scroll):
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::scroll):
- (WebKit::WebChromeClient::delegatedScrollRequested):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- (WebKit::ChunkedUpdateDrawingArea::scroll):
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
- * WebProcess/WebPage/DrawingArea.h:
* WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::scroll):
- (WebKit::DrawingAreaImpl::display):
- * WebProcess/WebPage/DrawingAreaImpl.h:
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::scroll):
- * WebProcess/WebPage/LayerBackedDrawingArea.h:
-
-2011-01-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Get and paint each individual rect in -[WKView drawRect:]
- https://bugs.webkit.org/show_bug.cgi?id=52660
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView drawRect:]):
-
-2011-01-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Assertion when loading two URLs in quick succession
- https://bugs.webkit.org/show_bug.cgi?id=52649
- <rdar://problem/8764645>
-
- If beginLoad is called twice without didStartProvisionalLoad being called in between,
- m_pendingProvisionalSandboxExtension would be non-null and an assert would fire.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
- Instead of asserting that m_pendingProvisionalSandboxExtension is null, invalidate it
- if it is not null, since that's valid.
-
-2011-01-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement NPN_PopUpContextMenu
- https://bugs.webkit.org/show_bug.cgi?id=52646
- <rdar://problem/8735616>
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_PopUpContextMenu):
- Call NetscapePlugin::popUpContextMenu.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin):
- Initialize m_currentMouseEvent.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- Add m_currentMouseEvent.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::popUpContextMenu):
- Convert the coordinates from the current mouse event to screen coordinates and call
- WKPopupContextMenu.
-
- (WebKit::NetscapePlugin::platformHandleMouseEvent):
- Update m_currentMouseEvent.
-
-2011-01-18 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit2: Do not assert that the provisional and committed URLs cannot be empty/null
- https://bugs.webkit.org/show_bug.cgi?id=52641
-
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::didStartProvisionalLoad):
- (WebKit::WebFrameProxy::didCommitLoad):
- (WebKit::WebFrameProxy::didFinishLoad):
-
-2011-01-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- ASSERT in plug-in code when going to youtube
- https://bugs.webkit.org/show_bug.cgi?id=52638
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::paintEntirePlugin):
- Don't try to paint the plug-in if the plug-in frame is empty.
-
-2011-01-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
+ (WebKit::DrawingAreaImpl::updateBackingStoreState): Update our dirty region even if painting
+ is suspended (but still refrain from updating it when in accelerated compositing mode).
+ Rather than unite our existing dirty region with the page's new bounds, overwrite our dirty
+ region with the page's new bounds. This prevents us from accumulating a dirty region that is
+ larger than the page in the case where the page is being resized smaller.
+ (WebKit::DrawingAreaImpl::display): Added an assertion that we're not trying to paint
+ outside of the page's bounds.
- Plug-in hosting WebProcess instances appear in Activity Monitor as WebProcess
- https://bugs.webkit.org/show_bug.cgi?id=52635
- <rdar://problem/8731337>
+2011-03-03 Maciej Stachowiak <mjs@apple.com>
- * PluginProcess/PluginProcess.cpp:
- (WebKit::PluginProcess::initialize):
- Call platformInitialize.
-
- * PluginProcess/PluginProcess.h:
- Add platformInitialize.
-
- * PluginProcess/mac/PluginProcessMac.mm:
- (WebKit::PluginProcess::platformInitialize):
- Set the compositing render server port and the visible application name.
-
- * Shared/Plugins/PluginProcessCreationParameters.cpp:
- (WebKit::PluginProcessCreationParameters::encode):
- (WebKit::PluginProcessCreationParameters::decode):
- Encode/decode the parent process name.
+ Reviewed by Brady Eidson.
- * Shared/Plugins/PluginProcessCreationParameters.h:
- Add parentProcessName.
+ WebProcess is calling CFURLCacheRemoveAllCachedResponses when loading, results in origin-load for all resources
+ https://bugs.webkit.org/show_bug.cgi?id=55701
+ <rdar://problem/9074017>
* Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- Encode/decode the parent process name.
-
- * Shared/WebProcessCreationParameters.h:
- Add parentProcessName.
-
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess):
- Don't pass the parent process name here.
-
- * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
- (WebKit::PluginProcessProxy::platformInitializePluginProcess):
- Set the visible name.
-
- * UIProcess/mac/WebContextMac.mm:
- (WebKit::WebContext::platformInitializeWebProcess):
- Pass along the parent process name.
-
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::platformInitializeWebProcess):
- Set the visible name.
-
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain):
- Don't set the visible name here. It's done in platformInitializeWebProcess.
-
-2011-01-18 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Csaba Osztrogonác.
-
- [Qt][WK2] Not implemented warnings should not break layout tests
- https://bugs.webkit.org/show_bug.cgi?id=52616
-
- * WebKit2Prefix.h: Define DISABLE_NOT_IMPLEMENTED_WARNINGS on Qt.
-
-2011-01-17 Jon Honeycutt <jhoneycutt@apple.com>
-
- Windows build fix. Unreviewed.
-
- * Shared/PrintInfo.cpp:
- Use #include, not #import.
-
-2011-01-17 Alexey Proskuryakov <ap@apple.com>
-
- Actually wrote a FIXME promised for a review comment.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
-
-2011-01-17 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson and Darin Adler.
+ (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Initialize cache-clearing
+ flag parameters to false.
+ (WebKit::WebProcessCreationParameters::encode): Serialize them properly.
+ (WebKit::WebProcessCreationParameters::decode): And deserialize.
- https://bugs.webkit.org/show_bug.cgi?id=52595
- Make basic printing work in WebKit2
+2011-03-03 Alexey Proskuryakov <ap@apple.com>
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetShouldPrintBackgrounds):
- (WKPreferencesGetShouldPrintBackgrounds):
- * UIProcess/API/C/WKPreferences.h:
- Implement a preference for printing backgrounds.
-
- * Shared/PrintInfo.cpp: Added.
- (WebKit::PrintInfo::encode):
- (WebKit::PrintInfo::decode):
- * Shared/PrintInfo.h: Added.
- * Shared/mac/PrintInfoMac.mm: Added.
- (WebKit::PrintInfo::PrintInfo):
- A new class for passing page setup information down to the web process.
-
- * WebKit2.xcodeproj/project.pbxproj:
- * GNUmakefile.am:
- * WebKit2.pro:
- * win/WebKit2.vcproj:
- Added PrintInfo.
-
- * Scripts/webkit2/messages.py: Added PrintInfo.h to a list of structs.
-
- * UIProcess/API/mac/WKView.mm:
- (WKViewData): Cache page count and geometry.
- (WebFrameWrapper): Added a wrapper class for adding a WebFrameProxy to an NSDictionary.
- (-[WKView drawRect:]): Added logging.
- (setFrameBeingPrinted): Store a frame into NSPrintOperation's NSPrintInfo, so that all
- methods invoked for this operation would know what's being printed.
- (frameBeingPrinted): Retrieve this data.
- (-[WKView printOperationWithPrintInfo:forFrame:]): Create a print operation that's appropriate
- for the frame.
- (-[WKView knowsPageRange:]): Ask the web process.
- (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
- Take over printing, because I couldn't make drawRect: work correctly with WebKit custom fit
- to page implementation.
- (-[WKView _provideTotalScaleFactorForPrintOperation:]): Help AppKit clip correctly.
- (-[WKView rectForPage:]): Return a pre-calculated rect.
-
- * UIProcess/WebPageProxy.h: Added m_isInPrintingMode to track whether the web page is in
- printing mode. The UI process controls that.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy): Initialize m_isInPrintingMode.
- (WebKit::WebPageProxy::beginPrinting): Change printing mode in web process if the value changes.
- (WebKit::WebPageProxy::endPrinting): Ditto.
- (WebKit::WebPageProxy::computePagesForPrinting): Ask the web process about output page geometry.
- (WebKit::WebPageProxy::drawRectToPDF): Ask the web process about printed page data.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::close): Delete m_printContext while there is still a Frame pointer.
- (WebKit::WebPage::updatePreferences): Pass through ShouldPrintBackgrounds.
- (WebKit::WebPage::beginPrinting): Switch into printing mode (or update parameters if we're
- already in printing mode).
- (WebKit::WebPage::endPrinting): Delete m_printContext, implicitly calling end().
- (WebKit::WebPage::computePagesForPrinting): Make sure that we're in printing mode, and
- copmute page rects.
- (WebKit::WebPage::drawRectToPDF): Added a CG specific function to create a PDF document out
- of a page rect. It should really work for onscreen content, but we only need it for printing.
-
- * WebProcess/WebPage/WebPage.h:
-
- * WebProcess/WebPage/WebPage.messages.in: Added BeginPrinting, EndPrinting,
- ComputePagesForPrinting and DrawRectToPDF.
-
-2011-01-17 Tony Gentilcore <tonyg@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Fix some headers with missing or misspelled #ifndef guards
- https://bugs.webkit.org/show_bug.cgi?id=52545
-
- * Shared/UserMessageCoders.h:
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
- * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
- * WebProcess/WebProcessMain.h:
-
-2011-01-17 Alexey Proskuryakov <ap@apple.com>
-
- Build fix.
-
- * Platform/Logging.cpp:
-
-2011-01-17 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=52592
- Add a logging channel for WKView
-
- * Platform/Logging.cpp:
- * Platform/Logging.h:
-
-2011-01-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Factor bitmap context drawing code out into a shared function
- https://bugs.webkit.org/show_bug.cgi?id=52589
-
- * Platform/cg/CGUtilities.h: Added.
- * Platform/cg/CGUtilities.cpp: Added.
- (WebKit::paintBitmapContext):
- New function that will paint a bitmap context into a CGContext.
-
- * Shared/cg/ShareableBitmapCG.cpp:
- (WebKit::ShareableBitmap::paint):
- Use paintBitmapContext.
+ Reviewed by Darin Adler.
- * UIProcess/mac/BackingStoreMac.mm:
- (WebKit::BackingStore::paint):
- (WebKit::BackingStore::scroll):
- Use paintBitmapContext.
+ REGRESSION (WebKit2): Tab keys no longer observe Full Keyboard Access
+ https://bugs.webkit.org/show_bug.cgi?id=55633
+ <rdar://problem/8963023>
* WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Common.vsprops:
- Add CGUtilities.{cpp|h}.
-
-2011-01-17 Dan Bernstein <mitz@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- Update xcodeproj svn:ignore to include xcuserdata.
-
- * WebKit2.xcodeproj: Modified property svn:ignore.
-
-2011-01-17 Alexey Proskuryakov <ap@apple.com>
-
- Fixing a typo from a bad merge.
-
- * UIProcess/API/mac/WKView.mm: (-[WKView canChangeFrameLayout:]):
-
-2011-01-17 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by John Sullivan.
-
- https://bugs.webkit.org/show_bug.cgi?id=52590
- Should pass a frame into -[WKView canPrintHeadersAndFooters]
-
- * UIProcess/API/mac/WKView.h:
- * UIProcess/API/mac/WKView.mm: (-[WKView canChangeFrameLayout:]): Also, renamed the method
- to canChangeFrameLayout.
-
-2011-01-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement scrolling support
- https://bugs.webkit.org/show_bug.cgi?id=52502
-
- * Shared/UpdateInfo.cpp:
- (WebKit::UpdateInfo::encode):
- (WebKit::UpdateInfo::decode):
- * Shared/UpdateInfo.h:
- Add scrollRect and scrollDelta member variables.
-
- * UIProcess/BackingStore.h:
- Add scroll member function.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
- Repaint the scroll rect. Force a display of the view when the update info contains a scroll rect.
-
- * UIProcess/mac/BackingStoreMac.mm:
- (WebKit::BackingStore::incorporateUpdate):
- Call scroll.
-
- (WebKit::BackingStore::scroll):
- Paint the backing store into itself.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::display):
- Pass the scroll information in the update info.
-
-2011-01-17 Andrey Kosyakov <caseq@chromium.org>
-
- Unreviewed. Fixed malformed reference to WebKitVSPropsRedirectionDir that broke win build.
-
- * win/WebKit2.vcproj:
- * win/WebKit2GeneratedCommon.vsprops:
- * win/WebKit2WebProcess.vcproj:
-
-2011-01-17 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: simplify debugger enabling routine.
- https://bugs.webkit.org/show_bug.cgi?id=52472
-
- * WebProcess/WebPage/WebInspector.cpp:
- (WebKit::WebInspector::startJavaScriptDebugging):
-
-2011-01-17 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt][WK2] Crash due to double destruction of QSharedMemory
- https://bugs.webkit.org/show_bug.cgi?id=52569
-
- Avoid deleting the QSharedMemory twice.
- * Platform/qt/SharedMemoryQt.cpp:
- (WebKit::SharedMemory::~SharedMemory):
- * Shared/qt/CleanupHandler.cpp:
- Renamed m_inDeleteObjects to m_hasStartedDeleting and
- added a getter for it.
- (WebKit::CleanupHandler::CleanupHandler):
- (WebKit::CleanupHandler::deleteObjects):
- * Shared/qt/CleanupHandler.h:
- (WebKit::CleanupHandler::unmark):
- (WebKit::CleanupHandler::hasStartedDeleting):
-
-2011-01-15 Adam Barth <abarth@webkit.org>
-
- Rubber-stamped by Eric Seidel.
-
- Move WebKit2 into Source
- https://bugs.webkit.org/show_bug.cgi?id=52438
-
- * DerivedSources.pro:
- * GNUmakefile.am:
- * WebKit2.pro:
- * WebProcess.pro:
- * win/WebKit2.vcproj:
- * win/WebKit2WebProcess.vcproj:
-
-2011-01-14 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Antti Koivisto.
-
- Rename cache() to memoryCache()
- https://bugs.webkit.org/show_bug.cgi?id=52433
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::shutdownIfPossible):
- (WebKit::WebProcess::didClose):
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::platformSetCacheModel):
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::WebProcess::platformSetCacheModel):
-
-2011-01-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Split out a MarkedSpace strategy object from Heap.
- https://bugs.webkit.org/show_bug.cgi?id=52421
-
- * Shared/mac/WebMemorySampler.mac.mm:
- (WebKit::WebMemorySampler::sampleWebKit): Updated for class move.
-
-2011-01-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
+ * WebProcess/mac/FullKeyboardAccessWatcher.h: Added.
+ * WebProcess/mac/FullKeyboardAccessWatcher.mm: Added.
+ (-[FullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]):
+ (-[FullKeyboardAccessWatcher init]):
+ (+[FullKeyboardAccessWatcher fullKeyboardAccessEnabled]):
+ Get the current state of full keyboard access, listening for change notifications.
- Add a new PageClient::displayView function and expose it on WebPageProxy
- https://bugs.webkit.org/show_bug.cgi?id=52500
+ * WebProcess/WebProcess.h: Added fullKeyboardAccessEnabled().
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::displayView):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::displayView):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::displayView):
- * UIProcess/WebPageProxy.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::displayView):
- * UIProcess/win/WebView.h:
-
-2011-01-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement the "should paint bounds instead of indiviual rects" algorithm from WebKit1
- https://bugs.webkit.org/show_bug.cgi?id=52499
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::shouldPaintBoundsRect):
- Port code from -[WebView _mustDrawUnionedRect:singleRects:count:].
-
- (WebKit::DrawingAreaImpl::display):
- If shouldPaintBoundsRect returns true, clear the rects vector and append the bounds rect.
-
-2011-01-14 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Geoff Garen.
-
- ShouldLoadResourceForFrame should use strings, not URLs.
- https://bugs.webkit.org/show_bug.cgi?id=52476
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- (WebKit::InjectedBundlePageLoaderClient::shouldLoadResourceForFrame): Pass resourceURL as a string instead of
- a URL, and rename from subresourceURL to resourceURL.
-
-2011-01-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix for <rdar://problem/8711576> The web process should be able to read resources from the UI process.
-
- Based on a patch by Ivan Krstić. This also makes the NSURLCache path a sandbox parameter.
-
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- Encode and decode the uiProcessBundleResourcePath member variable.
-
- * Shared/WebProcessCreationParameters.h:
- Add uiProcessBundleResourcePath member variable.
-
- * UIProcess/mac/WebContextMac.mm:
- (WebKit::WebContext::platformInitializeWebProcess):
- Set the uiProcessBundleResourcePath member variable.
-
- * WebProcess/com.apple.WebProcess.sb:
- Allow read-only access to UI_PROCESS_BUNDLE_RESOURCE_DIR and all subdirectories.
-
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::initializeSandbox):
- When initializing the sandbox, pass UI_PROCESS_BUNDLE_RESOURCE_DIR.
-
- (WebKit::WebProcess::platformInitializeWebProcess):
- Remove the code that would consume a sandbox extension for the url cache path.
-
-2011-01-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Delay initializing the sandbox until we get the InitializeWebProcess message.
-
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::initializeSandbox):
- (WebKit::WebProcess::platformInitializeWebProcess):
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain):
-
-2011-01-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
+ * WebProcess/WebProcess.cpp: (WebKit::WebProcess::fullKeyboardAccessEnabled):
+ WebKit1 also doesn't implement this on platforms other than Mac.
- Align import/export directives
- https://bugs.webkit.org/show_bug.cgi?id=52208
+ * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::fullKeyboardAccessEnabled):
+ Just ask FullKeyboardAccessWatcher.
- * Shared/API/c/WKBase.h: Align import/export directives with
- JavaScriptCore/API/JSBase.h.
-
-2011-01-14 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: extract InspectorSettings from InspectorState,
- simplify it.
- https://bugs.webkit.org/show_bug.cgi?id=52429
-
- * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
-
-2011-01-13 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Darin Adler.
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::keyboardUIMode):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ Added keyboardUIMode(), removed tabsToLinks().
- WebKit2: Add support for drag and drop
- https://bugs.webkit.org/show_bug.cgi?id=52343
- <rdar://problem/7660558>
-
- This patch contains the changes required to support dropping content
- in WebKit on the Mac. The DragData class has been extended to provide
- additional context from the application (keyboard state, modal windows, etc.)
- as well as information of the drag pasteboard being used.
- The support for WebKit as drag source will be added with a separate patch.
-
- * Shared/DragControllerAction.h: Added.
- * UIProcess/API/mac/WKView.mm:
- Added implemention of the methods required to add suport for a drop target.
- To maintain asynchronous communication with the WebProcess, we always return
- the previous calculated value for the drag operation.
- (-[WKView _registerDraggedTypes]):
- (-[WKView initWithFrame:contextRef:pageGroupRef:]):
- (-[WKView applicationFlags:]):
- (-[WKView draggingEntered:]):
- (-[WKView draggingUpdated:]):
- (-[WKView draggingExited:]):
- (-[WKView prepareForDragOperation:]):
- (-[WKView performDragOperation:]):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::performDragControllerAction):
- (WebKit::WebPageProxy::didPerformDragControllerAction):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::dragOperation):
- (WebKit::WebPageProxy::resetDragOperation):
- * UIProcess/WebPageProxy.messages.in:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebDragClient.cpp:
- (WebKit::WebDragClient::willPerformDragDestinationAction):
- (WebKit::WebDragClient::willPerformDragSourceAction):
- (WebKit::WebDragClient::actionMaskForDrag):
- (WebKit::WebDragClient::dragSourceActionMaskForPoint):
- (WebKit::WebDragClient::startDrag):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::performDragControllerAction):
+ * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::keyboardUIMode):
* WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
-
-2011-01-13 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- Incorrect assertion in DrawingAreaImpl::scroll()
- https://bugs.webkit.org/show_bug.cgi?id=52376
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::scroll): Changed to take the fast path if the rects have the same area.
- This made the assertion valid, but I removed it anyway.
-
-2011-01-12 Balazs Kelemen <kbalazs@webkit.org>
-
- Unreviewed.
-
- Getting rid of the unused 'viewportSize' argument in QWKPagePrivate:init.
- The argument is unused since http://trac.webkit.org/changeset/75468.
-
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::QGraphicsWKView):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::init):
- * UIProcess/API/qt/qwkpage_p.h:
-
-2011-01-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement DrawingAreaImpl::scroll
- https://bugs.webkit.org/show_bug.cgi?id=52346
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::scroll):
- If there is already an active scroll, compute the area of both scroll rects and
- invalidate the smallest one. Compute a new dirty region if necessary and also
- add the scroll repaint region to the dirty region.
-
- (WebKit::DrawingAreaImpl::display):
- Reset the scroll area and scroll delta.
-
- * WebProcess/WebPage/DrawingAreaImpl.h:
- Add scroll area and scroll delta member variables.
-
-2011-01-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Region improvements
- https://bugs.webkit.org/show_bug.cgi?id=52344
-
- * Platform/Region.cpp:
- (WebKit::Region::Shape::move):
- (WebKit::Region::move):
- Change Region::move to take an IntSize.
-
- * Platform/Region.h:
- (WebKit::intersect):
- (WebKit::subtract):
- (WebKit::move):
- Add convenience functions.
-
-2011-01-12 Ryosuke Niwa <rniwa@webkit.org>
-
- Unreviewed Qt build fix for r75661
-
- * Shared/WebEvent.h: Don't declare phase() on non-Mac platforms.
-
-2011-01-12 Beth Dakin <bdakin@apple.com>
+ Generate keyboard UI mode from tabToLinks preference and current state of FKA.
- Reviewed by Anders Carlsson.
-
- Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309
- Expose fixed layout through WebKit SPI
- -and corresponding-
- <rdar://problem/8844464>
-
- And now with getters!
- * UIProcess/API/C/WKPage.cpp:
- (WKPageUseFixedLayout):
- (WKPageFixedLayoutSize):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::useFixedLayout):
- (WebKit::WebPageProxy::fixedLayoutSize):
-
-2011-01-12 Sam Weinig <sam@webkit.org>
+2011-03-03 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
- https://bugs.webkit.org/show_bug.cgi?id=52337
- PlatformWheelEvent should know about the scroll phase on the Mac
+ Give the Bundle's policy client the option of deciding the policy
+ https://bugs.webkit.org/show_bug.cgi?id=55699
- Add a phase parameter on Mac WebWheelEvent and pipe it down to PlatformWheelEvent.
-
- * Shared/WebEvent.h:
- (WebKit::WebWheelEvent::phase):
- * Shared/WebEventConversion.cpp:
- (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
- * Shared/WebWheelEvent.cpp:
- (WebKit::WebWheelEvent::WebWheelEvent):
- (WebKit::WebWheelEvent::encode):
- (WebKit::WebWheelEvent::decode):
- * Shared/mac/WebEventFactory.mm:
- (WebKit::phaseForEvent):
- (WebKit::WebEventFactory::createWebWheelEvent):
-
-2011-01-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Get rid of an unneeded parameter from DrawingArea::scroll
- https://bugs.webkit.org/show_bug.cgi?id=52336
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::scroll):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- (WebKit::ChunkedUpdateDrawingArea::scroll):
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
- * WebProcess/WebPage/DrawingArea.h:
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::scroll):
- * WebProcess/WebPage/DrawingAreaImpl.h:
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::scroll):
- * WebProcess/WebPage/LayerBackedDrawingArea.h:
- * WebProcess/WebPage/TiledDrawingArea.cpp:
- (WebKit::TiledDrawingArea::scroll):
- * WebProcess/WebPage/TiledDrawingArea.h:
-
-2011-01-12 Anders Carlsson <andersca@apple.com>
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ Add WKBundlePagePolicyAction enum and make it the return value of
+ the WKBundlePagePolicyClient functions.
- Reviewed by Sam Weinig.
+ * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
+ (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
+ (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
+ (WebKit::InjectedBundlePagePolicyClient::decidePolicyForMIMEType):
+ * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
+ Pass the return value back to the caller. For unimplemented functions, return WKBundlePagePolicyActionPassThrough.
- Get the new drawing area painting to the screen
- https://bugs.webkit.org/show_bug.cgi?id=52331
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ Call the policy function early if the bundle handles it.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
- Call setViewNeedsDisplay on all the update rects.
+2011-03-02 Brian Weinstein <bweinstein@apple.com>
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setViewNeedsDisplay):
- Call through to the page client.
+ Reviewed by Adam Roben.
- (WebKit::WebPageProxy::processDidCrash):
- Null out the drawing area proxy.
+ Rest of WebKit2: Need a way to send notifications to client when cookies change
+ https://bugs.webkit.org/show_bug.cgi?id=55427
+ <rdar://problem/9056027>
- * UIProcess/mac/BackingStoreMac.mm:
- (WebKit::BackingStore::paint):
- Paint.
+ This patch adds the communication from the WebProcess <-> UIProcess about starting/stopping
+ listening for cookies changing, and adds a mechanism for the WebProcess to notify the UIProcess
+ when the cookies have changed. The WebProcess sends a message to the UIProcess when the cookies
+ change, and the UIProcess passes this along to the WebCookieManagerProxyClient.
-2011-01-12 Anders Carlsson <andersca@apple.com>
+ * UIProcess/API/C/WKCookieManager.cpp:
+ (WKCookieManagerSetClient): Call through to WebCookieManagerProxy.
+ (WKCookieManagerStartObservingCookieChanges): Ditto.
+ (WKCookieManagerStopObservingCookieChanges): Ditto.
- Reviewed by Sam Weinig.
+ * UIProcess/API/C/WKCookieManager.h: Add new functions and a WKCookieManagerClient
+ which is responsible for cookiesDidChange.
- More work on getting the drawing area proxy to paint
- https://bugs.webkit.org/show_bug.cgi?id=52328
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView drawRect:]):
- Handle the new drawing area.
+ * UIProcess/WebCookieManagerProxy.cpp:
+ (WebKit::WebCookieManagerProxy::initializeClient):
+ (WebKit::WebCookieManagerProxy::startObservingCookieChanges): Send the message down to the web process.
+ (WebKit::WebCookieManagerProxy::stopObservingCookieChanges): Ditto.
+ (WebKit::WebCookieManagerProxy::cookiesDidChange): Tell the WKCookieManagerClient the cookies were
+ modified.
+ * UIProcess/WebCookieManagerProxy.h:
+ * UIProcess/WebCookieManagerProxy.messages.in: Add new messages.
- * UIProcess/BackingStore.cpp:
- (WebKit::BackingStore::BackingStore):
- Assert that the size isn't empty.
+ * UIProcess/WebCookieManagerProxyClient.cpp: Added.
+ (WebKit::WebCookieManagerProxyClient::cookiesDidChange): Calls through to the client saying that
+ cookies changed.
+ * UIProcess/WebCookieManagerProxyClient.h: Added.
+
+ * WebProcess/Cookies/WebCookieManager.cpp:
+ (WebKit::WebCookieManager::startObservingCookieChanges): Call through to WebCore::startObservingCookieChanges
+ (on platforms that support it).
+ (WebKit::WebCookieManager::stopObservingCookieChanges): Ditto (for stopObservingCookieChanges).
+ (WebKit::WebCookieManager::dispatchDidModifyCookies): Send a message to the UI process that cookies changed.
+ * WebProcess/Cookies/WebCookieManager.h:
+ * WebProcess/Cookies/WebCookieManager.messages.in:
- * UIProcess/BackingStore.h:
- * UIProcess/mac/BackingStoreMac.mm:
- (WebKit::BackingStore::incorporateUpdate):
- Paint all update rects into the bitmap context.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::display):
- Create a handle so the shareable bitmap will actually be transferred over.
-
-2011-01-12 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
-
-2011-01-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Begin stubbing out some more BackingStore member functions
- https://bugs.webkit.org/show_bug.cgi?id=52323
-
- * UIProcess/BackingStore.cpp:
- (WebKit::BackingStore::~BackingStore):
- This was accidentally made into a constructor; it should be a destructor.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::paint):
- Call the backing store.
-
- (WebKit::DrawingAreaProxyImpl::update):
- Incorporate the update.
-
- (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
- Create the backing store if needed and incorporate the update.
-
- * UIProcess/mac/BackingStoreMac.mm: Added.
- (WebKit::BackingStore::platformInitialize):
- Create a bitmap context.
-
- (WebKit::BackingStore::paint):
- (WebKit::BackingStore::incorporateUpdate):
- Add stubs.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add BackingStoreMac.mm
-
-2011-01-12 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
- fixed layout through WebKit SPI
- -and corresponding-
- <rdar://problem/8844464>
-
- Store useFixedLayout and fixedLayoutSize in the
- WebPageCreationParameters and the WebPageProxy.
- * Shared/WebPageCreationParameters.cpp:
- (WebKit::WebPageCreationParameters::encode):
- (WebKit::WebPageCreationParameters::decode):
- * Shared/WebPageCreationParameters.h:
- * UIProcess/API/C/WKPage.cpp:
- (WKPageSetUseFixedLayout):
- (WKPageSetFixedLayoutSize):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::setUseFixedLayout):
- (WebKit::WebPageProxy::setFixedLayoutSize):
- (WebKit::WebPageProxy::creationParameters):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setUseFixedLayout):
- (WebKit::WebPage::setFixedLayoutSize):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
-
-2011-01-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Beth Dakin.
-
- Add BackingStore class
- https://bugs.webkit.org/show_bug.cgi?id=52318
-
- * UIProcess/BackingStore.cpp: Added.
- (WebKit::BackingStore::create):
- (WebKit::BackingStore::BackingStore):
- * UIProcess/BackingStore.h: Added.
- * WebKit2.xcodeproj/project.pbxproj:
-
-2011-01-12 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/8837307>, <rdar://problem/8637038>, and https://bugs.webkit.org/show_bug.cgi?id=52248
- Back/forward list recovery after a WebProcess crash is crashy itself.
-
- Add an isEmpty() accessor so the WebProcess knows if it is actually restoring a session:
- * Shared/SessionState.cpp:
- (WebKit::SessionState::isEmpty):
- * Shared/SessionState.h:
-
- Keep track of the highest used itemID so a relaunched WebProcess can later be informed:
- * Shared/WebBackForwardListItem.cpp:
- (WebKit::WebBackForwardListItem::WebBackForwardListItem):
- (WebKit::WebBackForwardListItem::highedUsedItemID):
- * Shared/WebBackForwardListItem.h:
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- (WebKit::generateHistoryItemID):
- (WebKit::WebBackForwardListProxy::setHighestItemIDFromUIProcess):
- (WebKit::WebBackForwardListProxy::addItemFromUIProcess): Remove a now-invalid ASSERT, as the UIProcess
- now tells the WebProcess that a previous WebProcess created.
- * WebProcess/WebPage/WebBackForwardListProxy.h:
-
- Encode/decode data relevant to restoring a session on WebPage creation:
- * Shared/WebPageCreationParameters.cpp:
- (WebKit::WebPageCreationParameters::encode):
- (WebKit::WebPageCreationParameters::decode):
- * Shared/WebPageCreationParameters.h:
-
- If the WebProcess has crashed since the last load, change reload and the various back/forward APIs to
- update the current back/forward item (if necessary) then relaunch the process:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::reattachToWebProcessWithItem):
- (WebKit::WebPageProxy::reattachToWebProcess): Renamed from "relaunch()" and made private.
- (WebKit::WebPageProxy::initializeWebPage):
- (WebKit::WebPageProxy::loadURL):
- (WebKit::WebPageProxy::loadURLRequest):
- (WebKit::WebPageProxy::reload):
- (WebKit::WebPageProxy::goForward):
- (WebKit::WebPageProxy::goBack):
- (WebKit::WebPageProxy::goToBackForwardItem):
- (WebKit::WebPageProxy::creationParameters):
- * UIProcess/WebPageProxy.h:
-
- Rename "RestoreSession" to "RestoreSessionAndNavigateToCurrentItem"
- * WebProcess/WebPage/WebPage.messages.in:
- * UIProcess/cf/WebPageProxyCF.cpp:
- (WebKit::WebPageProxy::restoreFromSessionStateData):
-
- Restore a session on page creation if the parameters include it:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage): Call restoreSession if session state exists.
- (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem):
- (WebKit::WebPage::restoreSession):
- * WebProcess/WebPage/WebPage.h:
-
-2011-01-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Send Update and DidUpdate messages
- https://bugs.webkit.org/show_bug.cgi?id=52316
-
- * UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::update):
- Add empty stub.
-
- * UIProcess/DrawingAreaProxy.messages.in:
- Add Update message.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::update):
- Just send back a DidUpdate message.
-
- * WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::didUpdate):
- Add empty stub.
-
- * WebProcess/WebPage/DrawingArea.messages.in:
- Add DidUpdate message.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::didUpdate):
- Call display().
-
- (WebKit::DrawingAreaImpl::display):
- Send an Update message.
-
-2011-01-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make the new drawing area actually draw something
- https://bugs.webkit.org/show_bug.cgi?id=52314
-
- * Shared/UpdateInfo.cpp:
- (WebKit::UpdateInfo::encode):
- (WebKit::UpdateInfo::decode):
- Encode and decode newly added fields.
-
- * Shared/UpdateInfo.h:
- Add a vector of update rects and a handle for the sharable bitmap.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::display):
- Get the individual rects from the region and paint them into the shareable bitmap.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::mainFrameHasCustomRepresentation):
- * WebProcess/WebPage/WebPage.h:
- Add helper function.
-
- * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
- (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
- Use helper function.
-
-2011-01-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add UpdateInfo class
- https://bugs.webkit.org/show_bug.cgi?id=52306
-
- * Shared/UpdateInfo.cpp: Added.
- (WebKit::UpdateInfo::encode):
- (WebKit::UpdateInfo::decode):
- * Shared/UpdateInfo.h: Added.
- (WebKit::UpdateInfo::UpdateInfo):
- * WebKit2.xcodeproj/project.pbxproj:
-
-2011-01-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- More work on the new drawing area implementation
- https://bugs.webkit.org/show_bug.cgi?id=52302
-
- * Platform/Region.cpp:
- (WebKit::Region::Shape::segments_end):
- segments_end could end up returning an iterator that is one element past the Vector data, so
- we can't use operator[] since that will assert.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::DrawingAreaImpl):
- Initialize the timer.
-
- (WebKit::DrawingAreaImpl::setNeedsDisplay):
- Unite the rect with the dirty region and schedule a display.
-
- (WebKit::DrawingAreaImpl::setSize):
- Tell the web page to resize.
-
- (WebKit::DrawingAreaImpl::scheduleDisplay):
- Start a display timer if needed.
-
- (WebKit::DrawingAreaImpl::display):
- Add a stub.
-
-2011-01-12 Brent Fulgham <bfulgham@webkit.org>
-
- Unreviewed build fix after r75527. Rename 'BackingStoreCairo.cpp'
- to 'ShareableBitmapCairo.cpp' to match VS project changes.
-
- * Shared/cairo/BackingStoreCairo.cpp: Removed.
- * Shared/cairo/ShareableBitmapCairo.cpp: Copied from Shared/cairo/BackingStoreCairo.cpp.
-
-2011-01-11 Jeff Miller <jeffm@apple.com>
-
- Reviewed by John Sullivan.
-
- WebKit2: "Webpages not responding" dialog appears when <select> popup menu is showing
- https://bugs.webkit.org/show_bug.cgi?id=52242
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::showPopupMenu):
- On Windows, stop the responsiveness timer before calling showPopupMenu().
-
-2011-01-11 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders Carlsson.
-
- UIProcess kills the WebProcess sometimes when detached frames exist
- https://bugs.webkit.org/show_bug.cgi?id=52227
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didSaveFrameToPageCache): Don't consider the message invalid
- if it came in for a detached frame.
-
-2011-01-11 Anders Carlsson <andersca@apple.com>
-
- Build fix.
-
- * WebKit2.xcodeproj/project.pbxproj:
-
-2011-01-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a Region class which represents a graphical region
- https://bugs.webkit.org/show_bug.cgi?id=52255
-
- * Platform/Region.cpp: Added.
- (WebKit::Region::Region):
- (WebKit::Region::rects):
- (WebKit::Region::Shape::Shape):
- (WebKit::Region::Shape::appendSpan):
- (WebKit::Region::Shape::canCoalesce):
- (WebKit::Region::Shape::appendSpans):
- (WebKit::Region::Shape::appendSegment):
- (WebKit::Region::Shape::spans_begin):
- (WebKit::Region::Shape::spans_end):
- (WebKit::Region::Shape::segments_begin):
- (WebKit::Region::Shape::segments_end):
- (WebKit::Region::Shape::dump):
- (WebKit::Region::Shape::bounds):
- (WebKit::Region::Shape::move):
- (WebKit::Region::Shape::swap):
- (WebKit::Region::Shape::shapeOperation):
- (WebKit::Region::Shape::UnionOperation::trySimpleOperation):
- (WebKit::Region::Shape::unionShapes):
- (WebKit::Region::Shape::IntersectOperation::trySimpleOperation):
- (WebKit::Region::Shape::intersectShapes):
- (WebKit::Region::Shape::SubtractOperation::trySimpleOperation):
- (WebKit::Region::Shape::subtractShapes):
- (WebKit::Region::dump):
- (WebKit::Region::intersect):
- (WebKit::Region::unite):
- (WebKit::Region::subtract):
- (WebKit::Region::move):
- * Platform/Region.h: Added.
- (WebKit::Region::bounds):
- (WebKit::Region::isEmpty):
- (WebKit::Region::Span::Span):
- (WebKit::Region::Shape::isEmpty):
- * WebKit2.xcodeproj/project.pbxproj:
-
-2011-01-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Add DidSetSize message
- https://bugs.webkit.org/show_bug.cgi?id=52254
-
- * DerivedSources.make:
- Add DrawingAReaProxy.messages.in.
-
- * Platform/CoreIPC/MessageID.h:
- Add DrawingAreaProxy message class.
-
- * UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::didSetSize):
- Add CoreIPC message handler function.
-
- * UIProcess/DrawingAreaProxy.messages.in: Added.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::didSetSize):
- Add stub.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- Handle DrawingAreaProxy messages.
-
- * WebKit2.xcodeproj/project.pbxproj:
Add new files.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::setSize):
- Send a DidSetSize message for now.
-
-2011-01-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix spelling mistake. Sharable -> Shareable.
-
- * Shared/API/c/WKImage.h:
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toImageOptions):
- * Shared/ImageOptions.h:
- * Shared/WebImage.cpp:
- (WebKit::WebImage::create):
-
-2011-01-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add SetSize message
- https://bugs.webkit.org/show_bug.cgi?id=52247
-
- * DerivedSources.make:
- Add DrawingArea.messages.in
-
- * Platform/CoreIPC/MessageID.h:
- Add DrawingArea message class.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::sizeDidChange):
- Call sendSetSize.
-
- (WebKit::DrawingAreaProxyImpl::sendSetSize):
- Send a SetSize message.
-
- * UIProcess/DrawingAreaProxyImpl.h:
- Add setSize override.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::setSize):
- Add setSize member function.
-
- * WebProcess/WebPage/DrawingArea.messages.in: Added.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- * WebProcess/WebPage/DrawingAreaImpl.h:
- Add setSize.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didReceiveMessage):
- Handle drawing area messages.
-
-2011-01-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Replace ASSERTs with FIXMEs.
-
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::sizeDidChange):
- (WebKit::DrawingAreaProxyImpl::setPageIsVisible):
-
-2011-01-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add DrawingAreaImpl skeleton class
- https://bugs.webkit.org/show_bug.cgi?id=52246
-
- * UIProcess/API/mac/WKView.mm:
- (useNewDrawingArea):
- New function which controls which drawing area to use, through an environment variable.
-
- (-[WKView drawRect:]):
- Bail if we're using the new drawing area (for now).
-
- (-[WKView WebKit::]):
- Create a DrawingAreaProxyImpl when asked to.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebProcess/WebPage/DrawingArea.cpp:
- (WebKit::DrawingArea::create):
- Create a DrawingAreaImpl when asked to.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp: Added.
- * WebProcess/WebPage/DrawingAreaImpl.h: Added.
- Add DrawingAreaImpl class.
-
-2011-01-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add Mac-only DrawingAreaProxyImpl class skeleton
- https://bugs.webkit.org/show_bug.cgi?id=52243
-
- This is the proxy side of a new drawing area implementation. This is Mac only for now
- while the design is being fleshed out.
-
- * Shared/DrawingAreaInfo.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
- * UIProcess/DrawingAreaProxyImpl.cpp: Added.
- (WebKit::DrawingAreaProxyImpl::create):
- (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
- (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl):
- (WebKit::DrawingAreaProxyImpl::didReceiveMessage):
- (WebKit::DrawingAreaProxyImpl::didReceiveSyncMessage):
- (WebKit::DrawingAreaProxyImpl::paint):
- (WebKit::DrawingAreaProxyImpl::sizeDidChange):
- (WebKit::DrawingAreaProxyImpl::setPageIsVisible):
- (WebKit::DrawingAreaProxyImpl::attachCompositingContext):
- (WebKit::DrawingAreaProxyImpl::detachCompositingContext):
- * UIProcess/DrawingAreaProxyImpl.h: Added.
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/DrawingArea.cpp:
- (WebKit::DrawingArea::create):
-
-2011-01-11 Anders Carlsson <andersca@apple.com>
-
- Fix Windows build.
-
- * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
- (WebKit::WebPopupMenu::setUpPlatformData):
-
-2011-01-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Rename ShareableBitmap::createSharable to createShareable
- https://bugs.webkit.org/show_bug.cgi?id=52234
-
- * Shared/ShareableBitmap.cpp:
- (WebKit::ShareableBitmap::createShareable):
- * Shared/ShareableBitmap.h:
- * Shared/WebImage.cpp:
- (WebKit::WebImage::create):
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::geometryDidChange):
- * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
- (WebKit::WebPopupMenu::setUpPlatformData):
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::updateFindIndicator):
-
-2011-01-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Rename BackingStore to ShareableBitmap
- https://bugs.webkit.org/show_bug.cgi?id=52228
-
- * GNUmakefile.am:
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::geometryDidChange):
- * PluginProcess/PluginControllerProxy.h:
- * Shared/API/c/cg/WKImageCG.cpp:
- (WKImageCreateCGImage):
- * Shared/BackingStore.cpp: Removed.
- * Shared/BackingStore.h: Removed.
- * Shared/PlatformPopupMenuData.cpp:
- (WebKit::PlatformPopupMenuData::decode):
- * Shared/PlatformPopupMenuData.h:
- * Shared/ShareableBitmap.cpp: Copied from WebKit2/Shared/BackingStore.cpp.
- (WebKit::ShareableBitmap::create):
- (WebKit::ShareableBitmap::createSharable):
- (WebKit::ShareableBitmap::createHandle):
- (WebKit::ShareableBitmap::ShareableBitmap):
- (WebKit::ShareableBitmap::~ShareableBitmap):
- (WebKit::ShareableBitmap::resize):
- (WebKit::ShareableBitmap::data):
- * Shared/ShareableBitmap.h: Copied from WebKit2/Shared/BackingStore.h.
- * Shared/UserMessageCoders.h:
- (WebKit::UserMessageEncoder::baseEncode):
- (WebKit::UserMessageDecoder::baseDecode):
- * Shared/WebImage.cpp:
- (WebKit::WebImage::create):
- (WebKit::WebImage::WebImage):
- (WebKit::WebImage::~WebImage):
- (WebKit::WebImage::size):
- * Shared/WebImage.h:
- (WebKit::WebImage::bitmap):
- * Shared/cairo/BackingStoreCairo.cpp:
- (WebKit::ShareableBitmap::createGraphicsContext):
- (WebKit::ShareableBitmap::paint):
- * Shared/cg/BackingStoreCG.cpp: Removed.
- * Shared/cg/ShareableBitmapCG.cpp: Copied from WebKit2/Shared/cg/BackingStoreCG.cpp.
- (WebKit::ShareableBitmap::createGraphicsContext):
- (WebKit::ShareableBitmap::paint):
- * Shared/gtk/BackingStoreGtk.cpp: Removed.
- * Shared/gtk/ShareableBitmapGtk.cpp: Copied from WebKit2/Shared/gtk/BackingStoreGtk.cpp.
- (WebKit::ShareableBitmap::createGraphicsContext):
- (WebKit::ShareableBitmap::paint):
- * Shared/qt/BackingStoreQt.cpp: Removed.
- * Shared/qt/ShareableBitmapQt.cpp: Copied from WebKit2/Shared/qt/BackingStoreQt.cpp.
- (WebKit::ShareableBitmap::createGraphicsContext):
- (WebKit::ShareableBitmap::paint):
- * UIProcess/FindIndicator.cpp:
- (WebKit::FindIndicator::create):
- (WebKit::FindIndicator::FindIndicator):
- * UIProcess/FindIndicator.h:
- (WebKit::FindIndicator::contentImage):
* WebKit2.pro:
* WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::geometryDidChange):
- * WebProcess/Plugins/PluginProxy.h:
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::updateFindIndicator):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::snapshotInViewCoordinates):
- (WebKit::WebPage::snapshotInDocumentCoordinates):
- * win/WebKit2.vcproj:
-
-2011-01-11 John Sullivan <sullivan@apple.com>
-
- Reviewed by Anders Carlsson.
-
- [WKView setFrameSize:] derefs _page->drawingArea() without null check
- <https://bugs.webkit.org/show_bug.cgi?id=52231>
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView setFrameSize:]):
- Null check drawingArea(). This is OK because if it doesn't exist then it will be
- created later with the correct initial size.
-
-2011-01-07 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Paste and drag and drop use different code paths to interact with the pasteboard.
- https://bugs.webkit.org/show_bug.cgi?id=52093
- The change consists in a refactoring of the code to have only one class that
- deals with the pasteboard on Mac.
-
- * WebProcess/WebCoreSupport/WebEditorClient.h:
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: Added two methods to provide to WebCore functionality
- exposed by NSURLExtras.
- (WebKit::WebEditorClient::canonicalizeURL):
- (WebKit::WebEditorClient::canonicalizeURLString):
-
-2011-01-11 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Anders Carlsson and Sam Weinig.
-
- Fix crash on launch on Windows.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::onSizeEvent):
- The drawing area is no longer initialized before the WebView is created and the first
- onSize is receieved.
-
-2011-01-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Automatically reinitialize the web page on relaunch
- https://bugs.webkit.org/show_bug.cgi?id=52224
- <rdar://problem/8765695>
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _didRelaunchProcess]):
- Remove call to reinitializeWebPage.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::relaunch):
- Call initializeWebPage().
-
- (WebKit::WebPageProxy::initializeWebPage):
- Assert that the web page is valid here.
-
- * UIProcess/WebPageProxy.h:
- Remove reinitializeWebPage.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::didRelaunchProcess):
- Remove call to reinitializeWebPage.
-
-2011-01-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Pass the view size to the DrawingAreaProxy constructor
- https://bugs.webkit.org/show_bug.cgi?id=52189
-
- * UIProcess/DrawingAreaProxy.cpp:
- (WebKit::DrawingAreaProxy::DrawingAreaProxy):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::viewSize):
- * UIProcess/WebPageProxy.h:
-
-2011-01-11 Sam Weinig <sam@webkit.org>
-
- Roll r75460 back in with build fix.
-
-2011-01-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Andreas Kling.
-
- Work towards having the WebPageProxy decide when to create the DrawingAreaProxy
- https://bugs.webkit.org/show_bug.cgi?id=52184
-
- Qt part made my Balazs Kelemen.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::createDrawingAreaProxy):
- Call -[WKView _createDrawingAreaProxy].
-
- (WebKit::PageClientImpl::setViewNeedsDisplay):
- Call setNeedsDisplayInRect on the WKView.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:contextRef:pageGroupRef:]):
- No need to set the drawing area proxy anymore.
-
- (-[WKView _createDrawingAreaProxy]):
- Create a chunked update drawing area proxy for now.
-
- * UIProcess/API/qt/qgraphicswkview.cpp:
- Added a QGraphicsItem* member that is initialized in init to the accociated view.
- Implement the new functions. This is a temporary solution, in the long term the view
- and the page should be decoupled.
- (QGraphicsWKView::QGraphicsWKView):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::QWKPagePrivate):
- (QWKPagePrivate::init):
- (QWKPagePrivate::createDrawingAreaProxy):
- (QWKPagePrivate::setViewNeedsDisplay):
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/API/qt/qwkpage_p.h:
-
- * UIProcess/PageClient.h:
- Add new pure virtual member functions.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeWebPage):
- (WebKit::WebPageProxy::reinitializeWebPage):
- Set the new drawing area proxy.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- No need to set the drawing area proxy anymore.
-
- (WebKit::WebView::createDrawingAreaProxy):
- Create a chunked update drawing area proxy for now.
-
- (WebKit::WebView::setViewNeedsDisplay):
- Invalidate the window.
-
-2011-01-11 Adam Roben <aroben@apple.com>
-
- Fix a typo in a comment
-
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
-
-2011-01-10 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r75460.
- http://trac.webkit.org/changeset/75460
- https://bugs.webkit.org/show_bug.cgi?id=52191
-
- It broke Qt-WK2 build (Requested by Ossy on #webkit).
-
- * Shared/API/c/WKBase.h:
- * Shared/APIObject.h:
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKGeolocationPermissionRequest.cpp: Removed.
- * UIProcess/API/C/WKGeolocationPermissionRequest.h: Removed.
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/C/WebKit2.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: Removed.
- * UIProcess/GeolocationPermissionRequestManagerProxy.h: Removed.
- * UIProcess/GeolocationPermissionRequestProxy.cpp: Removed.
- * UIProcess/GeolocationPermissionRequestProxy.h: Removed.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::processDidCrash):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebUIClient.cpp:
- * UIProcess/WebUIClient.h:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: Removed.
- * WebProcess/Geolocation/GeolocationPermissionRequestManager.h: Removed.
- * WebProcess/Geolocation/WebGeolocationManager.cpp:
- * WebProcess/Geolocation/WebGeolocationManager.h:
- * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
- (WebKit::WebGeolocationClient::requestPermission):
- (WebKit::WebGeolocationClient::cancelPermissionRequest):
- * WebProcess/WebCoreSupport/WebGeolocationClient.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
+ * GNUmakefile.am:
* win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
-
-2011-01-10 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed, rolling out r75459
- http://trac.webkit.org/changeset/75459
-
- Work towards having the WebPageProxy decide when to create the DrawingAreaProxy
- https://bugs.webkit.org/show_bug.cgi?id=52184
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- * UIProcess/API/mac/WKView.mm:
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/API/qt/qwkpage.cpp:
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeWebPage):
- (WebKit::WebPageProxy::reinitializeWebPage):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- * UIProcess/win/WebView.h:
-
-2011-01-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
- Remove size parameter to WebPageProxy::initializeWebPage
- https://bugs.webkit.org/show_bug.cgi?id=52188
+2011-03-03 Anders Carlsson <andersca@apple.com>
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:contextRef:pageGroupRef:]):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::init):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeWebPage):
- * UIProcess/WebPageProxy.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
-
-2011-01-10 Anders Carlsson <andersca@apple.com>
-
- Didn't mean to land this.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeWebPage):
- * UIProcess/WebPageProxy.h:
-
-2011-01-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebPageProxy::creationParameters no longer needs to take a size
- https://bugs.webkit.org/show_bug.cgi?id=52187
-
- WebPageProxy::creationParameters can just ask the page client for the view size now.
-
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::WebInspectorProxy::createInspectorPage):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeWebPage):
- (WebKit::WebPageProxy::reinitializeWebPage):
- (WebKit::WebPageProxy::createNewPage):
- (WebKit::WebPageProxy::creationParameters):
- * UIProcess/WebPageProxy.h:
-
-2011-01-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
+ Reviewed by Darin Adler.
- Pass information about the view in the WebPageCreationParameters
- https://bugs.webkit.org/show_bug.cgi?id=52186
+ Remove CanRunBeforeUnloadConfirmPanel sync message
+ https://bugs.webkit.org/show_bug.cgi?id=55689
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
- Encode and decode the state flags.
+ Encode and decode canRunBeforeUnloadConfirmPanel, as well as canRunModal, which wasn't
+ being encoded/decoded.
* Shared/WebPageCreationParameters.h:
- Add new state flags.
+ Add canRunBeforeUnloadConfirmPanel.
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::creationParameters):
- Initialize the state flags.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- Update the page state from the state flags.
-
-2011-01-10 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Make Geolocation features work in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=52078
-
- Step 2 - Add support for requesting and granting permission for geolocation.
-
- * Shared/API/c/WKBase.h:
- * Shared/APIObject.h:
- * UIProcess/API/C/WebKit2.h:
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKGeolocationPermissionRequest.cpp: Added.
- * UIProcess/API/C/WKGeolocationPermissionRequest.h: Added.
- Add new API type, WKGeolocationPermissionRequestRef.
-
- * UIProcess/API/C/WKPage.h:
- Add new UIClient function for requesting permission.
+ (WebKit::WebPageProxy::initializeUIClient):
+ Send SetCanRunBeforeUnloadConfirmPanel and SetCanRunModal messages.
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- Stub out the UIClient.
+ (WebKit::WebPageProxy::creationParameters):
+ Initialize parameters.canRunBeforeUnloadConfirmPanel.
- * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: Added.
- * UIProcess/GeolocationPermissionRequestManagerProxy.h: Added.
- * UIProcess/GeolocationPermissionRequestProxy.cpp: Added.
- * UIProcess/WebPageProxy.cpp:
- * UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
+ Remove CanRunBeforeUnloadConfirmPanel message.
+
* UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::canRunBeforeUnloadConfirmPanel):
* UIProcess/WebUIClient.h:
- * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: Added.
- * WebProcess/Geolocation/GeolocationPermissionRequestManager.h: Added.
- * WebProcess/Geolocation/WebGeolocationManager.cpp:
- * WebProcess/Geolocation/WebGeolocationManager.h:
- * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
- * WebProcess/WebCoreSupport/WebGeolocationClient.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::didReceiveGeolocationPermissionDecision):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::geolocationPermissionRequestManager):
- * WebProcess/WebPage/WebPage.messages.in:
- Track the permission request through both sides of the process divide.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
- Add new files.
-
-2011-01-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Work towards having the WebPageProxy decide when to create the DrawingAreaProxy
- https://bugs.webkit.org/show_bug.cgi?id=52184
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::createDrawingAreaProxy):
- Call -[WKView _createDrawingAreaProxy].
-
- (WebKit::PageClientImpl::setViewNeedsDisplay):
- Call setNeedsDisplayInRect on the WKView.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:contextRef:pageGroupRef:]):
- No need to set the drawing area proxy anymore.
-
- (-[WKView _createDrawingAreaProxy]):
- Create a chunked update drawing area proxy for now.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::createDrawingAreaProxy):
- (QWKPagePrivate::setViewNeedsDisplay):
- Add stubs.
-
- * UIProcess/PageClient.h:
- Add new pure virtual member functions.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeWebPage):
- (WebKit::WebPageProxy::reinitializeWebPage):
- Set the new drawing area proxy.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- No need to set the drawing area proxy anymore.
-
- (WebKit::WebView::createDrawingAreaProxy):
- Create a chunked update drawing area proxy for now.
-
- (WebKit::WebView::setViewNeedsDisplay):
- Invalidate the window.
-
-2011-01-10 Anders Carlsson <andersca@apple.com>
-
- Fix Windows build again.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::isViewWindowActive):
-
-2011-01-10 Anders Carlsson <andersca@apple.com>
-
- Fix Windows build.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::onShowWindowEvent):
-
-2011-01-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Use a pull model for view state changes
- https://bugs.webkit.org/show_bug.cgi?id=52175
-
- Instead of having the WKView call setFocused, setActive etc on the WebPageProxy, the
- WKView now simply informs the WebPageProxy what has changed, using the WebPageProxy::viewStateDidChange
- function. The WebPageProxy can then fetch the relevant information using newly added PageClient functions.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::viewSize):
- (WebKit::PageClientImpl::isViewWindowActive):
- (WebKit::PageClientImpl::isViewFocused):
- (WebKit::PageClientImpl::isViewVisible):
- (WebKit::PageClientImpl::isViewInWindow):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:contextRef:pageGroupRef:]):
- (-[WKView becomeFirstResponder]):
- (-[WKView resignFirstResponder]):
- (-[WKView viewDidMoveToWindow]):
- (-[WKView _windowDidBecomeKey:]):
- (-[WKView _windowDidResignKey:]):
- (-[WKView viewDidHide]):
- (-[WKView viewDidUnhide]):
- (-[WKView _isFocused]):
- (-[WKView _didRelaunchProcess]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::focusInEvent):
- (QGraphicsWKView::focusOutEvent):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::QWKPagePrivate):
- (QWKPagePrivate::viewSize):
- (QWKPagePrivate::isViewWindowActive):
- (QWKPagePrivate::isViewFocused):
- (QWKPagePrivate::isViewVisible):
- (QWKPagePrivate::isViewInWindow):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::createWebPage):
- * UIProcess/WebContext.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::create):
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::viewStateDidChange):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::createWebPage):
- * UIProcess/WebProcessProxy.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- (WebKit::WebView::onSetFocusEvent):
- (WebKit::WebView::onKillFocusEvent):
- (WebKit::WebView::onShowWindowEvent):
- (WebKit::WebView::updateActiveState):
- (WebKit::WebView::viewSize):
- (WebKit::WebView::isViewWindowActive):
- (WebKit::WebView::isViewFocused):
- (WebKit::WebView::isViewVisible):
- (WebKit::WebView::isViewInWindow):
- (WebKit::WebView::didRelaunchProcess):
- (WebKit::WebView::setIsInWindow):
- * UIProcess/win/WebView.h:
-
-2011-01-10 Adam Roben <aroben@apple.com>
-
- Don't pass a reference type to va_start
-
- C++ says this results in undefined behavior:
-
- The restrictions that ISO C places on the second parameter to the
- va_start() macro in header <stdarg.h> are different in this
- International Standard. The parameter parmN is the identifier of
- the rightmost parameter in the variable parameter list of the
- function definition (the one just before the ...).221) If the
- parameter parmN is declared with a function, array, or reference
- type, or with a type that is not compatible with the type that
- results when passing an argument for which there is no parameter,
- the behavior is undefined.
-
- Fixes <http://webkit.org/b/52168> Title of standalone image document
- includes bogus image dimensions
-
- Rubber-stamped by Eric Seidel.
-
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::formatLocalizedString): Don't use a reference type for
- |format|.
-
-2011-01-10 Siddharth Mathur <siddharth.mathur@nokia.com>
-
- Reviewed by Eric Seidel.
-
- Support for ARM's RVCT(ARMCC) compiler in import/export directives
- https://bugs.webkit.org/show_bug.cgi?id=52146
-
- * Shared/API/c/WKBase.h:
-
-2011-01-10 Sam Weinig <sam@webkit.org>
-
- Fix the build.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
-
-2011-01-10 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Make Geolocation features work in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=52078
-
- Step 1 - Add enough support to get position data from a provider.
- This does not include permission support.
-
- * Platform/CoreIPC/HandleMessage.h:
- Add #include of Arguments.h for CoreIPC::In and Out definitions.
-
- * Platform/CoreIPC/MessageID.h:
- Add new message types.
+ Make canRunBeforeUnloadConfirmPanel const.
- * Shared/API/c/WKBase.h:
- * Shared/APIObject.h:
- Add new API types.
-
- * Shared/WebGeolocationPosition.cpp: Added.
- * Shared/WebGeolocationPosition.h: Added.
- Internal position representation.
-
- * UIProcess/API/C/WKAPICast.h:
- Add casts for new API types.
-
- * UIProcess/API/C/WKContext.cpp:
- * UIProcess/API/C/WKContext.h:
- * UIProcess/API/C/WKGeolocationManager.cpp: Added.
- * UIProcess/API/C/WKGeolocationManager.h: Added.
- * UIProcess/API/C/WKGeolocationPosition.cpp: Added.
- * UIProcess/API/C/WKGeolocationPosition.h: Added.
- * UIProcess/API/C/WebKit2.h:
- Add API to provide and control geolocation data.
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::canRunBeforeUnloadConfirmPanel):
+ Ask the web page instead of sending a synchronous message.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- (WebKit::WebContext::~WebContext):
- (WebKit::WebContext::processDidClose):
- (WebKit::WebContext::didReceiveMessage):
- * UIProcess/WebContext.h:
- (WebKit::WebContext::geolocationManagerProxy):
- * UIProcess/WebGeolocationManagerProxy.cpp: Added.
- (WebKit::WebGeolocationManagerProxy::create):
- (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
- (WebKit::WebGeolocationManagerProxy::~WebGeolocationManagerProxy):
- (WebKit::WebGeolocationManagerProxy::invalidate):
- (WebKit::WebGeolocationManagerProxy::initializeProvider):
- (WebKit::WebGeolocationManagerProxy::providerDidChangePosition):
- (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
- (WebKit::WebGeolocationManagerProxy::didReceiveMessage):
- (WebKit::WebGeolocationManagerProxy::startUpdating):
- (WebKit::WebGeolocationManagerProxy::stopUpdating):
- * UIProcess/WebGeolocationManagerProxy.h: Added.
- (WebKit::WebGeolocationManagerProxy::clearContext):
- (WebKit::WebGeolocationManagerProxy::type):
- * UIProcess/WebGeolocationManagerProxy.messages.in: Added.
- * UIProcess/WebGeolocationProvider.cpp: Added.
- (WebKit::WebGeolocationProvider::startUpdating):
- (WebKit::WebGeolocationProvider::stopUpdating):
- * UIProcess/WebGeolocationProvider.h: Added.
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveMessage):
- * WebProcess/Geolocation: Added.
- * WebProcess/Geolocation/WebGeolocationManager.cpp: Added.
- (WebKit::WebGeolocationManager::WebGeolocationManager):
- (WebKit::WebGeolocationManager::~WebGeolocationManager):
- (WebKit::WebGeolocationManager::didReceiveMessage):
- (WebKit::WebGeolocationManager::registerWebPage):
- (WebKit::WebGeolocationManager::unregisterWebPage):
- (WebKit::WebGeolocationManager::didChangePosition):
- (WebKit::WebGeolocationManager::didFailToDeterminePosition):
- * WebProcess/Geolocation/WebGeolocationManager.h: Added.
- * WebProcess/Geolocation/WebGeolocationManager.messages.in: Added.
- * WebProcess/WebCoreSupport/WebGeolocationClient.cpp: Added.
- (WebKit::WebGeolocationClient::geolocationDestroyed):
- (WebKit::WebGeolocationClient::startUpdating):
- (WebKit::WebGeolocationClient::stopUpdating):
- (WebKit::WebGeolocationClient::setEnableHighAccuracy):
- (WebKit::WebGeolocationClient::lastPosition):
- (WebKit::WebGeolocationClient::requestPermission):
- (WebKit::WebGeolocationClient::cancelPermissionRequest):
- * WebProcess/WebCoreSupport/WebGeolocationClient.h: Added.
- (WebKit::WebGeolocationClient::WebGeolocationClient):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::WebProcess):
- (WebKit::WebProcess::didReceiveMessage):
- * WebProcess/WebProcess.h:
- (WebKit::WebProcess::geolocationManager):
- Pipe geolocation positions/errors from the UIProcess to the WebProcess.
-
- * DerivedSources.make:
- * DerivedSources.pro:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Common.vsprops:
- * win/WebKit2Generated.make:
- Add new files.
-
-2011-01-10 Martin Robinson <mrobinson@igalia.com>
-
- GTK+ build fix. Continue to fix 'make dist.'
-
- * GNUmakefile.am: Remove more non-existent files from the WebKit2 build.
-
-2011-01-10 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Remove webkit2 files that are still not added to the
- repository from the makefile
- https://bugs.webkit.org/show_bug.cgi?id=52145
-
- This change is required for the release, we can add the lines
- again to the makefiles with the patches adding the files.
-
- * GNUmakefile.am:
-
-2011-01-10 Andreas Kling <kling@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] [WK2] MiniBrowser does not load pages opened in new windows
- https://bugs.webkit.org/show_bug.cgi?id=52111
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::context): Implement this method.
+ Initialize m_canRunBeforeUnloadConfirmPanel.
-2011-01-09 Dan Bernstein <mitz@apple.com>
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::canRunBeforeUnloadConfirmPanel):
+ (WebKit::WebPage::setCanRunBeforeUnloadConfirmPanel):
+ Add getter and setter for m_canRunBeforeUnloadConfirmPanel.
- Reviewed by Simon Fraser.
+ (WebKit::WebPage::setCanRunModal):
+ Add setter for m_canRunModal.
- <rdar://problem/8839498> Assertion failure in KURL::KURL when calling WKURLRequestCreateWithWKURL with a non-parsed URL
- https://bugs.webkit.org/show_bug.cgi?id=52132
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add SetCanRunBeforeUnloadConfirmPanel and SetCanRunModal messages.
- * Shared/API/c/WKURLRequest.cpp:
- (WKURLRequestCreateWithWKURL): Parse the URL.
- * Shared/WebString.h: Fixed a comment.
- * Shared/WebURL.h: Ditto.
+2011-03-03 Adam Roben <aroben@apple.com>
-2011-01-09 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
+ Create the CFBundleRef for WebKit.dll on Windows if needed
- Reviewed by Martin Robinson.
+ WebKit part of <http://webkit.org/b/55672> <rdar://problem/9080867> All inspector tests time
+ out or crash on Windows 7 Release (WebKit2 Tests)
- Changes to add Process Launcher and Thread Launcher implementation to the WebKit2 GTK port.
- The main() implementation for WebKitWebProcess binary to launch Web process from UI process.
- https://bugs.webkit.org/show_bug.cgi?id=48511
-
- * UIProcess/Launcher/gtk: Added.
- * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: Added. GTK (UNIX_X11 specific) implementation
- (WebKit::ProcessLauncher::launchProcess):
- (WebKit::ProcessLauncher::terminateProcess):
- (WebKit::ProcessLauncher::platformInvalidate):
- * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
- (WebKit::ThreadLauncher::createWebThread):
- * WebProcess/gtk: Added.
- * WebProcess/gtk/WebProcessGtk.cpp: Added. The stubbed implementations of virtual functions of WebProcess.h for GTK port.
- (WebKit::WebProcess::platformSetCacheModel):
- (WebKit::WebProcess::platformClearResourceCaches):
- (WebKit::WebProcess::platformInitializeWebProcess):
- (WebKit::WebProcess::platformShutdown):
- * WebProcess/gtk/WebProcessMainGtk.cpp: Added. The WebProcessMain call which initiates the Web Process for GTK port.
- (WebKit::WebProcessMainGtk):
- * WebProcess/gtk/WebProcessMainGtk.h: Added. The WebProcessMain declaration for Web Process for GTK port.
- * gtk/MainGtk.cpp: Added. The main function implementation for binary WebKitWebProcess.
- (main):
+ Reviewed by Darin Adler.
-2011-01-07 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
+ * Shared/win/WebKitBundle.cpp: Added.
+ (WebKit::createWebKitBundle): Returns a pre-existing bundle, if possible, otherwise creates
+ and returns a new bundle.
+ (WebKit::webKitBundle): Creates and caches a bundle, and returns it.
- Reviewed by Martin Robinson.
+ * Shared/win/WebKitBundle.h: Added.
- [GTK] WebKit2 GNUmakefile is out of date from trunk
- https://bugs.webkit.org/show_bug.cgi?id=51883
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::inspectorPageURL):
+ * WebProcess/WebPage/win/WebInspectorWin.cpp:
+ (WebKit::WebInspector::localizedStringsURL):
+ Changed to use webKitBundle() to ensure that the bundle has been created.
- * GNUmakefile.am: Updated sources list as per latest revision
- * Platform/gtk/RunLoopGtk.cpp:
- (RunLoop::TimerBase::start):
- * Platform/gtk/WorkQueueGtk.cpp:
- (WorkQueue::scheduleWorkAfterDelay):
- * Shared/gtk/BackingStoreGtk.cpp:
- (WebKit::BackingStore::paint):
- * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
- (WebKit::InjectedBundle::load):
- * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
- (WebKit::NetscapePlugin::platformInvalidate):
+ * win/WebKit2.vcproj: Added new files.
-2011-01-08 Dan Bernstein <mitz@apple.com>
+2011-03-03 Peter Kasting <pkasting@google.com>
- Reviewed by Sam Weinig.
+ Reviewed by James Robinson.
- <rdar://problem/8812759> In WebKit2, PDF view settings (mode and scale) do not stick
- https://bugs.webkit.org/show_bug.cgi?id=52118
+ Drop redundant "Windows; " from the Windows-specific User Agent string.
+ https://bugs.webkit.org/show_bug.cgi?id=54567
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::encode): Encode the double values map.
- (WebKit::WebPreferencesStore::decode): Decode the double values map.
- (WebKit::defaultValueForKey): Added double instance.
- (WebKit::WebPreferencesStore::setDoubleValueForKey): Added.
- (WebKit::WebPreferencesStore::getDoubleValueForKey): Added.
- * Shared/WebPreferencesStore.h: Added PDFScaleFactor and PDFDisplayMode preferences.
- * UIProcess/API/mac/PDFViewController.mm:
- (-[WKPDFView initWithFrame:PDFViewController:WebKit::]): Initialize the _pdfViewController ivar.
- (-[WKPDFView invalidate]): Changed 'nil' to '0' in assignment to a non-Objective-C pointer.
- (-[WKPDFView setDocument:]): Added.
- (-[WKPDFView _applyPDFPreferences]): Added.
- (-[WKPDFView _updatePreferences:]): Added.
- (-[WKPDFView _updatePreferencesSoon]): Added.
- (-[WKPDFView _scaleOrDisplayModeOrPageChanged:]): Added.
- (-[WKPDFView viewDidMoveToWindow]): Added. Starts observing the PDF view for changes to scale
- and display mode.
- (-[WKPDFView viewWillMoveToWindow:]): Added. Stops observing for changes.
- (WebKit::PDFViewController::setPDFDocumentData): Changed to call throguh -[WKPDFView setDocument:].
- * UIProcess/WebPreferences.cpp:
- (WebKit::WebPreferences::updateDoubleValueForKey): Added.
- * UIProcess/WebPreferences.h:
- * UIProcess/cf/WebPreferencesCF.cpp:
- (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added empty implementation.
- * UIProcess/gtk/WebPreferencesGtk.cpp:
- (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added stub.
- * UIProcess/mac/WebPreferencesMac.mm:
- (WebKit::setDoubleValueIfInUserDefaults): Added.
- (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added.
- * UIProcess/qt/WebPreferencesQt.cpp:
- (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added.
+ * UIProcess/win/WebPageProxyWin.cpp:
+ (WebKit::WebPageProxy::standardUserAgent):
-2011-01-08 Dan Bernstein <mitz@apple.com>
+2011-03-02 Sheriff Bot <webkit.review.bot@gmail.com>
- Reviewed by Maciej Stachowiak.
+ Unreviewed, rolling out r80188.
+ http://trac.webkit.org/changeset/80188
+ https://bugs.webkit.org/show_bug.cgi?id=55647
- In WebKit2, page zooming does not work with PDF
- https://bugs.webkit.org/show_bug.cgi?id=52113
+ Broke the WebKit API tests. (Requested by xenon on #webkit).
* UIProcess/API/C/WKPage.cpp:
- (WKPageSupportsTextZoom): Added. Returns whether the page currently supports text-only zoom.
+ (WKPageRunJavaScriptInMainFrame):
+ (callRunJavaScriptBlockAndRelease):
* UIProcess/API/C/WKPage.h:
- * UIProcess/API/mac/PDFViewController.h: Made pdfDocumentClass() private and declared new
- member functions.
- * UIProcess/API/mac/PDFViewController.mm:
- (WebKit::PDFViewController::zoomFactor): Added.
- (WebKit::PDFViewController::setZoomFactor): Added.
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::customRepresentationZoomFactor): Added. Calls through to the WKView.
- (WebKit::PageClientImpl::setCustomRepresentationZoomFactor): Ditto.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _customRepresentationZoomFactor]): Added. Calls through to the PDFViewController.
- (-[WKView _setCustomRepresentationZoomFactor:]): Ditto.
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/API/qt/qwkpage_p.h:
- (QWKPagePrivate::customRepresentationZoomFactor): Added.
- (QWKPagePrivate::setCustomRepresentationZoomFactor): Added.
- * UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy): Coding style fix.
- (WebKit::WebPageProxy::supportsTextZoom): Added. Returns false if the main frame has a custom
- representation or is a standalone image, true otherwise.
- (WebKit::WebPageProxy::setTextZoomFactor): Bail out if the main frame has a custom representation.
- (WebKit::WebPageProxy::pageZoomFactor): If the main frame has a custom representation, get the
- zoom factor from the page client.
- (WebKit::WebPageProxy::setPageZoomFactor): If the main frame has a custom representation, have
- the client set the zoom factor.
- (WebKit::WebPageProxy::setPageAndTextZoomFactors): Ditto.
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::runJavaScriptInMainFrame):
+ (WebKit::WebPageProxy::processDidCrash):
* UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::textZoomFactor): Changed to return 1 if the main frame has a custom
- representation.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::customRepresentationZoomFactor): Added.
- (WebKit::WebView::setCustomRepresentationZoomFactor): Added.
- * UIProcess/win/WebView.h:
-
-2011-01-08 Jeff Miller <jeffm@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- Add WKBundleFrameGetVisibleContentBounds().
- https://bugs.webkit.org/show_bug.cgi?id=52089
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameGetVisibleContentBounds):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- Added WKBundleFrameGetVisibleContentBounds().
-
-2011-01-08 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt][WK2] QWKView does not propagate show and hide events to the drawing area
- https://bugs.webkit.org/show_bug.cgi?id=52108
-
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::event): Call setPageIsVisible on the drawing area
- if the event is Show or Hide.
-
-2011-01-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt][Symbian] Make sure WebKit headers are included before platform headers on Symbian
- https://bugs.webkit.org/show_bug.cgi?id=31273
-
- On Symbian PREPEND_INCLUDEPATH is the best way to make sure that WebKit headers
- are included before platform headers. On all other platforms continue to use
- INCLUDEPATH (as before).
-
- * WebKit2.pro:
-
-2011-01-08 Csaba Osztrogonác <ossy@webkit.org>
-
- [Qt][WK2] Unreviewed buildfix after r75313.
-
- * Scripts/generate-forwarding-headers.pl:
-
-2011-01-08 Adam Barth <abarth@webkit.org>
-
- Moving WebCore changes the layout of the Qt build directory as well,
- which means we need to change where we look for these generated files.
-
- * DerivedSources.pro:
-
-2011-01-07 Adam Barth <abarth@webkit.org>
-
- Rubber-stamped by Eric Seidel.
-
- Move WebCore to Source
- https://bugs.webkit.org/show_bug.cgi?id=52050
-
- * WebKit2.pro:
-
-2011-01-07 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Geoff Garen.
-
- <rdar://problem/8649617> Migrate memory tracking from Safari to WebKit
- https://bugs.webkit.org/show_bug.cgi?id=50799 Add Memory Sampler to WebKit
-
- Add a sampler for printing off process memory statistics.
- This tool can track:
-
- WebCore
- - FastMalloc allocations bytes (in use or committed)
- JavaScriptCore
- - Garbage collector heap bytes (in use or committed)
- - Stack bytes (committed only!)
- - JIT Code bytes (committed only!)
- Malloc zones
- - In use bytes for the following zones:
- * Default zone (in use or committed)
- * DispCon zone (in use or committed)
- * Purgable zone (in use or committed)
- Task Info
- - Resident size memory (RSIZE)
-
- Data collected is dumped to a temporary file.
-
- Create a sandbox for a temporary file.
- * Shared/SandboxExtension.h:
- (WebKit::SandboxExtension::createHandleForTemporaryFile):
- * Shared/mac/SandboxExtensionMac.mm:
- (WebKit::SandboxExtension::createHandleForTemporaryFile):
-
- Memory Sampler files
-
- * Shared/WebMemorySampler.cpp: Added.
- (WebKit::WebMemorySampler::shared):
- (WebKit::WebMemorySampler::WebMemorySampler):
- (WebKit::WebMemorySampler::start):
- (WebKit::WebMemorySampler::initializeTimers):
- (WebKit::WebMemorySampler::stop):
- (WebKit::WebMemorySampler::isRunning):
- (WebKit::WebMemorySampler::initializeTempLogFile):
- (WebKit::WebMemorySampler::initializeSandboxedLogFile):
- (WebKit::WebMemorySampler::writeHeaders):
- (WebKit::WebMemorySampler::sampleTimerFired):
- (WebKit::WebMemorySampler::stopTimerFired):
- (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
- * Shared/WebMemorySampler.h: Added.
- * Shared/mac/WebMemorySampler.mac.mm: Added.
- (WebKit::WebMemorySampler::sampleSystemMalloc):
- (WebKit::WebMemorySampler::sampleProcessCommittedBytes):
- (WebKit::WebMemorySampler::processName):
- (WebKit::WebMemorySampler::sampleWebKit):
-
- API to start and stop UIProcess and WebProcess sampling.
-
- * UIProcess/API/C/WKContext.cpp:
- (WKContextStartMemorySampler):
- (WKContextStopMemorySampler):
- * UIProcess/API/C/WKContext.h:
-
- Send messages to WebProcess to start and stop memory sampling.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- (WebKit::WebContext::processDidFinishLaunching):
- (WebKit::WebContext::startMemorySampler):
- (WebKit::WebContext::stopMemorySampler):
- * UIProcess/WebContext.h:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::startMemorySampler):
- (WebKit::WebProcess::stopMemorySampler):
- * WebProcess/WebProcess.h:
- * WebProcess/WebProcess.messages.in:
-
-2011-01-07 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- WebKit2: Need WKBundleFrameCopyProvisionalURL
- https://bugs.webkit.org/show_bug.cgi?id=52083
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameCopyProvisionalURL):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::provisionalURL):
- Grab the URL from the provisional document loader.
- * WebProcess/WebPage/WebFrame.h:
-
-2011-01-07 James Robinson <jamesr@chromium.org>
-
- Revert "Implement mozilla's animationTime property"
- https://bugs.webkit.org/show_bug.cgi?id=51952
-
- This approach isn't quite right.
-
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- (WebKit::ChunkedUpdateDrawingArea::display):
- (WebKit::ChunkedUpdateDrawingArea::setSize):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::drawRect):
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
-
-2011-01-07 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] WebKit2 GNUmakefile is out of date from trunk
- Adding new stub files for compiling on latest revision
- https://bugs.webkit.org/show_bug.cgi?id=51883
-
- * UIProcess/gtk: Added.
- * UIProcess/gtk/TextCheckerGtk.cpp: Added.
- (WebKit::TextChecker::state):
- (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
- (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
- (WebKit::TextChecker::setGrammarCheckingEnabled):
- (WebKit::TextChecker::uniqueSpellDocumentTag):
- (WebKit::TextChecker::closeSpellDocumentWithTag):
- (WebKit::TextChecker::checkTextOfParagraph):
- (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
- (WebKit::TextChecker::getGuessesForWord):
- (WebKit::TextChecker::learnWord):
- (WebKit::TextChecker::ignoreWord):
- * UIProcess/gtk/WebInspectorGtk.cpp: Added.
- (WebKit::WebInspectorProxy::platformCreateInspectorPage):
- (WebKit::WebInspectorProxy::platformOpen):
- (WebKit::WebInspectorProxy::platformClose):
- (WebKit::WebInspectorProxy::inspectorPageURL):
- * UIProcess/gtk/WebPageProxyGtk.cpp: Added.
- (WebKit::WebPageProxy::standardUserAgent):
- * UIProcess/gtk/WebPreferencesGtk.cpp: Added.
- (WebKit::WebPreferences::platformInitializeStore):
- (WebKit::WebPreferences::platformUpdateStringValueForKey):
- (WebKit::WebPreferences::platformUpdateBoolValueForKey):
- (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
- * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: Added.
- (WebKit::WebContextMenuClient::lookUpInDictionary):
- (WebKit::WebContextMenuClient::isSpeaking):
- (WebKit::WebContextMenuClient::speak):
- (WebKit::WebContextMenuClient::stopSpeaking):
- * WebProcess/WebCoreSupport/gtk/WebDatabaseManagerGtk.cpp: Added.
- (WebKit::WebDatabaseManager::databaseDirectory):
- * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp: Added.
- (WebKit::WebPopupMenu::setUpPlatformData):
- * WebProcess/WebPage/gtk: Added.
- * WebProcess/WebPage/gtk/WebInspectorGtk.cpp: Added.
- (WebKit::WebInspector::localizedStringsURL):
-
-2011-01-06 Adam Roben <aroben@apple.com>
-
- Don't ever call ::SetCursor(0)
-
- Doing so makes the cursor disappear from the screen.
-
- Fixes <http://webkit.org/b/52024> Mouse cursor flashes when moving it
- around a WKView before the web process has finished launching
-
- Reviewed by Jon Honeycutt.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::onSetCursor): If we don't have a cursor to set, just
- let Windows do its default thing (which is to set the cursor to the
- window class's cursor, which in our case is the arrow cursor).
- (WebKit::WebView::cursorToShow): Just return 0 when the page has
- crashed so that we'll show the default cursor (which is the arrow
- cursor). This change has no visible effect, but seems slightly better
- conceptually.
- (WebKit::WebView::updateNativeCursor): Don't do anything if we don't
- have a cursor to set.
-
-2011-01-06 Adam Roben <aroben@apple.com>
-
- Fill the WKView with white when the web process hasn't drawn anything
- yet
-
- Fixes <http://webkit.org/b/52023> WKView accumulates pixel garbage
- before web process has had a chance to draw anything (if Aero is
- disabled)
-
- Reviewed by Jon Honeycutt.
-
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
- * UIProcess/DrawingAreaProxy.h:
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- (WebKit::LayerBackedDrawingAreaProxy::paint):
- * UIProcess/LayerBackedDrawingAreaProxy.h:
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::paint):
- * UIProcess/TiledDrawingAreaProxy.h:
- * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
- (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
- * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
- * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
- * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp:
- (WebKit::LayerBackedDrawingAreaProxy::paint):
- Changed these functions to return a boolean indicating whether we
- actually painted anything.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::onPaintEvent): Fill with white (and don't call
- didDraw) when the DrawingAreaProxy isn't able to paint.
-
-2011-01-06 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- WebKit2: Need WKBundlePagePrivate equivalent of WebKit1's WebViewPrivate's setDefersCallbacks
- https://bugs.webkit.org/show_bug.cgi?id=52038
-
- The implementation of WebKit1's WebViewPrivate's setDefersCallbacks on both Windows and Mac
- calls WebCore::Page::setDefersLoading.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageSetDefersLoading):
- * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setDefersLoading):
- * WebProcess/WebPage/WebPage.h:
-
-2011-01-06 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/8261624> and https://bugs.webkit.org/show_bug.cgi?id=47355
- Change WebKit2 session restoring to restore the full back/forward list.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::registerNewWebBackForwardListItem): Let the UIProcess register its own
- WebBackForwardListItems in its ID map upon creation.
- * UIProcess/WebProcessProxy.h:
-
- * UIProcess/cf/WebPageProxyCF.cpp:
- (WebKit::WebPageProxy::restoreFromSessionStateData): Register each new list entry in the
- UIProcess ID map.
-
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- (WebKit::WebBackForwardListProxy::addItemFromUIProcess): Add this method to register UIProcess
- created items without doing any of the other work normally associated with adding a new back/forward item
- (such as notifying the UIProcess).
- * WebProcess/WebPage/WebBackForwardListProxy.h:
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::restoreSession): Map all of the back/forward list entries from the UIProcess then
- cause a load of the current entry.
-
-2011-01-06 Adam Roben <aroben@apple.com>
-
- Always show the arrow cursor when the web process has crashed
-
- Fixes <http://webkit.org/b/52006> WKView shows a stale cursor when the
- web process crashes
-
- Reviewed by Ada Chan.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::processDidCrash):
- (WebKit::WebView::didRelaunchProcess):
- Update the cursor to reflect the new state.
-
- (WebKit::WebView::cursorToShow): Always show the arrow cursor when the
- web process has crashed.
-
-2011-01-06 Adam Roben <aroben@apple.com>
-
- Reduce code duplication in WebView::updateNativeCursor
-
- Fixes <http://webkit.org/b/52005> It's not easy to add new behavior to
- WebView::updateNativeCursor
-
- Reviewed by Ada Chan.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::cursorToShow): Moved code to choose a cursor here...
- (WebKit::WebView::updateNativeCursor): ...from here.
-
- * UIProcess/win/WebView.h: Added cursorToShow.
-
-2011-01-06 Adam Roben <aroben@apple.com>
-
- Make WKView fill with white when the web process has crashed
-
- Previously we would just draw whatever we had last drawn into the
- WKView (i.e., a stale picture of the web page), which was confusing
- (because the web page would mysteriously not respond to input) and ugly
- (because it wouldn't behave properly if the window was resized).
-
- Fixes <http://webkit.org/b/52004> WKView keeps painting a stale
- picture of the web page when the web process crashes
-
- Reviewed by Ada Chan.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::onPaintEvent): Ported code from -[WKView drawRect:]
- to fill with white if the page is invalid or has no DrawingArea. As a
- bonus, also ported the call to WebPageProxy::didDraw from that method.
-
- (WebKit::WebView::processDidCrash):
- (WebKit::WebView::didRelaunchProcess):
- Invalidate our window so that we'll redraw with white or the new page.
-
-2011-01-06 Adam Roben <aroben@apple.com>
-
- Make WKViews work on Windows after a crashed web process gets relaunched
-
- Fixes <http://webkit.org/b/52001> Relaunching the web process fails to
- revivify WKViews on Windows
-
- Reviewed by Ada Chan.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::didRelaunchProcess): Implemented by porting code from
- -[WKView _didRelaunchProcess].
-
-2011-01-06 Adam Roben <aroben@apple.com>
-
- Remove WebView::m_rect
-
- It was only used in the constructor, and wasn't even kept up-to-date as
- the WebView's size changed.
-
- Fixes <http://webkit.org/b/52000> WebView::m_rect is unnecessary
-
- Reviewed by Ada Chan.
-
- * UIProcess/win/WebView.cpp:
- * UIProcess/win/WebView.h:
-
-2011-01-05 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Ada Chan.
-
- WebKit2: Should be able to call into injected bundle to ask if we should allow resource loads
- https://bugs.webkit.org/show_bug.cgi?id=51969
-
- Add the ability to call into the injected bundle to ask if we should allow resource loads.
- If the injected bundle says we should cancel, we clear out the ResourceRequest that was
- passed into willSendRequest, which cancels the resource load.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add the new callback for allowing/cancelling
- resource loads.
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- (WebKit::InjectedBundlePageLoaderClient::shouldLoadResourceForFrame): Calls through to the client.
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchWillSendRequest): Ask the InjectedBundlePageLoaderClient if we
- should load the resource or not.
-
-2011-01-06 Jeff Miller <jeffm@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit2: Add APIs to WKBundleFrame to get content bounds and scroll offset
- https://bugs.webkit.org/show_bug.cgi?id=51968
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameGetContentBounds):
- (WKBundleFrameGetScrollOffset):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- Add WKBundleFrameGetContentBounds() and WKBundleFrameGetScrollOffset().
-
-2011-01-06 James Robinson <jamesr@chromium.org>
-
- Reviewed by Simon Fraser.
-
- Implement mozilla's animationTime property
- https://bugs.webkit.org/show_bug.cgi?id=51952
-
- Tells the page to clear the current animation time after producing a frame.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::drawRect):
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- (WebKit::ChunkedUpdateDrawingArea::display):
- (WebKit::ChunkedUpdateDrawingArea::setSize):
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
-
-2011-01-06 Darin Adler <darin@apple.com>
-
- Redo the half-done rename from the last check-in.
- Sorry for the broken build last night.
-
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- (WebKit::WebBackForwardListProxy::removeItem): Renamed.
- * WebProcess/WebPage/WebBackForwardListProxy.h: Updated
- for new name.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didRemoveBackForwardItem): Updated to
- use the new name.
-
-2011-01-06 Maciej Stachowiak <mjs@apple.com>
-
- Rubber stamped by Dan Bernstein.
-
- Fix build for Darin's previous change w/ the obvious renaming.
-
- * WebProcess/WebPage/WebBackForwardListProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didRemoveBackForwardItem):
-
-2011-01-05 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff Garen.
-
- Back/Forward entries in WebKit2 leak
- https://bugs.webkit.org/show_bug.cgi?id=51983
-
- Besides fixing the leak, this also fixes a problem where
- all history items were sent over to the UI process, but
- we wanted to send only back/forward items.
-
- * UIProcess/WebBackForwardList.cpp:
- (WebKit::WebBackForwardList::pageClosed): Added.
- Tells the web process about all the back/forward
- items being removed.
- (WebKit::WebBackForwardList::addItem): Ditto.
- Also removed a redundant call to didChangeBackForwardList.
- (WebKit::WebBackForwardList::clear): Ditto.
-
- * UIProcess/WebBackForwardList.h: Added pageClosed.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close): Added a call to pageClosed.
- (WebKit::WebPageProxy::backForwardRemovedItem): Added.
- Sends a message to the web page in the web process.
-
- * UIProcess/WebPageProxy.h: Added backForwardRemovedItem.
-
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- (WebKit::updateBackForwardItem): Added an itemID argument,
- since callers will now be getting it and we don't want to
- get it twice. Removed the code to generate an ID. Also
- removed some local variables to make the code a little
- tighter and clearer.
- (WebKit::WK2NotifyHistoryItemChanged): Only call
- updateBackForwardItem for items that already have IDs.
- We don't want to send cross-process messages for every
- history item; just the ones that are top level back/forward
- items.
- (WebKit::WebBackForwardListProxy::removeItem):
- Added. For use when the UI process tells us to remove it.
- (WebKit::WebBackForwardListProxy::addItem): Added code to
- assign an ID and put this item into the maps. This is called
- exactly once on each back/forward item.
-
- * WebProcess/WebPage/WebBackForwardListProxy.h: Added
- removeItem.
-
+ * UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didRemoveBackForwardItem): Added.
-
- * WebProcess/WebPage/WebPage.h: Added didRemoveBackForwardItem.
-
- * WebProcess/WebPage/WebPage.messages.in: Added
- DidRemoveBackForwardItem message.
+ (WebKit::WebPage::runJavaScriptInMainFrame):
-2011-01-05 Steve Falkenburg <sfalken@apple.com>
+2011-03-02 Jeff Miller <jeffm@apple.com>
Reviewed by Darin Adler.
- Debug and Release builds on Windows clobber each other
- https://bugs.webkit.org/show_bug.cgi?id=49185
-
- Changes the structure of WebKitBuild build products directory so we
- completely separate each build configuration into independent directories.
+ Rename WebKit::WebPage::validateMenuItem() to validateCommand()
+ https://bugs.webkit.org/show_bug.cgi?id=55636
- Although we previously had per-configuration directories for obj, this change adds
- per-configuration directories for bin, lib, obj, and include. Each configuration's
- build products are stored within a directory inside of WebKitBuild.
-
- Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
- defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).
-
- * win/WebKit2.make:
- * win/WebKit2.vcproj:
- * win/WebKit2Common.vsprops:
- * win/WebKit2Generated.make:
- * win/WebKit2GeneratedCommon.vsprops:
- * win/WebKit2WebProcessPostBuild.cmd:
- * win/WebKit2WebProcessPreBuild.cmd:
- * win/WebKitPostBuild.cmd:
- * win/WebKitPreBuild.cmd:
-
-2011-01-05 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=51973
- Make main frame PDF printing work
-
- * UIProcess/API/mac/PDFViewController.h:
- * UIProcess/API/mac/PDFViewController.mm: (WebKit::PDFViewController::makePrintOperation):
- Ask PDFDocument to create an NSPrintOperation.
+ Since this method can validate more than menu items, validateCommand() is a better name. Also rename various messages and WebKit::WebPageProxy::didValidateMenuItem() to didValidateCommand().
- * UIProcess/API/mac/WKView.h:
* UIProcess/API/mac/WKView.mm:
- (-[WKView printOperationWithPrintInfo:forFrame:]): Create a new NSPrintOperation, either
- from scratch or from a PDF view.
- (-[WKView canPrintHeadersAndFooters]): Report if the view can be re-paginated to add headers
- and footers.
-
-2011-01-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/8750248>
- Need a way to create a new DownloadProxy from an arbitrary resource request
-
- <rdar://problem/8750465>
- Need a way to start a download in WKDownload
-
- <rdar://problem/8752204>
- WK2 Context Menus - "Save linked file" support
-
- * Shared/ContextMenuState.h: Added.
- Add a ContextMenuState struct which contains state for context menus.
-
- * UIProcess/API/C/WKContext.cpp:
- (WKContextDownloadURLRequest):
- Call WebContext::download.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::download):
- Send a DownloadRequest message to the web process.
-
+ (-[WKView validateUserInterfaceItem:]): Call validateCommand() instead of validateMenuItem().
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::showContextMenu):
- Set the active context menu state.
-
- (WebKit::WebPageProxy::contextMenuItemSelected):
- Handle ContextMenuItemTagDownloadImageToDisk and ContextMenuItemTagDownloadLinkToDisk by calling
- WebContext::Download, passing the respective URLs.
-
- * UIProcess/WebPageProxy.messages.in:
- ShowContextMenu now takes state as well.
-
- * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
- (WebKit::WebContextMenuClient::downloadURL):
- Assert that this is never reached; downloads are handled in the UI process.
-
- * WebProcess/WebPage/WebContextMenu.cpp:
- (WebKit::WebContextMenu::show):
- Pass the context menu state along when sending the ShowContextMenu message.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::downloadRequest):
- Call the shared DownloadManager.
-
- * WebProcess/WebProcess.messages.in:
- Add DownloadRequest message.
-
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add ContextMenuState.h.
-
-2011-01-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed build fix.
-
- [Qt] [Symbian] Fix building NPAPI support
-
- NPEvent is mapped to QAction on Symbian. QAction has no
- default constructor, so toNP() fails to build. Add a case for
- Symbian behind the OS(SYMBIAN) guard.
-
- * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
- (WebKit::toNP):
-
-2011-01-05 Jeff Miller <jeffm@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Copy WKImageCG.h to include\WebKit2 in build output
- https://bugs.webkit.org/show_bug.cgi?id=51944
-
- * win/WebKit2Generated.make:
- Add xcopy command to copy WKImageCG.h.
-
-2011-01-05 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Part of <rdar://problem/8261624> and https://bugs.webkit.org/show_bug.cgi?id=47355
- Change WebKit2 session restoring to restore the full back/forward list
-
- Add a new message to tell the WebProcess to restore a session state:
+ (WebKit::WebPageProxy::validateCommand): Renamed from validateMenuItem().
+ (WebKit::WebPageProxy::didValidateCommand): Renamed from didValidateMenuItem().
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in: Renamed DidValidateMenuItem to DidValidateCommand.
* WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::restoreSession):
+ (WebKit::WebPage::validateCommand): Renamed from validateMenuItem().
* WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in: Add the new message, AND fix the intentional misspellings.
-
- Also, Sam sucks.
+ * WebProcess/WebPage/WebPage.messages.in: Renamed ValidateMenuItem to ValidateCommand.
- Change WebProcess back/forward list item ids to be odd (UIProcess's will be even):
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- (WebKit::generateHistoryItemID):
-
- Provide accessors to the entries in the list to pass to the WebProcess:
- * UIProcess/WebBackForwardList.h:
- (WebKit::WebBackForwardList::entries):
- (WebKit::WebBackForwardList::currentIndex):
-
- Add decoding of the saved back/forward list itmes (we already encode them):
- * UIProcess/cf/WebBackForwardListCF.cpp:
- (WebKit::generateWebBackForwardItemID):
- (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
-
- Instead of loading the current URL, pass the entire last back to the WebProcess:
- * UIProcess/cf/WebPageProxyCF.cpp:
- (WebKit::WebPageProxy::restoreFromSessionStateData):
-
-2011-01-05 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=51953
- Add a "SessionState" object for IPC messaging.
-
- This object includes all data necessary to restore a session state;
- For now, this is just the back/forward list to restore.
-
- * Shared/SessionState.cpp: Added.
- (WebKit::SessionState::SessionState):
- (WebKit::SessionState::encode):
- (WebKit::SessionState::decode):
- * Shared/SessionState.h: Added.
- (WebKit::SessionState::list):
- (WebKit::SessionState::currentIndex):
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
-2011-01-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed build fix.
-
- Include unistd.h for _exit() for non-Windows builds.
-
- Build break noticed on QtWebkit Symbian builds.
-
- * Shared/ChildProcess.cpp:
-
-2011-01-05 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=51949
- Make WebBackForwardListItem shared, and add encoders and decoders
-
- * Shared/WebBackForwardListItem.cpp: Copied from UIProcess/WebBackForwardListItem.cpp.
- (WebKit::WebBackForwardListItem::encode):
- (WebKit::WebBackForwardListItem::decode):
- * Shared/WebBackForwardListItem.h: Copied from UIProcess/WebBackForwardListItem.h.
- * UIProcess/WebBackForwardListItem.cpp: Removed.
- * UIProcess/WebBackForwardListItem.h: Removed.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
-2011-01-05 Anders Carlsson <andersca@apple.com>
+2011-03-02 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- Handle smart insert/delete
- https://bugs.webkit.org/show_bug.cgi?id=51946
+ WKPageSetMemoryCacheClientCallsEnabled doesn't persist if web process crashes
+ https://bugs.webkit.org/show_bug.cgi?id=55635
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
- * Shared/WebPageCreationParameters.h:
- Add isSmartInsertDelete enabled.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView validateUserInterfaceItem:]):
- Handle toggleSmartInsertDelete:.
+ Encode and decode areMemoryCacheClientCallsEnabled.
- (-[WKView toggleSmartInsertDelete:]):
- Toggle the smart insert/delete state.
-
- * UIProcess/TextChecker.h:
- Add isSmartInsertDeleteEnabled and setSmartInsertDeleteEnabled.
+ * Shared/WebPageCreationParameters.h:
+ Add areMemoryCacheClientCallsEnabled member variable.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
- Initialize m_isSmartInsertDeleteEnabled.
-
- (WebKit::WebPageProxy::contextMenuItemSelected):
- Handle ContextMenuItemTagSmartCopyPaste.
+ Initialize m_areMemoryCacheClientCallsEnabled.
- (WebKit::WebPageProxy::setSmartInsertDeleteEnabled):
- Update the state and send a SetSmartInsertDeleteEnabled message.
+ (WebKit::WebPageProxy::setMemoryCacheClientCallsEnabled):
+ Update m_areMemoryCacheClientCallsEnabled. Send a message if necessary.
(WebKit::WebPageProxy::creationParameters):
- Initialize isSmartInsertDeleteEnabled.
-
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::isSmartInsertDeleteEnabled):
- Return m_isSmartInsertDeleteEnabled.
-
- * UIProcess/mac/TextCheckerMac.mm:
- (WebKit::TextChecker::isSmartInsertDeleteEnabled):
- (WebKit::TextChecker::setSmartInsertDeleteEnabled):
- Store and fetch the smart insert delete state.
-
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::smartInsertDeleteEnabled):
- Call WebPage::isSmartInsertDeleteEnabled.
-
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- (WebKit::WebEditorClient::toggleSmartInsertDelete):
- Assert that this is never called.
+ Set areMemoryCacheClientCallsEnabled.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
- Initialize m_isSmartInsertDeleteEnabled
-
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::isSmartInsertDeleteEnabled):
- (WebKit::WebPage::setSmartInsertDeleteEnabled):
- Add getter and setter.
-
- * WebProcess/WebPage/WebPage.messages.in:
- Add SetSmartInsertDeleteEnabled message.
-
-2011-01-05 Anders Carlsson <andersca@apple.com>
+ Call WebPage::setMemoryCacheMessagesEnabled.
- Fix Windows build.
-
- * WebProcess/WebPage/WebPage.cpp:
-
-2011-01-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adele Peterson.
+2011-03-02 Timothy Hatcher <timothy@apple.com>
- Implement word transformation
- https://bugs.webkit.org/show_bug.cgi?id=51943
+ Make the runJavaScriptInMainFrame callback send a WKSerializedScriptValueRef.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView validateUserInterfaceItem:]):
- Handle the word transformation selectors.
-
- (-[WKView uppercaseWord:]):
- (-[WKView lowercaseWord:]):
- (-[WKView capitalizeWord:]):
- Call down to the WebPageProxy.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::uppercaseWord):
- (WebKit::WebPageProxy::lowercaseWord):
- (WebKit::WebPageProxy::capitalizeWord):
- Send messages to the WebPage.
+ https://webkit.org/b/55623
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- (WebKit::changeWordCase):
- Add helper function.
-
- (WebKit::WebEditorClient::uppercaseWord):
- (WebKit::WebEditorClient::lowercaseWord):
- (WebKit::WebEditorClient::capitalizeWord):
- Call helper function.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::changeSpellingToWord):
- Call replaceSelectionWithText.
-
- (WebKit::WebPage::uppercaseWord):
- (WebKit::WebPage::lowercaseWord):
- (WebKit::WebPage::capitalizeWord):
- Call the editor functions.
-
- (WebKit::WebPage::replaceSelectionWithText):
- New helper function that replaces the selected string with another string.
-
- * WebProcess/WebPage/WebPage.messages.in:
- Add new messages.
-
-2011-01-05 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=51935
- Add WebKit2 API for largest frame
+ Reviewed by Darin Adler.
* UIProcess/API/C/WKPage.cpp:
- (WKPageGetFrameSetLargestFrame):
- * UIProcess/API/C/WKPage.h:
-
-2011-01-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- More work on spelling
- https://bugs.webkit.org/show_bug.cgi?id=51939
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView validateUserInterfaceItem:]):
- Handle changeSpelling: as well.
-
- (-[WKView showGuessPanel:]):
- Show or hide the guess panel.
-
- (-[WKView checkSpelling:]):
- Pass false to advanceToNextMisspelling.
-
- (-[WKView changeSpelling:]):
- Call changeSpellingToWord.
-
- * UIProcess/TextChecker.h:
+ (WKPageRunJavaScriptInMainFrame): Use ScriptValueCallback.
+ (callRunJavaScriptBlockAndRelease): Use WKSerializedScriptValueRef.
+ * UIProcess/API/C/WKPage.h: Use WKSerializedScriptValueRef.
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- Initialize m_pendingLearnOrIgnoreWordMessageCount.
-
- (WebKit::WebPageProxy::contextMenuItemSelected):
- Handle smart toggles directly in the UI process, keep track of whether
- we're asked to learn or ignore a word.
-
- (WebKit::WebPageProxy::advanceToNextMisspelling):
- Pass the boolean through.
-
- (WebKit::WebPageProxy::changeSpellingToWord):
- Send a ChangeSpellingToWord message.
-
- (WebKit::WebPageProxy::learnWord):
- (WebKit::WebPageProxy::ignoreWord):
- Check that we do have a pending learn or ignore word message. Call through to
- the text checker.
-
- (WebKit::WebPageProxy::processDidCrash):
- Reset the m_pendingLearnOrIgnoreWordMessageCount variable.
-
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- Add new messages.
-
- * UIProcess/mac/TextCheckerMac.mm:
- (WebKit::TextChecker::learnWord):
- (WebKit::TextChecker::ignoreWord):
- Implement in terms of NSSpellChecker.
-
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::ignoreWordInSpellDocument):
- (WebKit::WebEditorClient::learnWord):
- Send IgnoreWord and LearnWord messages.
-
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- (WebKit::WebEditorClient::toggleAutomaticQuoteSubstitution):
- (WebKit::WebEditorClient::toggleAutomaticLinkDetection):
- (WebKit::WebEditorClient::toggleAutomaticDashSubstitution):
- (WebKit::WebEditorClient::toggleAutomaticTextReplacement):
- Add assertions.
-
+ (WebKit::WebPageProxy::close): Call invalidateCallbackMap for m_scriptValueCallbacks.
+ (WebKit::WebPageProxy::runJavaScriptInMainFrame): Take a ScriptValueCallback.
+ (WebKit::WebPageProxy::scriptValueCallback): Added. Create a WebSerializedScriptValue
+ from the DataReference before calling the callback.
+ (WebKit::WebPageProxy::processDidCrash): Call invalidateCallbackMap for m_scriptValueCallbacks.
+ * UIProcess/WebPageProxy.h: Added ScriptValueCallback and m_scriptValueCallbacks.
+ * UIProcess/WebPageProxy.messages.in: Added ScriptValueCallback.
* WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::advanceToNextMisspelling):
- Pass the bool along to the Editor.
-
- (WebKit::WebPage::changeSpellingToWord):
- Replace the selected text.
-
- * WebProcess/WebPage/WebPage.messages.in:
- Add new ChangeSpellingToWord message and add a boolean to AdvanceToNextMisspelling.
-
-2011-01-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Keep track of active text substitution preferences
- https://bugs.webkit.org/show_bug.cgi?id=51931
-
- * Shared/TextCheckerState.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView validateUserInterfaceItem:]):
- Handle new selectors, mostly copied from WebKit1 code.
-
- (-[WKView orderFrontSubstitutionsPanel:]):
- Open the substitution panel.
-
- (-[WKView isAutomaticQuoteSubstitutionEnabled]):
- (-[WKView setAutomaticQuoteSubstitutionEnabled:]):
- (-[WKView toggleAutomaticQuoteSubstitution:]):
- (-[WKView isAutomaticDashSubstitutionEnabled]):
- (-[WKView setAutomaticDashSubstitutionEnabled:]):
- (-[WKView toggleAutomaticDashSubstitution:]):
- (-[WKView isAutomaticLinkDetectionEnabled]):
- (-[WKView setAutomaticLinkDetectionEnabled:]):
- (-[WKView toggleAutomaticLinkDetection:]):
- (-[WKView isAutomaticTextReplacementEnabled]):
- (-[WKView setAutomaticTextReplacementEnabled:]):
- (-[WKView toggleAutomaticTextReplacement:]):
- Call the text checker, and update the state in the web process if needed.
-
- * UIProcess/TextChecker.h:
- Add new flags.
-
- * UIProcess/mac/TextCheckerMac.mm:
- (WebKit::initializeState):
- Initialize flags from user defaults.
-
- (WebKit::TextChecker::setAutomaticQuoteSubstitutionEnabled):
- (WebKit::TextChecker::setAutomaticDashSubstitutionEnabled):
- (WebKit::TextChecker::setAutomaticLinkDetectionEnabled):
- (WebKit::TextChecker::setAutomaticTextReplacementEnabled):
- Update and save the flags.
-
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- (WebKit::WebEditorClient::isAutomaticQuoteSubstitutionEnabled):
- (WebKit::WebEditorClient::isAutomaticLinkDetectionEnabled):
- (WebKit::WebEditorClient::isAutomaticDashSubstitutionEnabled):
- (WebKit::WebEditorClient::isAutomaticTextReplacementEnabled):
- Get the text checker state.
-
-2011-01-05 Dan Bernstein <mitz@apple.com>
-
- Rubber-stamped by Darin Adler.
-
- Cleaned up com.apple.WebProcess.sb
-
- * WebProcess/com.apple.WebProcess.sb: Moved the closing parentheses of multi-line blocks to
- their own lines. Changed to use WebKit-standard 4-space indentation.
-
-2011-01-05 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=51903
- Tell UI process which subframe is largest
-
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::frameSetLargestFrame):
- Remember largest frame in frameset pages.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::frameDidBecomeFrameSet): Reset stored largest frame if main frame
- changes to a frameset or back.
- (WebKit::WebPageProxy::frameSetLargestFrameChanged): Store a new largest frame when notified
- of a change.
-
- * UIProcess/WebPageProxy.messages.in: Added FrameSetLargestFrameChanged.
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::area): Calculate area of a frame.
- (WebKit::findLargestFrameInFrameSet): Find largest first-level subframe in a frameset page.
- (WebKit::WebChromeClient::contentsSizeChanged): Recalculate largest frame, and notify UI
- process if it changed.
-
- * WebProcess/WebCoreSupport/WebChromeClient.h: Store the latest largest frame.
-
- * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::size):
- * WebProcess/WebPage/WebFrame.h:
- Expose frame size.
-
-2011-01-04 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] [WK2] Add support for non-trivial context menu action
- https://bugs.webkit.org/show_bug.cgi?id=51902
-
- Implement a call back from the QAction triggered in the UIProcess to the
- action in WebProcess.
-
- A few basic actions have been implemented based on this feature.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (contextMenuActionForWebAction):
- (QWKPage::triggerAction):
- (QWKPage::action):
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/qt/WebContextMenuProxyQt.cpp:
- (WebKit::webActionForContextMenuAction):
-
-2011-01-04 Siddharth Mathur <siddharth.mathur@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- Include unistd.h for sleep() for non-Windows builds.
-
- * WebProcess/WebProcess.cpp:
- * WebProcess/qt/WebProcessMainQt.cpp:
-
-2011-01-04 Brian Weinstein <bweinstein@apple.com>
+ (WebKit::WebPage::runJavaScriptInMainFrame): Create a DataReference from a WebCore::SerializedScriptValue.
+ And use ScriptValueCallback to send the message back.
- Windows build fix. Change the inline type of consumePermanently.
+2011-03-02 Jessie Berlin <jberlin@apple.com>
- * Shared/SandboxExtension.h:
- (WebKit::SandboxExtension::consumePermanently):
-
-2011-01-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
+ Reviewed by Adam Roben.
- <rdar://problem/8821203> Sandbox violations trying to access the Safari cache
+ WebKit2: Use CFNetwork Sessions API.
+ https://bugs.webkit.org/show_bug.cgi?id=55435
- * Shared/SandboxExtension.h:
- (WebKit::SandboxExtension::consumePermanently):
- New function which consumes a sandbox extension and destroys it, making it impossible
- to later revoke it.
+ Add the ability to create a Private Browsing Storage Session.
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
+ Encode the UI Process bundle identifier.
(WebKit::WebProcessCreationParameters::decode):
- Encode and decode the path extension handle.
-
- * Shared/mac/SandboxExtensionMac.mm:
- (WebKit::SandboxExtension::createHandle):
- Standardize the path before creating the handle.
+ Decode the UI Process bundle identifier.
+ * Shared/WebProcessCreationParameters.h:
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess):
- Create a sandbox extension for the cache path.
-
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::platformInitializeWebProcess):
- Consume the sandbox extension.
-
-2011-01-04 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * UIProcess/mac/TextCheckerMac.mm:
- (WebKit::TextChecker::getGuessesForWord):
-
-2011-01-04 Jeff Miller <jeffm@apple.com>
-
- Reviewed by Darin Adler.
-
- Mouse events in WebKit2 on Windows need to know whether the click activated the WebView to match WebKit1 behavior.
- https://bugs.webkit.org/show_bug.cgi?id=51228
-
- * Shared/WebEvent.h:
- (WebKit::WebMouseEvent::didActivateWebView):
- Add m_didActivateWebView to WebMouseEvent on Windows.
-
- * Shared/WebEventConversion.cpp:
- (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
- Propagate whether the click activated the WebView when converting to a PlatformMouseEvent.
-
- * Shared/WebMouseEvent.cpp:
- (WebKit::WebMouseEvent::WebMouseEvent):
- Add m_didActivateWebView to WebMouseEvent on Windows.
-
- (WebKit::WebMouseEvent::encode):
- (WebKit::WebMouseEvent::decode):
- Encode and decode new m_didActivateWebView member variable.
-
- * Shared/win/WebEventFactory.cpp:
- (WebKit::WebEventFactory::createWebMouseEvent):
- * Shared/win/WebEventFactory.h:
- Add didActivateWebView parameter to createWebMouseEvent().
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::wndProc):
- (WebKit::WebView::WebView):
- (WebKit::WebView::onMouseEvent):
- * UIProcess/win/WebView.h:
- (WebKit::WebView::setWasActivatedByMouseEvent):
- Keep track of whether the click activated the WebView.
-
-2011-01-04 Ivan Krstić <ike@apple.com>
-
- Reviewed and landed by Anders Carlsson.
-
- <rdar://problem/8602585>
- <rdar://problem/8711641>
-
- * WebProcess/com.apple.WebProcess.sb:
- Fix a misplaced right parenthesis and add a new system path regex.
-
-2011-01-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- More work on spelling and grammar
- https://bugs.webkit.org/show_bug.cgi?id=51910
-
- * Scripts/webkit2/messages.py:
- Add special case for WebCore::TextCheckingResult.
-
- * Shared/NotImplemented.h:
- Fix macro so that defining DISABLE_NOT_IMPLEMENTED_WARNINGS to 0 will enable the warnings.
-
- * Shared/WebCoreArgumentCoders.h:
- Add argument coders for WebCore::GrammarDetail and WebCore::TextCheckingResult.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView checkSpelling:]):
- Call advanceToNextMisspelling.
-
- * UIProcess/TextChecker.h:
- Add new NSSpellChecker wrappers.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- Initialize the new member variables.
-
- (WebKit::WebPageProxy::~WebPageProxy):
- Call TextChecker::closeSpellDocumentWithTag.
-
- (WebKit::WebPageProxy::advanceToNextMisspelling):
- Send the AdvanceToNextMisspelling message.
-
- (WebKit::WebPageProxy::spellDocumentTag):
- Create a spell document tag if necessary.
-
- (WebKit::WebPageProxy::checkTextOfParagraph):
- (WebKit::WebPageProxy::updateSpellingUIWithMisspelledWord):
- (WebKit::WebPageProxy::getGuessesForWord):
- Call the TextChecker.
-
- * UIProcess/WebPageProxy.messages.in:
- Add new messages.
-
- * UIProcess/mac/TextCheckerMac.mm:
- (WebKit::TextChecker::uniqueSpellDocumentTag):
- (WebKit::TextChecker::closeSpellDocumentWithTag):
- (WebKit::TextChecker::checkTextOfParagraph):
- (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
- (WebKit::TextChecker::getGuessesForWord):
- Add NSSpellChecker wrappers.
-
- * UIProcess/qt/TextCheckerQt.cpp:
- * UIProcess/win/TextCheckerWin.cpp:
- Add stubs.
-
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::isContinuousSpellCheckingEnabled):
- (WebKit::WebEditorClient::isGrammarCheckingEnabled):
- Get the text checking state from the web process.
-
- (WebKit::WebEditorClient::updateSpellingUIWithMisspelledWord):
- (WebKit::WebEditorClient::getGuessesForWord):
- Proxy calls to the UI process.
-
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- (WebKit::WebEditorClient::isAutomaticSpellingCorrectionEnabled):
-
- (WebKit::WebEditorClient::checkTextOfParagraph):
- Proxy calls to the UI process.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::advanceToNextMisspelling):
- Call the frame.
+ Grab the bundle identifier and use it to set the WebProcessCreationParameter.
+ * UIProcess/win/WebContextWin.cpp:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ Ditto.
- * WebProcess/WebPage/WebPage.messages.in:
- Add AdvanceToNextMisspelling message.
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+ Support using the wkCreatePrivateStorageSession WKSI in WebCore.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
- Set the text checker state.
-
-2011-01-04 Chris Fleizach <cfleizach@apple.com>
+ Set the base for the Private Browsing Storage Session identifier to be the bundle identifier
+ from the UI Process so that WebKit1 would create a Private Browsing Storage Session with the
+ same identifier as WebKit2.
- Unreviewed. Build fix.
-
- WK2: Support Accessibility
- https://bugs.webkit.org/show_bug.cgi?id=51859
-
- * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
-
-2011-01-04 Chris Fleizach <cfleizach@apple.com>
-
- Unreviewed. Build fix.
-
- WK2: Support Accessibility
- https://bugs.webkit.org/show_bug.cgi?id=51859
-
- * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
- (-[AccessibilityWebPageObject accessibilityAttributeValue:]):
-
-2011-01-04 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Sam Weinig.
-
- WK2: Support Accessibility
- https://bugs.webkit.org/show_bug.cgi?id=51859
-
- Implement remote accessibility API to support cross process accessibility
- on the Mac platform.
-
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::accessibilityChildTokenReceived):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:contextRef:pageGroupRef:]):
- (-[WKView _updateWindowAndViewFrames]):
- (-[WKView _setAccessibilityChildToken:]):
- (-[WKView accessibilityIsIgnored]):
- (-[WKView accessibilityHitTest:]):
- (-[WKView accessibilityAttributeValue:]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::ensureWebProcess):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::windowAndViewFramesChanged):
- (WebKit::WebPageProxy::didReceiveAccessibilityPageToken):
- (WebKit::WebPageProxy::sendAccessibilityPresenterToken):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::accessibilityRemoteObject):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::windowAndViewFramesChanged):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::accessibilityPosition):
- * WebProcess/WebPage/WebPage.messages.in:
- * WebProcess/WebPage/mac/AccessibilityWebPageObject.h: Added.
- * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: Added.
- (-[AccessibilityWebPageObject setWebPage:]):
- (-[AccessibilityWebPageObject setRemoteParent:]):
- (-[AccessibilityWebPageObject dealloc]):
- (-[AccessibilityWebPageObject accessibilityIsIgnored]):
- (-[AccessibilityWebPageObject accessibilityAttributeNames]):
- (-[AccessibilityWebPageObject accessibilityIsAttributeSettable:]):
- (-[AccessibilityWebPageObject accessibilitySetValue:forAttribute:]):
- (-[AccessibilityWebPageObject accessibilityActionNames]):
- (-[AccessibilityWebPageObject accessibilityChildren]):
- (-[AccessibilityWebPageObject accessibilityAttributeValue:]):
- (-[AccessibilityWebPageObject accessibilityShouldUseUniqueId]):
- (-[AccessibilityWebPageObject accessibilityHitTest:]):
- (-[AccessibilityWebPageObject accessibilityFocusedUIElement]):
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::platformInitialize):
- (WebKit::WebPage::sendAccessibilityPresenterToken):
- (WebKit::WebPage::accessibilityRemoteObject):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
- * WebProcess/WebProcess.h:
- (WebKit::WebProcess::presenterApplicationPid):
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain):
+2011-03-01 Brian Weinstein <bweinstein@apple.com>
-2011-01-04 Brady Eidson <beidson@apple.com>
+ Reviewed by Adam Roben.
- Reviewed by Darin Adler.
+ Part of WebKit2: Need a way to send notifications to client when cookies change
+ https://bugs.webkit.org/show_bug.cgi?id=55427
+ <rdar://problem/9056027>
- Get rid of an extra copy in the back/forward item IPC message by using a DataReference.
+ * WebProcess/Cookies/WebCookieManager.cpp:
+ (WebKit::WebCookieManager::dispatchDidModifyCookies): Add a stub with a FIXME to send a
+ message to the UI process.
- * UIProcess/WebBackForwardListItem.cpp:
- (WebKit::WebBackForwardListItem::WebBackForwardListItem):
- (WebKit::WebBackForwardListItem::setBackForwardData):
- * UIProcess/WebBackForwardListItem.h:
+ * WebProcess/Cookies/WebCookieManager.h:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::createCookiesStrategy):
+ (WebKit::WebPlatformStrategies::notifyCookiesChanged): Call WebCookieManager::dispatchDidModifyCookies.
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::dataCallback): Get rid of no-longer-needed check for size 0.
+2011-03-02 Andras Becsi <abecsi@webkit.org>
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::addBackForwardItem):
- * UIProcess/WebProcessProxy.h:
+ Reviewed by Laszlo Gombos.
- * UIProcess/WebProcessProxy.messages.in:
+ [Qt][WK2] generate-forwarding-headers.pl should generate paths with framework names
+ https://bugs.webkit.org/show_bug.cgi?id=55478
- * WebProcess/WebPage/EncoderAdapter.cpp:
- (WebKit::EncoderAdapter::data):
- * WebProcess/WebPage/EncoderAdapter.h:
+ On case insensitive systems the generated forwarding headers cause build problems.
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ * Scripts/generate-forwarding-headers.pl: The generated header should
+ also contain the framework name.
-2011-01-04 Brady Eidson <beidson@apple.com>
+2011-03-01 Jeff Miller <jeffm@apple.com>
Reviewed by Darin Adler.
- Store more data per history entry in the session state blob.
-
- * UIProcess/WebBackForwardListItem.cpp:
- (WebKit::WebBackForwardListItem::WebBackForwardListItem):
- * UIProcess/WebBackForwardListItem.h:
- (WebKit::WebBackForwardListItem::create):
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::addBackForwardItem):
-
- * UIProcess/cf/WebBackForwardListCF.cpp:
- (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
-
- * UIProcess/cf/WebPageProxyCF.cpp:
-
-2011-01-04 Darin Adler <darin@apple.com>
-
- Reviewed by Brady Eidson.
+ Expose some selection state fields in WKPage
+ https://bugs.webkit.org/show_bug.cgi?id=55541
+
+ Added WKPageCanDelete(), WKPageHasSelectedRange(), and WKPageIsContentEditable() so we can enable some
+ Edit menu items properly on Windows when using WebKit2.
- Add back/forward encoding and decoding to WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=51901
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageCanDelete): Added.
+ (WKPageHasSelectedRange): Added.
+ (WKPageIsContentEditable): Added.
+ * UIProcess/API/C/WKPage.h: Added new functions.
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::canDelete): Added.
+ (WebKit::WebPageProxy::hasSelectedRange): Added.
+ (WebKit::WebPageProxy::isContentEditable): Added.
- * GNUmakefile.am: Added new source files.
- * WebKit2.pro: Ditto.
- * WebKit2.xcodeproj/project.pbxproj: Ditto.
- * win/WebKit2.vcproj: Ditto.
+2011-03-01 Mark Rowe <mrowe@apple.com>
- * WebProcess/WebPage/DecoderAdapter.cpp: Added.
- * WebProcess/WebPage/DecoderAdapter.h: Added.
- * WebProcess/WebPage/EncoderAdapter.cpp: Added.
- * WebProcess/WebPage/EncoderAdapter.h: Added.
+ Hide the typeinfo name symbols for std::exception and std::bad_alloc too.
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- (WebKit::updateBackForwardItem): Added code to encode the back/forward
- tree and send it along. The code to decode needs to wait on Brady's
- current project.
+ * Configurations/Base.xcconfig:
-2011-01-04 Anders Carlsson <andersca@apple.com>
+2011-03-01 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
- <rdar://problem/8766999> WebKit2: Sandboxing causes certificate error on access to any HTTPS URL
-
- Allow read access to /Library/Preferences/com.apple.security.plist.
+ Add verification scripts to WebKit2 project and fix the issues they reveal.
- * WebProcess/com.apple.WebProcess.sb:
+ * Configurations/Base.xcconfig: Add linker flags to prevent C++ standard
+ library functions from being exported as weak externals.
+ * Configurations/WebKit2.xcconfig: Inherit linker flags from the project level.
+ * Shared/WebContextMenuItem.cpp:
+ (WebKit::WebContextMenuItem::separatorItem): Use DEFINE_STATIC_LOCAL.
+ * UIProcess/WebPageGroup.cpp:
+ (WebKit::webPageGroupMap): Ditto.
+ * WebKit2.xcodeproj/project.pbxproj: Don't copy .in files in to the framework.
+ Run verification scripts at the appropriate times.
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::didBeginEditing): Use DEFINE_STATIC_LOCAL.
+ (WebKit::WebEditorClient::respondToChangedContents): Ditto.
+ (WebKit::WebEditorClient::respondToChangedSelection): Ditto.
+ (WebKit::WebEditorClient::didEndEditing): Ditto.
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::idToHistoryItemMap): Ditto.
+ (WebKit::historyItemToIDMap): Ditto.
-2011-01-04 Anders Carlsson <andersca@apple.com>
+2011-03-01 Joseph Pecoraro <joepeck@webkit.org>
- Build fixes.
+ Unreviewed. Roll out r80068 and r80073 due to breaking WebKit2 Qt port.
- * UIProcess/qt/TextCheckerQt.cpp:
- * UIProcess/win/TextCheckerWin.cpp:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::viewportAttributesForSize):
-2011-01-04 Anders Carlsson <andersca@apple.com>
+2011-03-01 Joseph Pecoraro <joepeck@webkit.org>
- Reviewed by Darin Adler.
+ Unreviewed, missed updating a call to WebCore::computeViewportAttributes
+ who's prototype changed.
- Don't use macros for the key names.
+ Viewport Warning/Error Messages Are Now Inaccurate
+ https://bugs.webkit.org/show_bug.cgi?id=53707
- * UIProcess/mac/TextCheckerMac.mm:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::viewportAttributesForSize): pass in a value for the document argument.
-2011-01-04 Anders Carlsson <andersca@apple.com>
+2011-03-01 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- Send over text checker state to the web process
- https://bugs.webkit.org/show_bug.cgi?id=51896
-
- * Platform/CoreIPC/Arguments.h:
- Remove 'const' from the argument, this matches all the other Arguments classes.
+ WKPluginSiteDataManagerClearAllSiteData is not working
+ https://bugs.webkit.org/show_bug.cgi?id=55528
+ <rdar://problem/9071823>
- * Shared/TextCheckerState.h: Added.
- New class with text checker state.
-
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
- Add textCheckerState.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView validateUserInterfaceItem:]):
- (-[WKView toggleContinuousSpellChecking:]):
- (-[WKView toggleGrammarChecking:]):
- (-[WKView toggleAutomaticSpellingCorrection:]):
- Get the needed flags from the text checker state.
-
- * UIProcess/TextChecker.h:
- Add state() function, remove getters.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::ensureWebProcess):
- Initialize the text checker state.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::updateTextCheckerState):
- Send the SetTextCheckerState message to the web process.
-
- * UIProcess/mac/TextCheckerMac.mm:
- (WebKit::initializeState):
- Initialize the state from the user defaults.
-
- (WebKit::TextChecker::state):
- Return the state.
-
- (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
- (WebKit::TextChecker::setGrammarCheckingEnabled):
- (WebKit::TextChecker::setAutomaticSpellingCorrectionEnabled):
- Make sure to write the new state.
-
- * UIProcess/qt/TextCheckerQt.cpp:
- (WebKit::TextChecker::state):
- * UIProcess/win/TextCheckerWin.cpp:
- (WebKit::TextChecker::state):
- Add stubs.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add TextCheckerState.h.
+ * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::tryGetSitesWithData):
+ Remove version checks, checking that the function pointer is not null is enough.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::WebProcess):
- Initialize m_textCheckerState.
+ (WebKit::NetscapePluginModule::tryClearSiteData):
+ Remove version checks, checking that the function pointer is not null is enough.
+ Also, correctly convert a null String to a null CString.
- (WebKit::WebProcess::setTextCheckerState):
- Update.
+2011-03-01 Adam Roben <aroben@apple.com>
- * WebProcess/WebProcess.messages.in:
- Add SetTextCheckerState message.
+ Incorporate a review comment I missed in r80051
- * win/WebKit2.vcproj:
- Add TextCheckerState.h.
+ * Shared/Plugins/Netscape/NetscapePluginModule.cpp: Clarified error message.
-2011-01-04 Brady Eidson <beidson@apple.com>
+2011-03-01 Adam Roben <aroben@apple.com>
- Rubberstamped by Anders Carlsson.
+ Make the PLUGIN_ARCHITECTURE() macro work with MSVC
- Attach a radar # to this FIXME:
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ Fixes <http://webkit.org/b/55513> <rdar://problem/9069189> REGRESSION (r79925): Lots of
+ plugins tests crashing in NetscapePlugin::initialize on Windows
-2011-01-04 Anders Carlsson <andersca@apple.com>
+ Reviewed by Anders Carlsson.
- Reviewed by John Sullivan.
+ * Shared/Plugins/Netscape/NetscapePluginModule.cpp: Added a compile-time check to make sure
+ PLUGIN_ARCHITECTURE() is defined for some platform.
- Add more spelling/grammar related methods
- https://bugs.webkit.org/show_bug.cgi?id=51886
+ * config.h: Removed the parentheses from the use of "defined" in the PLUGIN_ARCHITECTURE()
+ macro. This matches PLATFORM(), OS(), etc., and makes the macro work on Windows. Also
+ replaced the nonsense OS(WIN) with OS(WINDOWS).
- * UIProcess/API/mac/WKView.mm:
- (-[WKView validateUserInterfaceItem:]):
- Handle more selectors.
+ * win/WebKit2.vcproj: Added config.h for editing convenience. Let VS do its thang.
- (-[WKView showGuessPanel:]):
- Add stub.
+2011-03-01 Sam Weinig <sam@webkit.org>
- (-[WKView checkSpelling:]):
- Ditto.
+ Reviewed by Timothy Hatcher.
- (-[WKView toggleAutomaticSpellingCorrection:]):
- Toggle automatic spelling correction.
+ WebKit2 needs to be made localizable
+ https://bugs.webkit.org/show_bug.cgi?id=55483
- * UIProcess/TextChecker.h:
- Add setAutomaticSpellingCorrectionEnabled and isAutomaticSpellingCorrectionEnabled.
+ * PluginProcess/mac/PluginProcessMainMac.mm:
+ * WebProcess/mac/WebProcessMainMac.mm:
+ Set the default localization from the passed in parameter.
- * UIProcess/mac/TextCheckerMac.mm:
- (WebKit::TextChecker::setAutomaticSpellingCorrectionEnabled):
- (WebKit::TextChecker::isAutomaticSpellingCorrectionEnabled):
- Update the toggle.
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ Add the preferred localization as a parameter when launching processes
+ so that they can set their localization to match the launching app.
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
- Add a Radar URL for the localization FIXMEs.
-
-2011-01-04 Brent Fulgham <bfulgham@webkit.org>
-
- Unreviewed build fix.
-
- * win/WebKit2.vcproj: Correct the missing $(WebKitVSPropsRedirectionDir)
- variables that Visual Studio helpfully removes when making changes.
-
-2011-01-04 Brent Fulgham <bfulgham@webkit.org>
-
- Unreviewed build fix.
-
- * win/WebKit2.vcproj: Disable CG-specific WKImageCG.cpp from
- Debug_Cairo_CFLite/Release_Cario_CFLite builds.
-
-2011-01-04 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=51856
- Pass encoded back/forward tree data from the WebProcess to the UIProcess
-
- Remove the WKBackForwardListItemCopyOriginalURL API as it's not needed:
- * UIProcess/API/C/WKBackForwardListItem.cpp:
- * UIProcess/API/C/WKBackForwardListItem.h:
- * UIProcess/API/qt/qwkhistory.cpp:
- * UIProcess/API/qt/qwkhistory.h:
-
- * UIProcess/WebBackForwardListItem.cpp:
- (WebKit::WebBackForwardListItem::WebBackForwardListItem):
- * UIProcess/WebBackForwardListItem.h:
- (WebKit::WebBackForwardListItem::create):
- (WebKit::WebBackForwardListItem::setBackForwardData):
- (WebKit::WebBackForwardListItem::backForwardData):
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::addBackForwardItem):
- * UIProcess/WebProcessProxy.h:
-
- * UIProcess/WebProcessProxy.messages.in:
-
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- (WebKit::updateBackForwardItem):
-
-2011-01-04 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt][WK2] Incomplete clean up on termination
- https://bugs.webkit.org/show_bug.cgi?id=51474
-
- Do not kill the web process to force it's termination.
- Fix object destruction and cleanup logic and make the cleanup more reliable.
- Do not try to cleanup on crash because it is not reliable.
-
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- (CoreIPC::Connection::platformInvalidate): Do not delete the socket if we
- do not own it. This is the case with a server connection.
- * Platform/qt/MappedMemoryPool.cpp:
- Turn MappedMemoryPool into a QObject so the CleanupHandler can destruct it
- in the same way as the other objects.
- (WebKit::MappedMemoryPool::instance):
- (WebKit::MappedMemoryPool::~MappedMemoryPool):
- * Platform/qt/MappedMemoryPool.h:
- (WebKit::MappedMemoryPool::MappedMemoryPool):
- * Platform/qt/SharedMemoryQt.cpp:
- (WebKit::SharedMemory::create): No need to care about QCoreApplication::aboutToQuit.
- It is handled by the CleanupHandler.
- (WebKit::SharedMemory::~SharedMemory): Ditto.
- * Shared/qt/CleanupHandler.cpp: Renamed from WebKit2/Shared/qt/CrashHandler.cpp.
- No longer try to handle crash but just normal termination.
- (WebKit::CleanupHandler::CleanupHandler): Connect deleteObjects with QCoreApplication::aboutToQuit.
- Ensure appropriate thread affinity.
- (WebKit::CleanupHandler::sigTermHandler): Stop the main event loop.
- (WebKit::CleanupHandler::deleteObjects): Use deleteLater instead of delete since it is more reliable.
- * Shared/qt/CleanupHandler.h: Renamed from WebKit2/Shared/qt/CrashHandler.h.
- (WebKit::CleanupHandler::instance):
- (WebKit::CleanupHandler::markForCleanup):
- (WebKit::CleanupHandler::unmark):
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- Do not kill the web process immidiately but give it a chance to cleanup.
- Use QLocalServer::removeServer for assuring that the socket file will be removed.
- (WebKit::ProcessLauncherHelper::serverName):
- (WebKit::cleanupAtExit): Renamed from cleanupProcesses. Only kill the web process when it times
- out terminating. Fixed the bug of changing the list while iterating it over by disconnecting
- from the processStateChanged slot.
- (WebKit::QtWebProcess::QtWebProcess): Added missing meta type registration of QProcess::ProcessState.
- (WebKit::ProcessLauncherHelper::~ProcessLauncherHelper):
- (WebKit::ProcessLauncherHelper::ProcessLauncherHelper): No need to add the the instance to the
- CleanupHandler because we will remove the socket file in cleanupAtExit.
- (WebKit::ProcessLauncherHelper::instance):
- (WebKit::ProcessLauncher::terminateProcess):
- * WebKit2.pro:
+ Use WebCore's localizedString function on the mac, to actually localize
+ these strings.
-2011-01-04 Benjamin Poulain <benjamin.poulain@nokia.com>
+ (WebKit::WebPlatformStrategies::imageTitle):
+ Switch to using replace, instead of concatenation, to give localizers a chance
+ to rearrange the wording.
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] [WK2] create an initial implementation of the context menu handling for WebKit 2
- https://bugs.webkit.org/show_bug.cgi?id=51825
-
- Implement the necessary methods to get a basic context menu working for Qt.
+2011-03-01 Balazs Kelemen <kbalazs@webkit.org>
- Only 4 basic WebAction have been added on the UIProcess side: back, forward, stop and reload.
-
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::QGraphicsWKView):
- (QGraphicsWKView::showContextMenu):
- (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
- * UIProcess/API/qt/qgraphicswkview.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::createContextMenuProxy):
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/qt/WebContextMenuProxyQt.cpp:
- (WebKit::webActionForContextMenuAction):
- (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
- (WebKit::WebContextMenuProxyQt::create):
- (WebKit::WebContextMenuProxyQt::showContextMenu):
- (WebKit::WebContextMenuProxyQt::hideContextMenu):
- (WebKit::WebContextMenuProxyQt::createContextMenu):
- * UIProcess/qt/WebContextMenuProxyQt.h:
+ Reviewed by Anders Carlsson.
-2011-01-03 Yi Shen <yi.4.shen@nokia.com>
+ [Qt][WK2] Plugin initialization
+ https://bugs.webkit.org/show_bug.cgi?id=48127
- Reviewed by Adam Barth.
+ Apply the quirks that are necessary for the flash plugin
+ to not crash on X11.
- [Qt] Add SelectAll option to the context menu for the editor
- https://bugs.webkit.org/show_bug.cgi?id=50049
+ * Platform/qt/ModuleQt.cpp:
+ (WebKit::Module::load): Use the ResolveAllSymbols hint as we do in WebCore.
+ * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::tryLoad): Call applyX11QuirksBeforeLoad
+ if PLUGIN_ARCHITECTURE is X11.
+ * Shared/Plugins/Netscape/NetscapePluginModule.h:
+ * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
+ (WebKit::initializeGTK): The same hack that we do in WebCore.
+ Call gtk_init because flash don't do it for itself.
+ (WebKit::NetscapePluginModule::applyX11QuirksBeforeLoad): Added for X11.
+ Do the hacks that we need to do before calling NP_Initialize on the
+ flash plugin to save it form crashing.
+ * Shared/Plugins/PluginQuirks.h: Use PLUGIN_ARCHITECTURE macros.
+ Added RequiresGTKToolKit quirk for X11.
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue): Handle the RequiresGTKToolKit quirk on X11.
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ (WebKit::NetscapePlugin::quirks): Added getter for the PluginModule's
+ quirks to be available in NPN_GetValue.
- Add WebPlatformStrategies::contextMenuItemTagSelectAll for Qt.
+2011-03-01 Adam Roben <aroben@apple.com>
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::WebPlatformStrategies::contextMenuItemTagSelectAll):
- * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+ Convert seconds to milliseconds before calling ::SetTimer
-2011-01-03 Sam Weinig <sam@webkit.org>
+ Fixes <http://webkit.org/b/55417> <rdar://problem/9065287> RunLoop::Timer fires 1000x too
+ early on Windows
Reviewed by Anders Carlsson.
- Ensure that the correct initial focusable area is focused when tabbing
- and shift-tabbing into the WKView.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView becomeFirstResponder]): Use the keyViewSelectionDirection to set
- the initial focus.
-
-2011-01-02 Dan Bernstein <mitz@apple.com>
-
- Rubber-stamped by Simon Fraser.
-
- <rdar://problem/8812159> Update copyright strings
-
- * Info.plist:
- * WebProcess/Info.plist:
+ * Platform/win/RunLoopWin.cpp:
+ (RunLoop::TimerBase::start): Convert the timeout interval to milliseconds, since that's what
+ ::SetTimer expects.
-2011-01-02 Benjamin Poulain <benjamin.poulain@nokia.com>
+2011-03-01 Andras Becsi <abecsi@webkit.org>
Reviewed by Csaba Osztrogonác.
- WebKit 2 does not build on 64bits with a recent GCC
- https://bugs.webkit.org/show_bug.cgi?id=51754
-
- Change the argument coding for DatabaseDetails to use explicitly the 64 bits type.
-
- * Shared/OriginAndDatabases.h:
- * Shared/WebCoreArgumentCoders.h:
-
-2011-01-02 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Adam Barth.
-
- Move JavaScriptCore to Source
- https://bugs.webkit.org/show_bug.cgi?id=51604
-
- Workaround until moving all sources to Source directory is finished.
+ [Qt] Clean up the project files and move common options to WebKit.pri.
- * Scripts/generate-forwarding-headers.pl: Add Sources to searching path for JavaScriptCore.
+ * WebKit2.pro: Deduplicate options.
-2011-01-01 Adam Barth <abarth@webkit.org>
-
- Speculative build fix for Qt. Add some more include paths.
-
- * WebKit2.pro:
-
-2011-01-01 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move JavaScriptCore to Source
- https://bugs.webkit.org/show_bug.cgi?id=51604
-
- * WebKit2.pro:
- - Point to JavaScriptCore in its new location.
+2011-03-01 Juha Savolainen <juha.savolainen@weego.fi>
-2010-12-15 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Enable building whatever already exists of WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=37369
-
- * GNUmakefile.am: Added.
- * WebKit2Prefix.h: Included WebCore/config.h for GTK port as the first header
- file for WebKit2 sources files.
- * gtk: Added.
- * gtk/webkit2.pc.in: Added.
-
-2010-12-29 Juha Savolainen <juha.savolainen@weego.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
+ Reviewed by Andreas Kling.
- [Qt] [WK2] Added more webattributes to the qwkpreferences
- https://bugs.webkit.org/show_bug.cgi?id=51697
+ [Qt] WebKit2 needs to support font size changing and getting default font size
+ https://bugs.webkit.org/show_bug.cgi?id=53671
- Added PrivateBrowsingEnabled, DeveloperExtrasEnabled, DnsPrefetchEnabled attributes
+ Added new enum for font size type and added methods to set and get default font sizes.
* UIProcess/API/qt/qwkpreferences.cpp:
- (QWKPreferences::testAttribute):
- (QWKPreferences::setAttribute):
+ (QWKPreferences::setFontSize): Added.
+ (QWKPreferences::fontSize): Added.
* UIProcess/API/qt/qwkpreferences.h:
-2010-12-27 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- WebKit2 snapshots should contain accelerated content
- <rdar://problem/8807393>
- https://bugs.webkit.org/show_bug.cgi?id=51660
-
- When creating a snapshot, flatten the layer tree for painting so that
- accelerated content is included in the snapshot.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::snapshotInViewCoordinates):
- (WebKit::WebPage::snapshotInDocumentCoordinates):
-
-2010-12-27 Daniel Bates <dbates@rim.com>
-
- Attempt to fix the WebKit2 Windows build after changeset 74698
- <http://trac.webkit.org/changeset/74698> (bug #51656).
-
- Add "..\Shared\API\c\WKImage.h" to WebKit2Generated.make.
+2011-02-28 Alice Liu <alice.liu@apple.com>
- * win/WebKit2Generated.make:
+ Reviewed by Adam Roben and Gavin Barraclough.
-2010-12-27 Sam Weinig <sam@webkit.org>
+ https://bugs.webkit.org/show_bug.cgi?id=54898
+ InjectedBundleNodeHandle dies too early in WKBundleHitTestResultGetNodeHandle
- Reviewed by Anders Carlsson.
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
+ (WKBundleHitTestResultCopyNodeHandle):
+ Instead of .get(), call .release.leakRef() like other functions that return WKBundleNodeHandleRef.
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
+ Renamed from "get" to "copy", because it leaksRef.
- WebKit2: Add API for getting snapshots
- https://bugs.webkit.org/show_bug.cgi?id=51656
+2011-02-28 Alice Liu <alice.liu@apple.com>
- * Shared/API/c/WKBase.h:
- * Shared/API/c/WKImage.cpp: Added.
- (WKImageGetTypeID):
- (WKImageCreate):
- (WKImageGetSize):
- * Shared/API/c/WKImage.h: Added.
- * Shared/WebImage.cpp: Added.
- (WebKit::WebImage::create):
- (WebKit::WebImage::size):
- * Shared/WebImage.h: Added.
- (WebKit::WebImage::backingStore):
- (WebKit::WebImage::WebImage):
- (WebKit::WebImage::type):
- Add a general purpose API image class.
-
- * Shared/API/c/cg: Added.
- * Shared/API/c/cg/WKImageCG.cpp: Added.
- (WKImageCreateCGImage):
- * Shared/API/c/cg/WKImageCG.h: Added.
- Add function to convert a WKImageRef to a CGImageRef for platforms that use CG.
-
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toFloatRect):
- (WebKit::toIntSize):
- (WebKit::toIntPoint):
- (WebKit::toIntRect):
- (WebKit::toImageOptions):
- Make conversion functions that are ambiguous more explicit.
-
- * Shared/APIObject.h:
- * Shared/BackingStore.h:
- (WebKit::BackingStore::isBackedBySharedMemory):
- * Shared/ImageOptions.h: Added.
- * Shared/UserMessageCoders.h:
- (WebKit::UserMessageEncoder::baseEncode):
- (WebKit::UserMessageDecoder::baseDecode):
- Allow a WKImageRef to be passed in user messages. Right now, it only
- works if the image is sharable.
+ Reviewed by Gavin Barraclough.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageScaleWebView):
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::windowFrame):
- Use the more explicit conversion function name.
+ https://bugs.webkit.org/show_bug.cgi?id=55442
+ Webarchives don't contain subframe content
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageCreateSnapshotInViewCoordinates):
- (WKBundlePageCreateSnapshotInDocumentCoordinates):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
- (WKBundlePageOverlaySetNeedsDisplay):
* WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::snapshotInViewCoordinates):
- (WebKit::WebPage::snapshotInDocumentCoordinates):
- Add function to take the snapshot.
-
- * WebProcess/WebPage/WebPage.h:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add new files.
+ (WebKit::WebPage::getWebArchiveOfFrame):
+ Pass the frame's document instead of just the frame, to use a different LegacyWebArchive::create function.
-2010-12-27 Sam Weinig <sam@webkit.org>
+2011-02-28 Benjamin Poulain <benjamin.poulain@nokia.com>
- Reviewed by Anders Carlsson.
+ Reviewed by Kenneth Rohde Christiansen.
- WebKit2: Add additional API for managing databases
- https://bugs.webkit.org/show_bug.cgi?id=51629
-
- - Adds client for the database manager to get notifications
- of changes to databases.
-
- * UIProcess/API/C/WKDatabaseManager.cpp:
- (WKDatabaseManagerSetClient):
- * UIProcess/API/C/WKDatabaseManager.h:
- * UIProcess/WebDatabaseManagerProxy.cpp:
- (WebKit::WebDatabaseManagerProxy::initializeClient):
- (WebKit::WebDatabaseManagerProxy::didModifyOrigin):
- (WebKit::WebDatabaseManagerProxy::didModifyDatabase):
- * UIProcess/WebDatabaseManagerProxy.h:
- * UIProcess/WebDatabaseManagerProxy.messages.in:
- * UIProcess/WebDatabaseManagerProxyClient.cpp: Added.
- (WebKit::WebDatabaseManagerProxyClient::didModifyOrigin):
- (WebKit::WebDatabaseManagerProxyClient::didModifyDatabase):
- * UIProcess/WebDatabaseManagerProxyClient.h: Added.
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
- (WebKit::WebDatabaseManager::WebDatabaseManager):
- (WebKit::WebDatabaseManager::~WebDatabaseManager):
- (WebKit::WebDatabaseManager::dispatchDidModifyOrigin):
- (WebKit::WebDatabaseManager::dispatchDidModifyDatabase):
- * WebProcess/WebCoreSupport/WebDatabaseManager.h:
- * win/WebKit2.vcproj:
+ [Qt][WK2] Add a way to test the WebKit 2 APIs
+ https://bugs.webkit.org/show_bug.cgi?id=55408
-2010-12-27 Sam Weinig <sam@webkit.org>
+ Add an initial test for the WebKit 2 APIs of Qt.
- Reviewed by Anders Carlsson.
+ * UIProcess/API/qt/tests/html/basic_page.html: Added.
+ * UIProcess/API/qt/tests/qgraphicswkview/qgraphicswkview.pro: Added.
+ * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp: Added.
+ (View::View):
+ (View::resizeEvent):
+ (tst_QGraphicsWKView::init):
+ (tst_QGraphicsWKView::cleanup):
+ (tst_QGraphicsWKView::loadEmptyPage):
+ * UIProcess/API/qt/tests/tests.pri: Added.
+ * UIProcess/API/qt/tests/tests.pro: Added.
+ * UIProcess/API/qt/tests/util.h: Added.
+ (waitForSignal):
- WebKit2: Add additional API for managing databases
- https://bugs.webkit.org/show_bug.cgi?id=51629
-
- - Adds WKDatabaseManagerGetDatabasesByOrigin, which asynchronously returns
- an array of dictionaries containing details about each origin using
- databases and details about each database. Keys were added for accessing
- the data in the dictionaries.
- - Adds WKDatabaseManagerDeleteDatabasesWithNameForOrigin to delete a database
- with a specific identifier.
- - Adds WKDatabaseManagerSetQuotaForOrigin to set the quota for an origin.
-
- * Shared/OriginAndDatabases.cpp: Added.
- (WebKit::OriginAndDatabases::encode):
- (WebKit::OriginAndDatabases::decode):
- * Shared/OriginAndDatabases.h: Added.
- * Shared/WebCoreArgumentCoders.h:
- * UIProcess/API/C/WKDatabaseManager.cpp:
- (WKDatabaseManagerGetOriginKey):
- (WKDatabaseManagerGetOriginQuotaKey):
- (WKDatabaseManagerGetOriginUsageKey):
- (WKDatabaseManagerGetDatabaseDetailsKey):
- (WKDatabaseManagerGetDatabaseDetailsNameKey):
- (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
- (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
- (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
- (WKDatabaseManagerGetDatabasesByOrigin):
- (callGetDatabasesByOriginBlockAndDispose):
- (WKDatabaseManagerGetDatabasesByOrigin_b):
- (WKDatabaseManagerGetDatabaseOrigins):
- (callGetDatabaseOriginsBlockBlockAndDispose):
- (WKDatabaseManagerGetDatabaseOrigins_b):
- (WKDatabaseManagerDeleteDatabasesWithNameForOrigin):
- (WKDatabaseManagerDeleteDatabasesForOrigin):
- (WKDatabaseManagerDeleteAllDatabases):
- (WKDatabaseManagerSetQuotaForOrigin):
- * UIProcess/API/C/WKDatabaseManager.h:
- * UIProcess/WebDatabaseManagerProxy.cpp:
- (WebKit::WebDatabaseManagerProxy::originKey):
- (WebKit::WebDatabaseManagerProxy::originQuotaKey):
- (WebKit::WebDatabaseManagerProxy::originUsageKey):
- (WebKit::WebDatabaseManagerProxy::databaseDetailsKey):
- (WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey):
- (WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey):
- (WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey):
- (WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey):
- (WebKit::WebDatabaseManagerProxy::invalidate):
- (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
- (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
- (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
- (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
- (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
- (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
- (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
- * UIProcess/WebDatabaseManagerProxy.h:
- * UIProcess/WebDatabaseManagerProxy.messages.in:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
- (WebKit::WebDatabaseManager::getDatabasesByOrigin):
- (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
- (WebKit::WebDatabaseManager::setQuotaForOrigin):
- * WebProcess/WebCoreSupport/WebDatabaseManager.h:
- * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
- * win/WebKit2.vcproj:
+2011-02-28 Anders Carlsson <andersca@apple.com>
-2010-12-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Rename DrawingAreaMessage and DrawingAreaLegacyMessage and
- DrawingAreaProxyMessage to DrawingAreaProxyLegacyMessage.
+ Fix clang build.
- * Platform/CoreIPC/MessageID.h:
- * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
- * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
+ * UIProcess/API/mac/FindIndicatorWindow.mm:
* UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
- (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
- (WebKit::ChunkedUpdateDrawingAreaProxy::update):
- (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::deprecatedUpdate):
(WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveMessage):
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
- (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
- (WebKit::LayerBackedDrawingAreaProxy::update):
- (WebKit::LayerBackedDrawingAreaProxy::didReceiveMessage):
- (WebKit::LayerBackedDrawingAreaProxy::didReceiveSyncMessage):
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::sizeDidChange):
- (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
- (WebKit::TiledDrawingAreaProxy::didReceiveMessage):
- (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
- (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
- (WebKit::TiledDrawingAreaProxy::takeSnapshot):
- (WebKit::TiledDrawingAreaProxy::removeTile):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::didReceiveSyncMessage):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
* WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- (WebKit::ChunkedUpdateDrawingArea::display):
- (WebKit::ChunkedUpdateDrawingArea::setSize):
+ (WebKit::ChunkedUpdateDrawingArea::deprecatedResumePainting):
(WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::setSize):
- (WebKit::LayerBackedDrawingArea::didReceiveMessage):
- * WebProcess/WebPage/TiledDrawingArea.cpp:
- (WebKit::TiledDrawingArea::display):
- (WebKit::TiledDrawingArea::setSize):
- (WebKit::TiledDrawingArea::updateTile):
- (WebKit::TiledDrawingArea::tileUpdateTimerFired):
- (WebKit::TiledDrawingArea::didReceiveMessage):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didReceiveMessage):
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- (WebKit::LayerBackedDrawingArea::attachCompositingContext):
-
-2010-12-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Drawing area cleanup. Remove a bunch of redundant functions that just ended
- up calling setNeedsDisplay.
-
- * UIProcess/DrawingAreaProxy.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::invalidateWindow):
- (WebKit::WebChromeClient::invalidateContentsAndWindow):
- (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
* WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
- * WebProcess/WebPage/DrawingArea.h:
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- * WebProcess/WebPage/LayerBackedDrawingArea.h:
- * WebProcess/WebPage/TiledDrawingArea.cpp:
- * WebProcess/WebPage/TiledDrawingArea.h:
-
-2010-12-25 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Fill in some more preferences for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=51610
-
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetAuthorAndUserStylesEnabled):
- (WKPreferencesGetAuthorAndUserStylesEnabled):
- (WKPreferencesSetWebArchiveDebugModeEnabled):
- (WKPreferencesGetWebArchiveDebugModeEnabled):
- (WKPreferencesSetLocalFileContentSniffingEnabled):
- (WKPreferencesGetLocalFileContentSniffingEnabled):
- (WKPreferencesSetPageCacheEnabled):
- (WKPreferencesGetPageCacheEnabled):
- (WKPreferencesSetPaginateDuringLayoutEnabled):
- (WKPreferencesGetPaginateDuringLayoutEnabled):
- (WKPreferencesSetDOMPasteAllowedEnabled):
- (WKPreferencesGetDOMPasteAllowedEnabled):
- * UIProcess/API/C/WKPreferences.h:
- * UIProcess/API/C/WKPreferencesPrivate.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
- Pipe through some more preferences.
-
-2010-12-24 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- REGRESSION (r74648): XHR layout test failures
- https://bugs.webkit.org/show_bug.cgi?id=51603
-
- Reverted r74648.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage):
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain):
-
-2010-12-24 Simon Fraser <simon.fraser@apple.com>
-
- Fix the Qt build after r74650.
-
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
-
-2010-12-24 Benjamin Poulain <ikipou@gmail.com>
-
- Reviewed by Darin Adler.
-
- [Qt] [WK2] WebKit 2 does not build on mac, missing reference to RetainPtr
- https://bugs.webkit.org/show_bug.cgi?id=51598
-
- Fix the build, add the missing header.
-
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
-
-2010-12-24 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/8758386> The web process uses its own credential storage
- https://bugs.webkit.org/show_bug.cgi?id=51599
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveAuthenticationChallenge): Try to answer the challenge using
- the UI process’s credential storage first.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Prevent the web process from using
- its own credential storage.
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain): Ditto.
-
-2010-12-23 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make dragging work again after r74591.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveEvent): Fixed a typo.
-
-2010-12-23 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Need WebKit2 API to create a SecurityOrigin from protocol, host, and port
- https://bugs.webkit.org/show_bug.cgi?id=51563
-
- Add WKSecurityOriginCreate(WKStringRef protocol, WKStringRef host, int port).
- * Shared/API/c/WKSecurityOrigin.cpp:
- (WKSecurityOriginCreateFromIdentifier):
- Renamed so as not to clash with the new WKSecurityOriginCreate.
- (WKSecurityOriginCreate):
- * Shared/API/c/WKSecurityOrigin.h:
- * Shared/WebSecurityOrigin.h:
- (WebKit::WebSecurityOrigin::create):
+2011-02-28 Dan Bernstein <mitz@apple.com>
-2010-12-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Simon Fraser.
-
- Ensure that we are not getting too many mouse move events
- https://bugs.webkit.org/show_bug.cgi?id=51568
- <rdar://problem/7881470>
- <rdar://problem/8735512>
-
- Implement throttling of mouse move events.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- Initialize m_processingMouseMoveEvent to false.
-
- (WebKit::WebPageProxy::handleMouseEvent):
- If we're already processing a mouse move events, just update
- m_nextMouseMoveEvent and return.
-
- (WebKit::WebPageProxy::didReceiveEvent):
- If we received a mouse move event, send the next mouse move event if there is one.
-
-2010-12-23 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Assertion when loading www.yahoo.com in WebKit2 under decodeResourceRequest
- https://bugs.webkit.org/show_bug.cgi?id=51562
-
- Don't assert that our data reference isn't empty when we try to get the data from it.
- If it is empty, just return 0.
-
- All callers are safe with this function returning 0.
-
- * Platform/CoreIPC/DataReference.h:
- (CoreIPC::DataReference::data): Change the assert to an early return.
- * Shared/cf/ArgumentCodersCF.cpp:
- (CoreIPC::decode): Add an assert, and remove a ternarny operator because the function now does
- this for us (if the data is empty, return 0).
-
-2010-12-23 Sam Weinig <sam@webkit.org>
-
- Fix incorrect assertion causing all pages with subframes to crash.
-
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::appendChild):
-
-2010-12-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Clean up the selection handling code
- https://bugs.webkit.org/show_bug.cgi?id=51550
-
- * Shared/SelectionState.h: Added.
- Add SelectionState class which hold information about the current selection.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- Remove selectionChanged function.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:contextRef:pageGroupRef:]):
- Remove all the selection related state; it lives in the WebPageProxy object now.
-
- (-[WKView insertText:]):
- (-[WKView selectedRange]):
- (-[WKView hasMarkedText]):
- Get the selection information from the WebPageProxy.
-
- * UIProcess/API/mac/WKViewInternal.h:
- Remove _selectionChanged declaration.
-
- * UIProcess/PageClient.h:
- Remove selectionChanged functions.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::selectionStateChanged):
- Update the selection state.
-
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::selectionState):
- Return the selection state.
+ Rubber-stamped by Anders Carlsson.
- * UIProcess/WebPageProxy.messages.in:
- Add SelectionStateChanged message.
+ Do not copy config.h into WebKit2.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- Remove all the selection related state; it lives in the WebPageProxy object now.
-
- (WebKit::WebView::compositionSelectionChanged):
- (WebKit::WebView::onIMEComposition):
- (WebKit::WebView::onIMEEndComposition):
- (WebKit::WebView::onIMERequestCharPosition):
- (WebKit::WebView::onIMERequest):
- Get the selection information from the WebPageProxy.
-
* WebKit2.xcodeproj/project.pbxproj:
- Add SelectionState.h
-
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::respondToChangedSelection):
- Send a SelectionStateChanged message with the updated state.
-
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- Remove mac specific code.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::getLocationAndLengthFromRange):
- Rename this function from convertRangeToPlatformRange and move it out of WebPageMac.mm
-
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::getMarkedRange):
- (WebKit::WebPage::characterIndexForPoint):
- Call getLocationAndLengthFromRange.
-
- * win/WebKit2.vcproj:
- Add SelectionState.h
-
-2010-12-23 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- WKView should not try to do asynchronous validation for selectors that are not editor commands
- https://bugs.webkit.org/show_bug.cgi?id=51555
- * UIProcess/API/mac/WKView.mm:
- (-[WKView validateUserInterfaceItem:]): Removed the special case for startSpeaking.
- Added call to commandIsSupportedFromMenuOrKeyBinding so we only try to do validation
- for commands that are supported. Tweaked comments and added some bug numbers.
- (-[WKView _setUserInterfaceItemState:enabled:state:]): Tweaked comment and added
- bug number.
-
-2010-12-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/8799032>
- REGRESSION(r74436) Crash opening many pages with WebKit2
-
- * Shared/cf/ArgumentCodersCF.cpp:
- (CoreIPC::decode):
- Fix paste-o. Decode into a CFDataRef not a CFDictionaryRef
- when decoding CFDataRefs.
-
-2010-12-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- WebKit2 needs to mirror the frame tree in the UIProcess
- https://bugs.webkit.org/show_bug.cgi?id=51546
-
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameCopyChildFrames):
- * UIProcess/API/C/WKFrame.h:
- Add API to get the child frames of a frame.
-
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::WebFrameProxy):
- (WebKit::WebFrameProxy::disconnect):
- (WebKit::WebFrameProxy::appendChild):
- (WebKit::WebFrameProxy::removeChild):
- (WebKit::WebFrameProxy::isDescendantOf):
- (WebKit::WebFrameProxy::dumpFrameTree):
- (WebKit::WebFrameProxy::didRemoveFromHierarchy):
- (WebKit::WebFrameProxy::childFrames):
- * UIProcess/WebFrameProxy.h:
- (WebKit::WebFrameProxy::parentFrame): Add getter.
- (WebKit::WebFrameProxy::nextSibling): Add getter.
- (WebKit::WebFrameProxy::previousSibling): Add getter.
- (WebKit::WebFrameProxy::firstChild): Add getter.
- (WebKit::WebFrameProxy::lastChild): Add getter.
- Make frames keep track of their subframes.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didCreateSubframe):
- Use the now passed parentID to insert the frame into the hierarchy
+2011-02-28 Dan Bernstein <mitz@apple.com>
- (WebKit::WebPageProxy::didSaveFrameToPageCache):
- When a frame is added to the page cache, remove it from the hierarchy.
-
- (WebKit::WebPageProxy::didRestoreFrameFromPageCache):
- When a frame is restored from the page cache, add it back to the hierarchy.
-
- (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
- Detached frames should also be removed from the hierarchy.
+ LLVM Compiler build fix.
+ * Scripts/webkit2/messages.py:
* UIProcess/WebPageProxy.h:
- Add new declarations for didSaveFrameToPageCache and didRestoreFrameFromPageCache.
-
- * UIProcess/WebPageProxy.messages.in:
- Add messages for DidSaveFrameToPageCache and DidRestoreFrameFromPageCache.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::savePlatformDataToCachedFrame):
- (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
- Remove notImplemented, there is no work we need to do here.
-
- (WebKit::WebFrameLoaderClient::didSaveToPageCache):
- (WebKit::WebFrameLoaderClient::didRestoreFromPageCache):
- Send message to UIProcess to indicate this happened.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
-
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::createSubframe):
- Send parent frameID in addition to our own in the message to UIProcess.
-
-2010-12-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- New popup windows open disproportionately big
- https://bugs.webkit.org/show_bug.cgi?id=51547
- <rdar://problem/8637029>
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::createNewPage):
- Pass the correct size back to the UI process.
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::pageRect):
- Implement this and return the size of the page.
-
-2010-12-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Nothing happens clicking "launch live player" on live.cnn.com
- https://bugs.webkit.org/show_bug.cgi?id=51540
- <rdar://problem/8791086>
-
- Implement NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState.
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_PushPopupsEnabledState):
- Call NetscapePlugin::pushPopupsEnabledState.
-
- (WebKit::NPN_PopPopupsEnabledState):
- Call NetscapePlugin::popPopupsEnabledState.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::pushPopupsEnabledState):
- Append the boolean to the vector.
-
- (WebKit::NetscapePlugin::popPopupsEnabledState):
- Remove the last boolean from the vector.
-
- (WebKit::NetscapePlugin::allowPopups):
- Return the last boolean from the vector.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::performJavaScriptURLRequest):
- Update the "allowPopupsFromPlugin" state.
-
-2010-12-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Webkit2: WebProcess crashes when Private browsing is turned on on yahoo.com
- https://bugs.webkit.org/show_bug.cgi?id=51516
- <rdar://problem/8766995>
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NPP_SetValue):
- Add a null check for NPP_SetValue.
+2011-02-28 Anders Carlsson <andersca@apple.com>
-2010-12-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
+ Reviewed by Dan Bernstein, Sam Weinig, Alexey Proskuryakov and Darin Adler.
- REGRESSION (WK2): Plugins swallow CMD-W, CMD-Q, and probably other shortcuts
- https://bugs.webkit.org/show_bug.cgi?id=51515
- <rdar://problem/8740926>
+ Open PDF in Preview doesn't work
+ https://bugs.webkit.org/show_bug.cgi?id=55400
+ <rdar://problem/8750353>
- Always return false for keyboard events where the command key is down.
+ * UIProcess/API/mac/PDFViewController.mm:
+ (-[WKPDFView initWithFrame:PDFViewController:]):
+ Set the WKPDFView as the delegate of itself.
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
+ (-[WKPDFView PDFViewOpenPDFInNativeApplication:]):
+ Call PDFViewController::openPDFInFinder.
-2010-12-22 Sam Weinig <sam@webkit.org>
+ (WebKit::PDFViewController::PDFViewController):
+ Initialize m_hasWrittenPDFToDisk to false.
- Reviewed by Darin Adler.
+ (WebKit::PDFViewController::openPDFInFinder):
+ Write the PDF to disk if needed and then open it using -[NSWorkspace openFile:].
+
+ (WebKit::temporaryPDFDirectoryPath):
+ Create a directory to put PDFs in.
- WebProcess should be terminated if invalid frameIDs are
- passed to the UIProcess.
- https://bugs.webkit.org/show_bug.cgi?id=51508
+ (WebKit::PDFViewController::pathToPDFOnDisk):
+ Return a path to a (non-existent) file in the temporary PDF directory.
- - Introduce a mechanism to mark a messages as invalid due to
- reasons other than in ability to decode the message, eg. an
- invalid frameID is passed in a message.
+2011-02-28 Alexey Proskuryakov <ap@apple.com>
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::Connection):
- (CoreIPC::Connection::markCurrentlyDispatchedMessageAsInvalid): Sets
- the m_didReceiveInvalidMessage bit so that it can be picked up in
- (CoreIPC::Connection::dispatchMessages): Check for m_didReceiveInvalidMessage in
- addition to tainted arguments.
- * Platform/CoreIPC/Connection.h:
- Add base macro for others to extend, that calls markCurrentlyDispatchedMessageAsInvalid()
- ASSERTs, and returns.
+ Reviewed by Dan Bernstein.
- * UIProcess/WebPageProxy.cpp:
- Add Message checks for all WebFrameProxy's gotten from frameIDs passed
- over the wire.
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::isGoodMapKey):
- Checks that the key can be inserted safely into a map (eg. not the empty or deleted value).
+ Frequent crashes in CFURLCache code on Snow Leopard
+ https://bugs.webkit.org/show_bug.cgi?id=55412
+ <rdar://problem/9063922>
- (WebKit::WebProcessProxy::webFrame):
- Return null for bad keys (eg. 0 or -1).
+ CString is evil, it has two lengths which can be different - specifically, fileSystemRepresentation()
+ creates a string with maximum possible buffer size. A path with garbage at the end confused
+ CFURLCache into corrupting its data structures.
- (WebKit::WebProcessProxy::canCreateFrame):
- Added. Checks that the ID is good and not in the map yet. Used
- as a consistency check before creating frames.
+ * Shared/WebProcessCreationParameters.h: Added a FIXME about merging Mac and Windows code.
+ This problem wouldn't have occured if we didn't use CString in the first place.
- (WebKit::WebProcessProxy::frameCreated):
- ASSERT that the key is good, in addition to not in the map yet.
+ * UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformInitializeWebProcess):
+ Added an assertion matching Windows behavior (seems likely that NSURLCache also wouldn't
+ have liked trailing slash).
- (WebKit::WebProcessProxy::didDestroyFrame):
- ASSERT that the key is good.
+ * UIProcess/win/WebContextWin.cpp: (WebKit::WebContext::platformInitializeWebProcess):
+ Made slash removal conditional for robustness.
- * UIProcess/WebProcessProxy.h:
- Move WebFrameProxy HashMap type into a typedef.
+ * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::platformInitializeWebProcess):
+ Use actual string length, not CString::length().
-2010-12-22 Darin Adler <darin@apple.com>
+2011-02-28 Balazs Kelemen <kbalazs@webkit.org>
Reviewed by Anders Carlsson.
- WebKit2 needs a way to return the main resource data
- https://bugs.webkit.org/show_bug.cgi?id=51510
-
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameGetMainResourceData): Added.
- (callGetMainResourceDataBlockAndDispose): Added.
- (WKFrameGetMainResourceData_b): Added.
- * UIProcess/API/C/WKFrame.h: Added WKFrameGetMainResourceData.
+ [Qt][WK2] Plugin initialization
+ https://bugs.webkit.org/show_bug.cgi?id=48127
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::getMainResourceData): Added.
- * UIProcess/WebFrameProxy.h: Ditto.
+ Specialize the way of initializing the plugin for X11.
+ Introduce PLUGIN_ARCHITECTURE macros to allow code sharing
+ across platforms.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::getMainResourceDataOfFrame): Added.
- (WebKit::WebPageProxy::dataCallback): Replaced the individual callbacks
- with just these two.
- (WebKit::WebPageProxy::stringCallback): Ditto.
- * UIProcess/WebPageProxy.h: Ditto.
- * UIProcess/WebPageProxy.messages.in: Ditto.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::runJavaScriptInMainFrame): Send the string callback
- message instead of a specific one.
- (WebKit::WebPage::getContentsAsString): Ditto.
- (WebKit::WebPage::getRenderTreeExternalRepresentation): Ditto.
- (WebKit::WebPage::getSelectionOrContentsAsString): Ditto.
- (WebKit::WebPage::getSourceForFrame): Ditto.
- (WebKit::WebPage::getMainResourceDataOfFrame): Added.
- (WebKit::WebPage::getWebArchiveOfFrame): Send the data callback message
- instead of a specific one.
- * WebProcess/WebPage/WebPage.h: Added getMainResourceDataOfFrame.
- * WebProcess/WebPage/WebPage.messages.in: Ditto.
-
-2010-12-22 Darin Adler <darin@apple.com>
-
- * WebProcess/WebPage/WebPage.cpp: Add #if to try to fix non-Mac builds.
+ * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::tryLoad):
+ * config.h:
-2010-12-22 Darin Adler <darin@apple.com>
+2011-02-28 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
-
- Make Speech menu items work in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=51504
+ Reviewed by Brady Eidson.
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameGetWebArchive): Updated to use new-named typedef.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageRunJavaScriptInMainFrame): Ditto.
- (WKPageRenderTreeExternalRepresentation): Ditto.
- (WKPageGetSourceForFrame): Ditto.
- (WKPageGetContentsAsString): Ditto.
+ WK2 Context Menus - Implement LookUpInDictionary
+ https://bugs.webkit.org/show_bug.cgi?id=55405
- * UIProcess/API/mac/WKView.mm:
- (menuItem): Added. Helper function to make it easy to call menu item
- functions on arbitrary user interface items.
- (toolbarItem): Ditto.
- (-[WKView validateUserInterfaceItem:]): Added validation for startSpeaking
- and stopSpeaking commands. Reworked the code to fix a bug where
- toggleContinuousSpellChecking would always be enabled even when it should
- be disabled. Reworked the asynchronous validation code so it works for
- items other than menu items and can also handle more than one item for the
- same command. Added some comments.
- (speakString): Added. Helper function to be used as a callback when we
- get the selection or contents to speak.
- (-[WKView startSpeaking:]): Added. Uses getSelectionOrContentsAsString.
- (-[WKView stopSpeaking:]): Added.
- (-[WKView _setUserInterfaceItemState:enabled:state:]): Reworked to work
- with the changes to validateUserInterfaceItem above.
-
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::isDisplayingMarkupDocument): Added a FIXME about
- a problem I noticed.
- (WebKit::WebFrameProxy::didCommitLoad): Tweaked argument name.
- (WebKit::WebFrameProxy::getWebArchive): Changed to use new-named typedef.
- * UIProcess/WebFrameProxy.h: Changed WebArchiveCallback to DataCallaback.
+ * Shared/DictionaryPopupInfo.cpp:
+ (WebKit::DictionaryPopupInfo::encode):
+ (WebKit::DictionaryPopupInfo::decode):
+ * Shared/DictionaryPopupInfo.h:
+ Add type to differentiate between HotKey and ContextMenu triggered
+ dictionary popups. This is necessary since HotKey triggered ones want
+ to override the style to always be overlay.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close): Invalidate the two callback maps since
- we only have two now.
- (WebKit::WebPageProxy::runJavaScriptInMainFrame): Changed to use merged
- maps and typedefs so we don't need a separate callback map for each function.
- (WebKit::WebPageProxy::getRenderTreeExternalRepresentation): Ditto.
- (WebKit::WebPageProxy::getSourceForFrame): Ditto.
- (WebKit::WebPageProxy::getContentsAsString): Ditto.
- (WebKit::WebPageProxy::getSelectionOrContentsAsString): Added.
- (WebKit::WebPageProxy::getWebArchiveOfFrame): Ditto.
- (WebKit::WebPageProxy::didGetContentsAsString): Ditto.
- (WebKit::WebPageProxy::didGetSelectionOrContentsAsString): Ditto.
- (WebKit::WebPageProxy::didRunJavaScriptInMainFrame): Ditto.
- (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation): Ditto.
- (WebKit::WebPageProxy::didGetSourceForFrame): Ditto.
- (WebKit::WebPageProxy::didGetWebArchiveOfFrame): Ditto.
- (WebKit::WebPageProxy::processDidCrash): Ditto.
-
- * UIProcess/WebPageProxy.h: Updated for changes above.
-
- * UIProcess/WebPageProxy.messages.in: Added DidGetSelectionOrContentsAsString,
- GetIsSpeaking, Speak, and StopSpeaking.
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::didPerformDictionaryLookup):
+ Only force the overlay style for HotKey triggered dictionary lookups.
- * UIProcess/mac/WebPageProxyMac.mm:
- (WebKit::WebPageProxy::getIsSpeaking): Added.
- (WebKit::WebPageProxy::speak): Added.
- (WebKit::WebPageProxy::stopSpeaking): Added.
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::performDictionaryLookupAtLocation):
+ (WebKit::WebPage::performDictionaryLookupForRange):
+ Factor out shared functionality into performDictionaryLookupForRange.
* WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
- (WebKit::WebContextMenuClient::isSpeaking): Call WebPage instead of doing
- the work directly, so it can run in the UI process.
- (WebKit::WebContextMenuClient::speak): Ditto.
- (WebKit::WebContextMenuClient::stopSpeaking): Ditto.
- (WebKit::WebContextMenuClient::searchWithSpotlight): Added FIXME comment and
- changed code to avoid a C-style cast.
-
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::selectionAsString): Added.
- * WebProcess/WebPage/WebFrame.h: Ditto.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::changeAcceleratedCompositingMode): Use sendSync in the
- modern way instead of explicitly calling WebProcess.
- (WebKit::WebPage::getSelectionOrContentsAsString): Added.
- (WebKit::WebPage::isSpeaking): Added.
- (WebKit::WebPage::speak): Added.
- (WebKit::WebPage::stopSpeaking): Added.
- * WebProcess/WebPage/WebPage.h: Added functions.
-
- * WebProcess/WebPage/WebPage.messages.in: Added GetSelectionOrContentsAsString.
-
-2010-12-22 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * Platform/mac/MachUtilities.cpp:
-
-2010-12-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Detect WebProcess crashes sooner, without waiting for ReportCrash to finish
- https://bugs.webkit.org/show_bug.cgi?id=51505
-
- * Platform/CoreIPC/CoreIPCMessageKinds.h:
- Add SetExceptionPort.
-
- * Platform/CoreIPC/mac/ConnectionMac.cpp:
- (CoreIPC::Connection::platformInvalidate):
- If we have an exception port, unregister it.
-
- (CoreIPC::Connection::platformInitialize):
- Set m_exceptionPort to null.
-
- (CoreIPC::Connection::open):
- If we have an exception port, register an event handler for it and send it over
- to the other side.
-
- (CoreIPC::Connection::receiveSourceEventHandler):
- Handle the SetExceptionPort message.
-
- (CoreIPC::Connection::exceptionSourceEventHandler):
- Receive the message, forward it to the real exception handler and call connectionDidClose.
-
- (CoreIPC::Connection::setShouldCloseConnectionOnMachExceptions):
- Create an exception port.
-
- * Platform/mac/MachUtilities.cpp:
- (machExceptionPort):
- (setMachExceptionPort):
- * Platform/mac/MachUtilities.h:
- Add helper functions for getting and setting the mach exception port.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didFinishLaunching):
- Call setShouldCloseConnectionOnMachExceptions on Mac.
-
-2010-12-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Move Mach message receiving code out into a new function
- https://bugs.webkit.org/show_bug.cgi?id=51502
-
- * Platform/CoreIPC/mac/ConnectionMac.cpp:
- (CoreIPC::readFromMachPort):
- (CoreIPC::Connection::receiveSourceEventHandler):
-
-2010-12-22 Jeff Miller <jeffm@apple.com>
-
- Reviewed by Sam Weinig.
-
- InjectedBundle methods should use the relative URL constructor for KURL instead of the ParsedURLStringTag version
- https://bugs.webkit.org/show_bug.cgi?id=51491
-
- The url passed to various InjectedBundle methods is not from KURL::string(), i.e. it has not already been parsed by KURL,
- so we have to use the relative URL constructor for KURL instead of the ParsedURLStringTag version.
-
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::addUserScript):
- (WebKit::InjectedBundle::addUserStyleSheet):
- (WebKit::InjectedBundle::removeUserScript):
- (WebKit::InjectedBundle::removeUserStyleSheet):
-
-2010-12-22 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Move more of WebPageProxy::didCommitLoadForFrame into WebFrameProxy::didCommitLoad.
-
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::didCommitLoad): Added type and certificate info arguments,
- and set m_MIMEType, m_isFrameSet, and m_certificateInfo.
- * UIProcess/WebFrameProxy.h: Removed setMIMEType and setCertificateInfo and added
- arguments to didCommitLoad.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didCommitLoadForFrame): Removed code that is now inside the
- WebFrameProxy::didCommitLoad function.
-
-2010-12-21 Darin Adler <darin@apple.com>
-
- Reviewed by Brady Eidson and Sam Weinig.
-
- Add a way to get a web archive in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=51437
-
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameGetWebArchive): Added.
- (callGetWebArchiveBlockAndDispose): Added.
- (WKFrameGetWebArchive_b): Added.
- * UIProcess/API/C/WKFrame.h: Added functions above.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close): Clear out m_webArchiveCallbacks.
- (WebKit::WebPageProxy::getWebArchiveOfFrame): Added.
- (WebKit::WebPageProxy::didGetWebArchiveOfFrame): Added.
- (WebKit::WebPageProxy::processDidCrash): Clear out m_webArchiveCallbacks.
- * UIProcess/WebPageProxy.h: Added functions above.
- * UIProcess/WebPageProxy.messages.in: Added DidGetWebArchiveOfFrame.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::getWebArchiveOfFrame): Added.
- * WebProcess/WebPage/WebPage.h: Added function above.
- * WebProcess/WebPage/WebPage.messages.in: Added GetWebArchiveOfFrame.
-
-2010-12-21 Siddharth Mathur <siddharth.mathur@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] [WK2] Guard gcc-specific syntax
-
- * WebKit2.pro: Non-gcc based compliers choke on the "-include"
- syntax for preinclude, make sure it has guard around it.
-
-2010-12-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Can't stop QT music on santastreefarm.com
- https://bugs.webkit.org/show_bug.cgi?id=51438
- <rdar://problem/8741152>
-
- Implement NPN_ConvertPoint.
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_ConvertPoint):
- Call NetscapePlugin::convertPoint.
-
- (WebKit::initializeBrowserFuncs):
- Only initialize NPN_ConvertPoint and NPN_PopUpContextMenu on Mac.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::convertPoint):
- Implement conversion routines.
-
- (WebKit::NetscapePlugin::windowAndViewFramesChanged):
- Keep track of the window and view frames, they are needed to do coordinate conversion.
-
-2010-12-21 Sam Weinig <weinig@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Implement encoding/decoding of ResourceRequest and
- ResourceResponse for Windows/CFNetwork.
-
- * Shared/win/WebCoreArgumentCodersWin.cpp:
- (CoreIPC::encodeResourceRequest):
- (CoreIPC::decodeResourceRequest):
- (CoreIPC::encodeResourceResponse):
- (CoreIPC::decodeResourceResponse):
- * win/WebKit2.vcproj:
- * win/WebKit2Common.vsprops:
-
-2010-12-21 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Mac WebKit delivers an extra didCommit when loading web archives
- https://bugs.webkit.org/show_bug.cgi?id=51419
-
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::didStartProvisionalLoad): Added assertions so we catch
- inconsistencies here instead of at the application level. Later, we will have
- to decide what to do in cases these assertions fail. The right policy is probably
- to consider it a web process failure and do whatever we do for those.
- (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad): Ditto.
- (WebKit::WebFrameProxy::didFailProvisionalLoad): Ditto.
- (WebKit::WebFrameProxy::didCommitLoad): Ditto.
- (WebKit::WebFrameProxy::didFinishLoad): Ditto.
- (WebKit::WebFrameProxy::didFailLoad): Ditto.
-
-2010-12-21 Anders Carlsson <andersca@apple.com>
-
- Fix Snow Leopard build.
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetValue):
+ (WebKit::WebContextMenuClient::lookUpInDictionary):
+ Get selected range and call newly factored out performDictionaryLookupForRange.
-2010-12-21 Anders Carlsson <andersca@apple.com>
+2011-02-28 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
- Fix crash when a Carbon plug-in fails to initialize correctly
- https://bugs.webkit.org/show_bug.cgi?id=51415
+ PDFViewController should hold a reference to the PDF data
+ https://bugs.webkit.org/show_bug.cgi?id=55394
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetValue):
- Don't claim to support the QuickDraw event model.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformDestroy):
- Only try to remove the window from the map if it's not null.
+ * UIProcess/API/mac/PDFViewController.h:
+ * UIProcess/API/mac/PDFViewController.mm:
+ (WebKit::PDFViewController::setPDFDocumentData):
-2010-12-21 Anders Carlsson <andersca@apple.com>
+2011-02-28 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
- Add ArgumentCoder support for CFDataRef
- https://bugs.webkit.org/show_bug.cgi?id=51412
-
- * Shared/cf/ArgumentCodersCF.cpp:
- (CoreIPC::typeFromCFTypeRef):
- (CoreIPC::encode):
- (CoreIPC::decode):
- * Shared/cf/ArgumentCodersCF.h:
-
-2010-12-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Clicking missing plug-in text does not show a sheet
- https://bugs.webkit.org/show_bug.cgi?id=51403
-
- * UIProcess/API/C/WKPage.h:
- Add missingPluginButtonClicked to WKPageUIClient.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::missingPluginButtonClicked):
- Call the WebUIClient member function.
-
- * UIProcess/WebPageProxy.messages.in:
- Add MissingPluginButtonClicked message.
-
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::missingPluginButtonClicked):
- Call the WKPageUIClient callback.
-
- * UIProcess/WebUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::shouldMissingPluginMessageBeButton):
- Always return true for now.
-
- (WebKit::WebChromeClient::missingPluginButtonClicked):
- Send a MissingPluginButtonClicked message.
-
-2010-12-21 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Set BUILDING_QT__ consistently
- https://bugs.webkit.org/show_bug.cgi?id=51341
+ Size of text in popup menu doesn't match size of text in <select> itself in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=48234
- * WebKit2.pro: Remove the definition of BUILDING_QT__ as it
- is already defined in WebKit.pri.
+ * Shared/TextInfo.cpp: Removed.
+ * Shared/TextInfo.h: Removed.
+ Replace this with the more appropriately DictionaryPopupInfo.
-2010-12-20 Sam Weinig <sam@webkit.org>
+ * Shared/DictionaryPopupInfo.cpp: Copied from Source/WebKit2/Shared/TextInfo.cpp.
+ (WebKit::DictionaryPopupInfo::encode):
+ (WebKit::DictionaryPopupInfo::decode):
+ * Shared/DictionaryPopupInfo.h: Copied from Source/WebKit2/Shared/TextInfo.h.
+ (WebKit::DictionaryPopupInfo::DictionaryPopupInfo):
+ Replace individual font related fields with FontInfo.
- Reviewed by Anders Carlsson.
+ * Shared/FontInfo.cpp: Added.
+ (WebKit::FontInfo::FontInfo):
+ (WebKit::FontInfo::encode):
+ (WebKit::FontInfo::decode):
+ * Shared/FontInfo.h: Added.
+ Add class to encapsulate passing a font description over the wire.
- WebKit2: Add resource load client API
- https://bugs.webkit.org/show_bug.cgi?id=51370
+ * Shared/PlatformPopupMenuData.cpp:
+ (WebKit::PlatformPopupMenuData::encode):
+ (WebKit::PlatformPopupMenuData::decode):
+ * Shared/PlatformPopupMenuData.h:
+ Add FontInfo as extra data for the Mac.
- This just pipes through the basic resource load client data.
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::didPerformDictionaryLookup):
+ * UIProcess/PageClient.h:
+ Add scaleFactor and use it to construct a font at the right size.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageSetPageResourceLoadClient):
- * UIProcess/API/C/WKPage.h:
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeResourceLoadClient):
- (WebKit::WebPageProxy::didInitiateLoadForResource):
- (WebKit::WebPageProxy::didSendRequestForResource):
- (WebKit::WebPageProxy::didReceiveResponseForResource):
- (WebKit::WebPageProxy::didReceiveContentLengthForResource):
- (WebKit::WebPageProxy::didFinishLoadForResource):
- (WebKit::WebPageProxy::didFailLoadForResource):
+ (WebKit::WebPageProxy::showPopupMenu):
+ (WebKit::WebPageProxy::didPerformDictionaryLookup):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebResourceLoadClient.cpp: Added.
- (WebKit::WebResourceLoadClient::didInitiateLoadForResource):
- (WebKit::WebResourceLoadClient::didSendRequestForResource):
- (WebKit::WebResourceLoadClient::didReceiveResponseForResource):
- (WebKit::WebResourceLoadClient::didReceiveContentLengthForResource):
- (WebKit::WebResourceLoadClient::didFinishLoadForResource):
- (WebKit::WebResourceLoadClient::didFailLoadForResource):
- * UIProcess/WebResourceLoadClient.h: Added.
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
- (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
- (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
- (WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
- * win/WebKit2.vcproj:
-
-2010-12-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a TextChecker class, hook up spelling and grammar toggling
- https://bugs.webkit.org/show_bug.cgi?id=51363
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView validateUserInterfaceItem:]):
- (-[WKView toggleContinuousSpellChecking:]):
- (-[WKView toggleGrammarChecking:]):
- * UIProcess/TextChecker.h: Added.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::unmarkAllMisspellings):
- (WebKit::WebPageProxy::unmarkAllBadGrammar):
- * UIProcess/WebPageProxy.h:
- * UIProcess/mac/TextCheckerMac.mm: Added.
- (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
- (WebKit::TextChecker::isContinuousSpellCheckingEnabled):
- (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
- (WebKit::TextChecker::isGrammarCheckingEnabled):
- (WebKit::TextChecker::setGrammarCheckingEnabled):
- * UIProcess/qt/TextCheckerQt.cpp: Added.
- (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
- (WebKit::TextChecker::isContinuousSpellCheckingEnabled):
- (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
- (WebKit::TextChecker::isGrammarCheckingEnabled):
- (WebKit::TextChecker::setGrammarCheckingEnabled):
- * UIProcess/win/TextCheckerWin.cpp: Added.
- (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
- (WebKit::TextChecker::isContinuousSpellCheckingEnabled):
- (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
- (WebKit::TextChecker::isGrammarCheckingEnabled):
- (WebKit::TextChecker::setGrammarCheckingEnabled):
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::unmarkAllMisspellings):
- (WebKit::WebPage::unmarkAllBadGrammar):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
- * win/WebKit2.vcproj:
-
-2010-12-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Flash plug-in does not work on YouTube video page when accelerated compositing is disabled
- https://bugs.webkit.org/show_bug.cgi?id=51348
- <rdar://problem/8787667>
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::callMemberFunction):
- Add new overload.
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::create):
- (WebKit::PluginControllerProxy::PluginControllerProxy):
- These now take an additional isAcceleratedCompositingEnabled parameter.
-
- (WebKit::PluginControllerProxy::isAcceleratedCompositingEnabled):
- Return m_isAcceleratedCompositingEnabled.
-
- * PluginProcess/PluginControllerProxy.h:
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::createPlugin):
- This now takes an additional isAcceleratedCompositingEnabled parameter.
-
- * PluginProcess/WebProcessConnection.messages.in:
- Add isAcceleratedCompositingEnabled parameter to the CreatePlugin message.
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::initialize):
- Pass isAcceleratedCompositingEnabled when sending the CreatePlugin message.
-
-2010-12-20 Anders Carlsson <andersca@apple.com>
-
- Unreviewed, rolling out r74345.
- http://trac.webkit.org/changeset/74345
- https://bugs.webkit.org/show_bug.cgi?id=51115
-
- Not the correct fix.
-
- * Platform/CoreIPC/Connection.h:
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- (CoreIPC::Connection::open):
-
-2010-12-20 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt][WK2] Crash in web process after the connection had been closed
- https://bugs.webkit.org/show_bug.cgi?id=51115
-
- Do not call connectionDidClose with a connection that has been explicitly
- invalidated on the listener thread.
- * Platform/CoreIPC/Connection.h:
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- (CoreIPC::Connection::disconnectHandler): Added.
- (CoreIPC::Connection::open):
-
-2010-12-19 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- Improve the fix for <rdar://problem/8769525>.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView performKeyEquivalent:]): Do not retain the view. Doing so is necessary in
- -[WebHTMLView performKeyEquivalent:], which this method was based upon, but not here, because
- there is no way for the web process to cause the WKView to be released while it is handling
- the event.
-
-2010-12-19 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/8769525> WKView leak when performing key equivalents
- https://bugs.webkit.org/show_bug.cgi?id=51315
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView performKeyEquivalent:]): Use a RetainPtr to ensure that the view is released in the
- early return code path.
-
-2010-12-19 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] [WK2] QWKPagePrivate::paint() does not need to save the graphics context
- https://bugs.webkit.org/show_bug.cgi?id=51300
-
- Remove the unnecessary save() and restore() on the QPainter.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::paint):
-
-2010-12-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] [WK2] Client are expected to render their own background for WebPages
- https://bugs.webkit.org/show_bug.cgi?id=51296
-
- Remove the rendering of the checkerboard from the tiled DrawingAreaProxy
-
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::paint):
- * UIProcess/TiledDrawingAreaTile.h:
- * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
-
-2010-12-19 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] [WK2] Client are expected to render their own background for WebPages
- https://bugs.webkit.org/show_bug.cgi?id=51296
-
- Do not render a white background before rendering the page with DrawingAreaProxy.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::paint):
-
-2010-12-17 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Window title for image documents shows corrupted characters instead of multiplication sign when using WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=43505
-
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Changed UI_STRING macros to return
- WebCore::String objects instead of C strings.
- (WebKit::formatLocalizedString): Added. Uses the Core Foundation string formatting function for
- reasons explained in the comment.
- (WebKit::WebPlatformStrategies::multipleFileUploadText): Use formatLocalizedString instead of
- String::format.
- (WebKit::WebPlatformStrategies::imageTitle): Ditto.
- (WebKit::WebPlatformStrategies::localizedMediaTimeDescription): Ditto.
-
-2010-12-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Resizing a WKView while loading a page can leave the page at a size that doesn't match the window
- https://bugs.webkit.org/show_bug.cgi?id=51282
- <rdar://problem/8133142>
-
- Fix a race condition in waitForMessage. If we time out on the wait condition, we would keep the
- m_waitForMessageMutex mutex unlocked for a brief period of time before taking the lock again and
- then removing the messageID/destinationID pair from the hash map. Under some circumstances, the
- connection queue would update the hash map right before we removed it, leading to a lost message.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::waitForMessage):
-
-2010-12-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Simon Fraser.
-
- Clean up ChunkedUpdateDrawingAreaProxy
- https://bugs.webkit.org/show_bug.cgi?id=51277
-
- Get rid of m_lastSetViewSize since it was always equal to m_size.
-
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::sizeDidChange):
- Call sendSetSize().
-
- (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
- Call sendSetSize if the size differs.
-
- (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
- Move code from sizeDidChange over here.
-
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
- * UIProcess/DrawingAreaProxy.cpp:
- (WebKit::DrawingAreaProxy::setSize):
- Add back the early return if the sizes are equal.
-
-2010-12-17 Brent Fulgham <bfulgham@webkit.org>
-
- Unreviewed build fix.
-
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::canHandleRequest): Provide alternative for
- non-CFNetwork implementation.
-
-2010-12-17 Ada Chan <adachan@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Implement WKView::setInitialFocus().
- https://bugs.webkit.org/show_bug.cgi?id=51274
-
- * UIProcess/API/C/win/WKView.cpp:
- (WKViewSetInitialFocus):
- * UIProcess/API/C/win/WKView.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setInitialFocus): Send message to the Web Process to set
- initial focus.
- * UIProcess/WebPageProxy.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::setInitialFocus):
- * UIProcess/win/WebView.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setInitialFocus): Set the focused node to null initially. Then
- ask FocusController to set the initial focus based on the focus direction.
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in: Add a new message for SetInitialFocus.
-
-2010-12-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove a check that probably uncovered a resizing bug.
-
- * UIProcess/DrawingAreaProxy.cpp:
- (WebKit::DrawingAreaProxy::setSize):
-
-2010-12-17 Brian Weinstein <bweinstein@apple.com>
-
- Qt build fix.
-
- * UIProcess/qt/WebPopupMenuProxyQt.h:
-
-2010-12-17 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Text area does not update when you arrow through a <select> in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=51269
- <rdar://problem/8612853>
-
- Patch by Sam Weinig.
-
- Insteaed of keeping track of the selected index of a <select> just in the UI process, we
- need to pass this information along to the web process so that the web process can draw
- the correct text in the text field at the top of the select, when the selection changes (via
- the arrows or other typing while the select is opened).
-
- When the selected item in a popup changes, the UI process sends a message to the web process, telling
- it about the new selected index. The web process gets this message, and then sets the text that
- is visible in the select element.
-
- * UIProcess/API/mac/PageClientImpl.h: CreatePopupMenuProxy now takes a WebPageProxy.
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::createPopupMenuProxy): Pass the WebPageProxy to create.
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::createPopupMenuProxy):
- * UIProcess/API/qt/qwkpage_p.h: CreatePopupMenuProxy now takes a WebPageProxy.
- * UIProcess/PageClient.h: CreatePopupMenuProxy now takes a WebPageProxy.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::valueChangedForPopupMenu): Send that the selected index changed to the
- web process.selected
- (WebKit::WebPageProxy::setTextFromItemForPopupMenu): Send that we should update the text for the
- active popup menu (with the index of the item to show).
- (WebKit::WebPageProxy::showPopupMenu): Pass the WebPageProxy to createPopupMenuProxy.
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPopupMenuProxy.h: Add a client who has virtual functions for the state changing of the
- popup menu. ShowPopupMenu doesn't take a new selected index anymore, that is handled by the client,
- and calling down to the web process.
- (WebKit::WebPopupMenuProxy::Client::~Client):
- (WebKit::WebPopupMenuProxy::WebPopupMenuProxy): Initialize the client.
+ * UIProcess/WebPopupMenuProxy.h:
* UIProcess/mac/WebPopupMenuProxyMac.h:
- (WebKit::WebPopupMenuProxyMac::create): Takes a WebPopupMenuProxy::Client, and passes it to the constructor.
+ (WebKit::WebPopupMenuProxyMac::create):
* UIProcess/mac/WebPopupMenuProxyMac.mm:
- (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac): Update what's initialized by the constructor.
- (WebKit::WebPopupMenuProxyMac::showPopupMenu): Call through to the web process that the value changed.
+ (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):
+ (WebKit::WebPopupMenuProxyMac::populate):
+ (WebKit::WebPopupMenuProxyMac::showPopupMenu):
* UIProcess/qt/WebPopupMenuProxyQt.cpp:
- (WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt): Update what's initialized by the constructor.
+ (WebKit::WebPopupMenuProxyQt::showPopupMenu):
+ * UIProcess/qt/WebPopupMenuProxyQt.h:
* UIProcess/win/WebPopupMenuProxyWin.cpp:
- (WebKit::WebPopupMenuProxyWin::WebPopupMenuProxyWin): Ditto.
- (WebKit::WebPopupMenuProxyWin::showPopupMenu): Call through to the web process that the value changed.
- (WebKit::WebPopupMenuProxyWin::setFocusedIndex): Resolve a FIXME to set the text of the popup menu.
+ (WebKit::WebPopupMenuProxyWin::showPopupMenu):
* UIProcess/win/WebPopupMenuProxyWin.h:
- (WebKit::WebPopupMenuProxyWin::create): Take in a WebPopupMenuProxy::client, and pass it to the constructor.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::createPopupMenuProxy): Pass the WebPageProxy to create.
- * UIProcess/win/WebView.h:
- * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
- (WebKit::WebPopupMenu::setTextForIndex): Call through to setTextFromItem to set the select text.
- * WebProcess/WebCoreSupport/WebPopupMenu.h:
- * WebProcess/WebPage/WebPage.cpp: Call through to setTextForIndex on the active popup menu.
- (WebKit::WebPage::setTextForActivePopupMenu):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in: Add a new message.
-
-2010-12-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- DrawingAreaProxy::setSize shouldn't be a virtual member function
- https://bugs.webkit.org/show_bug.cgi?id=51275
-
- Add a pure virtual sizeDidChange member function to DrawingAreaProxy, and only
- call it if the size changes.
-
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::sizeDidChange):
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
- * UIProcess/DrawingAreaProxy.cpp:
- (WebKit::DrawingAreaProxy::setSize):
- * UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::size):
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
- * UIProcess/LayerBackedDrawingAreaProxy.h:
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::sizeDidChange):
- * UIProcess/TiledDrawingAreaProxy.h:
-
-2010-12-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a WebPageProxy parameter to the DrawingAreaProxy constructor
- https://bugs.webkit.org/show_bug.cgi?id=51271
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:contextRef:pageGroupRef:]):
- (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::QGraphicsWKView):
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::create):
- (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
- * UIProcess/DrawingAreaProxy.cpp:
- (WebKit::DrawingAreaProxy::DrawingAreaProxy):
- * UIProcess/DrawingAreaProxy.h:
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- (WebKit::LayerBackedDrawingAreaProxy::create):
- (WebKit::LayerBackedDrawingAreaProxy::LayerBackedDrawingAreaProxy):
- * UIProcess/LayerBackedDrawingAreaProxy.h:
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::create):
- (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
- * UIProcess/TiledDrawingAreaProxy.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
-
-2010-12-17 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- Add API for "Always Use the Complex Text Code Path"
- https://bugs.webkit.org/show_bug.cgi?id=51265
-
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Initialize shouldAlwaysUseComplexTextCodePath.
- (WebKit::WebProcessCreationParameters::encode): Encode shouldAlwaysUseComplexTextCodePath.
- (WebKit::WebProcessCreationParameters::decode): Decode shouldAlwaysUseComplexTextCodePath.
- * Shared/WebProcessCreationParameters.h:
- * UIProcess/API/C/WKContext.cpp:
- (_WKContextSetAlwaysUsesComplexTextCodePath): Added.
- * UIProcess/API/C/WKContextPrivate.h:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext): Initialize m_alwaysUsesComplexTextCodePath.
- (WebKit::WebContext::ensureWebProcess): Set shouldAlwaysUseComplexTextCodePath in the creation parameters.
- (WebKit::WebContext::setAlwaysUsesComplexTextCodePath): Added. Sets m_alwaysUsesComplexTextCodePath and
- sends a message to the WebProcess.
- * UIProcess/WebContext.h:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess): Call setAlwaysUsesComplexTextCodePath() based on the creation
- parameters.
- (WebKit::WebProcess::setAlwaysUsesComplexTextCodePath): Added.
- * WebProcess/WebProcess.h:
- * WebProcess/WebProcess.messages.in: Added SetAlwaysUsesComplexTextCodePath.
-
-2010-12-17 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- WebKit2: Implement a title attribute per frame
- https://bugs.webkit.org/show_bug.cgi?id=51266
-
- Cache the title of each frame on the WebFrameProxy. Removes
- the WebPageProxy's cache of the main frame title to just
- access the main frame.
-
- We clear the cached title on new committed loads and on failures
- to load.
-
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameCopyTitle):
- * UIProcess/API/C/WKFrame.h:
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::didCommitLoad):
- (WebKit::WebFrameProxy::didFailLoad):
- (WebKit::WebFrameProxy::didChangeTitle):
- * UIProcess/WebFrameProxy.h:
- (WebKit::WebFrameProxy::title):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::pageTitle):
- (WebKit::WebPageProxy::didReceiveTitleForFrame):
- (WebKit::WebPageProxy::processDidCrash):
- * UIProcess/WebPageProxy.h:
-
-2010-12-16 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Add text encoding menu API for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=51226
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageSupportsTextEncoding): Added.
- (WKPageCopyCustomTextEncodingName): Added.
- (WKPageSetCustomTextEncodingName): Added.
- * UIProcess/API/C/WKPage.h: Added the functions above.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy): Initialize
- m_mainFrameHasCustomRepresentation to false.
- (WebKit::WebPageProxy::supportsTextEncoding): Added.
- (WebKit::WebPageProxy::setCustomTextEncodingName): Added.
- (WebKit::WebPageProxy::didCommitLoadForFrame): Set
- m_mainFrameHasCustomRepresentation.
-
- * UIProcess/WebPageProxy.h: Added supportsTextEncoding,
- setCustomTextEncodingName, customTextEncodingName, and
- m_mainFrameHasCustomRepresentation.
-
- * UIProcess/WebPageProxy.messages.in: Tweaked formatting
- (added a blank line).
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setCustomTextEncodingName): Added.
- * WebProcess/WebPage/WebPage.h: Added setCustomTextEncodingName.
-
- * WebProcess/WebPage/WebPage.messages.in: Added the
- SetCustomTextEncodingName message. Tweaked formatting of the
- dummy message.
-
-2010-12-17 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r74201.
- http://trac.webkit.org/changeset/74201
- https://bugs.webkit.org/show_bug.cgi?id=51248
-
- It broke ~6000 layout tests (Requested by Ossy_ on #webkit).
-
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::setGeometry):
- (QGraphicsWKView::itemChange):
-
-2010-12-16 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Add svn:eol-style native to the message.in files as a favor to Darin Adler.
-
- * PluginProcess/PluginControllerProxy.messages.in: Added property svn:eol-style.
- * PluginProcess/PluginProcess.messages.in: Added property svn:eol-style.
- * PluginProcess/WebProcessConnection.messages.in: Added property svn:eol-style.
- * Shared/Plugins/NPObjectMessageReceiver.messages.in: Added property svn:eol-style.
- * UIProcess/Downloads/DownloadProxy.messages.in: Added property svn:eol-style.
- * UIProcess/Plugins/PluginProcessProxy.messages.in: Added property svn:eol-style.
- * UIProcess/WebContext.messages.in: Added property svn:eol-style.
- * UIProcess/WebDatabaseManagerProxy.messages.in: Added property svn:eol-style.
- * UIProcess/WebInspectorProxy.messages.in: Added property svn:eol-style.
- * UIProcess/WebPageProxy.messages.in: Added property svn:eol-style.
- * UIProcess/WebProcessProxy.messages.in: Added property svn:eol-style.
- * WebProcess/Authentication/AuthenticationManager.messages.in: Added property svn:eol-style.
- * WebProcess/Plugins/PluginProxy.messages.in: Added property svn:eol-style.
- * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: Added property svn:eol-style.
- * WebProcess/WebPage/WebInspector.messages.in: Added property svn:eol-style.
- * WebProcess/WebPage/WebPage.messages.in: Added property svn:eol-style.
- * WebProcess/WebProcess.messages.in: Added property svn:eol-style.
-
-2010-12-16 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Move NSURLCache initialization from the ProcessLauncherMac to the centralized
- WebContext initialize WebProcess mechanism.
-
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess):
- * UIProcess/mac/WebContextMac.mm:
- (WebKit::WebContext::platformInitializeWebProcess):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::platformInitializeWebProcess):
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain):
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::WebProcess::platformInitializeWebProcess):
- (WebKit::WebProcess::setShouldPaintNativeControls):
-
-2010-12-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Defer getting a PluginProcessConnection object until the plug-in is initialized
- https://bugs.webkit.org/show_bug.cgi?id=51207
- <rdar://problem/8731306>
-
- Before this change, we would pass the PluginProcessConnection to the PluginProxy constructor, but not
- call PluginProcessConnection::addPluginProxy (which associates the plug-in proxy with the connection)
- until the plug-in is initialized.
-
- This could lead to a PluginProxy holding a reference to a PluginProcessConnection when the PluginProxyConnection
- itself did not know anything about the PluginProxy. This would happen when a page with plug-ins is opened in a background
- tab, with the plug-ins not yet initialized.
-
- Because of this, we could end up in a weird state, where the PluginProcessConnection would think that there are no
- more plug-ins alive, and invalidate (and null out) the underlying CoreIPC connection, which would lead to crashes
- when trying to send messages to the connection during later initialization.
-
- The fix is to pass the plug-in path to the PluginProxy constructor, and get the connection from PluginProxy::initialize.
-
- PluginProcessConnection object
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::create):
- (WebKit::PluginProxy::PluginProxy):
- (WebKit::PluginProxy::initialize):
- * WebProcess/Plugins/PluginProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::createPlugin):
-
-2010-12-16 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- WebKit2: Cannot copy two successive selections using cmd-c
- <rdar://problem/8680309>
- https://bugs.webkit.org/show_bug.cgi?id=51203
-
- The previous implementation assumed a call sequence from AppKit that
- was not always happening.
- When the user clicks on the pulldown menu, AppKit sends validateUserInterfaceItem
- calls for each element that needs validation and we used to count the number of
- validation requests being sent to the web process.
- All these calls are made before we have the chance to get one reply from the WebProcess.
- We also delayed the menu update until we had received all the replies to the validation requests.
- At that point we called update on the menu to trigger the validation one more time with
- the data retrived from the WebProcess.
- When the user simply presses cmd-c, only one call to vaidateUserInterfaceItem is made
- and the menu update triggered the validation of all the menu entries causing the internal
- state to be out of sync.
- The new implementation is very simple: for each validation request from AppKit we send
- a request to the WebProcess and we cache a reference to the menu item being validated.
- When the WebProcess replies, we retrieve the menu item from our cache and update its state.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:contextRef:pageGroupRef:]): Removed initialization of deleted memebers.
- (-[WKView validateUserInterfaceItem:]): Request validation to the WebProcess and return YES to
- allow AppKit to do the keyBinding processing.
- (-[WKView _setUserInterfaceItemState:enabled:state:]): Called when the WebProcess replies to the
- validation request to check/uncheck and enable/disable the menu item.
-
-2010-12-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Don't try to call plug-in member functions if the plug-in hasn't been initialized
- https://bugs.webkit.org/show_bug.cgi?id=51205
- <rdar://problem/8730204>
-
- Make sure that all PluginView functions that can be called while a plug-in has not been
- initialized (if the plug-in page is in a background tab for example) have an additional
- check for m_isInitialized.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::setWindowIsFocused):
- (WebKit::PluginView::windowAndViewFramesChanged):
- (WebKit::PluginView::platformLayer):
- (WebKit::PluginView::scriptObject):
- (WebKit::PluginView::privateBrowsingStateChanged):
- (WebKit::PluginView::handleEvent):
- (WebKit::PluginView::viewGeometryDidChange):
- (WebKit::PluginView::setFocus):
-
-2010-12-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Add a bunch of m_isStarted assertions to plug-in code.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::frameDidFinishLoading):
- (WebKit::NetscapePlugin::frameDidFail):
- (WebKit::NetscapePlugin::didEvaluateJavaScript):
- (WebKit::NetscapePlugin::streamDidReceiveResponse):
- (WebKit::NetscapePlugin::streamDidReceiveData):
- (WebKit::NetscapePlugin::streamDidFinishLoading):
- (WebKit::NetscapePlugin::streamDidFail):
- (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
- (WebKit::NetscapePlugin::manualStreamDidReceiveData):
- (WebKit::NetscapePlugin::manualStreamDidFinishLoading):
- (WebKit::NetscapePlugin::manualStreamDidFail):
- (WebKit::NetscapePlugin::handleMouseEvent):
- (WebKit::NetscapePlugin::handleWheelEvent):
- (WebKit::NetscapePlugin::handleMouseEnterEvent):
- (WebKit::NetscapePlugin::handleMouseLeaveEvent):
- (WebKit::NetscapePlugin::handleKeyboardEvent):
- (WebKit::NetscapePlugin::setFocus):
- (WebKit::NetscapePlugin::pluginScriptableNPObject):
- (WebKit::NetscapePlugin::privateBrowsingStateChanged):
-
-2010-12-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Save the manual plug-in stream data and redeliver it when the plug-in is initialized
- https://bugs.webkit.org/show_bug.cgi?id=51201
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::PluginView):
- Initialize m_manualStreamState.
-
- (WebKit::PluginView::manualLoadDidReceiveResponse):
- If the plug-in hasn't been initialized, store the response.
-
- (WebKit::PluginView::manualLoadDidReceiveData):
- If the plug-in hasn't been initialized, store the data.
-
- (WebKit::PluginView::manualLoadDidFinishLoading):
- If the plug-in hasn't been initialized, update the state.
-
- (WebKit::PluginView::manualLoadDidFail):
- If the plug-in hasn't been initialized, store the error and update the state.
-
- (WebKit::PluginView::initializePlugin):
- Call redeliverManualStream.
-
- (WebKit::PluginView::redeliverManualStream):
- Redeliver the manual stream to the plug-in.
-
- * WebProcess/Plugins/PluginView.h:
-
-2010-12-16 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Turn off drawing area updates if the item is not visible
-
- The updates are controlled by the QGraphicsItem::visible property.
-
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKViewPrivate::updateViewportSize):
- (QGraphicsWKView::setGeometry):
- (QGraphicsWKView::itemChange):
-
-2010-12-15 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/8731320> WebProcess’s CFNetwork cache is in ~/Library/Caches/com.apple.WebProcess
-
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess): Get the location, disk capacity and memory capacity
- of the UI process’s NSURLCache and pass them to the WebProcess.
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain): If an NSURLCache location was passed on the command line, set the
- shared NSURLCache to that path and use the specified capacities as initial values.
-
-2010-12-15 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam “I blame andersca” Weinig.
-
- Allow responses to be cached by the NSURLCache.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::willCacheResponse): Changed to return the response instead of 0.
-
-2010-12-14 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Adam Roben.
-
- Add IME support to WebKit2 on Windows
- https://bugs.webkit.org/show_bug.cgi?id=51049
- The implementation is very close to the one in WebKit.
- The main change is the addition of handlers for WM_IME_STARTCOMPOSITION,
- WM_IME_REQUEST, WM_IME_COMPOSITION, WM_IME_ENDCOMPOSITION,
- WM_IME_SELECT, WM_IME_SETCONTEXT and a number of new messages
- between the UI process and the WebProcess to send/retrieve
- the data being handled by the messages listed above.
-
- * UIProcess/PageClient.h: Added compositionSelectionChanged for Windows platform.
- * UIProcess/WebPageProxy.cpp:
- The following methods send synchronous messages to the WebProcess.
- (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange): Retrieves the rectangle to position
- the cnadidates window.
- (WebKit::WebPageProxy::getSelectedText): Retrieves the currently selected text.
- The following methods send asynchronous messages to the WebProcess.
- (WebKit::WebPageProxy::confirmComposition):
- (WebKit::WebPageProxy::setComposition):
- (WebKit::WebPageProxy::didChangeSelection): Name changed.
- (WebKit::WebPageProxy::didChangeCompositionSelection): Called when there is a change
- in the composition selection.
- * UIProcess/WebPageProxy.messages.in: Added messages corresponding to the methods above.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::wndProc): Added handling of messages for IME.
- The following are the handlers for the window message being sent during composition.
- (WebKit::WebView::onIMEComposition):
- (WebKit::WebView::onIMEEndComposition):
- (WebKit::WebView::onIMERequestCharPosition):
- (WebKit::WebView::onIMERequestReconvertString):
- (WebKit::WebView::onIMERequest):
- (WebKit::WebView::onIMESelect):
- (WebKit::WebView::onIMESetContext):
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::respondToChangedSelection): Added notification
- of composition selection changed for Windows.
- * WebProcess/WebPage/win/WebPageWin.cpp:
- The following are the WebProcess counterparts of the new messages.
- (WebKit::WebPage::confirmComposition):
- (WebKit::WebPage::setComposition):
- (WebKit::WebPage::firstRectForCharacterInSelectedRange):
- (WebKit::WebPage::getSelectedText):
-
-2010-12-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Brady Eidson.
-
- Loading webkit.org over and over is slower in WebKit2 than WebKit1, looks like page is not cached
- <rdar://problem/8774683>
- https://bugs.webkit.org/show_bug.cgi?id=51143
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::canCachePage): Return true as long as we
- are not a custom representation (eg. a PDF).
- (WebKit::WebFrameLoaderClient::shouldCacheResponse): Always return true.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences): Enable the page cache.
-
-2010-12-15 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Adele Peterson.
-
- WebKit2 in compositing mode no longer has font smoothing
- https://bugs.webkit.org/show_bug.cgi?id=50733
-
- Tell the root GraphicsLayer that its contents are opaque
- if the WebPage draws its background, and that background
- is not transparent.
-
- The GraphicsLayer then uses the 'contentsOpaque' setting to
- determine whether to use font smoothing.
-
- Add pageBackgroundTransparencyChanged() to DrawingArea
- so that the WebPage can inform the DrawingArea when the
- background transparency changes.
-
- * WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::pageBackgroundTransparencyChanged):
- (WebKit::DrawingArea::onPageClose):
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
- (WebKit::LayerBackedDrawingArea::pageBackgroundTransparencyChanged):
- * WebProcess/WebPage/LayerBackedDrawingArea.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setDrawsBackground):
- (WebKit::WebPage::setDrawsTransparentBackground):
-
-2010-12-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix assertion in plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html test
- https://bugs.webkit.org/show_bug.cgi?id=51136
-
- Ensure that a plug-in that has explicitly cancelled the manual stream won't get any more callbacks.
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::PluginControllerProxy):
- (WebKit::PluginControllerProxy::cancelManualStreamLoad):
- (WebKit::PluginControllerProxy::manualStreamDidReceiveResponse):
- (WebKit::PluginControllerProxy::manualStreamDidReceiveData):
- (WebKit::PluginControllerProxy::manualStreamDidFinishLoading):
- (WebKit::PluginControllerProxy::manualStreamDidFail):
- * PluginProcess/PluginControllerProxy.h:
-
-2010-12-15 Brian Weinstein <bweinstein@apple.com>
-
- Windows Build Fix. A .h file was added to the vcproj twice, but not its corresponding cpp file.
-
- * win/WebKit2.vcproj:
-
-2010-12-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- WebKit2: Can't add files to an <input type=file>
- https://bugs.webkit.org/show_bug.cgi?id=51087
-
- * Scripts/webkit2/messages.py:
- Adds new types.
-
- * Shared/API/c/WKBase.h:
- Adds WKOpenPanelParametersRef and WKOpenPanelResultListenerRef.
-
- * Shared/APIObject.h:
- Adds TypeOpenPanelParameters and TypeOpenPanelResultListener.
-
- * Shared/WebOpenPanelParameters.cpp: Added.
- (WebKit::WebOpenPanelParameters::create):
- (WebKit::WebOpenPanelParameters::WebOpenPanelParameters):
- (WebKit::WebOpenPanelParameters::~WebOpenPanelParameters):
- (WebKit::WebOpenPanelParameters::Data::encode):
- (WebKit::WebOpenPanelParameters::Data::decode):
- * Shared/WebOpenPanelParameters.h: Added.
- (WebKit::WebOpenPanelParameters::allowMultipleFiles):
- (WebKit::WebOpenPanelParameters::type):
- Class representing options one can pass to open panel.
-
- * UIProcess/API/C/WKAPICast.h:
- Add casts for WebOpenPanelParameters and WebOpenPanelResultListenerProxy.
-
- * UIProcess/API/C/WKOpenPanelParameters.cpp: Added.
- (WKOpenPanelParametersGetTypeID):
- (WKOpenPanelParametersGetAllowsMultipleFiles):
- * UIProcess/API/C/WKOpenPanelParameters.h: Added.
- * UIProcess/API/C/WKOpenPanelResultListener.cpp: Added.
- (WKOpenPanelResultListenerGetTypeID):
- (WKOpenPanelResultListenerChooseFiles):
- (WKOpenPanelResultListenerCancel):
- * UIProcess/API/C/WKOpenPanelResultListener.h: Added.
- Add API wrappers.
-
- * UIProcess/API/C/WKPage.h:
- Add new UI callback, WKPageRunOpenPanelCallback.
-
- * UIProcess/API/C/WebKit2.h:
- Add includes for new API headers.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- Stub out the runOpenPanel callback.
-
- * UIProcess/WebOpenPanelResultListenerProxy.cpp: Added.
- (WebKit::WebOpenPanelResultListenerProxy::WebOpenPanelResultListenerProxy):
- (WebKit::WebOpenPanelResultListenerProxy::~WebOpenPanelResultListenerProxy):
- (WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
- (WebKit::WebOpenPanelResultListenerProxy::cancel):
- (WebKit::WebOpenPanelResultListenerProxy::invalidate):
- * UIProcess/WebOpenPanelResultListenerProxy.h: Added.
- (WebKit::WebOpenPanelResultListenerProxy::create):
- (WebKit::WebOpenPanelResultListenerProxy::type):
- Adds the listener used to choose files for <input type=file>
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::runOpenPanel):
- (WebKit::WebPageProxy::didChooseFilesForOpenPanel):
- (WebKit::WebPageProxy::didCancelForOpenPanel):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::runOpenPanel):
- * UIProcess/WebUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::runOpenPanel):
- * WebProcess/WebPage/WebOpenPanelResultListener.cpp: Added.
- (WebKit::WebOpenPanelResultListener::create):
- (WebKit::WebOpenPanelResultListener::WebOpenPanelResultListener):
- (WebKit::WebOpenPanelResultListener::~WebOpenPanelResultListener):
- (WebKit::WebOpenPanelResultListener::didChooseFiles):
- * WebProcess/WebPage/WebOpenPanelResultListener.h: Added.
- (WebKit::WebOpenPanelResultListener::disconnectFromPage):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::close):
- (WebKit::WebPage::setActiveOpenPanelResultListener):
- (WebKit::WebPage::didChooseFilesForOpenPanel):
- (WebKit::WebPage::didCancelForOpenPanel):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::activeOpenPanelResultListener):
- * WebProcess/WebPage/WebPage.messages.in:
- Pipe through file choosing.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
- Add new files.
-
-2010-12-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Semi-reproducible crash in ChunkedUpdateDrawingArea::paintIntoUpdateChunk closing a particular yahoo page
- https://bugs.webkit.org/show_bug.cgi?id=51126
- <rdar://problem/8771219>
-
- Laying out the web page can cause the drawing area to change so we need to protect against this.
-
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- (WebKit::ChunkedUpdateDrawingArea::display):
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::display):
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverFired):
-
-2010-12-15 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
-
- WebKit2: WebPageWin needs implementations of hasLocalDataForURL and canHandleRequest
- https://bugs.webkit.org/show_bug.cgi?id=51090
-
- Implement these functions for WebKit2 on Windows.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::hasLocalDataForURL): Does the cross-platform part of the check for having local
- data (file URL or subresource), then calls platformHasLocalDataForURL to let the platform do
- their specific checks.
- * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
+ (WebKit::WebPopupMenu::setUpPlatformData):
* WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::platformHasLocalDataForURL): Moved the cross-platform code from here to WebPage::hasLocalDataForURL.
- * WebProcess/WebPage/qt/WebPageQt.cpp:
- (WebKit::WebPage::platformHasLocalDataForURL): Renamed from hasLocalDataForURL.
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::platformHasLocalDataForURL): Renamed from hasLocalDataForURL and implemented with CFNetwork calls. This is the
- CFNetwork equivalent of the code in WebPageMac::platformHasLocalDataForURL.
- (WebKit::WebPage::canHandleRequest): Copied the line of code from WebView::canHandleRequest in WebKit1, with a FIXME saying
- this might not be enough (although it was in WebKit1 on Windows).
-
-2010-12-15 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r74117.
- http://trac.webkit.org/changeset/74117
- https://bugs.webkit.org/show_bug.cgi?id=51113
-
- This broke the GTK1 build. (Requested by mrobinson on
- #webkit).
-
- * GNUmakefile.am: Removed.
- * Scripts/generate-forwarding-headers.pl:
- * WebKit2Prefix.h:
- * gtk/webkit2.pc.in: Removed.
-
-2010-12-15 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
-
- Reviewed by Martin Robinson.
-
- Changes to enable building WebKit2 for Gtk port.
- (https://bugs.webkit.org/show_bug.cgi?id=37369)
-
- * GNUmakefile.am: Added.
- * Scripts/generate-forwarding-headers.pl: For GTK port, taking 1 extra argument for copying network headers.
- * WebKit2Prefix.h: Included WebCore/config.h for GTK port as the first header file for WebKit2 sources files.
- * gtk: Added.
- * gtk/webkit2.pc.in: Added.
-
-2010-12-15 Jan Erik Hanssen <jhanssen@sencha.com>
-
- Reviewed by Andreas Kling.
-
- [Qt][WK2] webkit2 does not compile on OS X
- https://bugs.webkit.org/show_bug.cgi?id=50128
-
- prctl(2) is only available on Linux, so use an atexit handler for killing
- all the child processes when the process is exiting.
-
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- (WebKit::cleanupProcesses):
- (WebKit::QtWebProcess::QtWebProcess):
- (WebKit::QtWebProcess::processStateChanged):
- (WebKit::ProcessLauncherHelper::instance):
-
-2010-12-14 Anders Carlsson <andersca@apple.com>
-
- Fix Windows build.
-
- * win/WebKit2Common.vsprops:
-
-2010-12-14 Anders Carlsson <andersca@apple.com>
-
- Fix Qt build.
-
- * WebKit2.pro:
-
-2010-12-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by TYPO FIX.
-
- Fix a typo.
-
- * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
- (WebKit::NetscapePluginModule::determineQuirks):
-
-2010-12-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Cannot type into plugin edit field
- https://bugs.webkit.org/show_bug.cgi?id=51074
- <rdar://problem/8483741>
-
- Add a PrognameShouldBeWebKitPluginHost quirk, since it turns out Flash Player calls getprogname() and checks
- if the return value is "WebKitPluginHost" in order to determine when to handle NPCocoaEventKeyDown events.
-
- * PluginProcess/PluginProcess.cpp:
- (WebKit::PluginProcess::netscapePluginModule):
- If the plug-in module has the PrognameShouldBeWebKitPluginHost quirk, call setprogname("WebKitPluginHost").
-
- * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
- (WebKit::NetscapePluginModule::load):
- Call determineQuirks()
-
- * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
- (WebKit::NetscapePluginModule::determineQuirks):
- Add the PrognameShouldBeWebKitPluginHost quirk for Flash.
-
- * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
- (WebKit::NetscapePluginModule::determineQuirks):
- * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
- (WebKit::NetscapePluginModule::determineQuirks):
- Add stubs.
-
- * Shared/Plugins/PluginQuirks.h:
- Add new PluginQuirks file.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add PluginQuirks.h
-
-2010-12-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a NetscapePluginModuleX11 and move the Qt implementation of PluginInfoStore::getPluginInfo there
- https://bugs.webkit.org/show_bug.cgi?id=51066
-
- * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: Copied from WebKit2/UIProcess/Plugins/qt/PluginInfoStoreQt.cpp.
- (WebKit::NetscapePluginModule::getPluginInfo):
- * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
- (WebKit::PluginInfoStore::getPluginInfo):
- * WebKit2.pro:
-
-2010-12-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Move Windows version of getPluginInfo to NetscapePluginModule
- https://bugs.webkit.org/show_bug.cgi?id=51073
-
- * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Added.
- (WebKit::getVersionInfo):
- (WebKit::fileVersion):
- (WebKit::NetscapePluginModule::getPluginInfo):
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- (WebKit::PluginInfoStore::getPluginInfo):
- * win/WebKit2.vcproj:
-
-2010-12-14 Alice Liu <alice.liu@apple.com>
-
- Fix clang++ build.
-
- * UIProcess/WebProcessProxy.h:
- (WebKit::WebProcessProxy::sendSync):
- Move the default argument to the declaration.
-
-2010-12-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Move PluginInfoStore::getPluginInfo to NetscapePluginModule
- https://bugs.webkit.org/show_bug.cgi?id=51058
-
- * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
- Move implementation of PluginInfoStore::getPluginInfo and related
- helper functions here.
-
- * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
- (WebKit::PluginInfoStore::getPluginInfo):
- Just call NetscapePluginModule::getPluginInfo here for now.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add NetscapePluginModuleMac.mm.
-
-2010-12-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Switch name and description order when fetching Carbon plug-in info
- https://bugs.webkit.org/show_bug.cgi?id=46211
-
- The plug-in description comes before the name in the Carbon string list resource.
-
- * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
- (WebKit::getPluginInfoFromCarbonResources):
-
-2010-12-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Move NetscapePluginModule.{cpp|h} to Shared/Plugins/Netscape
- https://bugs.webkit.org/show_bug.cgi?id=51052
+ (WebKit::WebPage::performDictionaryLookupAtLocation):
+ Pass scale factor through and rename TextInfo -> DictionaryPopupInfo.
- * Shared/Plugins/Netscape/NetscapePluginModule.cpp: Renamed from WebKit2/WebProcess/Plugins/Netscape/NetscapePluginModule.cpp.
- * Shared/Plugins/Netscape/NetscapePluginModule.h: Renamed from WebKit2/WebProcess/Plugins/Netscape/NetscapePluginModule.h.
* WebKit2.pro:
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:
- * win/WebKit2Common.vsprops:
-
-2010-12-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Handle complex text input for plug-ins
- https://bugs.webkit.org/show_bug.cgi?id=51047
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::sendComplexTextInput):
- Pass along the text input to the plug-in.
-
- * PluginProcess/PluginControllerProxy.messages.in:
- Add SendComplexTextInput message.
-
- * UIProcess/API/mac/WKTextInputWindowController.h: Added.
- * UIProcess/API/mac/WKTextInputWindowController.mm: Added.
- Add text input window controller, mostly copied from WebKit1.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView keyDown:]):
- If needed, pass along the event to the text input window controller.
-
- (-[WKView inputContext]):
- Return the input context of the text input window controller.
-
- (-[WKView _setComplexTextInputEnabled:pluginComplexTextInputIdentifier:]):
- Notify the input window controller that the input source changed.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::sendComplexTextInputToPlugin):
- Send the complex text input to the web process.
-
- * WebKit2.xcodeproj/project.pbxproj:
Add new files.
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::convertStringToKeyCodes):
- Convert a string to a vector of key codes in the current encoding.
-
- (WebKit::NetscapePlugin::sendComplexTextInput):
- In the Cocoa event model, create and dispatch an NPCocoaEventTextInput event.
- In the Carbon event model, convert the string to individual key codes and send them
- as key down events.
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::sendComplexTextInput):
- Send the text to the plug-in controller proxy.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::sendComplexTextInput):
- If the plug-in has a matching text input identifier, call Plugin::sendComplexTextInput.
-
- * WebProcess/WebPage/WebPage.messages.in:
- Add SendComplexTextInputToPlugin message.
-
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::sendComplexTextInputToPlugin):
- Iterate over all known plug-in views and try to find one to send the text input to.
-
-2010-12-13 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=50953
- DNS Prefetch should be an opt-in feature
-
- Pass the preference through WebKit2.
-
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetDNSPrefetchingEnabled):
- (WKPreferencesGetDNSPrefetchingEnabled):
- * UIProcess/API/C/WKPreferences.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
-
-2010-12-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Pass the complex text input status to the WKView
- https://bugs.webkit.org/show_bug.cgi?id=50993
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::setComplexTextInputEnabled):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _setComplexTextInputEnabled:pluginComplexTextInputIdentifier:]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setComplexTextInputEnabled):
-
-2010-12-14 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- WebKit 2 does not send touch cancel events correctly between processes
- https://bugs.webkit.org/show_bug.cgi?id=50235
-
- The classes WebKit2PlatformTouchPoint and WebKit2PlatformTouchEvent
- misses the conversion of TouchCancel events and points.
-
- This patch add the missing enums when converting from a WebTouchEvent
- to a PlatformTouchEvent.
-
- Testing is already covered by fast/events/touch/send-oncancel-event.html
-
- * Shared/WebEventConversion.cpp:
- (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
- (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
-
-2010-12-14 Zalan Bujtas <zbujtas@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add loadFinished() for provisional load error
- This fixes the hanging UI state, when provisional load error occurs due to
- the async nature of policy check.
-
- https://bugs.webkit.org/show_bug.cgi?id=48724
-
- * UIProcess/API/qt/ClientImpl.cpp:
- (loadFinished):
- (qt_wk_didFailProvisionalLoadWithErrorForFrame):
- (qt_wk_didFinishLoadForFrame):
- (qt_wk_didFailLoadWithErrorForFrame):
-
-2010-12-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- WebKit2: Need to be able to set the application name for the user agent for a WKPage
- https://bugs.webkit.org/show_bug.cgi?id=51011
-
- Fixes:
- WebKit2: Need to be able to set the application name for the user agent for a WKPage
- <rdar://problem/8564532>
- WebKit2: Need to be able to get the computed user agent for a WKPage
- <rdar://problem/8637285>
-
- Moves user agent computation to the UIProcess and just passes it to the WebProcess
- when it has changed.
+2011-02-28 Adam Roben <aroben@apple.com>
- * Shared/WebPageCreationParameters.cpp:
- (WebKit::WebPageCreationParameters::encode):
- (WebKit::WebPageCreationParameters::decode):
- * Shared/WebPageCreationParameters.h:
- Add a user agent to the creation parameters.
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageCopyUserAgent):
- (WKPageCopyApplicationNameForUserAgent):
- (WKPageSetApplicationNameForUserAgent):
- (WKPageSetCustomUserAgent):
- * UIProcess/API/C/WKPage.h:
- Add new API to set the application name and access the computed user agent.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::setUserAgent):
- (WebKit::WebPageProxy::setApplicationNameForUserAgent):
- (WebKit::WebPageProxy::setCustomUserAgent):
- (WebKit::WebPageProxy::processDidCrash):
- (WebKit::WebPageProxy::creationParameters):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::userAgent):
- (WebKit::WebPageProxy::applicationNameForUserAgent):
- * UIProcess/mac/WebPageProxyMac.mm: Added.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::setUserAgent):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::userAgent):
- * WebProcess/WebPage/WebPage.messages.in:
- Pipe through user agent.
+ One more rename as a followup to r79868
- (WebKit::callGestalt):
- (WebKit::macOSXVersionString):
- (WebKit::userVisibleWebKitVersionString):
- (WebKit::WebPageProxy::standardUserAgent):
- * UIProcess/win/WebPageProxyWin.cpp: Added.
- (WebKit::windowsVersion):
- (WebKit::userVisibleWebKitVersionString):
- (WebKit::WebPageProxy::standardUserAgent):
- Port standardUserAgent computation from WebKit1.
-
- * UIProcess/qt/WebPageProxyQt.cpp: Added.
- (WebKit::WebPageProxy::standardUserAgent):
- Stub out the user agent so there is no change in behavior.
+ Rubber-stamped by Anders Carlsson.
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add new file.
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ * UIProcess/DrawingAreaProxyImpl.h:
+ Rename stateDidChange to backingStoreStateDidChange.
-2010-12-13 Brady Eidson <beidson@apple.com>
+2011-02-28 Adam Roben <aroben@apple.com>
- Reviewed by Jon Honeycutt (and Brian Weinstein in heart).
+ Rename DrawingArea[Proxy]Impl's "state ID" concept to "backing store state ID"
- <rdar://problem/8752202> and https://bugs.webkit.org/show_bug.cgi?id=50997
- Expose "link title" and "link label" to InjectedBundleHitTestResult API
+ Rubber-stamped (and suggested) by Anders Carlsson.
- * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
- (WKBundleHitTestResultCopyLinkLabel):
- (WKBundleHitTestResultCopyLinkTitle):
- * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.messages.in:
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ * UIProcess/DrawingAreaProxyImpl.h:
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.messages.in:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ Perform the rename.
- * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
- (WebKit::InjectedBundleHitTestResult::linkLabel):
- (WebKit::InjectedBundleHitTestResult::linkTitle):
- * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
+2011-02-28 Adam Roben <aroben@apple.com>
-2010-12-13 Brian Weinstein <bweinstein@apple.com>
+ Decouple state changes from sending of UpdateState messages in DrawingAreaProxyImpl
- Windows Build Fix. Add a needed include.
+ The new DrawingAreaProxyImpl::stateDidChange function should be called whenever
+ DrawingAreaProxyImpl's state changes in a way that will require allocating a new backing
+ store. (Currently, this is just when the size changes.) This function will sometimes (but
+ not always, as when we're waiting for a DidUpdateState message) send an UpdateState message
+ to the web process. This means it's now possible for the state IDs sent in consecutive
+ UpdateState messages to increase by more than one, but that's OK.
- * UIProcess/win/WebView.cpp:
+ This should cause no change in behavior.
-2010-12-13 Sam Weinig <sam@webkit.org>
+ Fixes <http://webkit.org/b/55382> DrawingAreaProxyImpl's state ID should be updated whenever
+ its state changes, not just when we send an UpdateState message
Reviewed by Anders Carlsson.
- Remove associated page concept from WKView constructor
- https://bugs.webkit.org/show_bug.cgi?id=50983
-
- Step 2: Remove WebPageNamespace. It no longer does anything.
-
- * Shared/APIObject.h:
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:contextRef:pageGroupRef:]):
- * UIProcess/API/qt/qgraphicswkview.cpp:
- * UIProcess/API/qt/qwkcontext.cpp:
- (QWKContext::QWKContext):
- * UIProcess/API/qt/qwkcontext_p.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::QWKPagePrivate):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- (WebKit::WebContext::~WebContext):
- (WebKit::WebContext::createWebPage):
- * UIProcess/WebContext.h:
- * UIProcess/WebPageNamespace.cpp: Removed.
- * UIProcess/WebPageNamespace.h: Removed.
- * UIProcess/WebPageProxy.cpp:
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::context):
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::createWebPage):
- * UIProcess/WebProcessProxy.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- * UIProcess/win/WebView.h:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
-2010-12-13 Sam Weinig <sam@webkit.org>
-
- Fix windows build.
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): Updated for rename.
+ (WebKit::DrawingAreaProxyImpl::sizeDidChange): Changed to call stateDidChange.
+ (WebKit::DrawingAreaProxyImpl::didUpdateState): Updated for rename, and changed to call
+ sendUpdateState whenever our state has changed for any reason since the last UpdateState
+ message was sent.
+ (WebKit::DrawingAreaProxyImpl::stateDidChange): Added. Increments m_nextStateID and calls
+ through to sendUpdateState.
+ (WebKit::DrawingAreaProxyImpl::sendUpdateState): Updated for rename, moved incrementing of
+ the state ID we send to the web process from here to stateDidChange, and added an assertion.
- * UIProcess/win/WebView.h:
+ * UIProcess/DrawingAreaProxyImpl.h: Renamed m_requestedStateID to m_nextStateID, and updated
+ the comment explaining its meaning.
-2010-12-13 Sam Weinig <sam@webkit.org>
+2011-02-28 Adam Roben <aroben@apple.com>
- Fix windows build.
+ Pass the right dirty rect to Plugin::paint
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::platformCreateInspectorPage):
- * UIProcess/win/WebView.h:
- (WebKit::WebView::create):
+ A typo in r79040 broke this. Much of this patch is just support for testing the fix.
-2010-12-13 Sam Weinig <sam@webkit.org>
+ Fixes <http://webkit.org/b/55365> <rdar://problem/9031089> REGRESSION (r79040): WebKit2:
+ Large portions of pages with plugins paint black
Reviewed by Anders Carlsson.
- Remove associated page concept from WKView constructor
- https://bugs.webkit.org/show_bug.cgi?id=50983
-
- Step 1: Remove associate page constructors from WKView and make
- all views use the shared namespace for the context.
-
- * UIProcess/API/C/win/WKView.cpp:
- * UIProcess/API/C/win/WKView.h:
- * UIProcess/API/mac/WKView.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:contextRef:pageGroupRef:]):
- * UIProcess/API/qt/qwkcontext.cpp:
- * UIProcess/API/qt/qwkcontext.h:
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (WebKit::WebInspectorProxy::platformCreateInspectorPage):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- * UIProcess/win/WebView.h:
- (WebKit::WebView::create):
-
-2010-12-13 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * UIProcess/WebPageProxy.h:
-
-2010-12-13 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
-
- WebKit2: Leaks a WebView when opening/closing Web Inspector on Windows
- https://bugs.webkit.org/show_bug.cgi?id=50975
- <rdar://problem/8763501>
-
- Make m_inspectorView be a RefPtr<WebView>, instead of a WebView*.
-
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::WebInspectorProxy::WebInspectorProxy): If we are on Windows, include WebView.h.
- * UIProcess/WebInspectorProxy.h: Change the type of m_inspectorView to a RefPtr<WebView>.
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::platformCreateInspectorPage): Remove the call to leakRef when creating the WebView.
-
-2010-12-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Pass the complex text input state all the way to the UI process
- https://bugs.webkit.org/show_bug.cgi?id=50980
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::setComplexTextInputEnabled):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setComplexTextInputEnabled):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::pluginComplexTextInputIdentifier):
- * WebProcess/Plugins/Plugin.h:
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::pluginComplexTextInputIdentifier):
- (WebKit::PluginProxy::setComplexTextInputEnabled):
- * WebProcess/Plugins/PluginProxy.h:
- * WebProcess/Plugins/PluginProxy.messages.in:
* WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::setComplexTextInputEnabled):
-
-2010-12-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Change the WebKit2 public API so there is no explicit WKPageNamespace object
- https://bugs.webkit.org/show_bug.cgi?id=50898
+ (WebKit::PluginView::paint): Pass the dirty rect we calculated earlier to Plugin::paint,
+ rather than just passing along the dirty rect that was passed into this function. This is
+ the bug fix.
- * Shared/API/c/WKBase.h: Remove definition of WKPageNamespaceRef.
- * UIProcess/API/C/WKAPICast.h: Remove toAPI/toImpl for WKPageNamespaceRef.
-
- * UIProcess/API/C/WKPage.cpp:
- * UIProcess/API/C/WKPage.h:
- Replace WKPageGetPageNamespace with WKPageGetContext.
-
- * UIProcess/API/C/WKPageNamespace.cpp: Removed.
- * UIProcess/API/C/WKPageNamespace.h: Removed.
-
- * UIProcess/API/C/WebKit2.h: Remove #include of WKPageNamespace.h.
-
- * UIProcess/API/C/win/WKView.cpp:
- (WKViewCreate): Changed to take a WKContextRef instead of a WKPageNamespaceRef.
- (WKViewCreateUsingSharedProcess): Added. Similar to WKViewCreate except that
- all callers of it will have their views end up in the same shared process, whereas
- with WKViewCreate, a new internal page namespace will be created and could place
- the view's WebPage into a new process.
- (WKViewCreateForAssociatedPage): Added. Creates a view that is forced to use the
- same process as the passed in page.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- (WebKit::WebView::initialize):
- * UIProcess/win/WebView.h:
- (WebKit::WebView::create):
- (WebKit::WebView::createUsingSharedProcess):
- (WebKit::WebView::createForAssociatedPage):
- Implementation of the WKView create functions.
-
- * UIProcess/API/C/win/WKView.h:
- * UIProcess/API/mac/WKView.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:]):
- (-[WKView initWithFrame:contextRef:]):
- (-[WKView initWithFrame:contextRef:pageGroupRef:]):
- (-[WKView initWithFrame:contextRef:usingSharedProcess:]):
- (-[WKView initWithFrame:contextRef:pageGroupRef:usingSharedProcess:]):
- (-[WKView initWithFrame:forAssociatedPageRef:]):
- (-[WKView initWithFrame:forAssociatedPageRef:pageGroupRef:]):
- (-[WKView initWithFrame:pageNamespace:pageGroup:]):
- Add new initializers for the objective-c WKView. It follows the same
- pattern as WKViewRef.
-
- * UIProcess/API/qt/qwkcontext.cpp:
- (QWKContext::QWKContext):
- * UIProcess/API/qt/qwkcontext.h:
- Remove uses of WKPageNamespaceRef.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::sharedPageNamespace): Returns a shared
- page namespace used by the view's createUsingSharedProcess constructions.
- (WebKit::WebContext::createPageNamespace): Change to return
- a PassRefPtr to make things clearer.
- (WebKit::WebContext::pageNamespaceWasDestroyed): Clear the shared
- namespace if it is cleared.
- * UIProcess/WebContext.h:
-
- * UIProcess/WebPageNamespace.h: Remove unused "struct WKContextStatistics".
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::context):
- * UIProcess/WebPageProxy.h:
- Add context getter.
-
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (WebKit::WebInspectorProxy::platformCreateInspectorPage):
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::platformCreateInspectorPage):
- Use forAssociatedPageRef constructor for the WebInspector view.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
- Remove WKPageNamespace.h/cpp.
-
-2010-12-13 Brent Fulgham <bfulgham@webkit.org>
-
- Unreviewed build fix.
-
- * UIProcess/win/WebInspectorProxyWin.cpp: Non-Apple builds
- need to include <wtf/RetainPtr.h>.
-
-2010-12-13 Brent Fulgham <bfulgham@webkit.org>
-
- Unreviewed build fix after r73807.
-
- Added stub implementation of Download object.
-
- * WebProcess/Downloads/curl: Added.
- * WebProcess/Downloads/curl/DownloadCurl.cpp: Added.
- (WebKit::Download::start):
- (WebKit::Download::startWithHandle):
- (WebKit::Download::cancel):
- (WebKit::Download::platformInvalidate):
- * win/WebKit2.vcproj: Exclude DownloadCFNet for Cairo builds,
- added DownloadCurl (excluded for regular Apple builds.)
-
-2010-12-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add the ability for plug-ins to toggle complex text input
- https://bugs.webkit.org/show_bug.cgi?id=50966
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::PluginControllerProxy):
- Initialize m_isComplexTextInputEnabled.
-
- (WebKit::PluginControllerProxy::setComplexTextInputEnabled):
- Update m_isComplexTextInputEnabled.
-
- * PluginProcess/PluginControllerProxy.h:
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin):
- Initialize m_pluginHasFocus and m_windowHasFocus.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- (WebKit::NetscapePlugin::isWindowActive):
- Return m_windowHasFocus.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformSetFocus):
- Update m_pluginHasFocus and call setComplexTextInputEnabled.
-
- (WebKit::NetscapePlugin::windowFocusChanged):
- Update m_windowHasFocus and call setComplexTextInputEnabled.
-
- * WebProcess/Plugins/PluginController.h:
- Add setComplexTextInputEnabled.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::setComplexTextInputEnabled):
- * WebProcess/Plugins/PluginView.h:
- Add setComplexTextInputEnabled
-
-2010-12-13 David Hyatt <hyatt@apple.com>
-
- Reviewed by Adam Roben.
-
- Remove the space behavior that I added. It's covered in EventHandler in WebCore
- already for Windows.
-
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
-
-2010-12-13 David Hyatt <hyatt@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PageUp/PageDwn should respect writing-mode. Use
- logical scrolling instead of physical scrolling for those keys in WebKit2.
-
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::logicalScroll):
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
- * WebProcess/WebPage/qt/WebPageQt.cpp:
- (WebKit::logicalScroll):
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::logicalScroll):
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
-
-2010-12-13 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit2: Focusing Web Inspector window doesn't focus contents on Windows
- https://bugs.webkit.org/show_bug.cgi?id=50947
- <rdar://problem/8762468>
-
- When we get the notification that the inspector window has focused, focus the inner inspector view.
-
- * UIProcess/WebInspectorProxy.h:
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::onSetFocusEvent): Set the focus of the inspector view, because that is what
- needs to be focused in the inspector window.
-
-2010-12-13 Dan Bernstein <mitz@apple.com>
-
- Coding style fix.
-
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (WebKit::originatingURLFromBackForwardList):
-
-2010-12-13 Balazs Kelemen <kbalazs@webkit.org>
-
- Unreviewed trivial build fix (linux, 64 bit, gcc-4.5.1)
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::exceededDatabaseQuota):
- Don't use unsigned long long as alias for uint64_t.
-
-2010-12-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Crash when clicking a download link that targets a new tab
- https://bugs.webkit.org/show_bug.cgi?id=50935
- <rdar://problem/8760572>
-
- Check for a null history item.
-
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (WebKit::originatingURLFromBackForwardList):
-
-2010-12-13 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Csaba Osztrogonác.
-
- [Qt][WK2] Fix build if WebKitTools are not available
- https://bugs.webkit.org/show_bug.cgi?id=50242
-
- * DerivedSources.pro: Remove dependency to WebKitTools.
- * Scripts/generate-forwarding-headers.pl: Moved from WebKitTools/Scripts/generate-forwarding-headers.pl.
-
-2010-12-13 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed.
-
- * WebKit2.pro: Remove non-existant Shared/DrawingAreaBase.h from build system.
-
-2010-10-28 MORITA Hajime <morrita@google.com>
-
- Reviewed by Ojan Vafai.
-
- spellcheck does not check pasted text
- https://bugs.webkit.org/show_bug.cgi?id=40092
-
- Added a stub implememntation.
-
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::requestCheckingOfString):
- * WebProcess/WebCoreSupport/WebEditorClient.h:
-
-2010-12-12 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Tim Hatcher.
-
- WebKit2: Implement WebInspector::localizedStringsURL on Windows
- https://bugs.webkit.org/show_bug.cgi?id=50896
-
- Find the localized strings file using CFBundleCopyResourceURL.
-
- * WebProcess/WebPage/win/WebInspectorWin.cpp:
- (WebKit::WebInspector::localizedStringsURL):
-
-2010-12-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Give LogTextInput a sensible flag value.
-
- * Platform/Logging.cpp:
-
-2010-12-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Remove incorrect assertion that has been firing in the API tester.
-
- * UIProcess/WebDatabaseManagerProxy.cpp:
- (WebKit::WebDatabaseManagerProxy::~WebDatabaseManagerProxy):
-
-2010-12-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Disable WebKit2 logging by default.
- https://bugs.webkit.org/show_bug.cgi?id=50878
-
- * Platform/Logging.cpp:
- (initializeLogChannelsIfNecessary):
-
-2010-12-11 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Sam Weinig.
-
- Web Inspector: Make inspector on Windows show and be usable in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=50877
-
- Hook up the unimplemented methods in WebInspectorProxyWin to get the web inspector
- showing and usable in WebKit2 on Windows.
-
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::WebInspectorProxy::WebInspectorProxy): Initialize Windows-specific variables to 0.
- * UIProcess/WebInspectorProxy.h:
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::registerInspectorViewWindowClass): Sets up the inspector view class.
- (WebKit::WebInspectorProxy::InspectorViewWndProc): Calls through to the WebInspectorProxy's non-static
- WndProc.
- (WebKit::WebInspectorProxy::wndProc): Handles WM_SIZE, WM_CLOSE, and WM_GETMINMAXINFO, the rest go to
- ::DefWindowProc.
- (WebKit::WebInspectorProxy::onSizeEvent): Resize the WKView that has the inspector page to match the
- outer window that was just resized.
- (WebKit::WebInspectorProxy::onMinMaxInfoEvent): Set the minimum size the window can be resized to.
- (WebKit::WebInspectorProxy::onCloseEvent): Hide the window, and call WebInspectorProxy::close.
- (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create a WKView and return its page.
- (WebKit::WebInspectorProxy::platformOpen): Create an HWND for the inspector, put the inspector's WKView
- inside of it, and show the window.
- (WebKit::WebInspectorProxy::platformClose): Destroy the inspector's window (which destroys the child WKView),
- and 0 out instance variables.
- (WebKit::WebInspectorProxy::inspectorPageURL): Finds inspector/inspector.html in the WebKit bundle.
-
-2010-12-12 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt][WK2] Crash in WebPage constructor.
- https://bugs.webkit.org/show_bug.cgi?id=50892
-
- * WebProcess/qt/WebProcessQt.cpp:
- (WebKit::WebProcess::platformInitializeWebProcess):
- Disable runtime enabled features that have no WebKit2 implementation yet.
-
-2010-12-10 Jon Honeycutt <jhoneycutt@apple.com>
-
- Select menus with short option titles do not paint properly
- https://bugs.webkit.org/show_bug.cgi?id=50860
- <rdar://problem/8660807>
-
- The backing stores used for painting the popup menu items were only as
- wide as the widest option title, but the popup window that we create is
- at least as wide as the <select> element. This adjusts the backing
- stores to be at least as wide as the <select>, as well.
-
- Reviewed by Sam Weinig.
-
- * UIProcess/win/WebPopupMenuProxyWin.cpp:
- (WebKit::WebPopupMenuProxyWin::paint):
- Paint using the width of the backing store.
-
- * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
- (WebKit::WebPopupMenu::show):
- Pass the page coordinates of the <select> element to
- setUpPlatformData().
-
- * WebProcess/WebCoreSupport/WebPopupMenu.h:
- Added new parameter to setUpPlatformData().
-
- * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
- (WebKit::WebPopupMenu::setUpPlatformData):
- Ditto.
-
- * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp:
- (WebKit::WebPopupMenu::setUpPlatformData):
- Ditto.
-
- * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
- (WebKit::WebPopupMenu::setUpPlatformData):
- Fixed a typo in a comment. Adjust the backing store size to be at least
- as wide as the <select> element, and use that width when painting the
- items to the backing store.
-
-2010-12-11 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed Qt buildfix after r73808.
-
- WebKit2: Need a WebKit2 equivalent of the WebKit1 WebDatabaseManager
- https://bugs.webkit.org/show_bug.cgi?id=50606
-
- * DerivedSources.pro:
-
-2010-12-11 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r73834.
- http://trac.webkit.org/changeset/73834
- https://bugs.webkit.org/show_bug.cgi?id=50866
-
- It broke Qt-WebKit2 build, because of missing WK2_DIR variable
- (Requested by Ossy on #webkit).
-
- * WebKit2.pro:
-
-2010-12-10 Siddharth Mathur <siddharth.mathur@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt][WK2] Make WebKit2 static library compile on Symbian
- https://bugs.webkit.org/show_bug.cgi?id=50861
-
- * WebKit2.pro:
-
-2010-12-10 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Ensure that we are not getting too many wheel events
- <rdar://problem/7881465>
-
- Add simple coalescing of wheel events being sent to the WebProcess. This
- adds two models, one which drops interim events and one which merges events
- together. For now, we are using the simpler dropping model.
-
- * Shared/WebEvent.h:
- (WebKit::WebEvent::modifiers):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::coalesceWheelEvents):
- (WebKit::WebPageProxy::handleWheelEvent):
- (WebKit::WebPageProxy::didReceiveEvent):
- * UIProcess/WebPageProxy.h:
-
-2010-12-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Make WKContextGetStatistics gather global statistics
- https://bugs.webkit.org/show_bug.cgi?id=50850
-
- Change WKContextGetStatistics to work on all objects in the process, and
- make it more robust by incrementing/decrementing the counts in the constructor
- and destructor respectively.
-
- Also, rename WKContextGetStatistics to WKContextGetGlobalStatistics to better match
- what it's actually doing.
-
- * UIProcess/API/C/WKContext.cpp:
- (WKContextGetStatistics):
- * UIProcess/API/C/WKContextPrivate.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:pageNamespaceRef:pageGroupRef:]):
- (-[WKView dealloc]):
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::statistics):
- * UIProcess/WebContext.h:
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::WebFrameProxy):
- (WebKit::WebFrameProxy::~WebFrameProxy):
- * UIProcess/WebPageNamespace.cpp:
- * UIProcess/WebPageNamespace.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::~WebPageProxy):
- * UIProcess/WebPageProxy.h:
-
-2010-12-10 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit2: Context menu support on Windows
- <https://bugs.webkit.org/show_bug.cgi?id=50514>
-
- Implment showing of the context menu on Windows for WebKit2, and calling through to
- WebPageProxy::contextMenuItemSelected.
-
- * UIProcess/win/WebContextMenuProxyWin.cpp:
- (WebKit::WebContextMenuProxyWin::WebContextMenuProxyWin): Initialize the member variables.
- (WebKit::WebContextMenuProxyWin::populateMenu): Iterate over the vector of WebContextMenuItemData
- that was passed in, adding the menu items and recursively calling back into this function to populate
- any submenus that are needed. This function also sets up the map from action identifierss to WebContextMenuItemData,
- to use to find the WebContextMenuItemData from a selected menu item.
- (WebKit::WebContextMenuProxyWin::showContextMenu): Destroy any menu we have already created, populate the menu
- to show, and show the context menu. Once TrackPopupMenuEx returns, it returns identifier of the selected menu item.
- Look up that identifier in the map we created, and tell the WebPageProxy that a context menu item was selected.
- (WebKit::WebContextMenuProxyWin::hideContextMenu): Destroy the HMENU if it is non-null, and clear the identifier map.
- * UIProcess/win/WebContextMenuProxyWin.h:
- (WebKit::WebContextMenuProxyWin::create): Call through to the constructor, and change the arguments that it takes.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::createContextMenuProxy): Call with the correct arguments.
-
-2010-12-10 Jessie Berlin <jberlin@apple.com>
-
- Qt Build Fix. Unreviewed.
-
- * WebKit2.pro:
- Add the Messages.h and MessageReceivers.h.
-
-2010-12-10 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Adam Roben and Sam Weinig.
-
- WebKit2: Need a WebKit2 equivalent of the WebKit1 WebDatabaseManager
- https://bugs.webkit.org/show_bug.cgi?id=50606
-
- Add a WebDatabaseManagerProxy owned by the WebContext.
-
- Expose API (similar to the WebKit1 API) to get a list of origins for which there are
- Databases, delete all the databases for a given origin, and delete all the databases.
-
- Add WebDatabaseManager and WebDatabaseManagerProxy as messages receivers.
- * DerivedSources.make:
- * Platform/CoreIPC/MessageID.h:
-
- Add the WebDatabaseManagerProxy as a UIProcess type (DatabaseManager).
- * Shared/API/c/WKBase.h:
- * Shared/APIObject.h:
- * UIProcess/API/C/WKAPICast.h:
-
- * UIProcess/API/C/WKContext.cpp:
- (WKContextGetDatabaseManager):
- Expose API to get the DatabaseManager.
- * UIProcess/API/C/WKContext.h:
-
- * UIProcess/API/C/WKDatabaseManager.cpp: Added.
- (WKDatabaseManagerGetTypeID):
- (WKDatabaseManagerGetDatabaseOrigins):
- (callGetDatabaseOriginsBlockBlockAndDispose):
- (WKDatabaseManagerGetDatabaseOrigins_b):
- (WKDatabaseManagerDeleteDatabasesForOrigin):
- (WKDatabaseManagerDeleteAllDatabases):
- * UIProcess/API/C/WKDatabaseManager.h: Added.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- Create the WebDatabaseManagerProxy.
- (WebKit::WebContext::processDidClose):
- Invalidate the WebDatabaseManagerProxy.
- (WebKit::WebContext::didReceiveMessage):
- Forward messages to the WebDatabaseManagerProxy.
- * UIProcess/WebContext.h:
- (WebKit::WebContext::databaseManagerProxy):
-
- * UIProcess/WebDatabaseManagerProxy.cpp: Added.
- (WebKit::WebDatabaseManagerProxy::create):
- (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
- (WebKit::WebDatabaseManagerProxy::~WebDatabaseManagerProxy):
- (WebKit::WebDatabaseManagerProxy::invalidate):
- Invalidate the map of callbacks for getDatabaseOrigins.
- (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
- Store the callback and send the request for the origins which have databases to the
- WebProcess.
- (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
- Call the callback function with the SecurityOrigins created from the identifiers received.
- (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
- If the origin exists, send the message on to the WebProcess to delete the databases
- associated with that origin.
- (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
- Send the message to the WebProcess to delete all the databases.
- * UIProcess/WebDatabaseManagerProxy.h: Added.
- (WebKit::WebDatabaseManagerProxy::type):
- * UIProcess/WebDatabaseManagerProxy.messages.in: Added.
-
- * UIProcess/WebPageProxy.cpp:
- Move invalidateCallbackMap from here ...
- * UIProcess/GenericCallback.h:
- (WebKit::invalidateCallbackMap):
- .. to here so that it can be used elsewhere (e.g. by WebDatabaseManagerProxy).
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveMessage):
- Forward on all messages destined for the WebDatabaseManagerProxy to the WebContext.
-
- * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
- (WebKit::WebDatabaseManager::didReceiveMessage):
- (WebKit::WebDatabaseManager::getDatabaseOrigins):
- Send an array of the identifiers for the SecurityOrigins for which there are databases to
- the UIProcess.
- (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
- If the SecurityOrigin with that identifier exists, tell the DatabaseTracker to delete the
- databases for that origin.
- (WebKit::WebDatabaseManager::deleteAllDatabases):
- Tell the DatabaseTracker to delete the databases for that origin.
- * WebProcess/WebCoreSupport/WebDatabaseManager.h:
- * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: Added.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::didReceiveMessage):
-
- * WebKit2.pro:
- Add WKDatabaseManager.cpp/.h and WebDatabaseManagerProxy.cpp/.h
- * WebKit2.xcodeproj/project.pbxproj:
- Ditto, also add WebDatabaseManagerProxy.messages.in and WebDatabaseManager.messages.in.
- * win/WebKit2.vcproj:
- Ditto.
- * win/WebKit2Generated.make:
- Make sure WKDatabaseManager.h is copied into WebKitBuild on Windows.
-
-2010-12-10 Ada Chan <adachan@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Implement Download::start() and Download::startWithHandle() on Windows.
- https://bugs.webkit.org/show_bug.cgi?id=50844
-
- * WebProcess/Downloads/Download.h:
- * WebProcess/Downloads/cf/DownloadCFNet.cpp:
- (WebKit::Download::start): Create a CFURLDownloadRef and schedule it.
- (WebKit::Download::startWithHandle): Create a CFURLDownloadRef with the loading connection
- retrieved from the ResourceHandle.
- (WebKit::Download::platformInvalidate):
- (WebKit::downloadFromClientInfo):
- (WebKit::didStartCallback):
- (WebKit::willSendRequestCallback):
- (WebKit::didReceiveAuthenticationChallengeCallback):
- (WebKit::didReceiveResponseCallback):
- (WebKit::willResumeWithResponseCallback):
- (WebKit::didReceiveDataCallback):
- (WebKit::shouldDecodeDataOfMIMETypeCallback):
- (WebKit::decideDestinationWithSuggestedObjectNameCallback):
- (WebKit::didCreateDestinationCallback):
- (WebKit::didFinishCallback):
- (WebKit::didFailCallback):
-
-2010-12-10 Enrica Casucci <enrica@apple.com>
-
- Windows build fix. Unreviewed.
-
- Adding a dummy synchronous message for platforms
- that don't have any.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageForceRepaint):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ Added new SPI. Just calls through to WebPage::forceRepaintWithoutCallback.
* WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::dummy):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
-
-2010-12-09 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
+ (WebKit::WebPage::forceRepaintWithoutCallback): Moved code to force a repaint here...
+ (WebKit::WebPage::forceRepaint): ...from here.
- Prep for WebKit2: Context menu support on Windows
- https://bugs.webkit.org/show_bug.cgi?id=50514
-
- Update WebKit2 to call the correct code when CROSS_PLATFORM_CONTEXT_MENUS is set.
+ * WebProcess/WebPage/WebPage.h: Added forceRepaintWithoutCallback.
- * Shared/WebContextMenuItemData.cpp:
- (WebKit::WebContextMenuItemData::WebContextMenuItemData): Add a branch based on whether or not
- CROSS_PLATFORM_CONTEXT_MENUS is set.
- * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
- (WebKit::WebContextMenuClient::customizeMenu): Define different functions based on
- whether or not CROSS_PLATFORM_CONTEXT_MENUS. Both of these are stubs, so functionality
- doesn't need to be shared.
- * WebProcess/WebCoreSupport/WebContextMenuClient.h: Define different functions based on
- whether or not CROSS_PLATFORM_CONTEXT_MENUS.
- * WebProcess/WebPage/WebContextMenu.cpp:
- (WebKit::WebContextMenu::show): Add a branch based on whether or not
- CROSS_PLATFORM_CONTEXT_MENUS is set.
+2011-02-27 Sam Weinig <sam@webkit.org>
-2010-12-09 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Alexey Proskuryakov.
+ Reviewed by Dan Bernstein.
- Implement IME support for Mac.
- <rdar://problem/7660589> WebKit2: Implement IME support for Mac.
- https://bugs.webkit.org/show_bug.cgi?id=50788
-
- This patch addes support for input methods in WebKit2.
- In order to support IME, it was necessary to add synchronous calls from the UIProcess
- to the WebProcess. These calls all have a timeout of 1 second.
- The current implementation still uses the NSTextInput protocol, but the plan is to move
- to the NSTextInputClient protocol. This has not been done yet for ease of comparison with
- WebKit. attributedSubstringFromRange is the only method that has not been implemented, because
- I have not yet decided what is the best way to send an NSAttributedString across the process
- boundary.
+ Force dictionary popup to use overlay type
+ <rdar://problem/9052483>
+ https://bugs.webkit.org/show_bug.cgi?id=55337
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::callMemberFunction): Added template for member function.
- with four reply arguments.
- * Scripts/webkit2/messages.py: Added CompositionUnderline and relevant header.
- * Shared/WebCoreArgumentCoders.h:
- (CoreIPC::): Added encoder/decoder for CompositionUnderline.
- * UIProcess/API/mac/PageClientImpl.h: Added parameters to interceptKeyEvent and selectionChanged.
* UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::selectionChanged): Added parameters.
- (WebKit::PageClientImpl::interceptKeyEvent): Added parameters.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:pageNamespaceRef:pageGroupRef:]): Added initialization of new private members.
- (-[WKView insertText:]):
- (-[WKView _selectionChanged:isEditable:isPassword:hasMarkedText:range:]): Added parameters.
- (-[WKView _interceptKeyEvent:hasComposition:start:end:lines:WebCore::]): Added parameters.
- (-[WKView keyDown:]): Modified to reset state on each keyDown.
- (-[WKView selectedRange]): Added.
- (-[WKView hasMarkedText]): Added.
- (-[WKView unmarkText]): Added.
- (-[WKView validAttributesForMarkedText]): Added.
- (extractUnderlines): Added.
- (-[WKView setMarkedText:selectedRange:]): Added.
- (-[WKView markedRange]): Added.
- (-[WKView attributedSubstringFromRange:]): Added.
- (-[WKView characterIndexForPoint:]): Added.
- (-[WKView firstRectForCharacterRange:]): Added.
- (-[WKView conversationIdentifier]): Added.
- * UIProcess/API/mac/WKViewInternal.h: Added parameters to _interceptKeyEvent and _selectionChanged.
- * UIProcess/PageClient.h: Added parameters to interpretKeyEvent and selectionChanged.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::getMarkedRange): Added.
- (WebKit::WebPageProxy::characterIndexForPoint): Added.
- (WebKit::WebPageProxy::firstRectForCharacterRange): Added.
- (WebKit::WebPageProxy::interpretKeyEvent): Additional parameters.
- (WebKit::WebPageProxy::didSelectionChange): Additional parameters for Mac platform.
- * UIProcess/WebPageProxy.h: Added new methods and parameters to didSelectionChange
- and interpretKeyEvent.
- * UIProcess/WebPageProxy.messages.in: Added parameters to interpretKeyEvent and selectionChanged messages.
- * UIProcess/WebProcessProxy.h:
- (WebKit::WebProcessProxy::sendSync): Added support for synchronous messages.
- The default timeout is 1 second.
- * WebProcess/WebCoreSupport/WebEditorClient.cpp: respondToChangedSelection is now
- only for non Mac platform.
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- (WebKit::WebEditorClient::respondToChangedSelection): Added implementation for Mac platform.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didReceiveSyncMessage): Added.
- * WebProcess/WebPage/WebPage.h: Added new methods and support for synchronous messages.
- * WebProcess/WebPage/WebPage.messages.in: Added new messages.
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::interceptEditingKeyboardEvent): Added parameters.
- (WebKit::WebPage::convertRangeToPlatformRange): Added.
- (WebKit::WebPage::getMarkedRange): Added.
- (WebKit::characterRangeAtPoint): Added.
- (WebKit::WebPage::characterIndexForPoint): Added.
- (WebKit::convertToRange): Added.
- (WebKit::WebPage::firstRectForCharacterRange): Added.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::didReceiveSyncMessage): Added.
- * WebProcess/WebProcess.h: Added didReceiveSyncMessage.
+ (WebKit::PageClientImpl::didPerformDictionaryLookup): As this is only
+ used for the hot key version of the dictionary popup, force the overlay
+ style.
-2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+2011-02-27 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
- [Qt][WK2] Add the QWKContext API class to wrap the WebContext.
- https://bugs.webkit.org/show_bug.cgi?id=50750
+ [Qt] [WK2] QGraphicsWKView::showContextMenu() should be public
+ https://bugs.webkit.org/show_bug.cgi?id=55330
+
+ Move QGraphicsWKView::showContextMenu() to the public API. Add documentation
+ on its use.
- * UIProcess/API/qt/WKView.h:
* UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::QGraphicsWKView):
- Change the WKPageNamespaceRef argument to QWKContext*
* UIProcess/API/qt/qgraphicswkview.h:
- * UIProcess/API/qt/qwkcontext.cpp: Added.
- * UIProcess/API/qt/qwkcontext.h: Added.
- * UIProcess/API/qt/qwkcontext_p.h: Added.
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::QWKPagePrivate):
- (QWKPage::QWKPage):
- Change the WKPageNamespaceRef argument to QWKContext*
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/API/qt/qwkpage_p.h:
- * WebKit2.pro:
-
-2010-12-10 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Flush IPC connection send buffer after each message.
-
- [Qt] [WK2] IPC messages are not sent until send buffer fills up
- https://bugs.webkit.org/show_bug.cgi?id=50667
-
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- (CoreIPC::Connection::sendOutgoingMessage):
-
-2010-12-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt][WK2] Use a single QNetworkAccessManager per web process.
- https://bugs.webkit.org/show_bug.cgi?id=50757
-
- This allows a better management of network resources and the use
- of global cookie jar and disk cache across all frames.
-
- * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
- (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
- (WebCore::WebFrameNetworkingContext::networkAccessManager):
- * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::WebProcess):
- (WebKit::WebProcess::initializeWebProcess):
- (WebKit::WebProcess::shutdownIfPossible):
- * WebProcess/WebProcess.h:
- (WebKit::WebProcess::networkAccessManager):
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::platformInitializeWebProcess):
- (WebKit::WebProcess::platformShutdown):
- * WebProcess/qt/WebProcessQt.cpp:
- (WebKit::WebProcess::platformInitializeWebProcess):
- (WebKit::WebProcess::platformShutdown):
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::WebProcess::platformInitializeWebProcess):
- (WebKit::WebProcess::platformShutdown):
-
-2010-12-09 Mark Rowe <mrowe@apple.com>
-
- Fix the 32-bit build.
-
- * Shared/cf/ArgumentCodersCF.cpp:
- (CoreIPC::sizeForNumberType):
-
-2010-12-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Brady Eidson.
-
- WebKit2: Control-click doesn't invoke context menu
- https://bugs.webkit.org/show_bug.cgi?id=50793
- <rdar://problem/8664800>
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::isContextClick): New helper function - on Mac, not only right clicks
- but also control-left-clicks are context clicks.
- (WebKit::handleMouseEvent): Use above.
-
-2010-12-09 Anders Carlsson <andersca@apple.com>
- Fix clang++ build.
+2011-02-27 Alejandro G. Castro <alex@igalia.com>
- * Scripts/webkit2/messages.py:
- DrawingAreaInfo is a struct.
+ Unreviewed, fixed GTK compilation after r79806.
- * Shared/WebPreferencesStore.cpp:
- (WebKit::valueForKey):
- Move valueForKey above code that uses it.
+ * UIProcess/gtk/WebView.cpp:
+ (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
+ * UIProcess/gtk/WebView.h:
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (-[WebInspectorProxyObjCAdapter windowWillClose:]):
- Remove trailing semicolon.
+2011-02-26 Anders Carlsson <andersca@apple.com>
-2010-12-09 Timothy Hatcher <timothy@apple.com>
+ Reviewed by Dan Bernstein.
- Add support for transparent WebKit2 WKViews.
+ Asynchronous response to FramePolicyListener is not finishing the load
+ https://bugs.webkit.org/show_bug.cgi?id=55305
+ <rdar://problem/9044356>
- https://webkit.org/b/50785
+ Always initialize the receivedPolicyAction reply parameter.
- Reviewed by Anders Carlsson.
-
- * Shared/WebPageCreationParameters.cpp:
- (WebKit::WebPageCreationParameters::encode): Encode drawsBackground and drawsTransparentBackground.
- (WebKit::WebPageCreationParameters::decode): Decode drawsBackground and drawsTransparentBackground.
- * Shared/WebPageCreationParameters.h:
- * UIProcess/API/mac/WKView.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView setDrawsBackground:]): Added.
- (-[WKView drawsBackground]): Added.
- (-[WKView setDrawsTransparentBackground:]): Added.
- (-[WKView drawsTransparentBackground]): Added.
- (-[WKView drawRect:]): Only fill the background if the WebProcess isn't valid and drawsBackground.
- Use white or clear based on setDrawsTransparentBackground.
- (-[WKView isOpaque]): Return drawsBackground.
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy): Initialize m_drawsBackground and m_drawsTransparentBackground.
- (WebKit::WebPageProxy::setDrawsBackground): Added. Send a SetDrawsBackground message.
- (WebKit::WebPageProxy::setDrawsTransparentBackground): Added. Send a SetDrawsTransparentBackground message.
- (WebKit::WebPageProxy::creationParameters): Set drawsBackground and drawsTransparentBackground.
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::drawsBackground): Added. Return m_drawsBackground.
- (WebKit::WebPageProxy::drawsTransparentBackground): Added. Return m_drawsTransparentBackground.
- * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
- (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint): Use the copy blend mode when drawing a background.
- (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore): Use the copy blend mode to replace existing content.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Setup the new view's background color and transparent flag.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage): Initialize m_drawsBackground and m_drawsTransparentBackground.
- (WebKit::WebPage::setDrawsBackground): Added. Propagate the flag to the FrameViews.
- (WebKit::WebPage::setDrawsTransparentBackground): Added. Propagate the background color to the FrameViews.
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::drawsBackground): Added. Return m_drawsBackground.
- (WebKit::WebPage::drawsTransparentBackground): Added. Return m_drawsTransparentBackground.
- * WebProcess/WebPage/WebPage.messages.in: Added SetDrawsBackground and SetDrawsTransparentBackground.
-
-2010-12-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Cannot use NSKeyedArchiver in WK2 for ResourceResponses
- https://bugs.webkit.org/show_bug.cgi?id=50792
- <rdar://problem/8741799>
-
- When encoding, first convert the requests and responses to the serializable dictionary representation
- and use the newly added CF CoreIPC encoders. When decoding, do the opposite.
-
- * Shared/mac/WebCoreArgumentCodersMac.mm:
- (CoreIPC::encodeResourceRequest):
- (CoreIPC::decodeResourceRequest):
- (CoreIPC::encodeResourceResponse):
- (CoreIPC::decodeResourceResponse):
-
-2010-12-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add CoreIPC coders for CF types
- https://bugs.webkit.org/show_bug.cgi?id=50791
-
- * Platform/CoreIPC/ArgumentDecoder.h:
- (CoreIPC::ArgumentDecoder::decodeEnum):
- * Platform/CoreIPC/ArgumentEncoder.h:
- (CoreIPC::ArgumentEncoder::encodeEnum):
- * Shared/cf/ArgumentCodersCF.cpp: Added.
- (CoreIPC::tokenNullTypeRef):
- (CoreIPC::typeFromCFTypeRef):
- (CoreIPC::encode):
- (CoreIPC::decode):
- (CoreIPC::sizeForNumberType):
- * Shared/cf/ArgumentCodersCF.h: Added.
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-12-09 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/8749750> and https://bugs.webkit.org/show_bug.cgi?id=50786
- WK2 authentication never consults WebCore session credential storage.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Since we don't need to expose this as
- API at this time, always return true.
-
-2010-12-09 Sam Weinig <weinig@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- WebKit2: Add support for access keys
- https://bugs.webkit.org/show_bug.cgi?id=49832
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::handleKeyEvent): Match windows WebKit and call
- the event handler's for handleAccessKey function for
- system keys. This will never be hit on the Mac.
-
-2010-12-09 Darin Adler <darin@apple.com>
-
- Qt build fix.
-
- * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: Include "NotImplemented.h".
-
-2010-12-09 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
-
- * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp:
-
-2010-12-09 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/8613779> and https://bugs.webkit.org/show_bug.cgi?id=50777
- WebKit2 ContextMenuClient support
-
- Implement google search in a cross platform manner, and add a FIXME for download support:
- * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
- (WebKit::WebContextMenuClient::downloadURL):
- (WebKit::WebContextMenuClient::searchWithGoogle):
-
- Mac implementations for speaking and searching:
- * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: Added.
- (WebKit::WebContextMenuClient::lookUpInDictionary): Add a FIXME for now.
- (WebKit::WebContextMenuClient::isSpeaking):
- (WebKit::WebContextMenuClient::speak):
- (WebKit::WebContextMenuClient::stopSpeaking):
- (WebKit::WebContextMenuClient::searchWithSpotlight):
-
- Stubs for Win and Qt:
- * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: Added.
- (WebKit::WebContextMenuClient::lookUpInDictionary):
- (WebKit::WebContextMenuClient::isSpeaking):
- (WebKit::WebContextMenuClient::speak):
- (WebKit::WebContextMenuClient::stopSpeaking):
- * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp: Added.
- (WebKit::WebContextMenuClient::lookUpInDictionary):
- (WebKit::WebContextMenuClient::isSpeaking):
- (WebKit::WebContextMenuClient::speak):
- (WebKit::WebContextMenuClient::stopSpeaking):
-
- Project file stuffs:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
-2010-12-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Don't leak the PDFDocument
- https://bugs.webkit.org/show_bug.cgi?id=50771
-
- * UIProcess/API/mac/PDFViewController.mm:
- (WebKit::PDFViewController::setPDFDocumentData):
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ (WebKit::WebPageProxy::decidePolicyForMIMEType):
-2010-12-09 Anders Carlsson <andersca@apple.com>
+2011-02-26 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- Add a basic implementation of PDF support on Mac
- https://bugs.webkit.org/show_bug.cgi?id=50768
+ DidFinishLoadingDataForCustomRepresentation should pass along the suggested filename
+ https://bugs.webkit.org/show_bug.cgi?id=55304
* UIProcess/API/mac/PDFViewController.h:
- * UIProcess/API/mac/PDFViewController.mm: Added.
- (-[WKPDFView initWithFrame:PDFViewController:WebKit::]):
- Setup the view hierarchy.
-
- (-[WKPDFView invalidate]):
- Set the controller to null.
-
- (-[WKPDFView pdfView]):
- Return the PDF view.
-
- (WebKit::PDFViewController::create):
- (WebKit::PDFViewController::PDFViewController):
- Create a WKPDFView and insert it as a subview of the WKView.
-
- (WebKit::PDFViewController::~PDFViewController):
- Remove the WKPDFView from the view hierarchy and invalidate it.
-
- (WebKit::convertPostScriptDataSourceToPDF):
- Convert the data in the data reference to PDF and return it as a CFDataRef.
-
+ * UIProcess/API/mac/PDFViewController.mm:
(WebKit::PDFViewController::setPDFDocumentData):
- Create a PDFDocument and set it on the PDF view.
-
- (WebKit::PDFViewController::pdfDocumentClass):
- (WebKit::PDFViewController::pdfPreviewViewClass):
- (WebKit::PDFViewController::pdfKitBundle):
- Add soft-linking helper functions.
-
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::didCommitLoadForMainFrame):
- (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
- Call the WKView methods.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _setPageHasCustomRepresentation:]):
- Create a PDF view controller if necessary.
-
- (-[WKView _didFinishLoadingDataForCustomRepresentation:CoreIPC::]):
- Pass the data along to the PDF view controller.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
-2010-12-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add support for custom representation
- https://bugs.webkit.org/show_bug.cgi?id=50767
-
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
- Add mimeTypesWithCustomRepresentation and encode and decode accordingly.
-
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::didCommitLoadForMainFrame):
(WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
- Add empty stubs for now.
-
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _didFinishLoadingDataForCustomRepresentationWithSuggestedFilename:dataReference:CoreIPC::]):
+ * UIProcess/API/mac/WKViewInternal.h:
* UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::didCommitLoadForMainFrame):
(QWKPagePrivate::didFinishLoadingDataForCustomRepresentation):
* UIProcess/API/qt/qwkpage_p.h:
- Add empty stubs.
-
* UIProcess/PageClient.h:
- Add new functions for custom representations.
-
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::canShowMIMEType):
- Check that the mime type is not null.
-
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didCommitLoadForFrame):
- This now takes an additional frameHasCustomRepresentation parameter.
- Call the page client function.
-
(WebKit::WebPageProxy::didFinishLoadingDataForCustomRepresentation):
- Call the page client function.
-
+ * UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
- Change DidCommitLoadForFrame message, add DidFinishLoadingDataForCustomRepresentation message.
-
- * UIProcess/mac/WebContextMac.mm:
- (WebKit::WebContext::platformInitializeWebProcess):
- We want to use custom representations for PDF and PostScript MIME types.
-
* UIProcess/win/WebView.cpp:
- (WebKit::WebView::didCommitLoadForMainFrame):
(WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
* UIProcess/win/WebView.h:
- Add stubs.
-
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
- Initialize m_frameHasCustomRepresentation.
-
- (WebKit::WebFrameLoaderClient::hasHTMLView):
- The frame has a HTML view unless it has a custom representation.
-
- (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
- Pass along whether the frame has a custom representation.
-
- (WebKit::WebFrameLoaderClient::committedLoad):
- Don't send data back to WebCore if the frame has a custom representation.
-
(WebKit::WebFrameLoaderClient::finishedLoading):
- Send all the data to the UI process.
-
- (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
- Update the m_frameHasCustomRepresentation state based on the MIME type.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- (WebKit::WebFrameLoaderClient::frameHasCustomRepresentation):
- Add getter.
-
- * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
- (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
- Don't do any painting if the main frame has a custom representation.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
- Add all the MIME types with custom representations.
-
- * WebProcess/WebProcess.h:
- (WebKit::WebProcess::shouldUseCustomRepresentationForMIMEType):
- Add getter.
-
-2010-12-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Implement "Use Selection for Find" in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=50737
- <rdar://problem/8564881>
-
- * UIProcess/API/mac/WKView.mm: Add support for the takeFindStringFromSelection:
- selector as a command.
-
-2010-12-09 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
- WebKit2 Authentication Support
-
- Implement authentication-related coders:
- * Shared/WebCoreArgumentCoders.h:
-
- Allow the ResourceResponse coders to handle null responses:
- * Shared/mac/WebCoreArgumentCodersMac.mm:
- (CoreIPC::encodeResourceResponse):
- (CoreIPC::decodeResourceResponse):
-
- Add new API and Impl casts for ProtectionSpace and Credential enums:
- * UIProcess/API/C/WKAPICast.h:
- (WebKit::toAPI):
- (WebKit::toCredentialPersistence):
-
- Move the DecisionListener to be accessed off the challenge itself, and fill in other
- necessary API:
- * UIProcess/API/C/WKAuthenticationChallenge.cpp:
- (WKAuthenticationChallengeGetDecisionListener):
- (WKAuthenticationChallengeGetProtectionSpace):
- (WKAuthenticationChallengeGetProposedCredential):
- (WKAuthenticationChallengeGetPreviousFailureCount):
- * UIProcess/API/C/WKAuthenticationChallenge.h:
- * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
- (WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy):
- (WebKit::AuthenticationChallengeProxy::proposedCredential):
- (WebKit::AuthenticationChallengeProxy::protectionSpace):
- * UIProcess/Authentication/AuthenticationChallengeProxy.h:
- (WebKit::AuthenticationChallengeProxy::previousFailureCount):
-
- Fill in some credential API:
- * UIProcess/API/C/WKCredential.cpp:
- (WKCredentialCreate):
- (WKCredentialCopyUser):
- * UIProcess/API/C/WKCredential.h:
- * UIProcess/API/C/WKCredentialTypes.h: Added.
- * UIProcess/Authentication/WebCredential.cpp:
- (WebKit::WebCredential::WebCredential):
- (WebKit::WebCredential::user):
- * UIProcess/Authentication/WebCredential.h:
- (WebKit::WebCredential::create):
-
- Fill in some protection space API:
- * UIProcess/API/C/WKProtectionSpace.cpp:
- (WKProtectionSpaceCopyHost):
- (WKProtectionSpaceGetPort):
- (WKProtectionSpaceCopyRealm):
- (WKProtectionSpaceGetIsProxy):
- (WKProtectionSpaceGetServerType):
- (WKProtectionSpaceGetReceivesCredentialSecurely):
- (WKProtectionSpaceGetAuthenticationScheme):
- * UIProcess/API/C/WKProtectionSpace.h:
- * UIProcess/API/C/WKProtectionSpaceTypes.h: Added.
- * UIProcess/Authentication/WebProtectionSpace.cpp:
- (WebKit::WebProtectionSpace::WebProtectionSpace):
- (WebKit::WebProtectionSpace::host):
- (WebKit::WebProtectionSpace::port):
- (WebKit::WebProtectionSpace::realm):
- (WebKit::WebProtectionSpace::isProxy):
- (WebKit::WebProtectionSpace::serverType):
- (WebKit::WebProtectionSpace::receivesCredentialSecurely):
- (WebKit::WebProtectionSpace::authenticationScheme):
- * UIProcess/Authentication/WebProtectionSpace.h:
-
- Change the authentication challenge callback to reflect the new ownership of
- the DecisionListener:
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::didReceiveAuthenticationChallengeInFrame):
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
-
-2010-12-08 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey "Error" Garen.
-
- Fix typo: Diplaying -> Displaying
-
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameIsDisplayingStandaloneImageDocument):
- (WKFrameIsDisplayingMarkupDocument):
- * UIProcess/API/C/WKFrame.h:
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::canProvideSource):
- (WebKit::WebFrameProxy::isDisplayingStandaloneImageDocument):
- (WebKit::WebFrameProxy::isDisplayingMarkupDocument):
- * UIProcess/WebFrameProxy.h:
-
-2010-12-08 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Add WebKit2 Preference for TabsToLinks behavior.
- <rdar://problem/8664263>
-
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetTabsToLinks):
- (WKPreferencesGetTabsToLinks):
- * UIProcess/API/C/WKPreferences.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::tabsToLinks):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::updatePreferences):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::tabsToLinks):
-
-2010-12-08 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Andreas Kling.
-
- WebTouchEvent::isTouchEventType() does not take into account the type TouchCancel
- https://bugs.webkit.org/show_bug.cgi?id=50680
-
- Add the missing type check to WebTouchEvent::isTouchEventType().
-
- * Shared/WebTouchEvent.cpp:
- (WebKit::WebTouchEvent::isTouchEventType):
-
-2010-12-08 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Need a way to get a WKBundleFrameRef from JS HTMLIFrameElement
- https://bugs.webkit.org/show_bug.cgi?id=50726
-
- Adds WKBundleNodeHandleCopyDocumentFrame, WKBundleNodeHandleCopyHTMLFrameElementContentFrame
- and WKBundleNodeHandleCopyHTMLIFrameElementContentFrame, to handle the document, <frame>
- and <iframe> cases.
-
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
- (WKBundleNodeHandleCopyDocumentFrame):
- (WKBundleNodeHandleCopyHTMLFrameElementContentFrame):
- (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame):
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
- (WebKit::InjectedBundleNodeHandle::copyDocumentFrame):
- (WebKit::InjectedBundleNodeHandle::copyHTMLFrameElementContentFrame):
- (WebKit::InjectedBundleNodeHandle::copyHTMLIFrameElementContentFrame):
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
-
-2010-12-08 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
- Need a WebKit2 way to test whether a frame is displaying a standalone image
- <rdar://problem/8443059>
- WebKit2: Need a way to test whether a page or frame is showing HTML content
- <rdar://problem/8642563>
-
- Add WKFrameIsDiplayingStandaloneImageDocument and WKFrameIsDiplayingMarkupDocument.
-
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameIsDiplayingStandaloneImageDocument):
- (WKFrameIsDiplayingMarkupDocument):
- * UIProcess/API/C/WKFrame.h:
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::canProvideSource): This now just calls isDiplayingMarkupDocument.
- (WebKit::WebFrameProxy::isDiplayingStandaloneImageDocument):
- (WebKit::WebFrameProxy::isDiplayingMarkupDocument):
- * UIProcess/WebFrameProxy.h:
-
-2010-12-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- WebFrameProxy::canShowMIMEType should return true for PDF MIME types in the main frame
- https://bugs.webkit.org/show_bug.cgi?id=50724
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::pdfAndPostScriptMIMETypes):
- * UIProcess/WebContext.h:
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::canShowMIMEType):
-
-2010-12-08 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Brady Eidson.
-
- WebMenuTarget implemented in both WebKit and WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=50665
- <rdar://problem/8742640>
-
- Rename WebMenuTarget to WKMenuTarget to prevent this warning and stay consistent with
- other WebKit2 namings.
-
- * UIProcess/mac/WebContextMenuProxyMac.mm:
- (+[WKMenuTarget sharedMenuTarget]):
- (WebKit::nsMenuItemVector):
- (WebKit::WebContextMenuProxyMac::showContextMenu):
-
-2010-12-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Move canShowMIMEType to Frame
- https://bugs.webkit.org/show_bug.cgi?id=50723
-
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameCanShowMIMEType):
- * UIProcess/API/C/WKFrame.h:
- * UIProcess/API/C/WKPage.cpp:
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::canShowMIMEType):
- * UIProcess/WebFrameProxy.h:
-
-2010-12-08 Sam Weinig <sam@webkit.org>
+2011-02-26 Anders Carlsson <andersca@apple.com>
Reviewed by Oliver Hunt.
- Rename WKPreferencesGetFTPDirectoryTemplatePath to WKPreferencesCopyFTPDirectoryTemplatePath
- since it copies the value.
-
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesCopyFTPDirectoryTemplatePath):
- * UIProcess/API/C/WKPreferencesPrivate.h:
-
-2010-12-08 Sam Weinig <sam@webkit.org>
-
- Reviewed by Brady Eidson.
-
- WebKit2: Can't open ftp directory
- <rdar://problem/8489321>
-
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetForceFTPDirectoryListings):
- (WKPreferencesGetForceFTPDirectoryListings):
- (WKPreferencesSetFTPDirectoryTemplatePath):
- (WKPreferencesGetFTPDirectoryTemplatePath):
- * UIProcess/API/C/WKPreferencesPrivate.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
- Pipe through the FTP directory listing preferences.
-
-2010-12-08 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
- https://bugs.webkit.org/show_bug.cgi?id=49388
-
- Fixes a build failure because WebChromeClient.cpp uses WebCore::Cursor.
- This patch adds an include of QuartzCore/CATransform3D, which includes
- a file that has a 'Cursor' object defined. So I had to qualify the
- use of Cursor in WebChromeClient.cpp.
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::setCursor):
-
-2010-12-07 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by John Sullivan.
-
- Layering Violation in ContextMenu - member variable of type HitTestResult
- https://bugs.webkit.org/show_bug.cgi?id=50586
-
- Update users of ContextMenu and ContextMenuController to match where the new functions
- are located.
-
- * Shared/WebContextMenuItemData.cpp:
- (WebKit::WebContextMenuItemData::WebContextMenuItemData): Remove the call to checkOrEnableItem, that call will be made when
- the ContextMenuItem is added to the ContextMenu through the ContextMenuController.
- * WebProcess/WebPage/WebContextMenu.cpp:
- (WebKit::WebContextMenu::show):
-
-2010-12-08 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Adam Roben.
-
- WebKit2: Implement WebChromeClient::exceededDatabaseQuota
- https://bugs.webkit.org/show_bug.cgi?id=50656
-
- The exceededDatabaseQuota call from the WebProcess to the UIProcess needs to be synchronous
- because the new quota is checked directly after exceededDatabaseQuota returns in order to
- determine if the new Database can be created.
-
- Pass all of the details from the WebProcess to the UIProcess in order to inform the
- decision in the UIProcess about the new quota. In WebKit1, these details were
- fetched through an additional call to the API detailsForDatabase (which is infeasible in
- WebKit2 since exceededDatabaseQuota is a synchronous call).
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::callMemberFunction):
- Add a version that takes 7 parameters.
-
- * UIProcess/API/C/WKPage.h:
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- Indicate that exceededDatabaseQuota is not implemented.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::exceededDatabaseQuota):
- Call the UIClient's exceededDatabaseQuota
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
-
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::exceededDatabaseQuota):
- If the client does not implement exceededDatabaseQuota, return a the current quota.
- * UIProcess/WebUIClient.h:
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::exceededDatabaseQuota):
- Send a synchronous message to the UIProcess to ask for the new quota for the origin for the
- given frame.
-
-2010-12-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- fast/loader/empty-embed-src-attribute.html asserts in debug builds
- https://bugs.webkit.org/show_bug.cgi?id=50643
-
- Just always ignore attempts to load requests with empty URLs.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
-
-2010-12-07 Jessie Berlin <jberlin@apple.com>
-
- Build fix. Unreviewed.
-
- * WebKit2.pro:
- Added WebDatabaseManagerQt.cpp.
- * WebProcess/WebCoreSupport/qt/WebDatabaseManagerQt.cpp: Added.
- (WebKit::WebDatabaseManager::databaseDirectory):
- Added a FIXME to implement and return an empty string.
-
-2010-12-07 Darin Adler <darin@apple.com>
-
- Get a bit closer to making Qt WebKit2 compile again.
-
- * WebKit2.pro: Add the WebDatabaseManager source files.
- Still missing: The Qt version of the databaseDirectory function.
-
-2010-12-07 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit2: Need to set the location of the Databases directory when the WebProcess is initialized
- https://bugs.webkit.org/show_bug.cgi?id=50604
-
- * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: Added.
- (WebKit::WebDatabaseManager::shared):
- (WebKit::WebDatabaseManager::WebDatabaseManager):
- Initialize the DatabaseTracker with the Database directory.
- * WebProcess/WebCoreSupport/WebDatabaseManager.h: Added.
- * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm: Added.
- (WebKit::WebDatabaseManager::databaseDirectory):
- Copied from WebKitInitializeDatabasesIfNecessary in WebKit/mac/Storage/WebDatabaseManager.mm.
- * WebProcess/WebCoreSupport/win/WebDatabaseManagerWin.cpp: Added.
- (WebKit::WebDatabaseManager::databaseDirectory):
- Copied from WebKitInitializeWebDatabasesIfNecessary in WebKit/win/WebDatabaseManager.cpp.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::WebProcess):
- Make sure that the Databases directory has been set by calling WebDatabaseManager::shared().
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add WebDatabaseManager.cpp/.h/Mac.cpp
- * win/WebKit2.vcproj:
- Add WebDatabaseManager.cpp/.h/Win.cpp
-
-2010-12-06 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Pass security origin to make local file decision correctly
- https://bugs.webkit.org/show_bug.cgi?id=48603
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::loadURL): Pass security origin.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchCreatePage): Ditto.
-
-2010-12-06 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix two WebKit2 prefs issues.
-
- * Shared/WebPreferencesStore.h: Include font-family preferences
- in the FOR_EACH_WEBKIT_STRING_PREFERENCE macro, actually propagating
- font family prefs to WebCore settings.
-
- * UIProcess/WebPageGroup.cpp:
- (WebKit::WebPageGroup::WebPageGroup):
- (WebKit::WebPageGroup::~WebPageGroup): Add and remove the WebPageGroup
- from the preference object it creates. This allows preference changes
- to actually be propagated to the web process.
-
-2010-12-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- The plug-in process crashes if it can't load the plug-in module
- https://bugs.webkit.org/show_bug.cgi?id=50601
- <rdar://problem/8692654>
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::initialize):
- Handle m_plugin being 0.
-
- * PluginProcess/PluginProcess.cpp:
- (WebKit::PluginProcess::netscapePluginModule):
- Create the plug-in module if it doesn't exist.
-
- (WebKit::PluginProcess::initialize):
- Store the plug-in path.
-
- * PluginProcess/PluginProcess.h:
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::create):
- Return null if the plug-in module doesn't exist.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::createPlugin):
- Simplify code.
-
-2010-12-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebProcess crash in NPRemoteObjectMap::invalidate when closing tab
- https://bugs.webkit.org/show_bug.cgi?id=50597
- <rdar://problem/8655584>
-
- When invalidating the NPRemoteObjectMap, we don't want NPObjectMessageReceiver to
- release all objects NPObjects blindly because NPJSObjects have already been deallocated by the plug-in view.
-
- This is not an ideal solution; an ideal solution would involve NPJSObjects notifying any NPObjectMessageReceiver objects
- that the NPJSObject is being destroyed. The NPObjectMessageReceiver could then simply null out the NPObject pointer.
-
- * Shared/Plugins/NPObjectMessageReceiver.cpp:
- (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
- (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
- * Shared/Plugins/NPObjectMessageReceiver.h:
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- (WebKit::NPRemoteObjectMap::NPRemoteObjectMap):
- (WebKit::NPRemoteObjectMap::invalidate):
- * Shared/Plugins/NPRemoteObjectMap.h:
- (WebKit::NPRemoteObjectMap::isInvalidating):
-
-2010-12-06 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Generalize didChangeLocationWithinPageForFrame for all same document navigations
- https://bugs.webkit.org/show_bug.cgi?id=50584
-
- - Rename didChangeLocationWithinPageForFrame callbacks to didSameDocumentNavigationForFrame
- - Add WKSameDocumentNavigationType to didChangeLocationWithinPageForFrame.
- - Call didSameDocumentNavigationForFrame for HTML session state changes.
-
- * Shared/API/c/WKPageLoadTypes.h: Added.
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toAPI):
- Moved WKFrameNavigationType here from WKPage.h and add WKSameDocumentNavigationType.
-
- * Shared/SameDocumentNavigationType.h: Added.
- * UIProcess/API/C/WKAPICast.h:
- Moved WKFrameNavigationType conversion from here.
-
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- Update comment.
-
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::didSameDocumentNavigation):
- * UIProcess/WebFrameProxy.h:
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::didSameDocumentNavigationForFrame):
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- (WebKit::InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame):
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- Pipe new name through.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
- (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
- (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
- (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
- Call didChangeLocationWithinPageForFrame for session state changes.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
- Add new files.
-
-2010-12-06 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- WebKit2: Expose the preference to enable or disable HTML5 Databases.
- https://bugs.webkit.org/show_bug.cgi?id=50411
-
- * Shared/WebPreferencesStore.h:
- Make the preference to enable HTML5 Databases default ot true.
-
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetDatabasesEnabled):
- (WKPreferencesGetDatabasesEnabled):
- * UIProcess/API/C/WKPreferences.h:
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
- Set AbstractDatabase::isAvailable (mimicking how the preference is set in WebKit1).
-
-2010-12-06 Mark Rowe <mrowe@apple.com>
-
- Build fix.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformHandleKeyboardEvent): Wrap Carbon-specific code in #ifndef NP_NO_CARBON.
-
-2010-12-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add a shim for GetCurrentEventButtonState
- https://bugs.webkit.org/show_bug.cgi?id=50583
-
- * PluginProcess/mac/PluginProcessMac.mm:
- (WebKit::getCurrentEventButtonState):
- Get the event button state from the plug-in.
-
- (WebKit::PluginProcess::initializeShim):
- Add new shim callback.
-
- * PluginProcess/mac/PluginProcessShim.cpp:
- (WebKit::shimGetCurrentEventButtonState):
- Add shim.
-
- * PluginProcess/mac/PluginProcessShim.h:
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::buttonState):
- Return the button state.
-
- (WebKit::NetscapePlugin::platformHandleMouseEvent):
- Update the button state. Also, make sure to actually pass the modifiers to NPP_HandleEvent.
-
-
-2010-12-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add a shim for IsWindowActive
- https://bugs.webkit.org/show_bug.cgi?id=50582
-
- * PluginProcess/mac/PluginProcessMac.mm:
- (WebKit::isWindowActive):
- Get the NetscapePlugin from the WindowRef and check if the plug-in's window is active.
-
- (WebKit::PluginProcess::initializeShim):
- * PluginProcess/mac/PluginProcessShim.cpp
- (WebKit::shimIsWindowActive):
- Call isWindowActive. If it returns true, return the result value. Otherwise, call the real
- IsWindowActive function.
-
- * PluginProcess/mac/PluginProcessShim.h:
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin):
- Initialize m_isWindowactive.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- (WebKit::NetscapePlugin::isWindowActive):
- Return whether the window is active.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::windowMap):
- (WebKit::NetscapePlugin::platformPostInitialize):
- (WebKit::NetscapePlugin::platformDestroy):
- (WebKit::NetscapePlugin::netscapePluginFromWindow):
- Add a mapping between windows and the corresponding NetscapePlugin objects.
-
- (WebKit::NetscapePlugin::windowFocusChanged):
- Update the window focus member variable.
-
-2010-12-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- REGERSSION (r73310?): Contents of <select> popup menus are upside-down on Windows
- https://bugs.webkit.org/show_bug.cgi?id=50544
- <rdar://problem/8732336>
-
- * Shared/BackingStore.cpp:
- * Shared/BackingStore.h:
- * Shared/cairo/BackingStoreCairo.cpp:
- Remove BackingStore::createFlippedGraphicsContext.
-
- * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
- (WebKit::WebPopupMenu::setUpPlatformData):
- Don't create a flipped graphics context.
-
-2010-12-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- REGRESSION: Text in Find indicator is vertically flipped
- https://bugs.webkit.org/show_bug.cgi?id=50524
- <rdar://problem/8732978>
-
- Don't flip the graphics context.
-
- * UIProcess/FindIndicator.cpp:
- (WebKit::FindIndicator::draw):
-
-2010-12-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Dispatch keyboard events in the Carbon event model
- https://bugs.webkit.org/show_bug.cgi?id=50503
-
- * Shared/WebEvent.h:
- (WebKit::WebKeyboardEvent::macCharCode):
- * Shared/WebKeyboardEvent.cpp:
- (WebKit::WebKeyboardEvent::WebKeyboardEvent):
- (WebKit::WebKeyboardEvent::encode):
- (WebKit::WebKeyboardEvent::decode):
- Add macCharCode field.
-
- * Shared/mac/WebEventFactory.mm:
- (WebKit::WebEventFactory::createWebKeyboardEvent):
- * Shared/qt/WebEventFactoryQt.cpp:
- (WebKit::WebEventFactory::createWebKeyboardEvent):
- * Shared/win/WebEventFactory.cpp:
- (WebKit::WebEventFactory::createWebKeyboardEvent):
- Pass along the Mac char code.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
- Convert the event to a Carobn event.
-
-2010-12-03 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=50504
- Expose some more WebCore settings in WebKit2 preferences
-
- * Shared/WebPreferencesStore.h:
- Changed name of existing FOR_EACH_WEBKIT_STRING_PREFERENCE macro to
- FOR_EACH_WEBKIT_FONT_FAMILY_PREFERENCE since it was all about platform-specific
- font families, and I'm now introducing a non-platform-spacific string, and
- I didn't want to put the new preference in two platform-specific lists. Then
- added a new FOR_EACH_WEBKIT_STRING_PREFERENCE to hold the new preference. Note
- that the other preferences exposed in this patch were already declared here.
-
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetDefaultFontSize):
- New wrapper.
- (WKPreferencesGetDefaultFontSize):
- Ditto.
- (WKPreferencesSetDefaultFixedFontSize):
- Ditto.
- (WKPreferencesGetDefaultFixedFontSize):
- Ditto.
- (WKPreferencesSetDefaultTextEncodingName):
- Ditto.
- (WKPreferencesCopyDefaultTextEncodingName):
- Ditto.
-
- * UIProcess/API/C/WKPreferences.h:
- Declare new wrappers.
-
-2010-12-05 Adam Roben <aroben@apple.com>
-
- Windows production build fix
-
- Put spaces after trailing backslashes when setting
- %WebKitVSPropsRedirectionDir%. According to MSDN
- <http://msdn.microsoft.com/en-us/library/2kzfk8c7(v=VS.80).aspx>:
-
- A backslash ( \ ) followed by a newline character is interpreted as
- a space in the command; use a backslash at the end of a line to
- continue a command onto the next line. NMAKE interprets the
- backslash literally if any other character, including a space or
- tab, follows the backslash.
-
- * win/WebKit2.make:
-
-2010-12-04 Sam Weinig <sam@webkit.org>
-
- Reviewed by Jon Honeycutt.
-
- WebKit2: Need client functions to notify app when the url changes due to a fragment navigation
- https://bugs.webkit.org/show_bug.cgi?id=50511
-
- Pipe didChangeLocationWithinPageForFrame up through the UIProcess to the WKPageLoadClient,
- updating the WebFrameProxy's URL on the way.
-
- Test: PageLoadDidChangeLocationWithinPageForFrame
-
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::didChangeURLWithoutNavigation):
- * UIProcess/WebFrameProxy.h:
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::didChangeLocationWithinPageForFrame):
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didChangeLocationWithinPageForFrame):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- (WebKit::InjectedBundlePageLoaderClient::didChangeLocationWithinPageForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidCancelClientRedirect): Fix typo.
- (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
-
-2010-12-03 Timothy Hatcher <timothy@apple.com>
-
- Make the Web Inspector window show and be usable on Mac.
-
- https://webkit.org/b/50490
-
- Reviewed by Sam Weinig.
-
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::WebInspectorProxy::invalidate): Call platformClose.
- (WebKit::WebInspectorProxy::didLoadInspectorPage): Call platformOpen.
- (WebKit::WebInspectorProxy::didClose): Call platformClose.
- * UIProcess/WebInspectorProxy.h:
- * UIProcess/WebInspectorProxy.messages.in: Added DidClose.
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (-[WebInspectorProxyObjCAdapter initWithWebInspectorProxy:]): Added.
- (-[WebInspectorProxyObjCAdapter windowWillClose:]): Added. Call WebInspectorProxy::close.
- (WebKit::WebInspectorProxy::platformOpen): Added.
- (WebKit::WebInspectorProxy::platformClose): Added.
- * UIProcess/qt/WebInspectorProxyQt.cpp:
- (WebKit::WebInspectorProxy::platformOpen): Added stub.
- (WebKit::WebInspectorProxy::platformClose): Added stub.
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::platformOpen): Added stub.
- (WebKit::WebInspectorProxy::platformClose): Added stub.
- * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
- (WebKit::WebInspectorClient::sendMessageToFrontend): Added more null checks to avoid a crash.
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
- (WebKit::WebInspectorFrontendClient::closeWindow): Call WebInspector::didClose.
- (WebKit::WebInspectorFrontendClient::disconnectFromBackend): Ditto.
- (WebKit::WebInspectorFrontendClient::sendMessageToBackend): Removed. This does not need to be
- implemented by our subclass since we are in a single process.
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: Removed sendMessageToBackend.
- * WebProcess/WebPage/WebInspector.cpp:
- (WebKit::WebInspector::didClose): Added. Send a DidClose message to the UI process.
- * WebProcess/WebPage/WebInspector.h:
-
-2010-12-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig and Dan Bernstein.
-
- Clean up the BackingStore implementation
- https://bugs.webkit.org/show_bug.cgi?id=50498
-
- * Shared/BackingStore.cpp:
- (WebKit::BackingStore::create):
- (WebKit::BackingStore::createSharable):
- (WebKit::BackingStore::resize):
- Use new numBytesForSize helper function.
-
- (WebKit::BackingStore::createFlippedGraphicsContext):
- Make this function platform independent.
-
- * Shared/BackingStore.h:
- (WebKit::BackingStore::numBytesForSize):
- Given a size, return the number of bytes needed for it.
-
- (WebKit::BackingStore::sizeInBytes):
- Implement.
-
- * Shared/cg/BackingStoreCG.cpp:
- (WebKit::BackingStore::paint):
- Don't use CGBitmapContextCreateImage; it creates an extra copy of the image data.
-
- * Shared/qt/BackingStoreQt.cpp:
- Remove createFlippedGraphicsContext.
-
-2010-12-03 Siddharth Mathur <siddharth.mathur@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] [WK2] Build system improvements for non-Unix targets
- https://bugs.webkit.org/show_bug.cgi?id=50257
-
- * DerivedSources.pro:
- Fix dir seperator errors on Windows build host. Thanks to Laszlo Gombos.
-
-2010-12-03 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Enable <a ping> for Mac/Windows/WebKit2 builds
- <rdar://problem/8504473>
- https://bugs.webkit.org/show_bug.cgi?id=50488
-
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetHyperlinkAuditingEnabled):
- (WKPreferencesGetHyperlinkAuditingEnabled):
- * UIProcess/API/C/WKPreferences.h:
- Add "HyperlinkAuditing" preference and enabled it by default.
-
-2010-12-03 Brady Eidson <beidson@apple.com>
-
- Reviewed by good sense in fixing builds.
-
- Export the 4 new API headers I added today.
-
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-12-03 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/8725679> and https://bugs.webkit.org/show_bug.cgi?id=50482
- Crash trying to empty caches with no WebProcess.
-
- * Shared/WebProcessCreationParameters.h: Add the "clear this cache" flags.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- (WebKit::WebContext::ensureWebProcess): If either of the clear cache flags are set when a new WebProcess is
- created, include those flags in the parameters.
- (WebKit::WebContext::clearResourceCaches): If the current process isn't valid, flag this action to be done later.
- (WebKit::WebContext::clearApplicationCache): Ditto.
- * UIProcess/WebContext.h:
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess): Clear the caches if told to.
-
-2010-12-03 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Fix failing API test. The default san serif font on the mac
- should be Helvetica, not Courier.
-
- * Shared/WebPreferencesStore.h:
-
-2010-12-03 Jia Pu <jpu@apple.com>
-
- Reviewed by Darin Adler.
-
- Need to move all code that applies correction into correction panel callback.
- https://bugs.webkit.org/show_bug.cgi?id=50426
- <rdar://problem/8720832>
-
- Adopted new signature of dismissCorrectionPanel.
-
- * WebProcess/WebCoreSupport/WebEditorClient.h:
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- (WebKit::WebEditorClient::dismissCorrectionPanel):
-
-2010-12-03 Jessie Berlin <jberlin@apple.com>
-
- Windows build fix. Unreviewed.
-
- * win/WebKit2Generated.make:
- Add the new API files from http://trac.webkit.org/changeset/73281.
-
-2010-12-03 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Groundwork for <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
- WebKit2 Authentication Support
-
- With this patch in place, authentication challenges are sent up from WebCore and shipped over the IPC layer.
- Client apps can implement the related client methods to attempt to continue without credentials or cancel a
- challenge.
-
- There's not yet API to inspect a challenge or create a credential to use in reply - that will come later.
-
- Build-system changes:
- * DerivedSources.make:
- * DerivedSources.pro:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Common.vsprops:
-
- Messages and casts for IPC and APIs:
- * Platform/CoreIPC/MessageID.h:
- * Shared/API/c/WKBase.h:
- * Shared/APIObject.h:
- * Shared/WebCoreArgumentCoders.h:
- * UIProcess/API/C/WKAPICast.h:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::didReceiveMessage):
-
- Stub out the AuthenticationChallenge class family:
- * UIProcess/API/C/WKAuthenticationChallenge.cpp: Added.
- (WKAuthenticationChallengeGetTypeID):
- * UIProcess/API/C/WKAuthenticationChallenge.h: Added.
- * UIProcess/API/C/WKCredential.cpp: Added.
- (WKCredentialGetTypeID):
- * UIProcess/API/C/WKCredential.h: Added.
- * UIProcess/API/C/WKProtectionSpace.cpp: Added.
- (WKProtectionSpaceGetTypeID):
- * UIProcess/API/C/WKProtectionSpace.h: Added.
-
- Add an Authentication listener for the client app to respond to:
- * UIProcess/API/C/WKAuthenticationDecisionListener.cpp: Added.
- (WKAuthenticationDecisionListenerGetTypeID):
- (WKAuthenticationDecisionListenerUseCredential):
- (WKAuthenticationDecisionListenerCancel):
- * UIProcess/API/C/WKAuthenticationDecisionListener.h: Added.
-
- Add Authentication related methods to the page loader client:
- * UIProcess/API/C/WKPage.h:
-
- Add empty implementations of the new API objects:
- * UIProcess/Authentication: Added.
- * UIProcess/Authentication/AuthenticationChallengeProxy.cpp: Added.
- (WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):
- (WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy):
- (WebKit::AuthenticationChallengeProxy::useCredential):
- (WebKit::AuthenticationChallengeProxy::cancel):
- * UIProcess/Authentication/AuthenticationChallengeProxy.h: Added.
- (WebKit::AuthenticationChallengeProxy::create):
- (WebKit::AuthenticationChallengeProxy::listener):
- (WebKit::AuthenticationChallengeProxy::type):
-
- * UIProcess/Authentication/WebCredential.cpp: Added.
- (WebKit::WebCredential::core):
- * UIProcess/Authentication/WebCredential.h: Added.
- (WebKit::WebCredential::create):
- (WebKit::WebCredential::type):
- * UIProcess/Authentication/WebProtectionSpace.cpp: Added.
- (WebKit::WebProtectionSpace::WebProtectionSpace):
- * UIProcess/Authentication/WebProtectionSpace.h: Added.
- (WebKit::WebProtectionSpace::create):
- (WebKit::WebProtectionSpace::type):
-
- Add implementation of the Authentication decision listener:
- * UIProcess/Authentication/AuthenticationDecisionListener.cpp: Added.
- (WebKit::AuthenticationDecisionListener::AuthenticationDecisionListener):
- (WebKit::AuthenticationDecisionListener::useCredential):
- (WebKit::AuthenticationDecisionListener::cancel):
- (WebKit::AuthenticationDecisionListener::detachChallenge):
- * UIProcess/Authentication/AuthenticationDecisionListener.h: Added.
- (WebKit::AuthenticationDecisionListener::create):
- (WebKit::AuthenticationDecisionListener::type):
-
- WebPage and PageLoaderClient glue:
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
- (WebKit::WebLoaderClient::didReceiveAuthenticationChallengeInFrame):
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
- (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
-
- Add a manager to map the actual platform authentication challenges to a challenge ID,
- as at least some platforms require the object identity to persist:
- * WebProcess/Authentication: Added.
- * WebProcess/Authentication/AuthenticationManager.cpp: Added.
- (WebKit::generateAuthenticationChallengeID):
- (WebKit::AuthenticationManager::shared):
- (WebKit::AuthenticationManager::AuthenticationManager):
- (WebKit::AuthenticationManager::didReceiveMessage):
- (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
- (WebKit::AuthenticationManager::useCredentialForChallenge):
- (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
- (WebKit::AuthenticationManager::cancelChallenge):
- * WebProcess/Authentication/AuthenticationManager.h: Added.
- * WebProcess/Authentication/AuthenticationManager.messages.in: Added.
-
- Hand off Authentication challenges to the manager to be sent over IPC:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
- (WebKit::WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
-
- * UIProcess/API/qt/qwkpage.cpp:
-
-2010-12-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Flip the destination context when painting a backing store into the destination
- https://bugs.webkit.org/show_bug.cgi?id=50491
-
- * Shared/cg/BackingStoreCG.cpp:
- (WebKit::BackingStore::paint):
-
-2010-12-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- The chunked update drawing area is flipped twice when drawing
- https://bugs.webkit.org/show_bug.cgi?id=50465
- <rdar://problem/8726836>
-
- * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
- (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
- (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
- Flip the destination contexts, thus unflipping them. (Turns out two wrongs make a right here).
-
-2010-12-03 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Need a WebKit2 Equivalent of WebSecurityOrigin
- https://bugs.webkit.org/show_bug.cgi?id=50170
-
- * Shared/API/c/WKBase.h:
- Add the WKSecurityOriginRef typedef.
-
- * Shared/APIObject.h:
- Add the SecurityOrigin type as a Shared type.
-
- * Shared/API/c/WKSharedAPICast.h::
- Add the mapping between WKSecurityOriginRef and WebSecurityOrigin.
-
- * UIProcess/API/C/WKSecurityOrigin.cpp: Added.
- (WKSecurityOriginGetTypeID):
- (WKSecurityOriginCreate):
- (WKSecurityOriginGetProtocol):
- (WKSecurityOriginGetHost):
- (WKSecurityOriginGetPort):
- * UIProcess/API/C/WKSecurityOrigin.h: Added.
-
- * UIProcess/WebSecurityOrigin.h: Added.
- (WebKit::WebSecurityOrigin::create):
- Create based on the database identifier, which contains the protocol, host and port.
- (WebKit::WebSecurityOrigin::protocol):
- (WebKit::WebSecurityOrigin::host):
- (WebKit::WebSecurityOrigin::port):
- (WebKit::WebSecurityOrigin::databaseIdentifier):
- (WebKit::WebSecurityOrigin::WebSecurityOrigin):
- (WebKit::WebSecurityOrigin::type):
-
- * WebKit2.pro:
- Add WKSecurityOrigin.cpp/.h.
-
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add the WebSecurityOrigin.h and WKSecurityOrigin.cpp/.h.
-
- * win/WebKit2Generated.make:
- Make sure WKSecurityOrigin.h file gets copied over to the WebKitBuild directory on Windows.
-
-2010-12-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Csaba Osztrogonác.
-
- [Qt] Fix compilation with !ENABLE(OFFLINE_WEB_APPLICATIONS) and
- !ENABLE(TILED_BACKING_STORE) for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=50071
-
- Add appropriate guards. No functional change if guards are set.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::setActualVisibleContentsRect):
- * UIProcess/TiledDrawingAreaProxy.cpp:
- * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
- * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
- * UIProcess/qt/WebContextQt.cpp:
- (WebKit::WebContext::applicationCacheDirectory):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
-
-2010-12-02 Sam Weinig <sam@webkit.org>
-
- Fix Qt.
-
- * UIProcess/API/qt/qwkpreferences.cpp:
- (QWKPreferencesPrivate::createPreferences):
-
-2010-12-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- WebKit2 Preferences should be held off the PageGroup, not the Context
- https://bugs.webkit.org/show_bug.cgi?id=50414
-
- - In addition, this now makes the preference held off the PageGroup have
- the identifier of the PageGroup and autosave to disk (only on the mac
- for now).
- - Adds ability to create an arbitrary preference that can be autosaved
- via a new WKPreferencesCreateWithIdentifier function.
-
- * UIProcess/API/C/WKContext.cpp:
- * UIProcess/API/C/WKContext.h:
- Remove preference related code.
-
- * UIProcess/API/C/WKPageGroup.cpp:
- (WKPageGroupSetPreferences):
- (WKPageGroupGetPreferences):
- * UIProcess/API/C/WKPageGroup.h:
- Add getter/setter for preferences.
-
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesCreateWithIdentifier):
- * UIProcess/API/C/WKPreferences.h:
- Add WKPreferencesCreateWithIdentifier and remove WKPreferencesCreateCopy which is
- unused.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- (WebKit::WebContext::~WebContext):
- * UIProcess/WebContext.h:
- Remove preference related code.
-
- * UIProcess/WebPageGroup.cpp:
- (WebKit::WebPageGroup::WebPageGroup):
- (WebKit::WebPageGroup::addPage):
- (WebKit::WebPageGroup::removePage):
- (WebKit::WebPageGroup::setPreferences):
- (WebKit::WebPageGroup::preferences):
- (WebKit::WebPageGroup::preferencesDidChange):
- * UIProcess/WebPageGroup.h:
- Add preference and page tracking.
-
- * UIProcess/WebPageNamespace.cpp:
- * UIProcess/WebPageNamespace.h:
- Remove preference change notification code.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::~WebPageProxy):
- Add/remove self from page group set.
-
- (WebKit::WebPageProxy::preferencesDidChange):
- (WebKit::WebPageProxy::creationParameters):
- Get preferences from the pageGroup.
-
- * UIProcess/WebPreferences.cpp:
- (WebKit::WebPreferences::WebPreferences):
- (WebKit::WebPreferences::addPageGroup):
- (WebKit::WebPreferences::removePageGroup):
- (WebKit::WebPreferences::update):
- * UIProcess/WebPreferences.h:
- (WebKit::WebPreferences::create):
- Change to track page groups instead of contexts.
-
- * UIProcess/mac/WebPreferencesMac.mm:
- (WebKit::makeKey): Add ".WebKit2" prefix for keys.
-
-2010-12-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Flash videos on YouTube flicker
- https://bugs.webkit.org/show_bug.cgi?id=50409
- <rdar://problem/8668757>
-
- When painting from a backing store, we need to add the source location
- to the destination point.
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::paint):
- (WebKit::PluginProxy::update):
-
-2010-12-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- WebKit2 needs API to turn on popup blocking
- https://bugs.webkit.org/show_bug.cgi?id=50407
-
- Pipe-through a preference for javascript being able to open
- windows without user gesture.
-
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetJavaScriptCanOpenWindowsAutomatically):
- (WKPreferencesGetJavaScriptCanOpenWindowsAutomatically):
- * UIProcess/API/C/WKPreferences.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
-
-2010-12-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Plug-ins should be able to update the mouse cursor
- https://bugs.webkit.org/show_bug.cgi?id=50399
-
- Call WKEnableSettingCursorWhenInBackground.
-
- * PluginProcess/mac/PluginProcessMainMac.mm:
- (WebKit::PluginProcessMain):
-
-2010-12-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=50368
- Overhaul WebKit2 preferences code
-
- - Reduces the number of places you have to touch to add a new preference
- (From 9 down to 4, but with a bit of elbow grease, we should get that
- down to 2 or 3).
- - Add hooks so that platforms can initialize the preferences based on an
- identifier. This is currently only used on the Mac to initialize a
- preference store from NSUserDefaults and autosave the changes to disk.
- It is not yet enabled due to no way to set the identifier from client
- code.
-
- * Shared/WebPageCreationParameters.cpp:
- Add necessary #include of WebCoreArgumentCoders.h which is now needed
- due to cleanup in WebPreferencesStore.h.
-
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::WebPreferencesStore):
- (WebKit::WebPreferencesStore::encode):
- (WebKit::WebPreferencesStore::decode):
- (WebKit::defaultValueForKey):
- (WebKit::setValueForKey):
- (WebKit::valueForKey):
- (WebKit::WebPreferencesStore::setStringValueForKey):
- (WebKit::WebPreferencesStore::getStringValueForKey):
- (WebKit::WebPreferencesStore::setBoolValueForKey):
- (WebKit::WebPreferencesStore::getBoolValueForKey):
- (WebKit::WebPreferencesStore::setUInt32ValueForKey):
- (WebKit::WebPreferencesStore::getUInt32ValueForKey):
- * Shared/WebPreferencesStore.h:
- Complete overhaul of this class to store the preferences as
- a set of HashMaps and use macros to define the keys and default
- values.
-
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesGetFontSmoothingLevel):
- Add cast to keep conversion function working.
-
- * UIProcess/WebPreferences.cpp:
- (WebKit::WebPreferences::WebPreferences): Add identifier constructor.
- (WebKit::WebPreferences::updateStringValueForKey):
- (WebKit::WebPreferences::updateBoolValueForKey):
- (WebKit::WebPreferences::updateUInt32ValueForKey):
- Add type based updaters. These currently give hooks to the platform and
- call the generic update, but in the future, we can use this to optimize
- updating preferences to not send the entire store for each change.
-
- * UIProcess/WebPreferences.h:
- Generate the getters and setters via macro instantiation.
-
- * UIProcess/cf/WebPreferencesCF.cpp: Added.
- (WebKit::WebPreferences::platformInitializeStore):
- (WebKit::WebPreferences::platformUpdateStringValueForKey):
- (WebKit::WebPreferences::platformUpdateBoolValueForKey):
- (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
- Stubbed out.
-
- * UIProcess/mac/WebPreferencesMac.mm: Added.
- (WebKit::makeKey):
- (WebKit::setStringValueIfInUserDefaults):
- (WebKit::setBoolValueIfInUserDefaults):
- (WebKit::setUInt32ValueIfInUserDefaults):
- (WebKit::WebPreferences::platformInitializeStore):
- (WebKit::WebPreferences::platformUpdateStringValueForKey):
- (WebKit::WebPreferences::platformUpdateBoolValueForKey):
- (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
- Use the platform hooks to initialize and update the store from
- NSUserDefaults.
-
- * UIProcess/qt/WebPreferencesQt.cpp: Added.
- (WebKit::WebPreferences::platformInitializeStore):
- (WebKit::WebPreferences::platformUpdateStringValueForKey):
- (WebKit::WebPreferences::platformUpdateBoolValueForKey):
- (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
- Stubbed out.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::platformPreferencesDidChange):
- Update to pull the value using the new type based getters.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add new files.
-
-2010-12-02 Steve Falkenburg <sfalken@apple.com>
-
- Mac build fix.
-
- * WebProcess/WebKitMain.cpp:
- (enableDataExecutionPrevention):
-
-2010-11-30 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Implement RunLoop, WorkQueue, Connection classes for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=48507
-
- * Platform/CoreIPC/Connection.h: UNIX_X11 specific changes for GTK port.
- (CoreIPC::Connection::messageProcessingCompleted):
- * Platform/CoreIPC/gtk: Added.
- * Platform/CoreIPC/gtk/ConnectionGtk.cpp: Added. Connection class implementation for GTK port (UNIX_X11 specific).
- (CoreIPC::readBytesFromSocket):
- (CoreIPC::writeBytesToSocket):
- (CoreIPC::Connection::platformInitialize):
- (CoreIPC::Connection::platformInvalidate):
- (CoreIPC::Connection::processCompletedMessage):
- (CoreIPC::Connection::readEventHandler):
- (CoreIPC::Connection::open):
- (CoreIPC::Connection::platformCanSendOutgoingMessages):
- (CoreIPC::Connection::sendOutgoingMessage):
- * Platform/PlatformProcessIdentifier.h: UNIX_X11 specific changes for GTK port.
- * Platform/RunLoop.h: GTK port specific changes.
- * Platform/WorkQueue.h: GTK port specific changes.
- * Platform/gtk/RunLoopGtk.cpp: Added. Runs an event loop using GMainLoop and handles the incoming messages.
- (RunLoop::RunLoop):
- (RunLoop::~RunLoop):
- (RunLoop::run):
- (RunLoop::mainLoop):
- (RunLoop::stop):
- (RunLoop::queueWork):
- (RunLoop::wakeUp):
- (RunLoop::TimerBase::TimerBase):
- (RunLoop::TimerBase::~TimerBase):
- (RunLoop::TimerBase::resetTimerSource):
- (RunLoop::TimerBase::oneShotTimerFired):
- (RunLoop::TimerBase::repeatingTimerFired):
- (RunLoop::TimerBase::start):
- (RunLoop::TimerBase::stop):
- (RunLoop::TimerBase::isActive):
- * Platform/gtk/WorkQueueGtk.cpp: Added. Creates a thread and polls on a given fd using GIOChannel.
- Dispatches the obtained messages to RunLoop's GMainLoop.
- (WorkQueue::EventSource::EventSource):
- (WorkQueue::EventSource::dispatchSource):
- (WorkQueue::EventSource::performWorkOnce):
- (WorkQueue::EventSource::performWork):
- (WorkQueue::EventSource::deleteEventSource):
- (WorkQueue::platformInitialize):
- (WorkQueue::platformInvalidate):
- (WorkQueue::startWorkQueueThread):
- (WorkQueue::workQueueThreadBody):
- (WorkQueue::registerEventSourceHandler):
- (WorkQueue::unregisterEventSourceHandler):
- (WorkQueue::scheduleWork):
-
-2010-12-02 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- Move enableExecutionPrevention to WebKitMain
- https://bugs.webkit.org/show_bug.cgi?id=50392
-
- * WebProcess/WebKitMain.cpp:
- (enableDataExecutionPrevention):
- (WebKitMain):
- * WebProcess/win/WebProcessMainWin.cpp:
- (WebKit::WebProcessMain):
-
-2010-12-02 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- Enable DEP at runtime to allow for compatibility with older versions of ATL
- https://bugs.webkit.org/show_bug.cgi?id=50378
-
- * WebProcess/win/WebProcessMainWin.cpp:
- (WebKit::enableDataExecutionPrevention):
- (WebKit::WebProcessMain):
- * win/WebKit2WebProcessCommon.vsprops:
-
-2010-12-01 Sam Weinig <sam@webkit.org>
-
- Fix 64-bit build.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::windowAndViewFramesChanged):
-
-2010-12-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Give the fake Carbon window the right bounds
- https://bugs.webkit.org/show_bug.cgi?id=50361
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::windowAndViewFramesChanged):
- * PluginProcess/PluginControllerProxy.h:
- * PluginProcess/PluginControllerProxy.messages.in:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _updateWindowAndViewFrames]):
- Pass both the window frame and view frame along.
-
- (-[WKView renewGState]):
- Call _updateWindowAndViewFrames.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::windowAndViewFramesChanged):
- Pass both the window frame and view frame along.
-
- * UIProcess/WebPageProxy.h:
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformPostInitialize):
- We don't want a title bar in our fake window.
-
- (WebKit::computeFakeWindowBoundsRect):
- Compute the fake window bounds.
-
- (WebKit::NetscapePlugin::windowAndViewFramesChanged):
- Update the fake window bounds.
-
- * WebProcess/Plugins/Plugin.h:
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::windowAndViewFramesChanged):
- * WebProcess/Plugins/PluginProxy.h:
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::windowAndViewFramesChanged):
- (WebKit::PluginView::initializePlugin):
- * WebProcess/Plugins/PluginView.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::windowAndViewFramesChanged):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::windowFrameInScreenCoordinates):
- (WebKit::WebPage::viewFrameInWindowCoordinates):
- * WebProcess/WebPage/WebPage.messages.in:
- Pass both the window frame and view frame along.
-
-2010-12-01 Jia Pu <jpu@apple.com>
-
- Reviewed by Darin Adler.
-
- Support multiple correction candidates panel for misspelled word on Mac OS X.
- https://bugs.webkit.org/show_bug.cgi?id=50137
- <rdar://problem/8568059>
-
- Adopted new function signatures defined in base class.
-
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::getGuessesForWord):
- * WebProcess/WebCoreSupport/WebEditorClient.h:
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- (WebKit::WebEditorClient::showCorrectionPanel):
-
-2010-12-01 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by John Sullivan.
-
- Hit testing broken on sibling views of the WKView
- <rdar://problem/8718397>
-
- Make sure that hitView is not null when comparing with the
- _layerHostingView.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView hitTest:]):
-
-2010-12-01 Anders Carlsson <andersca@apple.com>
+ DrawingArea should not be reference counted
+ https://bugs.webkit.org/show_bug.cgi?id=55284
- Reviewed by Sam Weinig.
-
- Implement the remaining PluginController/Plugin member functions
- https://bugs.webkit.org/show_bug.cgi?id=50356
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::cancelStreamLoad):
- (WebKit::PluginControllerProxy::cancelManualStreamLoad):
- (WebKit::PluginControllerProxy::setStatusbarText):
- (WebKit::PluginControllerProxy::pluginProcessCrashed):
- (WebKit::PluginControllerProxy::frameDidFinishLoading):
- (WebKit::PluginControllerProxy::frameDidFail):
- (WebKit::PluginControllerProxy::manualStreamDidReceiveResponse):
- (WebKit::PluginControllerProxy::manualStreamDidReceiveData):
- (WebKit::PluginControllerProxy::manualStreamDidFinishLoading):
- (WebKit::PluginControllerProxy::manualStreamDidFail):
- * PluginProcess/PluginControllerProxy.h:
- * PluginProcess/PluginControllerProxy.messages.in:
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::frameDidFinishLoading):
- (WebKit::PluginProxy::frameDidFail):
- (WebKit::PluginProxy::manualStreamDidReceiveResponse):
- (WebKit::PluginProxy::manualStreamDidReceiveData):
- (WebKit::PluginProxy::manualStreamDidFinishLoading):
- (WebKit::PluginProxy::manualStreamDidFail):
- (WebKit::PluginProxy::windowFrameChanged):
- (WebKit::PluginProxy::cancelStreamLoad):
- (WebKit::PluginProxy::cancelManualStreamLoad):
- (WebKit::PluginProxy::setStatusbarText):
- * WebProcess/Plugins/PluginProxy.h:
- * WebProcess/Plugins/PluginProxy.messages.in:
-
-2010-12-01 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- WinCairo build should not use link-time code generation (LTCG)
- https://bugs.webkit.org/show_bug.cgi?id=50353
-
- * win/WebKit2.vcproj:
- * win/WebKit2WebProcess.vcproj:
-
-2010-12-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig..
-
- Fix <rdar://problem/8717674>.
-
- * WebProcess/com.apple.WebProcess.sb:
- Allow the UI process to issue file-write extensions.
-
-2010-12-01 Sam Weinig <sam@webkit.org>
-
- Another windows build fix.
-
- * UIProcess/API/C/win/WKView.cpp:
- (WKViewCreate):
-
-2010-12-01 Sam Weinig <sam@webkit.org>
-
- Attempt to fix Windows build.
-
- * UIProcess/API/C/win/WKViewPrivate.cpp:
- * UIProcess/API/C/win/WKViewPrivate.h:
-
-2010-12-01 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add PageGrouping to WebKit2 API
- https://bugs.webkit.org/show_bug.cgi?id=50332
-
- - Adds WKPageGroupRef and WKBundlePageGroupRef API objects
- (backed by WebPageGroup and WebPageGroupProxy respectively).
- - Moves visibleToInjectedBundle from page to PageGroup.
- - Make userScript/userStyleSheet functions take a page group parameter.
-
- * Shared/API/c/WKBase.h:
- * Shared/APIObject.h:
+ * Shared/DrawingAreaInfo.h:
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
- * Shared/WebPageGroupData.cpp: Added.
- (WebKit::WebPageGroupData::encode):
- (WebKit::WebPageGroupData::decode):
- * Shared/WebPageGroupData.h: Added.
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKPage.cpp:
- (WKPageGetPageGroup):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/C/WKPageGroup.cpp: Added.
- (WKPageGroupGetTypeID):
- (WKPageGroupCreateWithIdentifier):
- (WKPageGroupCopyIdentifier):
- * UIProcess/API/C/WKPageGroup.h: Added.
- * UIProcess/API/C/WebKit2.h:
- * UIProcess/API/C/win/WKView.cpp:
- (WKViewCreate):
- * UIProcess/API/C/win/WKView.h:
- * UIProcess/API/mac/WKView.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:pageNamespaceRef:pageGroupRef:]):
- (-[WKView initWithFrame:pageNamespaceRef:]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::QWKPagePrivate):
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- (WebKit::WebContext::createWebPage):
- * UIProcess/WebContext.h:
- * UIProcess/WebContextUserMessageCoders.h:
- (WebKit::WebContextUserMessageEncoder::encode):
- (WebKit::WebContextUserMessageDecoder::decode):
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::WebInspectorProxy::inspectorPageGroup):
- * UIProcess/WebInspectorProxy.h:
- * UIProcess/WebPageGroup.cpp: Added.
- (WebKit::generatePageGroupID):
- (WebKit::webPageGroupMap):
- (WebKit::WebPageGroup::create):
- (WebKit::WebPageGroup::get):
- (WebKit::WebPageGroup::WebPageGroup):
- (WebKit::WebPageGroup::~WebPageGroup):
- * UIProcess/WebPageGroup.h: Added.
- (WebKit::WebPageGroup::identifier):
- (WebKit::WebPageGroup::pageGroupID):
- (WebKit::WebPageGroup::data):
- (WebKit::WebPageGroup::type):
- * UIProcess/WebPageNamespace.cpp:
- (WebKit::WebPageNamespace::createWebPage):
- * UIProcess/WebPageNamespace.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::create):
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::creationParameters):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::pageGroup):
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::createWebPage):
- * UIProcess/WebProcessProxy.h:
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (WebKit::WebInspectorProxy::platformCreateInspectorPage):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- * UIProcess/win/WebView.h:
- (WebKit::WebView::create):
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleAddUserScript):
- (WKBundleAddUserStyleSheet):
- (WKBundleRemoveUserScript):
- (WKBundleRemoveUserStyleSheet):
- (WKBundleRemoveUserScripts):
- (WKBundleRemoveUserStyleSheets):
- (WKBundleRemoveAllUserContent):
- (WKBundleOverrideXSSAuditorEnabledForTestRunner):
- * WebProcess/InjectedBundle/API/c/WKBundle.h:
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageGetPageGroup):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp: Added.
- (WKBundlePageGroupGetTypeID):
- (WKBundlePageGroupCopyIdentifier):
- * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.h: Added.
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::overrideXSSAuditorEnabledForTestRunner):
- (WebKit::InjectedBundle::addUserScript):
- (WebKit::InjectedBundle::addUserStyleSheet):
- (WebKit::InjectedBundle::removeUserScript):
- (WebKit::InjectedBundle::removeUserStyleSheet):
- (WebKit::InjectedBundle::removeUserScripts):
- (WebKit::InjectedBundle::removeUserStyleSheets):
- (WebKit::InjectedBundle::removeAllUserContent):
- (WebKit::InjectedBundle::didInitializePageGroup):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
- (WebKit::InjectedBundleClient::didInitializePageGroup):
- * WebProcess/InjectedBundle/InjectedBundleClient.h:
- * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
- (WebKit::InjectedBundleUserMessageEncoder::encode):
- (WebKit::InjectedBundleUserMessageDecoder::decode):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::create):
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::close):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::pageGroup):
- * WebProcess/WebPage/WebPageGroupProxy.cpp: Added.
- (WebKit::WebPageGroupProxy::create):
- (WebKit::WebPageGroupProxy::~WebPageGroupProxy):
- * WebProcess/WebPage/WebPageGroupProxy.h: Added.
- (WebKit::WebPageGroupProxy::identifier):
- (WebKit::WebPageGroupProxy::pageGroupID):
- (WebKit::WebPageGroupProxy::isVisibleToInjectedBundle):
- (WebKit::WebPageGroupProxy::WebPageGroupProxy):
- (WebKit::WebPageGroupProxy::type):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::webPageGroup):
- * WebProcess/WebProcess.h:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
-
-2010-12-01 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- vcproj changes can't be applied cleanly by the Windows EWS bot
- https://bugs.webkit.org/show_bug.cgi?id=50328
-
- * win/WebKit2.submit.sln: Added property svn:eol-style.
- * win/WebKit2.vcproj: Added property svn:eol-style.
- * win/WebKit2Apple.vsprops: Added property svn:eol-style.
- * win/WebKit2CFLite.vsprops: Added property svn:eol-style.
- * win/WebKit2Common.vsprops: Added property svn:eol-style.
- * win/WebKit2DirectX.vsprops: Added property svn:eol-style.
- * win/WebKit2Generated.vcproj: Added property svn:eol-style.
- * win/WebKit2GeneratedCommon.vsprops: Added property svn:eol-style.
- * win/WebKit2WebProcess.vcproj: Added property svn:eol-style.
- * win/WebKit2WebProcessCommon.vsprops: Added property svn:eol-style.
-
-2010-12-01 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Size changes on layer-backed drawing areas don't always end up with the correct value
- https://bugs.webkit.org/show_bug.cgi?id=50351
- <rdar://problem/8692966>
-
- When the UI process does not receive didSetSize messages promptly,
- LayerBackedDrawingAreaProxy::setSize() bails early based on the
- m_isWaitingForDidSetFrameNotification flag.
-
- In this situation, the final size may be incorrect. didSetSize()
- needs to compare the size that the web process has to the expected size,
- and send a final setSize if they differ.
-
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
- (WebKit::LayerBackedDrawingAreaProxy::didReceiveMessage):
- * UIProcess/LayerBackedDrawingAreaProxy.h:
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::setSize):
-
-2010-12-01 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Crash when closing WebKit2 window with accelerated composting content
- https://bugs.webkit.org/show_bug.cgi?id=50307
- <rdar://problem/8640126>
-
- When the web page is closing, notify the drawing area, so that
- the layer-backed drawing area can kill the runloop obsever,
- then clear it. Clearing it is not sufficient, since the drawing
- area is ref-counted.
-
- * WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::onPageClose):
- * WebProcess/WebPage/LayerBackedDrawingArea.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::close):
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- (WebKit::LayerBackedDrawingArea::platformClear):
- (WebKit::LayerBackedDrawingArea::onPageClose):
-
-2010-12-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Return a correct user agent if NPN_UserAgent is called with a null NPP from NPP_New.
- https://bugs.webkit.org/show_bug.cgi?id=50336
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_UserAgent):
- Call the static NetscapePlugin::userAgent function instead.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::userAgent):
- If the passed in NPP is null, get the NetscapePlugin currently executing NPP_New.
-
- (WebKit::NetscapePlugin::initialize):
- Keep track of the plug-in currently executing NPP_New.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
-
-2010-12-01 Brian Weinstein <bweinstein@apple.com>
-
- One last Windows build fix.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
-
-2010-12-01 Anders Carlsson <andersca@apple.com>
-
- Fix Windows build.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::pageDidEnterAcceleratedCompositing):
- (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
- (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
-
-2010-12-01 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * UIProcess/win/WebView.h:
-
-2010-12-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Andreas Kling.
-
- Get rid of DrawingAreaBase
- https://bugs.webkit.org/show_bug.cgi?id=50329
-
- * Scripts/webkit2/messages.py:
- * Shared/DrawingAreaInfo.h:
- (WebKit::DrawingAreaInfo::DrawingAreaInfo):
- * Shared/WebPageCreationParameters.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
- (-[WKView _pageDidEnterAcceleratedCompositing]):
- (-[WKView _pageDidLeaveAcceleratedCompositing]):
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::takeSnapshot):
- (QGraphicsWKViewPrivate::commitScale):
* UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
(WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
- (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
(WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
(WebKit::ChunkedUpdateDrawingAreaProxy::update):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
* UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::DrawingAreaProxy):
- (WebKit::DrawingAreaProxy::nextIdentifier):
* UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::info):
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- (WebKit::LayerBackedDrawingAreaProxy::LayerBackedDrawingAreaProxy):
- (WebKit::LayerBackedDrawingAreaProxy::setSize):
- (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
- (WebKit::LayerBackedDrawingAreaProxy::update):
+ (WebKit::DrawingAreaProxy::type):
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
+ * UIProcess/DrawingAreaProxyImpl.h:
* UIProcess/TiledDrawingAreaProxy.cpp:
(WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
+ * UIProcess/TiledDrawingAreaProxy.h:
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didChangeAcceleratedCompositing):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
- (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
- * WebProcess/WebPage/DrawingArea.cpp:
- (WebKit::DrawingArea::create):
- (WebKit::DrawingArea::DrawingArea):
- * WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::info):
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
- (WebKit::LayerBackedDrawingArea::didReceiveMessage):
- * WebProcess/WebPage/LayerBackedDrawingArea.h:
- * WebProcess/WebPage/TiledDrawingArea.cpp:
- (WebKit::TiledDrawingArea::TiledDrawingArea):
- * WebProcess/WebPage/TiledDrawingArea.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::changeAcceleratedCompositingMode):
-
-2010-11-30 Ryosuke Niwa <rniwa@webkit.org>
-
- Unreviewed speculative build fix for Windows.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::pageDidEnterAcceleratedCompositing):
- (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
- (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
- * UIProcess/win/WebView.h:
-
-2010-11-30 Anders Carlsson <andersca@apple.com>
-
- Fix Qt build.
-
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::takeSnapshot):
- (QGraphicsWKViewPrivate::commitScale):
-
-2010-11-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Change DrawingArea and DrawingAreaProxy to not inherit from DrawingAreaBase
- https://bugs.webkit.org/show_bug.cgi?id=50300
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaBase::]):
- (-[WKView _pageDidEnterAcceleratedCompositing]):
- (-[WKView _pageDidLeaveAcceleratedCompositing]):
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
- * UIProcess/DrawingAreaProxy.cpp:
- (WebKit::DrawingAreaProxy::DrawingAreaProxy):
- (WebKit::DrawingAreaProxy::nextDrawingAreaID):
- * UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::info):
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- (WebKit::LayerBackedDrawingAreaProxy::LayerBackedDrawingAreaProxy):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ (WebKit::WebPageProxy::creationParameters):
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
* WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
(WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::display):
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
(WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
* WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
* WebProcess/WebPage/DrawingArea.cpp:
(WebKit::DrawingArea::create):
(WebKit::DrawingArea::DrawingArea):
* WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::info):
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
- (WebKit::LayerBackedDrawingArea::didReceiveMessage):
- * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::create):
+ (WebKit::DrawingAreaImpl::DrawingAreaImpl):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
* WebProcess/WebPage/TiledDrawingArea.cpp:
(WebKit::TiledDrawingArea::TiledDrawingArea):
* WebProcess/WebPage/TiledDrawingArea.h:
* WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::changeAcceleratedCompositingMode):
-
-2010-11-30 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Sam Weinig.
-
- Context menus broken after WebKit2 goes into accelerated composting mode.
- https://bugs.webkit.org/show_bug.cgi?id=50296
-
- Override hitTest: on the WKView to exclude the child layer-backed view from
- hit testing, so that context menus work.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView hitTest:]):
-
-2010-11-30 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Build fix.
-
- * Configurations/BaseTarget.xcconfig: Don't run Copy Files and Run Script build phases
- during installhdrs. It's not necessary, and it results in Xcode attempting to copy the
- plug-in shim dylib when it has not yet been built.
- * WebKit2.xcodeproj/project.pbxproj: Stop copying the .xcconfig file in to the application
- wrapper.
-
-2010-11-30 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * Scripts/webkit2/messages.py:
-
-2010-11-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Rename DrawingAreaBase.h to DrawingAreaInfo.h.
-
- * Shared/DrawingAreaInfo.h: Renamed from WebKit2/Shared/DrawingAreaBase.h.
- (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
- (WebKit::DrawingAreaBase::~DrawingAreaBase):
- (WebKit::DrawingAreaBase::info):
- (WebKit::DrawingAreaBase::DrawingAreaBase):
- * Shared/WebPageCreationParameters.h:
- * UIProcess/DrawingAreaProxy.h:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/DrawingArea.h:
- * win/WebKit2.vcproj:
-
-2010-11-30 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * PluginProcess/mac/PluginProcessShim.cpp:
-
-2010-11-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add a simple shim function for Debugger().
- https://bugs.webkit.org/show_bug.cgi?id=50268
-
- * PluginProcess/PluginProcess.h:
- * PluginProcess/mac/PluginProcessMac.mm:
- (WebKit::initShouldCallRealDebugger):
- We only want to call the real Debugger() function when USERBREAK is set.
-
- (WebKit::shouldCallRealDebugger):
- Return whether USERBREAK is set.
-
- (WebKit::PluginProcess::initializeShim):
- Initialize the shim.
-
- * PluginProcess/mac/PluginProcessMainMac.mm:
- (WebKit::PluginProcessMain):
- Call PluginProcess::initializeShim.
-
- * PluginProcess/mac/PluginProcessShim.cpp:
- (WebKit::WebKitPluginProcessShimInitialize):
- This now takes a struct of callbacks.
-
- (WebKit::shimDebugger):
- Call the shouldCallDebugger function. If it returns true, the real Debugger() function should be called.
-
- * PluginProcess/mac/PluginProcessShim.h:
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-11-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Pass the plug-in process shim in DYLD_INSERT_LIBRARIES when launching the plug-in process
- https://bugs.webkit.org/show_bug.cgi?id=50262
-
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- Add an EnvironmentVariables class that allows for easy modification of the environment variables
- passed to posix_spawn.
-
- (WebKit::ProcessLauncher::launchProcess):
- When spawning the plug-in process, insert the plug-in process shim.
-
-2010-11-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add plug-in process shim
- https://bugs.webkit.org/show_bug.cgi?id=50261
-
- * Configurations/PluginProcessShim.xcconfig: Added.
- * PluginProcess/mac/PluginProcessShim.cpp: Added.
- (PluginProcessShimInitialize):
- * PluginProcess/mac/PluginProcessShim.h: Added.
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-11-30 Brian Weinstein <bweinstein@apple.com>
-
- Fix the Windows build by copying WKFindOptions.h into WebKitOutputDir with the other headers.
-
- * win/WebKit2Generated.make:
-
-2010-11-30 Dan Bernstein <mitz@apple.com>
-
- Try to fix the Windows build.
-
- * win/WebKit2.vcproj:
-
-2010-11-30 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Injected bundle support for <rdar://problem/8710645> WebKitTestRunner needs layoutTestController.findString
- https://bugs.webkit.org/show_bug.cgi?id=50238
-
- * Shared/API/c/WKFindOptions.h: Added. Moved the definition of WKFindOptions here from WKPage.h.
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toFindOptions): Moved from WKAPICast.h.
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKPage.h:
- * WebKit2.xcodeproj/project.pbxproj: Added WKFindOptions.h.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageFindString): Added.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::findStringFromInjectedBundle): Added.
- * WebProcess/WebPage/WebPage.h:
-
-2010-11-30 Andreas Kling <kling@webkit.org>
-
- Reviewed by Dirk Schulze.
-
- GraphicsContext: Remove "current path" and have strokePath, fillPath and clipPath take a Path argument
- https://bugs.webkit.org/show_bug.cgi?id=48516
-
- * UIProcess/FindIndicator.cpp:
- (WebKit::FindIndicator::draw):
-
-2010-11-30 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- All projects on Windows should use cmd files for build events
- https://bugs.webkit.org/show_bug.cgi?id=50213
-
- * win/WebKit2Common.vsprops:
- * win/WebKit2WebProcessCommon.vsprops:
- * win/WebKit2WebProcessPostBuild.cmd: Added.
- * win/WebKit2WebProcessPreBuild.cmd: Added.
- * win/WebKitPostBuild.cmd: Added.
- * win/WebKitPreBuild.cmd: Added.
- * win/WebKitPreLink.cmd: Added.
-
-2010-11-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Early return if setResizesToContentsUsingLayoutSize() is called with already-set size
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
-
-2010-11-29 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit2 part of <rdar://problem/8650085> adding word-prefix search options to the text search API.
- https://bugs.webkit.org/show_bug.cgi?id=50038
- Based on a patch from Darin Adler.
-
- * Shared/WebFindOptions.h: Renamed FindOptions.h to this to account for WebCore’s new private
- FindOptions.h. Added and reordered FindOptions and rolled FindDirection into FindOptions.
- * UIProcess/API/C/WKAPICast.h: Removed toFindDirection().
- (WebKit::toFindOptions): Updated for new values.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageFindString): Removed separate WKFindDirection.
- (WKPageCountStringMatches): Replaces caseInsensitive boolean with WKFindOptions.
- * UIProcess/API/C/WKPage.h: Removed WKFindDirection and updated WKFindOptions.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::findString): Removed separate FindDirection.
- (WebKit::WebPageProxy::countStringMatches): Replaced caseInsensitive boolean with FindOptions.
- * UIProcess/WebPageProxy.h:
- * WebKit2.xcodeproj/project.pbxproj: Updated for the header rename.
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::core): Added. Converts WebKit2 FindOptions to WebCore FindOptions.
- (WebKit::FindController::countStringMatches): Changed to use FindOptions.
- (WebKit::FindController::findString): Ditto.
- * WebProcess/WebPage/FindController.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::findString): Ditto.
- (WebKit::WebPage::countStringMatches): Ditto.
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in: Ditto.
-
-2010-11-29 Brent Fulgham <bfulgham@webkit.org>
-
- Unreviewed build fix.
-
- * win/WebKit2.vcproj: Add missing vsprops association for
- Debug_Cairo_CFLite target.
-
-2010-11-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Cursor does not always change back to arrow when exiting image document
- https://bugs.webkit.org/show_bug.cgi?id=50190
- <rdar://problem/8665265>
-
- * Shared/mac/WebEventFactory.mm:
- (WebKit::mouseEventTypeForEvent):
- (WebKit::globalPointForEvent):
- (WebKit::pointForEvent):
- Handle the NSMouseEntered and NSMouseExited events.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:]):
- We want entered and exited events for this tracking area.
- Add mouseEntered and mouseExited handlers.
-
-2010-11-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Should be able to pause and resume downloads
- https://bugs.webkit.org/show_bug.cgi?id=50185
- <rdar://problem/8691135>
-
- * UIProcess/API/C/WKContext.h:
- Add didCancel callback.
-
- * UIProcess/API/C/WKDownload.cpp:
- (WKDownloadGetResumeData):
- (WKDownloadCancel):
- Call the respective DownloadProxy member functions.
-
- * UIProcess/API/C/WKDownload.h:
- * UIProcess/Downloads/DownloadProxy.cpp:
- (WebKit::DownloadProxy::cancel):
- Send Cancel to the WebProcess.
-
- (WebKit::DownloadProxy::didFail):
- This now takes a resumeData reference.
-
- (WebKit::DownloadProxy::didCancel):
- Set the resume data and call didCancel.
-
- * UIProcess/Downloads/DownloadProxy.h:
- (WebKit::DownloadProxy::resumeData):
- Return the resume data.
-
- * UIProcess/Downloads/DownloadProxy.messages.in:
- Add DidCancel message, Add resume data to DidFail.
-
- * UIProcess/WebDownloadClient.cpp:
- (WebKit::WebDownloadClient::didCancel):
- Call the didCancel context client function.
-
- * WebProcess/Downloads/Download.cpp:
- (WebKit::Download::didFail):
- This now takes a resume data argument as well.
-
- (WebKit::Download::didCancel):
- Send DidCancel.
-
- * WebProcess/Downloads/DownloadManager.cpp:
- (WebKit::DownloadManager::cancelDownload):
- Look up the download and cancel it.
-
- * WebProcess/Downloads/cf/DownloadCFNet.cpp:
- (WebKit::Download::cancel):
- Add stub.
-
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (WebKit::Download::cancel):
- Cancel the download.
-
- (-[WKDownloadAsDelegate download:didFailWithError:]):
- Pass the resume data along.
-
- * WebProcess/Downloads/qt/DownloadQt.cpp:
- (WebKit::Download::cancel):
- Add stub.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::cancelDownload):
- Ask the download manager to cancel the download.
-
- * WebProcess/WebProcess.h:
- * WebProcess/WebProcess.messages.in:
- Add CancelDownload message.
-
-2010-11-29 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Adam Roben.
-
- [WK2] Support repeating timers
- https://bugs.webkit.org/show_bug.cgi?id=50024
-
- Added boolean member for TimerBase on PLATFORM(WIN)
- and PLATFORM(QT) to be able to differentiate between
- repeating and one shot operating mode. Change the confusing
- signature of TimerBase::start: use a bool for selecting
- operating mode.
- * Platform/RunLoop.h:
- (RunLoop::TimerBase::startRepeating):
- (RunLoop::TimerBase::startOneShot):
- * Platform/mac/RunLoopMac.mm:
- (RunLoop::TimerBase::start):
- * Platform/qt/RunLoopQt.cpp:
- (RunLoop::TimerBase::timerFired): Only stop the timer if it
- is not in repeating mode.
- (RunLoop::TimerBase::TimerBase):
- (RunLoop::TimerBase::start):
- * Platform/win/RunLoopWin.cpp:
- (RunLoop::TimerBase::timerFired): Only stop the timer if it
- is not in repeating mode.
- (RunLoop::TimerBase::TimerBase):
- (RunLoop::TimerBase::start):
-
-2010-11-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Downloads: When the web process crashes, call error callbacks for pending downloads
- https://bugs.webkit.org/show_bug.cgi?id=50164
- <rdar://problem/8691170>
-
- * UIProcess/API/C/WKContext.h:
- Add processDidCrash callback.
-
- * UIProcess/Downloads/DownloadProxy.cpp:
- (WebKit::DownloadProxy::~DownloadProxy):
- Assert that the web context is null.
-
- (WebKit::DownloadProxy::processDidClose):
- Call the processDidCrash callback.
-
- (WebKit::DownloadProxy::didFinish):
- (WebKit::DownloadProxy::didFail):
- Call downloadFinished.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::processDidClose):
- Call processDidClose on all pending downloads.
-
- (WebKit::WebContext::downloadFinished):
- Remove the download proxy from the map.
-
- * UIProcess/WebDownloadClient.cpp:
- (WebKit::WebDownloadClient::processDidCrash):
- Call the processDidCrash callback function.
-
-2010-11-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Allow pre-generation for package builds for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=50139
-
- Use a build variable for the generated directory path and set the
- value based on CONFIG just like for WebKit1.
-
- For non-package builds use a relative base path for the
- genrated directory just like for WebKit1.
-
- * DerivedSources.pro:
- * WebKit2.pro:
-
-2010-11-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Move some build logic from Qt to platform independent code
- https://bugs.webkit.org/show_bug.cgi?id=50134
-
- Remove the creation of the directories under $$OUTPUT_DIR/include
- as these will be handled by the fwheader_generator target.
-
- Remove the explicit generation of $$OUTPUT_DIR/WebKit2/generated as
- this is not required.
-
- * DerivedSources.pro:
-
-2010-11-24 Brady Eidson <beidson@apple.com>
-
- Reviewed implicitly by John Sullivan.
-
- https://bugs.webkit.org/show_bug.cgi?id=50042
-
- * UIProcess/mac/WebContextMenuProxyMac.mm:
- (-[WebUserDataWrapper initWithUserData:WebKit::]): Do the proper self = [super init] dance here.
-
-2010-11-24 Brady Eidson <beidson@apple.com>
-
- Reviewed by Dan Bernstein.
-
- More of <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=50042
- WK2 Context Menu Items need a user data object and a client callback for selection.
-
- * Shared/API/c/WKContextMenuItem.cpp:
- (WKContextMenuItemGetUserData):
- (WKContextMenuItemSetUserData):
- * Shared/API/c/WKContextMenuItem.h:
-
- * Shared/WebContextMenuItem.cpp:
- (WebKit::WebContextMenuItem::userData):
- (WebKit::WebContextMenuItem::setUserData):
- * Shared/WebContextMenuItem.h:
-
- * Shared/WebContextMenuItemData.cpp:
- (WebKit::WebContextMenuItemData::userData):
- (WebKit::WebContextMenuItemData::setUserData):
- * Shared/WebContextMenuItemData.h:
-
- * UIProcess/API/C/WKPage.h:
-
- * UIProcess/WebPageContextMenuClient.cpp:
- (WebKit::WebPageContextMenuClient::customContextMenuItemSelected): Added for WK2 apps to get a callback.
- * UIProcess/WebPageContextMenuClient.h:
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::contextMenuItemSelected):
- * UIProcess/mac/WebContextMenuProxyMac.mm:
- (-[WebUserDataWrapper initWithUserData:WebKit::]): Add an "APIObject" user data wrapper class to associate with the NSMenuItem.
- (-[WebUserDataWrapper WebKit::]):
- (-[WebMenuTarget forwardContextMenuAction:]): Include the user data object in the created ContextMenuItemData.
- (WebKit::nsMenuItemVector):
-
-2010-11-24 Andras Becsi <abecsi@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Make WebKit2 compile with !ENABLE(INSPECTOR).
- https://bugs.webkit.org/show_bug.cgi?id=49973
-
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toAPI):
- (WebKit::toImpl):
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKInspector.cpp:
- * UIProcess/API/C/WKInspector.h:
- * UIProcess/API/C/WKPage.cpp:
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebInspectorProxy.cpp:
- * UIProcess/WebInspectorProxy.h:
- * UIProcess/WebInspectorProxy.messages.in:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::didReceiveSyncMessage):
- (WebKit::WebPageProxy::processDidCrash):
- * UIProcess/WebPageProxy.h:
- * UIProcess/mac/WebInspectorProxyMac.mm:
- * UIProcess/qt/WebInspectorProxyQt.cpp:
- * UIProcess/win/WebInspectorProxyWin.cpp:
- * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
- * WebProcess/WebCoreSupport/WebInspectorClient.h:
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
- * WebProcess/WebPage/WebInspector.cpp:
- * WebProcess/WebPage/WebInspector.h:
- * WebProcess/WebPage/WebInspector.messages.in:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::close):
- (WebKit::WebPage::windowIsFocused):
- (WebKit::WebPage::didReceiveMessage):
+ (WebKit::WebPage::drawRect):
* WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/qt/WebInspectorQt.cpp:
- * WebProcess/WebPage/win/WebInspectorWin.cpp:
-
-2010-11-24 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt][WK2] Make deep copies of tile images
-
- We need the tile images we get from UpdateChunk::createImage() to persist,
- so we should take a copy() of them.
-
- * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
- (WebKit::TiledDrawingAreaTile::updateFromChunk):
-
-2010-11-24 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix uninitialized variable in QGraphicsWKViewPrivate
-
- Always initialize QGWKVP::m_isChangingScale in the constructor.
-
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
-
-2010-11-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling.
-
- Adapt to setShouldDelegateScrolling not being a real setting anymore.
- We now similarily to setUseFixedLayout and setPaintEntireContents
- set it on the FrameView wen transitioning to a new page, etc.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
-
-2010-11-22 Adam Roben <aroben@apple.com>
-
- Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files
-
- Apple's Windows build allows placing header files and import libraries for WebKit's
- dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the
- $WebKitLibrariesDir environment variable. This is both required for production builds and
- convenient for Apple-internal developer builds. Apple's production builds also require that
- WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production
- builds, the files are copied into that directory tree by the
- WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the
- copying is done by
- JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make.
-
- This .vsprops copying is problematic in one very important case: when a developer updates
- their source tree and then tries to build. Visual Studio only reads .vsprops files when a
- project is first loaded. So, when Visual Studio is first opened after the .vsprops files are
- updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a
- build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into
- $WebKitLibrariesDir, but Visual Studio will not pick up the changes. The rest of the build
- will proceed with out-of-date .vsprops files, which will likely result in a build failure.
-
- To fix this, we now use normal relative paths to access the .vsprops files in the source
- tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment
- variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is
- unset, so the normal relative paths are used to read the .vsprops files out of the source
- tree directly. In production builds, this environment variable is set to a fake directory
- that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path
- is resolved.
-
- For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops:
- $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
+2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
- In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the
- files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds,
- JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to
- "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for
- FeatureDefines.vsprops becomes:
-
- $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
-
- which resolves to:
-
- $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
-
- (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3"
- actually exist since they are matched by an equal number of ".." path components.)
-
- Note that Visual Studio still won't pick up changes made to .vsprops files while Visual
- Studio is open, but that problem hasn't seemed to cause developers many headaches so far.
-
- Fixes <http://webkit.org/b/49181> Windows build fails mysteriously when .vsprops files are
- updated
-
- Reviewed by Dave Hyatt.
-
- * win/WebKit2.make: Set $WebKitVSPropsRedirectionDir so that production builds can
- find the .vsprops files.
-
- * win/WebKit2.vcproj:
- * win/WebKit2WebProcess.vcproj:
- Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
- files.
-
-2010-11-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling.
-
- Make WebKit2 compile with ENABLE_JAVASCRIPT_DEBUGGER=0
-
- * WebProcess/WebPage/WebInspector.cpp: Add missing ENABLE(JAVASCRIPT_DEBUGGER) guards.
- (WebKit::WebInspector::startJavaScriptDebugging):
- (WebKit::WebInspector::stopJavaScriptDebugging):
- (WebKit::WebInspector::startJavaScriptProfiling):
- (WebKit::WebInspector::stopJavaScriptProfiling):
-
-2010-11-21 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Textareas should be resizable by default
- https://bugs.webkit.org/show_bug.cgi?id=49892
-
- Test: WebKit2/WKPreferences
-
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::WebPreferencesStore):
- (WebKit::WebPreferencesStore::encode):
- (WebKit::WebPreferencesStore::decode):
- * Shared/WebPreferencesStore.h:
- Add textAreasAreResizable bit.
-
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetJavaEnabled):
- (WKPreferencesGetJavaEnabled):
- Fix typo, WKPRe... -> WKPre...
+ Reviewed by Pavel Feldman.
- (WKPreferencesSetMinimumFontSize):
- (WKPreferencesGetMinimumFontSize):
- Fix comment to correctly reflect that the default minimumFontSize is 0, not 1.
+ DumpRenderTree should reset frame opener between tests.
+ https://bugs.webkit.org/show_bug.cgi?id=54874
- (WKPreferencesSetTextAreasAreResizable):
- (WKPreferencesGetTextAreasAreResizable):
- * UIProcess/API/C/WKPreferences.h:
- Add API.
+ Added clearOpener method to WKBundleWebFramePrivate.
- * UIProcess/API/C/WKPreferencesPrivate.h:
- Don't use PLATFORM in API headers.
-
- * UIProcess/WebPreferences.cpp:
- (WebKit::WebPreferences::setTextAreasAreResizable):
- (WebKit::WebPreferences::textAreasAreResizable):
- * UIProcess/WebPreferences.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
- Pipe bit through to the WebProcess and onto WebCore::Settings.
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameClearOpener):
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
-2010-11-19 Zalan Bujtas <zbujtas@gmail.com>
+2011-02-26 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Andreas Kling.
- WebUIClient::createNewPage() expects a retained WKPageRef.
- https://bugs.webkit.org/show_bug.cgi?id=48549
-
- * UIProcess/API/qt/ClientImpl.cpp:
- (qt_wk_createNewPage):
-
-2010-11-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a didFail WKContextDownloadClient callback
- https://bugs.webkit.org/show_bug.cgi?id=49847
-
- * UIProcess/API/C/WKContext.h:
- Add didFail callback.
-
- * UIProcess/Downloads/DownloadProxy.cpp:
- (WebKit::DownloadProxy::didFail):
- Call WebDownloadClient::didFail.
-
- * UIProcess/WebDownloadClient.cpp:
- (WebKit::WebDownloadClient::didFail):
- Call the didFail client function.
-
-
-2010-11-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Extend sandbox when downloading files
- https://bugs.webkit.org/show_bug.cgi?id=49844
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::callMemberFunction):
- Add new overload.
-
- * UIProcess/Downloads/DownloadProxy.cpp:
- (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
- Create a sandbox extension handle if necessary.
-
- * UIProcess/Downloads/DownloadProxy.messages.in:
- Add a sandbox extension handle out parameter to the DecideDestinationWithSuggestedFilename message.
-
- * WebProcess/Downloads/Download.cpp:
- (WebKit::Download::decideDestinationWithSuggestedFilename):
- Create and consume the returned sandbox extension handle.
+ [Qt] Fix the focus in MiniBrowser.
+ https://bugs.webkit.org/show_bug.cgi?id=55288
- (WebKit::Download::didFinish):
- (WebKit::Download::didFail):
- Invalidate the sandbox extension handles.
+ Implement basic functionality for focus in QWKPagePrivate.
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (-[WKDownloadAsDelegate download:shouldDecodeSourceDataOfMIMEType:]):
- Whoops, fix inverted logic.
-
-2010-11-19 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- Add Debug_Cairo_CFLite and Release_Cairo_CFLite configurations for all vcproj files
- https://bugs.webkit.org/show_bug.cgi?id=49819
-
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.vcproj:
- * win/WebKit2WebProcess.vcproj:
- * win/WebKit2WebProcessCommon.vsprops:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::isViewWindowActive):
+ (QWKPagePrivate::isViewFocused):
+ (QWKPagePrivate::isViewVisible):
-2010-11-19 Brady Eidson <beidson@apple.com>
+2011-02-26 Sheriff Bot <webkit.review.bot@gmail.com>
- Reviewed by Darin Adler.
+ Unreviewed, rolling out r79764.
+ http://trac.webkit.org/changeset/79764
+ https://bugs.webkit.org/show_bug.cgi?id=55295
- More of <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836
- Add WebKit2 API relevant to customization of context menus
+ "broke Chromium builds" (Requested by rniwa on #webkit).
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameAllowsFollowingLink):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
-
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::allowsFollowingLink):
- * WebProcess/WebPage/WebFrame.h:
-
-2010-11-19 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836
- Add WebKit2 API relevant to customization of context menus
-
- Most of this is just exposing already-existing concepts in API.
-
- * Shared/API/c/WKURLRequest.cpp:
- (WKURLRequestCreateWithWKURL):
- * Shared/API/c/WKURLRequest.h:
-
- * Shared/WebURLRequest.cpp:
- (WebKit::WebURLRequest::create):
- * Shared/WebURLRequest.h:
-
- * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
- (WKBundleHitTestResultCopyAbsoluteImageURL):
- (WKBundleHitTestResultCopyAbsoluteMediaURL):
- (WKBundleHitTestResultGetImageRect):
- (WKBundleHitTestResultGetIsSelected):
- * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageHasLocalDataForURL):
- (WKBundlePageCanHandleRequest):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
-
- * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
- (WebKit::InjectedBundleHitTestResult::absoluteImageURL):
- (WebKit::InjectedBundleHitTestResult::absoluteMediaURL):
- (WebKit::InjectedBundleHitTestResult::imageRect):
- (WebKit::InjectedBundleHitTestResult::isSelected):
- * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
-
- * WebProcess/WebPage/WebContextMenu.cpp:
- (WebKit::WebContextMenu::show):
-
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::hasLocalDataForURL):
- (WebKit::WebPage::canHandleRequest):
- * WebProcess/WebPage/qt/WebPageQt.cpp:
- (WebKit::WebPage::hasLocalDataForURL): Stubbed for now.
- (WebKit::WebPage::canHandleRequest): Ditto.
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::hasLocalDataForURL): Ditto.
- (WebKit::WebPage::canHandleRequest): Ditto.
-
-2010-11-19 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Need a way to clear disk cache from WebContext
- https://bugs.webkit.org/show_bug.cgi?id=49820
-
- * UIProcess/API/C/WKContext.cpp:
- (WKContextClearResourceCaches): Added.
- (WKContextClearApplicationCache): Added.
- * UIProcess/API/C/WKContext.h:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::clearResourceCaches): Added.
- (WebKit::WebContext::clearApplicationCache): Added.
- * UIProcess/WebContext.h:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::clearResourceCaches): Added.
- (WebKit::WebProcess::clearApplicationCache): Added.
- * WebProcess/WebProcess.h:
- * WebProcess/WebProcess.messages.in: Added messages.
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::platformClearResourceCaches): Added.
- * WebProcess/qt/WebProcessQt.cpp:
- (WebKit::WebProcess::platformClearResourceCaches): Added.
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::WebProcess::platformClearResourceCaches): Added.
-
-2010-11-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement support for loading local files
- https://bugs.webkit.org/show_bug.cgi?id=49828
- <rdar://problem/8447121>
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::initializeSandboxExtensionHandle):
- Given an URL, create a sandbox extension if it's a local file URL.
-
- (WebKit::WebPageProxy::loadURL):
- (WebKit::WebPageProxy::loadURLRequest):
- Pass along sandbox extension handles to the LoadURL and LoadURLRequest messages.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- Call SandboxExtensionTracker::didStartProvisionalLoad.
-
- (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
- Call SandboxExtensionTracker::didCommitProvisionalLoad.
-
- (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
- Call SandboxExtensionTracker::didFailProvisionalLoad.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::~WebPage):
- Invalidate the sandbox extension tracker.
-
- (WebKit::WebPage::close):
- Invalidate the sandbox extension tracker.
-
- (WebKit::WebPage::loadURL):
- (WebKit::WebPage::loadURLRequest):
- Pass the sandbox extension handle to the sandbox extension tracker.
-
- (WebKit::WebPage::SandboxExtensionTracker::~SandboxExtensionTracker):
- Invalidate the sandbox extension tracker.
-
- (WebKit::WebPage::SandboxExtensionTracker::invalidate):
- invalidate ell the sandbox extensions.
-
- (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
- Create a sandbox extension and store it as the "pending provisional extension".
-
- (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
- Consume the pending provisional extension and make it the provisional extension.
-
- (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
- Invalidate the committed extension and make the provisional extension the committed extension.
-
- (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
- Invalidate the provisional extension.
-
- * WebProcess/WebPage/WebPage.messages.in:
- Add SandboxExtension::Handle parameters to LoadURL and LoadURLRequest.
-
-2010-11-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
- Make it possible to encode null SandboxExtension handles
- https://bugs.webkit.org/show_bug.cgi?id=49825
+2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
- * Shared/mac/SandboxExtensionMac.mm:
- (WebKit::SandboxExtension::Handle::encode):
- If there's no underlying sandbox extension, just encode an empty byte array.
+ Reviewed by Pavel Feldman.
- (WebKit::SandboxExtension::Handle::decode):
- If the decoded byte array is empty, don't try to create a sandbox extension.
+ DumpRenderTree should reset frame opener between tests.
+ https://bugs.webkit.org/show_bug.cgi?id=54874
- (WebKit::SandboxExtension::create):
- If the handle is null, return null.
+ Added clearOpener method to WKBundleWebFramePrivate.
- (WebKit::SandboxExtension::consume):
- Consuming shuld not null out the underlying sandbox extension object.
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameClearOpener):
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
-2010-11-19 Steve Falkenburg <sfalken@apple.com>
+2011-02-25 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
- Normalize Cairo/CFLite project/solution configuration names
- https://bugs.webkit.org/show_bug.cgi?id=49818
-
- * win/WebKit2.vcproj:
- * win/WebKit2WebProcess.vcproj:
-
-2010-11-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add SandboxExtension abstraction and use it for the injected bundle extension
- https://bugs.webkit.org/show_bug.cgi?id=49817
-
- * Shared/SandboxExtension.h:
- Add SandboxExtension abstraction.
-
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
- Instead of encoding/decoding a token, encode/decode the sandbox extension handle.
-
- * Shared/mac/SandboxExtensionMac.mm: Added.
- Add Mac implementation of SandboxExtension.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::ensureWebProcess):
- Create a SandboxExtension::Handle object.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebProcess/InjectedBundle/InjectedBundle.h:
- (WebKit::InjectedBundle::setSandboxExtension):
- Set the sandbox extension.
-
- * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
- (WebKit::InjectedBundle::load):
- Consume the sandbox extension.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
- Create a sandbox extension and set it on the injected bundle.
-
-2010-11-18 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- Windows vcproj configuration names should be normalized across projects
- https://bugs.webkit.org/show_bug.cgi?id=49776
-
- * win/WebKit2.submit.sln:
- * win/WebKit2Generated.vcproj:
- * win/WebKit2GeneratedCommon.vsprops: Added.
-
-2010-11-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Crash in WebKit::PluginView::manualLoadDidReceiveResponse when navigating to a .wav file in WebKit2 on Mac
- https://bugs.webkit.org/show_bug.cgi?id=48559
- <rdar://problem/8606622>
-
- Add null checks for m_plugin.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::manualLoadDidReceiveResponse):
- (WebKit::PluginView::manualLoadDidReceiveData):
- (WebKit::PluginView::manualLoadDidFinishLoading):
- (WebKit::PluginView::manualLoadDidFail):
-
-2010-11-18 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Adam Roben.
-
- <rdar://problem/8602509&8602717&8602724> Enable compaction support.
+ Plug-in process crashes when using GuardMalloc
+ https://bugs.webkit.org/show_bug.cgi?id=55279
+ <rdar://problem/9044618>
- * Configurations/WebKit2.xcconfig:
-
-2010-11-18 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
-
- WebKit2: Safari shouldn't auto-activate plug-ins in background tabs.
- https://bugs.webkit.org/show_bug.cgi?id=49770
- <rdar://problem/8482424>
-
- Add an API on Windows to call setIsInWindow, which calls through to WebPage::setIsInWindow.
- Remove the !PLATFORM(WIN) check in WebPage, so we don't automatically start plugins that are
- loaded in background tabs.
-
- * UIProcess/API/C/win/WKView.cpp:
- (WKViewSetIsInWindow): Call through to WebView::setIsInWindow.
- * UIProcess/API/C/win/WKView.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::setIsInWindow): Call through to WebPage::setIsInWindow.
- * UIProcess/win/WebView.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage): Remove the !PLATFORM(WIN) check and update the comment.
-
-2010-11-18 Darin Adler <darin@apple.com>
-
- * WebProcess/WebPage/WebPage.cpp: Fix build by rolling out a change.
-
-2010-11-18 Darin Adler <darin@apple.com>
-
- Reviewed by Kevin Decker.
-
- REGRESSION (WebKit2): Plug-ins and <video> start playing immediately in background tabs
- https://bugs.webkit.org/show_bug.cgi?id=49766
-
- Test: manual-tests/resources/video-tab.html
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage): Call setCanStartMedia(false) since the rest of the code
- starts out treating the page as "not in a window".
-
-2010-11-18 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- Remove leftover Windows Debug_Internal configurations
- https://bugs.webkit.org/show_bug.cgi?id=49758
-
- * win/WebKit2.vcproj:
- * win/WebKit2WebProcess.vcproj:
-
-2010-11-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Page overlays should be able to handle mouse events
- https://bugs.webkit.org/show_bug.cgi?id=49756
-
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toAPI):
- Add API cast function for converting an IntPoint to a WKPoint.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
- (PageOverlayClientImpl::mouseEvent):
- Call the appropriate callbacks.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
- Add new callbacks.
-
-2010-11-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Keep the web process alive if there are active downloads
- https://bugs.webkit.org/show_bug.cgi?id=49755
-
- Make sure that Download objects are destroyed when the download finishes or fails.
- Don't close the web process if there are live Download objects.
-
- * UIProcess/Downloads/DownloadProxy.cpp:
- (WebKit::DownloadProxy::didFail):
- Add stub.
-
- * UIProcess/Downloads/DownloadProxy.h:
- * UIProcess/Downloads/DownloadProxy.messages.in:
- Add DidFail message.
-
- * WebProcess/Downloads/Download.cpp:
- (WebKit::Download::didFinish):
- Call DownloadManager::downloadFinished.
-
- (WebKit::Download::didFail):
- Send DidFail message and call DownloadManager::downloadFinished.
+ Update m_environmentPointer after copying the environment variables.
- * WebProcess/Downloads/Download.h:
- (WebKit::Download::destinationID):
- Call downloadID().
-
- (WebKit::Download::downloadID):
- Return the download ID.
-
- * WebProcess/Downloads/DownloadManager.cpp:
- (WebKit::DownloadManager::downloadFinished):
- Delete the Download object and call WebProcess::shutdownIfPossible.
-
- * WebProcess/Downloads/DownloadManager.h:
- (WebKit::DownloadManager::isDownloading):
- Return whether the download manager has any active downloads.
-
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (-[WKDownloadAsDelegate download:didFailWithError:]):
- Call Download::didFail.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::removeWebPage):
- Call shutdownIfPossible.
-
- (WebKit::WebProcess::shutdownIfPossible):
- New function. Don't shutdown if there are live pages or active downloads.
-
- * WebProcess/WebProcess.h:
-
-2010-11-18 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- Debug_Internal Windows configuration is unnecessary, should be removed
- https://bugs.webkit.org/show_bug.cgi?id=49753
-
- * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
- * WebKit2Prefix.h:
-
-2010-11-18 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- Clean up vcproj errors
- https://bugs.webkit.org/show_bug.cgi?id=49741
-
- * win/WebKit2WebProcess.vcproj:
-
-2010-11-18 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] [WK2] WebKit 2 would not compile for Qt without ENABLE_TOUCH_EVENT
- https://bugs.webkit.org/show_bug.cgi?id=49664
-
- Move the ENABLE(TOUCH_EVENTS) to the code where internal WebKit touch
- types are used.
-
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::touchEvent):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::touchEvent):
-
-2010-11-17 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Reuse the size of the actualVisibleContentRect when loading a new page
- or navigating session history.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
-
-2010-11-17 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Darin Adler.
-
- Converge means of querying a parent node into one way, which is Node::parentNode.
- https://bugs.webkit.org/show_bug.cgi?id=49686
-
- * WebProcess/WebPage/WebPage.cpp: Changed to use parentNode.
- (WebKit::WebPage::findZoomableAreaForPoint): Ditto.
-
-2010-11-17 Timothy Hatcher <timothy@apple.com>
-
- Remove duplicate Web Inspector message handeling in WebPage::didReceiveMessage.
-
- https://webkit.org/b/49689
-
- Reviewed by Andreas Kling.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didReceiveMessage): Remove duplicate code.
-
-2010-11-17 Timothy Hatcher <timothy@apple.com>
-
- Fix a crash when closing the inspected page when the Web Inspector
- page was never created.
-
- https://bugs.webkit.org/show_bug.cgi?id=49687
-
- Reviewed by John Sullivan.
-
- * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
- (WebKit::WebInspectorClient::sendMessageToFrontend): Null check the Inspector WebPage.
-
-2010-11-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Don't crash when invalidating a page overlay that hasn't been installed yet
- https://bugs.webkit.org/show_bug.cgi?id=49685
-
- Null check the web page.
-
- * WebProcess/WebPage/PageOverlay.cpp:
- (WebKit::PageOverlay::setNeedsDisplay):
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::EnvironmentVariables::copyEnvironmentVariables):
-2010-11-17 Brady Eidson <beidson@apple.com>
+2011-02-25 Darin Adler <darin@apple.com>
- Reviewed by Darin Adler.
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess): Fixed backwards logic from last change.
- https://bugs.webkit.org/show_bug.cgi?id=49682 - Expose "removeItemAtIndex" in WKMutableArray
+2011-02-25 Darin Adler <darin@apple.com>
- * Shared/API/c/WKMutableArray.cpp:
- (WKArrayRemoveItemAtIndex):
- * Shared/API/c/WKMutableArray.h:
+ Reviewed by Mark Rowe.
- * Shared/MutableArray.cpp:
- (WebKit::MutableArray::removeItemAtIndex):
- * Shared/MutableArray.h:
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess): Fixed performance problem in production
+ builds by only setting DYLD_FRAMEWORK_PATH in engineering configurations.
-2010-11-17 Brady Eidson <beidson@apple.com>
+2011-02-25 Darin Adler <darin@apple.com>
Reviewed by Anders Carlsson.
- https://bugs.webkit.org/show_bug.cgi?id=49683 - Export WKContextMenuItem and WKContextMenuItemTypes as public headers
-
- * WebKit2.xcodeproj/project.pbxproj:
+ <rdar://problem/8036034> WebKit2 should work even if DYLD_FRAMEWORK_PATH is not set
-2010-11-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Need way to invalidate part of a WKOverlayRef so it will be redrawn
- https://bugs.webkit.org/show_bug.cgi?id=49679
- <rdar://problem/8679152>
-
- * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
- (WKBundlePageOverlaySetNeedsDisplay):
- * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
- * WebProcess/WebPage/PageOverlay.cpp:
- (WebKit::PageOverlay::setNeedsDisplay):
- * WebProcess/WebPage/PageOverlay.h:
-
-2010-11-17 Timothy Hatcher <timothy@apple.com>
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::EnvironmentVariables::~EnvironmentVariables): Use fastFree, not delete, on
+ the strings here because they are allocated with fastMalloc, not new.
+ (WebKit::EnvironmentVariables::set): Use const more.
+ (WebKit::EnvironmentVariables::get): Ditto.
+ (WebKit::EnvironmentVariables::appendValue): Ditto.
+ (WebKit::EnvironmentVariables::valueIfVariableHasName): Ditto. Also fix mistake
+ where this would match if the name matched only a prefix of the environment variable's
+ name. We want to match the whole name, so we need to use memcmp, not strncmp.
+ (WebKit::EnvironmentVariables::createStringForVariable): Use const more.
+ (WebKit::ProcessLauncher::launchProcess): Use clearer name, frameworkExecutablePath,
+ for what was called bundlePath before. Append the frameworks path to DYLD_FRAMEWORK_PATH,
+ ensuring we can pick up other frameworks from the same directory in the web process.
+ Use a const_cast instead of a C-style cast.
- Provide a way to create a WKView (WebPage) that is hidden from
- the InjectedBundle. This is needed for the Web Inspector.
+2011-02-25 Chris Fleizach <cfleizach@apple.com>
- https://webkit.org/b/49670
+ Reviewed by Anders Carlsson.
- Reviewed by Sam Weinig.
+ AX: WK2: AXApplication not returning the AXFocusedUIElement within the web area
+ https://bugs.webkit.org/show_bug.cgi?id=55277
- * Shared/WebPageCreationParameters.cpp:
- (WebKit::WebPageCreationParameters::encode): Added visibleToInjectedBundle.
- (WebKit::WebPageCreationParameters::decode): Ditto.
- * Shared/WebPageCreationParameters.h: Ditto.
- * UIProcess/API/C/win/WKView.cpp:
- (WKViewCreate): Pass VisibleToInjectedBundle to the WebView create function.
- * UIProcess/API/C/win/WKViewPrivate.cpp:
- (WKViewCreateForWebInspector): Added. Not used yet. Passes HiddenFromInjectedBundle
- to the WebView create function.
- * UIProcess/API/C/win/WKViewPrivate.h: Added WKViewCreateForWebInspector.
* UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:]): Added hiddenFromInjectedBundle
- parameter and calls WebPageProxy::setVisibleToInjectedBundle.
- (-[WKView initWithFrame:pageNamespaceRef:]): Calls initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:
- and passes NO for hiddenFromInjectedBundle.
- (-[WKView initWithFrame:]): Cleaned up by removing the local assignment to self and just returns the result.
- * UIProcess/API/mac/WKViewInternal.h: Added initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy): Initialize m_visibleToInjectedBundle from the creation parameters.
- (WebKit::WebPageProxy::creationParameters): Set visibleToInjectedBundle using m_visibleToInjectedBundle.
- * UIProcess/WebPageProxy.h: Added m_visibleToInjectedBundle.
- (WebKit::WebPageProxy::visibleToInjectedBundle): Added. Return m_visibleToInjectedBundle.
- (WebKit::WebPageProxy::setVisibleToInjectedBundle): Added. Set m_visibleToInjectedBundle.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView): Added InjectedBundleVisibility parameter and calls
- WebPageProxy::setVisibleToInjectedBundle.
- * UIProcess/win/WebView.h: Added InjectedBundleVisibility enum.
- (WebKit::WebView::create): Added InjectedBundleVisibility parameter.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::create): Checks visibleToInjectedBundle before talking to the injected bundle.
- (WebKit::WebPage::WebPage): Initialize m_isVisibleToInjectedBundle from the creation parameters.
- (WebKit::WebPage::close): Checks m_isVisibleToInjectedBundle before talking to the injected bundle.
- * WebProcess/WebPage/WebPage.h: Added m_isVisibleToInjectedBundle.
-
-2010-11-17 Andras Becsi <abecsi@webkit.org>
-
- Unreviewed buildfix.
-
- [Qt] D'oh! I screwed up the dependencies.
-
- * DerivedSources.pro:
-
-2010-11-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [WK2] Set paintsEntireContents for "resizes to contents" mode
-
- Only relevant for the tiled backing store.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
-
-2010-11-17 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt][WK2] Make it possible to set custom user agent strings in MiniBrowser
- https://bugs.webkit.org/show_bug.cgi?id=49627
-
- Copy the MiniBrowser.qrc and QtTestBrowser's useragentlist.txt file
- to the build directory of MiniBrowser because it has to be in a
- subdirectory of the resource file.
- Add a method to QWKPage to retrieve the custom user agent string.
-
- * DerivedSources.pro:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::customUserAgent):
- * UIProcess/API/qt/qwkpage.h:
-
-2010-11-17 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=45567
- Add stubbed-out layer-backed drawing area for Windows.
-
- Add implementations of LayerBackedDrawingArea and
- LayerBackedDrawingAreaProxy for Windows, and add them
- to the vcproj.
-
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp: Added.
- (WebKit::LayerBackedDrawingAreaProxy::page):
- (WebKit::LayerBackedDrawingAreaProxy::platformSetSize):
- (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
- (WebKit::LayerBackedDrawingAreaProxy::detachCompositingContext):
- (WebKit::LayerBackedDrawingAreaProxy::paint):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::pageDidEnterAcceleratedCompositing):
- (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
- (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
- * UIProcess/win/WebView.h:
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Added.
- (WebKit::LayerBackedDrawingArea::platformInit):
- (WebKit::LayerBackedDrawingArea::platformClear):
- (WebKit::LayerBackedDrawingArea::attachCompositingContext):
- (WebKit::LayerBackedDrawingArea::detachCompositingContext):
- (WebKit::LayerBackedDrawingArea::setRootCompositingLayer):
- (WebKit::LayerBackedDrawingArea::scheduleCompositingLayerSync):
- (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
- * win/WebKit2.vcproj:
-
-2010-11-17 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] [WK2] The focus switching does not seems to work with QGraphicsWKView
- https://bugs.webkit.org/show_bug.cgi?id=49545
-
- Implement focus switching with Tab. This is now done asynchronously,
- waiting for webkit to call takeFocus() and switching the widget.
-
- Since the focus can change between the Tab press and the callback,
- QGraphicsWKView::focusNextPrevChildCallback() make sure the view still has
- focus before passing it to the next widget.
-
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::QGraphicsWKView):
- (QGraphicsWKView::focusNextPrevChildCallback):
- (QGraphicsWKView::focusNextPrevChild):
- * UIProcess/API/qt/qgraphicswkview.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::takeFocus):
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/API/qt/qwkpage_p.h:
-
-2010-11-17 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Don't prohibit scrolling in tiled backing store mode.
-
- We delegate scrolling instead.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
-
-2010-11-17 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] Improve painting performance on 16-bit displays
-
- When the default pixmap depth is 16-bit, then use RGB16 instead of
- RGB32 for the chunks, to avoid unnecessary conversions and reduce
- chunk size. The conversions happen as images as QPixmaps have 16-bit
- depth and the tiles on the ui process are also backed by QPixmaps.
-
- * Shared/qt/UpdateChunk.cpp:
- (WebKit::UpdateChunk::size):
- (WebKit::UpdateChunk::createImage):
- * Shared/qt/UpdateChunk.h:
-
-2010-11-16 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- WebKit2: Support enabling site-specific quirks
- <rdar://problem/8451371>
- https://bugs.webkit.org/show_bug.cgi?id=46076
-
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::WebPreferencesStore):
- (WebKit::WebPreferencesStore::encode):
- (WebKit::WebPreferencesStore::decode):
- * Shared/WebPreferencesStore.h:
- Add needsSiteSpecificQuirks;
-
- * UIProcess/API/C/WKAPICast.h:
- (WebKit::toFontSmoothingLevel):
- (WebKit::toAPI):
- Move FontSmoothing conversion functions here.
-
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetFontSmoothingLevel):
- (WKPreferencesGetFontSmoothingLevel):
- (WKPreferencesSetAcceleratedCompositingEnabled):
- (WKPreferencesGetAcceleratedCompositingEnabled):
- (WKPreferencesSetCompositingBordersVisible):
- (WKPreferencesGetCompositingBordersVisible):
- (WKPreferencesSetCompositingRepaintCountersVisible):
- (WKPreferencesGetCompositingRepaintCountersVisible):
- (WKPreferencesSetNeedsSiteSpecificQuirks):
- (WKPreferencesGetNeedsSiteSpecificQuirks):
- Add WKPreferencesSetNeedsSiteSpecificQuirks/WKPreferencesGetNeedsSiteSpecificQuirks
- and move implementations from WKPreferencesPrivate.cpp here.
-
- * UIProcess/API/C/WKPreferencesPrivate.cpp: Removed.
-
- * UIProcess/API/C/WKPreferencesPrivate.h:
- Add Add WKPreferencesSetNeedsSiteSpecificQuirks/WKPreferencesGetNeedsSiteSpecificQuirks.
-
- * UIProcess/WebPreferences.cpp:
- (WebKit::WebPreferences::setNeedsSiteSpecificQuirks):
- (WebKit::WebPreferences::needsSiteSpecificQuirks):
- * UIProcess/WebPreferences.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
- Pipe through needsSiteSpecificQuirks.
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebKit2.pro:
- * win/WebKit2.vcproj:
- Update for removed files.
-
-2010-11-16 Adam Roben <aroben@apple.com>
-
- Fix horizontal scrolling via the mousewheel/trackpad on Windows
-
- Reviewed by Mark Rowe.
-
- * Shared/win/WebEventFactory.cpp: Fixed typo in the
- WM_VISTA_MOUSEHWHEEL constant.
-
-2010-11-16 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- Disable LTCG for Windows Release builds. Add new Release_LTCG configuration.
- https://bugs.webkit.org/show_bug.cgi?id=49632
-
- * win/WebKit2.make:
- * win/WebKit2.submit.sln:
- * win/WebKit2.vcproj:
- * win/WebKit2WebProcess.vcproj:
+ (-[WKView accessibilityFocusedUIElement]):
-2010-11-16 Anders Carlsson <andersca@apple.com>
+2011-02-25 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Sam Weinig.
-
- Handle converting a ResourceHandle to a download
- https://bugs.webkit.org/show_bug.cgi?id=49631
-
- * WebProcess/Downloads/Download.h:
- Add startWithHandle.
-
- * WebProcess/Downloads/DownloadManager.h:
- * WebProcess/Downloads/DownloadManager.cpp:
- (WebKit::DownloadManager::convertHandleToDownload):
- Create a new Download object and call startWithHandle on it.
-
- * WebProcess/Downloads/cf/DownloadCFNet.cpp:
- (WebKit::Download::startWithHandle):
- Add stub.
-
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (WebKit::Download::startWithHandle):
- Create an NSURLDownload object from passed in ResourceHandle.
-
- * WebProcess/Downloads/qt/DownloadQt.cpp:
- (WebKit::Download::startWithHandle):
- Add stub.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::download):
- Call WebFrame::convertHandleToDownload.
+ Reviewed by Anders Carlsson.
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::convertHandleToDownload):
- Call DownloadManager::convertHandleToDownload.
+ https://bugs.webkit.org/show_bug.cgi?id=55276
+ WebPage::close() accesses "this" after it is destroyed.
-2010-11-16 Anders Carlsson <andersca@apple.com>
+ This was making many tests crash with GuardMalloc.
- Reviewed by John Sullivan.
+ * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::close): Access "this" before it can be
+ destroyed, not after.
- Set the original URL for downloads
- https://bugs.webkit.org/show_bug.cgi?id=49628
+2011-02-25 Balazs Kelemen <kbalazs@webkit.org>
- * WebProcess/Downloads/DownloadManager.cpp:
- (WebKit::DownloadManager::startDownload):
- * WebProcess/Downloads/DownloadManager.h:
- startDownload now takes the originating web page.
+ Unreviewed.
+ Add missing sources to WebKit2API.pri.
- * WebProcess/Downloads/cf/DownloadCFNet.cpp:
- (WebKit::Download::start):
- start now takes the originating web page.
+ * WebKit2API.pri:
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (WebKit::originatingURL):
- (WebKit::setOriginalURLForDownload):
- Port code over from WebKit1 that sets the download URL.
+2011-02-25 Anders Carlsson <andersca@apple.com>
- (WebKit::Download::start):
- Call setOriginalURLForDownload.
-
- * WebProcess/Downloads/qt/DownloadQt.cpp:
- (WebKit::Download::start):
- start now takes the originating web page.
+ Reviewed by Darin Adler.
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::startDownload):
- Pass the web page to DownloadManager::startDownload.
+ A WKView without a window will cause CG errors in the console
+ https://bugs.webkit.org/show_bug.cgi?id=55264
+ <rdar://problem/9044281>
-2010-11-16 Dave Hyatt <hyatt@apple.com>
+ Check that the window has a valid window number before trying to get its graphics context.
- Reviewed by Dan Bernstein.
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::containingWindowGraphicsContext):
- https://bugs.webkit.org/show_bug.cgi?id=11004
-
- font-size:0 is ignored. Remove the minimum font size of 1 in CSSStyleSelector.
- Change the pref value for minimum font size from 1 to 0. Make sure to never use the NSFont's size,
- since it doesn't honor a size of 0. Instead pass the size in to the FontPlatformData(NSFont*) version
- of the constructor rather than using [NSFont pointSize].
+2011-02-25 Brian Weinstein <bweinstein@apple.com>
- https://bugs.webkit.org/show_bug.cgi?id=49582
-
- Negative leading is not handled correctly. There are two bugs here. The first is that
- maxAscent and maxDescent can be negative, so we need a notion of whether or not we have
- set them before so that we can allow them to be < 0.
-
- The second issue is that we should understand where fonts will end up relative to
- our baseline (excluding line height), and only allow those boxes to impact ascent and
- descent if the actual font box (without factoring in line height) is above or below the
- root line box baseline.
+ Reviewed by Brady Eidson and looked over by Jessie Berlin.
- Added fast/css/negative-leading.html
+ WebKit2: Need a way to manage cookies from the web process
+ https://bugs.webkit.org/show_bug.cgi?id=55086
- These two bug fixes have to land together to keep the Acid 3 test rendering correctly.
-
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::WebPreferencesStore):
-
-2010-11-16 Anders Carlsson <andersca@apple.com>
-
- Fix clang++ build.
-
- * Scripts/webkit2/messages.py:
- * WebProcess/WebPage/WebInspector.h:
-
-2010-11-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
+ Call through to WebCore::CookieJar in our WebCookieManager functions.
- Add WKPageCanShowMIMEType
- https://bugs.webkit.org/show_bug.cgi?id=49612
+ * WebProcess/Cookies/WebCookieManager.cpp:
+ (WebKit::WebCookieManager::getHostnamesWithCookies):
+ (WebKit::WebCookieManager::deleteCookiesForHostname):
+ (WebKit::WebCookieManager::deleteAllCookies):
- * UIProcess/API/C/WKPage.cpp:
- (WKPageCanShowMIMEType):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::canShowMIMEType):
- * UIProcess/WebPageProxy.h:
-
-2010-11-16 Anders Carlsson <andersca@apple.com>
+2011-02-25 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- Make WebPageProxy::decidePolicyForMIMEType a tad synchronous
- https://bugs.webkit.org/show_bug.cgi?id=49605
+ Option-clicking on links doesn't download them due to sandbox violation
+ https://bugs.webkit.org/show_bug.cgi?id=55250
+ <rdar://problem/9018359>
- Change the DecidePolicyForMIMEType message to be synchronous, and if the policy listener is
- invoked from within the decidePolicyForMIMEType callback return the policy information as out
- parameters. This is needed in order to convert a loading connection to a download.
+ The change to make DecidePolicyForNavigationAction sync didn't handle the case when the
+ decided policy was "Download". Fix this by passing along the download ID back to the web process.
* Platform/CoreIPC/HandleMessage.h:
(CoreIPC::callMemberFunction):
+ Add new overload.
+
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::receivedPolicyDecision):
- (WebKit::WebPageProxy::decidePolicyForMIMEType):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
-
-2010-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org>, Zalan Bujtas <zbujtas@gmail.com>
-
- Reviewed by Andreas Kling.
-
- [WK2][Qt] Add API for finding a zoomable area for a given point
+ Initialize m_syncNavigationActionPolicyDownloadID.
- This is useful for implementing e.g "double tap zoom"
+ (WebKit::WebPageProxy::receivedPolicyDecision):
+ Set m_syncNavigationActionPolicyDownloadID to the download ID.
- Only enabled for Qt.
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ Return the m_syncNavigationActionPolicyDownloadID.
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::findZoomableAreaForPoint):
- (QWKPagePrivate::didFindZoomableArea):
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didFindZoomableArea):
- (WebKit::WebPageProxy::findZoomableAreaForPoint):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::findZoomableAreaForPoint):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
-
-2010-11-16 Andreas Kling <kling@webkit.org>
-
- Rubber-stamped by Simon Hausmann.
-
- Revert !ENABLE(INSPECTOR) fix- we don't need it right now,
- and it was less maintainable than I had though.
-
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toAPI):
- (WebKit::toImpl):
- * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
- * WebProcess/WebPage/WebInspector.cpp:
+ Add a DownloadID reply parameter.
-2010-11-16 Andreas Kling <kling@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Fix compilation with !ENABLE(INSPECTOR)
-
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toAPI):
- (WebKit::toImpl):
- * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
- * WebProcess/WebPage/WebInspector.cpp:
-
-2010-11-16 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Use SIGINT instead of SIGKILL to let the web process clean up after itself.
-
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- (WebKit::QtWebProcess::setupChildProcess):
-
-2010-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [WK2][Qt] Expose resizes-to-contents mode in WebKit2
-
- Only available with ENABLE(TILED_BACKING_STORE)
-
- Based on a patch by Antti Koivisto.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::setResizesToContentsUsingLayoutSize):
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setResizesToContentsUsingLayoutSize):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::contentsSizeChanged):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setSize):
- (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
- (WebKit::WebPage::resizeToContentsIfNeeded):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::resizesToContentsEnabled):
- (WebKit::WebPage::resizesToContentsLayoutSize):
- * WebProcess/WebPage/WebPage.messages.in:
-
-2010-11-16 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt][WK2] Get proxy settings from environment (http[s]_proxy)
-
- If http_proxy and/or https_proxy are set in the environment,
- pass those in to QNetworkAccessManager.
-
- * WebProcess/qt/WebProcessMainQt.cpp:
- (WebKit::EnvHttpProxyFactory::EnvHttpProxyFactory):
- (WebKit::EnvHttpProxyFactory::initializeFromEnvironment):
- (WebKit::EnvHttpProxyFactory::queryProxy):
- (WebKit::initializeProxy):
- (WebKit::WebProcessMainQt):
-
-2010-11-16 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt][WK2] Emit windowCloseRequested signal on window.close()
-
- Original patch by Zalan Bujtas.
-
- * UIProcess/API/qt/ClientImpl.cpp:
- (qt_wk_close):
- * UIProcess/API/qt/qwkpage.h:
-
-2010-11-15 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Kill the web process if the UI process dies
-
- Connect UI (parent) process death signal to SIGKILL of the web
- process (child). This ensures that there's no stale web processes
- after the UI process has crashed.
-
- Original patch by Kimmo Kinnunen.
-
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- (WebKit::QtWebProcess::QtWebProcess):
- (WebKit::QtWebProcess::setupChildProcess):
- (WebKit::ProcessLauncherHelper::launch):
-
-2010-11-16 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Andreas Kling.
-
- [Qt] Trivial build fix for building WebKit2 inside Qt Creator
-
- Similar to WebCore.pro, define a fallback for OUTPUT_DIR.
-
- * WebKit2.pro:
-
-2010-11-15 Andreas Kling <kling@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Make sure qwkpage.h and qwkpreferences.h are copied into includes/WebKit2
-
- * UIProcess/API/qt/WKView.h:
-
-2010-11-15 Andreas Kling <kling@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Use $${PYTHON} rather than "python" to execute Python scripts
-
- Fixes building with the old Python that currently ships with Scratchbox.
-
- * DerivedSources.pro:
-
-2010-11-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by a better attempt at a Windows build fix.
-
- * win/WebKit2Generated.make:
-
-2010-11-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by my attempt to fix the Windows build
-
- * win/WebKit2Generated.make: Add new API headers here.
-
-2010-11-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Finish off <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=48720
- Customizable context menu support in WebKit2.
-
- - Adds an API-level WKContextMenuItem.
- - Round trips through both the InjectedBundle client and the new PageContextMenuClient before
- actually displaying the menu.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
- * Shared/API/c/WKBase.h:
- * Shared/API/c/WKContextMenuItem.cpp: Added.
- (WKContextMenuItemGetTypeID):
- (WKContextMenuItemCreateAsAction):
- (WKContextMenuItemCreateAsCheckableAction):
- (WKContextMenuItemCreateAsSubmenu):
- (WKContextMenuItemSeparatorItem):
- (WKContextMenuItemGetTag):
- (WKContextMenuItemGetType):
- (WKContextMenuItemCopyTitle):
- (WKContextMenuItemGetEnabled):
- (WKContextMenuItemGetChecked):
- (WKContextMenuCopySubmenuItems):
- * Shared/API/c/WKContextMenuItem.h: Added.
- * Shared/API/c/WKContextMenuItemTypes.h: Added.
-
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toAPI):
- (WebKit::toImpl):
-
- * Shared/WebContextMenuItem.cpp:
- (WebKit::WebContextMenuItem::create):
- (WebKit::WebContextMenuItem::separatorItem):
- (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
- * Shared/WebContextMenuItem.h:
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageSetPageContextMenuClient):
- (WKPageSetPageFindClient):
- (WKPageSetPageLoaderClient):
- (WKPageSetPagePolicyClient):
- (WKPageSetPageUIClient):
- * UIProcess/API/C/WKPage.h:
-
- * UIProcess/WebPageContextMenuClient.cpp: Added.
- (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
- * UIProcess/WebPageContextMenuClient.h: Added.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeContextMenuClient):
- (WebKit::WebPageProxy::showContextMenu):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
- (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
- * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
-
- * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
- (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems):
- * WebProcess/WebPage/WebContextMenu.cpp:
- (WebKit::WebContextMenu::show):
-
-2010-11-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add shouldDecodeSourceDataOfMIMEType WKContextDownloadClient callback
- https://bugs.webkit.org/show_bug.cgi?id=49558
-
- * UIProcess/API/C/WKContext.h:
- Add shouldDecodeSourceDataOfMIMEType callback.
-
- * UIProcess/Downloads/DownloadProxy.cpp:
- (WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType):
- Call WebDownloadClient::shouldDecodeSourceDataOfMIMEType.
-
- (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
- Add allowOverwrite out parameter.
-
- * UIProcess/Downloads/DownloadProxy.h:
- * UIProcess/Downloads/DownloadProxy.messages.in:
- Add ShouldDecodeSourceDataOfMIMEType message.
-
- * UIProcess/WebDownloadClient.cpp:
- (WebKit::WebDownloadClient::shouldDecodeSourceDataOfMIMEType):
- Call the WKContextDownloadClient.
-
- (WebKit::WebDownloadClient::decideDestinationWithSuggestedFilename):
- Add allowOverwrite out parameter.
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ Don't pass a zero download ID to didReceivePolicyDecision.
- * UIProcess/WebDownloadClient.h:
- * WebProcess/Downloads/Download.cpp:
- (WebKit::Download::shouldDecodeSourceDataOfMIMEType):
- Send the ShouldDecodeSourceDataOfMIMEType message.
+2011-02-25 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> and Alejandro G. Castro <alex@igalia.com>
- (WebKit::Download::decideDestinationWithSuggestedFilename):
- Add allowOverwrite reply parameter.
+ Reviewed by Martin Robinson.
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (-[WKDownloadAsDelegate download:shouldDecodeSourceDataOfMIMEType:]):
- Call Download::shouldDecodeSourceDataOfMIMEType.
+ [GTK] Implement WebContext and NativeKeyboardEvent classes for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=48510
- (-[WKDownloadAsDelegate download:decideDestinationWithSuggestedFilename:]):
- Add allowOverwrite parameter.
+ * GNUmakefile.am:
+ * Shared/NativeWebKeyboardEvent.h: Added the GTK event attribute
+ and constructors, in our case we need it because we use a pointer
+ and copy the event.
+ (WebKit::NativeWebKeyboardEvent::nativeEvent):
+ * Shared/gtk/NativeWebKeyboardEventGtk.cpp: Added.
+ (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent): We need
+ to copy the event in the constructor to avoid two references to
+ the same event.
+ * Shared/gtk/WebEventFactory.cpp: Changed the prototype of the
+ functions to add const, we need it for the NativeWebKeyboardEvent
+ constructor.
+ (WebKit::modifiersForEvent):
+ (WebKit::WebEventFactory::createWebKeyboardEvent):
+ * UIProcess/gtk/WebContextGtk.cpp: Added. Stubbed implementation
+ for GTK port. Yet to implement.
+ (WebKit::WebContext::applicationCacheDirectory):
+ (WebKit::WebContext::platformInitializeWebProcess):
+ (WebKit::WebContext::platformDefaultDatabaseDirectory):
+ * UIProcess/gtk/WebView.cpp:
+ (WebKit::WebView::handleKeyboardEvent):
-2010-11-15 Anders Carlsson <andersca@apple.com>
+2011-02-25 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- Add decideDestinationWithSuggestedFilename WKContextDownloadClient callback
- https://bugs.webkit.org/show_bug.cgi?id=49554
-
- * Platform/CoreIPC/MessageSender.h:
- (CoreIPC::MessageSender::sendSync):
- Add sendSync capabilities to Messagesender.
-
- * UIProcess/API/C/WKContext.h:
- Add decideDestinationWithSuggestedFilename callback.
-
- * UIProcess/Downloads/DownloadProxy.cpp:
- (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
- Call WebDownloadClient::decideDestinationWithSuggestedFilename.
-
- * UIProcess/Downloads/DownloadProxy.messages.in:
- Add DecideDestinationWithSuggestedFilename.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::didReceiveSyncMessage):
- Process MessageClassDownloadProxy messages.
-
- * UIProcess/WebDownloadClient.cpp:
- (WebKit::WebDownloadClient::decideDestinationWithSuggestedFilename):
- Ask the WKContextDownloadClient for the destination.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
- MessageClassDownloadProxy messages should go to the WebContext.
-
- * WebProcess/Downloads/Download.cpp:
- (WebKit::Download::decideDestinationWithSuggestedFilename):
- Send the DecideDestinationWithSuggestedFilename message.
-
- * WebProcess/Downloads/Download.h:
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (-[WKDownloadAsDelegate download:decideDestinationWithSuggestedFilename:]):
- call Download::decideDestinationWithSuggestedFilename and set the destination.
-
-2010-11-15 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [WK2][Qt] Add "page snapshot" functionality to tiled backing store
-
- Original patch by Antti Koivisto.
-
- Add a way to take a snapshot of a specific part of the page, at a specific scale.
- Only implemented for the tiled drawing area.
-
- * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
- New message: TakeSnapshot.
-
- * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
- New message: SnapshotTaken.
-
- * UIProcess/API/qt/qgraphicswkview.h:
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::takeSnapshot):
- Expose the snapshot functionality.
-
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::didReceiveMessage):
- (WebKit::TiledDrawingAreaProxy::takeSnapshot):
- * UIProcess/TiledDrawingAreaProxy.h:
- * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
- (WebKit::TiledDrawingAreaProxy::snapshotTaken):
- * WebProcess/WebPage/TiledDrawingArea.cpp:
- (WebKit::TiledDrawingArea::didReceiveMessage):
-
-2010-11-15 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [WK2][Qt] WebKit2 implementation of tiled backing store
- https://bugs.webkit.org/show_bug.cgi?id=49526
-
- Basic opt-in tiling implementation for WebKit2/Qt.
-
- Original patch by Antti Koivisto.
-
- * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
- New messages: RequestTileUpdate and CancelTileUpdate.
+ Get rid of more old accelerated compositing code
+ https://bugs.webkit.org/show_bug.cgi?id=55235
* Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
- New messages: Invalidate, TileUpdated, AllTileUpdatesProcessed.
-
- * Shared/DrawingAreaBase.h:
- New area type: TiledDrawingAreaType.
-
- * UIProcess/API/qt/qgraphicswkview.h:
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::QGraphicsWKView):
- (QGraphicsWKView::setGeometry):
- (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
- (QGraphicsWKView::prepareScaleChange):
- (QGraphicsWKView::commitScaleChange):
- (QGraphicsWKViewPrivate::onScaleChanged):
- (QGraphicsWKViewPrivate::commitScale):
- Support for tiled backing store.
-
- * UIProcess/TiledDrawingAreaProxy.cpp: Added.
- (WebKit::TiledDrawingAreaProxy::create):
- (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
- (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy):
- (WebKit::TiledDrawingAreaProxy::setSize):
- (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
- (WebKit::TiledDrawingAreaProxy::didSetSize):
- (WebKit::TiledDrawingAreaProxy::didReceiveMessage):
- (WebKit::TiledDrawingAreaProxy::didReceiveSyncMessage):
- (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
- (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
- (WebKit::TiledDrawingAreaProxy::createTile):
- (WebKit::TiledDrawingAreaProxy::setTileSize):
- (WebKit::TiledDrawingAreaProxy::setTileCreationDelay):
- (WebKit::TiledDrawingAreaProxy::setKeepAndCoverAreaMultipliers):
- (WebKit::TiledDrawingAreaProxy::invalidate):
- (WebKit::TiledDrawingAreaProxy::updateTileBuffers):
- (WebKit::TiledDrawingAreaProxy::tileBufferUpdateComplete):
- (WebKit::TiledDrawingAreaProxy::paint):
- (WebKit::TiledDrawingAreaProxy::adjustVisibleRect):
- (WebKit::TiledDrawingAreaProxy::setContentsScale):
- (WebKit::TiledDrawingAreaProxy::removeAllTiles):
- (WebKit::TiledDrawingAreaProxy::tileDistance):
- (WebKit::TiledDrawingAreaProxy::calculateKeepRect):
- (WebKit::TiledDrawingAreaProxy::calculateCoverRect):
- (WebKit::TiledDrawingAreaProxy::createTiles):
- (WebKit::TiledDrawingAreaProxy::resizeEdgeTiles):
- (WebKit::TiledDrawingAreaProxy::dropTilesOutsideRect):
- (WebKit::TiledDrawingAreaProxy::tileAt):
- (WebKit::TiledDrawingAreaProxy::setTile):
- (WebKit::TiledDrawingAreaProxy::removeTile):
- (WebKit::TiledDrawingAreaProxy::mapToContents):
- (WebKit::TiledDrawingAreaProxy::mapFromContents):
- (WebKit::TiledDrawingAreaProxy::contentsRect):
- (WebKit::TiledDrawingAreaProxy::tileRectForCoordinate):
- (WebKit::TiledDrawingAreaProxy::tileCoordinateForPoint):
- (WebKit::TiledDrawingAreaProxy::startTileBufferUpdateTimer):
- (WebKit::TiledDrawingAreaProxy::tileBufferUpdateTimerFired):
- (WebKit::TiledDrawingAreaProxy::startTileCreationTimer):
- (WebKit::TiledDrawingAreaProxy::tileCreationTimerFired):
- (WebKit::TiledDrawingAreaProxy::hasPendingUpdates):
- * UIProcess/TiledDrawingAreaProxy.h: Added.
- (WebKit::TiledDrawingAreaProxy::contentsScale):
- (WebKit::TiledDrawingAreaProxy::attachCompositingContext):
- (WebKit::TiledDrawingAreaProxy::detachCompositingContext):
- (WebKit::TiledDrawingAreaProxy::tileSize):
- (WebKit::TiledDrawingAreaProxy::tileCreationDelay):
- (WebKit::TiledDrawingAreaProxy::getKeepAndCoverAreaMultipliers):
- * UIProcess/TiledDrawingAreaTile.h: Added.
- (WebKit::TiledDrawingAreaTile::create):
- (WebKit::TiledDrawingAreaTile::hasBackBufferUpdatePending):
- (WebKit::TiledDrawingAreaTile::coordinate):
- (WebKit::TiledDrawingAreaTile::rect):
- (WebKit::TiledDrawingAreaTile::ID):
- * WebProcess/WebPage/DrawingArea.cpp:
- (WebKit::DrawingArea::create):
- * WebProcess/WebPage/TiledDrawingArea.cpp: Added.
- (WebKit::TiledDrawingArea::TiledDrawingArea):
- (WebKit::TiledDrawingArea::~TiledDrawingArea):
- (WebKit::TiledDrawingArea::invalidateWindow):
- (WebKit::TiledDrawingArea::invalidateContentsAndWindow):
- (WebKit::TiledDrawingArea::invalidateContentsForSlowScroll):
- (WebKit::TiledDrawingArea::scroll):
- (WebKit::TiledDrawingArea::setNeedsDisplay):
- (WebKit::TiledDrawingArea::display):
- (WebKit::TiledDrawingArea::scheduleDisplay):
- (WebKit::TiledDrawingArea::setSize):
- (WebKit::TiledDrawingArea::suspendPainting):
- (WebKit::TiledDrawingArea::resumePainting):
- (WebKit::TiledDrawingArea::didUpdate):
- (WebKit::TiledDrawingArea::updateTile):
- (WebKit::TiledDrawingArea::tileUpdateTimerFired):
- (WebKit::TiledDrawingArea::didReceiveMessage):
- * WebProcess/WebPage/TiledDrawingArea.h: Added.
- (WebKit::TiledDrawingArea::attachCompositingContext):
- (WebKit::TiledDrawingArea::detachCompositingContext):
- (WebKit::TiledDrawingArea::setRootCompositingLayer):
- (WebKit::TiledDrawingArea::scheduleCompositingLayerSync):
- (WebKit::TiledDrawingArea::syncCompositingLayers):
- * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp: Added.
- (WebKit::TiledDrawingArea::paintIntoUpdateChunk):
- * WebKit2.pro:
- * UIProcess/qt/TiledDrawingAreaTileQt.cpp: Added.
- (WebKit::checkeredPixmap):
- (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile):
- (WebKit::TiledDrawingAreaTile::~TiledDrawingAreaTile):
- (WebKit::TiledDrawingAreaTile::isDirty):
- (WebKit::TiledDrawingAreaTile::isReadyToPaint):
- (WebKit::TiledDrawingAreaTile::hasReadyBackBuffer):
- (WebKit::TiledDrawingAreaTile::invalidate):
- (WebKit::TiledDrawingAreaTile::resize):
- (WebKit::TiledDrawingAreaTile::swapBackBufferToFront):
- (WebKit::TiledDrawingAreaTile::paint):
- (WebKit::TiledDrawingAreaTile::paintCheckerPattern):
- (WebKit::TiledDrawingAreaTile::updateFromChunk):
- (WebKit::TiledDrawingAreaTile::updateBackBuffer):
- * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Added.
- (WebKit::TiledDrawingAreaProxy::updateWebView):
- (WebKit::TiledDrawingAreaProxy::webViewVisibleRect):
- (WebKit::TiledDrawingAreaProxy::page):
-
-2010-11-12 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Need to implement WebKit::pluginWillHandleLoadError for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=48764
-
- Add the missing error to Qt support.
-
- * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
- (WebKit::pluginWillHandleLoadError):
-
-2010-11-12 John Sullivan <sullivan@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Fixed Target for WKBundlePageOverlay.cpp.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Changed Target for WKBundlePageOverlay.cpp from WebProcess to WebKit2.
-
-2010-11-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Need a way that WKBundlePageOverlayRef clients can make sure they only uninstall the overlay they installed
- https://bugs.webkit.org/show_bug.cgi?id=49461
- <rdar://problem/8662760>
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageUninstallPageOverlay):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::findString):
- (WebKit::FindController::hideFindUI):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::uninstallPageOverlay):
- * WebProcess/WebPage/WebPage.h:
-
-2010-11-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Allow MessageSender to override sendMessage
- https://bugs.webkit.org/show_bug.cgi?id=49457
-
- Change MessageSender::send to encode the message and then call sendMessage.
- This allows for clients to override sendMessage, something which WebProcessProxy
- will be able to take advantage of.
-
- * Platform/CoreIPC/MessageSender.h:
- (CoreIPC::MessageSender::send):
- (CoreIPC::MessageSender::sendMessage):
-
-2010-11-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- CoreIPC cleanup
- https://bugs.webkit.org/show_bug.cgi?id=49455
-
- Add a static create function to ArgumentEncoder.
- Factor sync message argument encoder creation out into a new function,
- createSyncMessageArgumentEncoder.
-
- * Platform/CoreIPC/ArgumentEncoder.cpp:
- (CoreIPC::ArgumentEncoder::create):
- * Platform/CoreIPC/ArgumentEncoder.h:
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::createSyncMessageArgumentEncoder):
- (CoreIPC::Connection::dispatchSyncMessage):
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::send):
- (CoreIPC::Connection::sendSync):
- * UIProcess/WebProcessProxy.h:
- (WebKit::WebProcessProxy::send):
-
-2010-11-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- ASSERTION when converting some WKStringRefs returned from willSubmitForm to CFStringRef
- <rdar://problem/8662180>
- https://bugs.webkit.org/show_bug.cgi?id=49454
-
- Enforce the invariant that a WebString never contains a null WTF::String at a
- lower level, in the WebString constructor, instead of relying on the callers of
- WebString::create to do it.
-
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toAPI):
- (WebKit::toCopiedAPI): Remove null string check...
-
- * Shared/WebString.h:
- (WebKit::WebString::WebString): ... and move it to the constructor.
-
- * Shared/API/c/WKURL.cpp:
- (WKURLCopyString): Use toCopiedAPI() instead of calling WebString directly
- to match other similar uses.
-
-2010-11-12 Andreas Kling <kling@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt][WK2] Fix leaking of mapped files
-
- MappedMemory::fileName was never set on the receiving side, which led
- the MappedMemoryPool to call QFile::map() again when reusing an existing file.
-
- * Platform/qt/MappedMemoryPool.cpp:
- (WebKit::MappedMemoryPool::mapFile):
-
-2010-11-12 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * win/WebKit2Generated.make: Copy WKBundlePageOverlay.h.
-
-2010-11-12 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Unreviewed fix after r71857.
-
- * UIProcess/qt/WebInspectorProxyQt.cpp:
- * WebProcess/WebPage/qt/WebInspectorQt.cpp:
-
-2010-11-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Add didReceiveResponse and didReceiveData to the download client
- https://bugs.webkit.org/show_bug.cgi?id=49418
-
- * UIProcess/API/C/WKContext.h:
- Add didReceiveResponse and didReceiveData to WKContextDownloadClient.
-
- * UIProcess/Downloads/DownloadProxy.cpp:
- (WebKit::DownloadProxy::didReceiveResponse):
- (WebKit::DownloadProxy::didReceiveData):
- Call WebDownloadClient member functions.
-
- * UIProcess/Downloads/DownloadProxy.messages.in:
- Add DidReceiveResponse and DidReceiveData messages.
-
- * UIProcess/WebDownloadClient.cpp:
- (WebKit::WebDownloadClient::didReceiveResponse):
- (WebKit::WebDownloadClient::didReceiveData):
- Call client functions.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Let Xcode update the file.
-
- * WebProcess/Downloads/Download.cpp:
- (WebKit::Download::didReceiveResponse):
- (WebKit::Download::didReceiveData):
- Send messages.
-
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (WebKit::Download::start):
- Set deletesFileUponFailure to NO.
-
- (-[WKDownloadAsDelegate download:didReceiveResponse:]):
- Call didReceiveResponse.
-
-2010-11-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add an argument coder for ResourceResponse.
- https://bugs.webkit.org/show_bug.cgi?id=49415
-
- * Shared/WebCoreArgumentCoders.h:
- * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
- (CoreIPC::encodeResourceResponse):
- (CoreIPC::decodeResourceResponse):
- * Shared/mac/WebCoreArgumentCodersMac.mm:
- (CoreIPC::encodeResourceResponse):
- (CoreIPC::decodeResourceResponse):
- * Shared/qt/WebCoreArgumentCodersQt.cpp:
- (CoreIPC::encodeResourceResponse):
- (CoreIPC::decodeResourceResponse):
- * Shared/win/WebCoreArgumentCodersWin.cpp:
- (CoreIPC::encodeResourceResponse):
- (CoreIPC::decodeResourceResponse):
-
-2010-11-11 Ryosuke Niwa <rniwa@webkit.org>
-
- Unreviewed build fix for r71587.
-
- * WebKit2.xcodeproj/project.pbxproj: No longer uses absolute path.
-
-2010-11-11 Csaba Osztrogonác <ossy@webkit.org>
-
- [Qt] Unreviewed WebKit2 buildfix after r71587.
-
- * UIProcess/qt/WebInspectorProxyQt.cpp:
- * WebKit2.pro:
-
-2010-11-11 Brian Weinstein <bweinstein@apple.com>
-
- More Windows build fixing. Change another #import to a #include, and remove an unneeded
- namespace.
-
- * UIProcess/win/WebInspectorProxyWin.cpp:
- * WebProcess/WebPage/win/WebInspectorWin.cpp:
-
-2010-11-11 Brent Fulgham <bfulgham@webkit.org>
-
- Windows [Cairo] build fix. Unreviewed.
-
- Provide stubs for two BackingStore methods.
-
- * Shared/cairo/BackingStoreCairo.cpp:
- (WebKit::BackingStore::createFlippedGraphicsContext):
- (WebKit::BackingStore::paint):
-
-2010-11-11 Brian Weinstein <bweinstein@apple.com>
-
- Windows Build Fix. Change #imports to #includes.
-
- * UIProcess/win/WebInspectorProxyWin.cpp:
-
-2010-11-08 Timothy Hatcher <timothy@apple.com>
-
- Create and load the Web Inspector page.
-
- https://webkit.org/b/49207
-
- Reviewed by Anders Carlsson.
-
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::WebInspectorProxy::createInspectorPage): Added. Call platformCreateInspectorPage and then
- call WebPageProxy::loadURL with inspectorPageURL.
- (WebKit::WebInspectorProxy::didLoadInspectorPage): Added stub.
- * UIProcess/WebInspectorProxy.h:
- * UIProcess/WebInspectorProxy.messages.in: Added.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage): Call WebInspectorProxy::didReceiveWebInspectorProxyMessage.
- (WebKit::WebPageProxy::didReceiveSyncMessage): Call WebInspectorProxy::didReceiveSyncWebInspectorProxyMessage.
- * UIProcess/WebPageProxy.h: Made creationParameters public so WebInspectorProxy can use it.
-
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (WebKit::WebInspectorProxy::platformCreateInspectorPage): Make a WkView and return the WebPageProxy.
- (WebKit::WebInspectorProxy::inspectorPageURL): Return the file URL for the inspector.html file.
- * UIProcess/qt/WebInspectorProxyQt.cpp:
- (WebKit::WebInspectorProxy::platformCreateInspectorPage): Added stub.
- (WebKit::WebInspectorProxy::inspectorPageURL): Ditto.
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::platformCreateInspectorPage): Added stub.
- (WebKit::WebInspectorProxy::inspectorPageURL): Ditto.
-
- * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
- (WebKit::WebInspectorClient::openInspectorFrontend): Call WebInspector::createInspectorPage and set up the WebInspectorFrontendClient.
- (WebKit::WebInspectorClient::sendMessageToFrontend): Call doDispatchMessageOnFrontendPage in the base class.
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
- (WebKit::WebInspectorFrontendClient::frontendLoaded): Call WebInspector::didLoadInspectorPage.
- (WebKit::WebInspectorFrontendClient::localizedStringsURL): Call WebInspector::localizedStringsURL.
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
-
- * WebProcess/WebPage/WebInspector.cpp:
- (WebKit::WebInspector::WebInspector):
- (WebKit::WebInspector::createInspectorPage): Send a sync WebInspectorProxy::CreateInspectorPage message and set up
- the WebPage using the result page ID.
- (WebKit::WebInspector::didLoadInspectorPage): Send a WebInspectorProxy::DidLoadInspectorPage message.
- * WebProcess/WebPage/WebInspector.h:
- (WebKit::WebInspector::inspectorPage): Added.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didReceiveMessage): Call WebInspector::didReceiveWebInspectorMessage.
-
- * WebProcess/WebPage/mac/WebInspectorMac.mm:
- (WebKit::WebInspector::localizedStringsURL): Return the file URL for the localizedStrings.js file.
- * WebProcess/WebPage/qt/WebInspectorQt.cpp:
- (WebKit::WebInspector::localizedStringsURL): Added stub.
- * WebProcess/WebPage/win/WebInspectorWin.cpp:
- (WebKit::WebInspector::localizedStringsURL): Added stub.
-
- * DerivedSources.make: Added WebInspectorProxy.messages.in.
- * DerivedSources.pro: Ditto.
-
- * WebKit2.pro: Added new files.
- * WebKit2.xcodeproj/project.pbxproj: Ditto.
- * win/WebKit2.vcproj: Ditto.
-
-2010-11-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Move the remaining API client classes to use the APIClient base class.
- https://bugs.webkit.org/show_bug.cgi?id=49404
-
- Also moves InjectedBundleClient into its own class to match other API clients.
-
- * UIProcess/WebContextInjectedBundleClient.cpp:
- * UIProcess/WebContextInjectedBundleClient.h:
- * UIProcess/WebHistoryClient.cpp:
- (WebKit::WebHistoryClient::didNavigateWithNavigationData):
- (WebKit::WebHistoryClient::didPerformClientRedirect):
- (WebKit::WebHistoryClient::didPerformServerRedirect):
- (WebKit::WebHistoryClient::didUpdateHistoryTitle):
- (WebKit::WebHistoryClient::populateVisitedLinks):
- * UIProcess/WebHistoryClient.h:
- (WebKit::WebHistoryClient::shouldTrackVisitedLinks):
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::initializeClient):
- (WebKit::InjectedBundle::reportException):
- (WebKit::InjectedBundle::didCreatePage):
- (WebKit::InjectedBundle::willDestroyPage):
- (WebKit::InjectedBundle::didReceiveMessage):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- * WebProcess/InjectedBundle/InjectedBundleClient.cpp: Added.
- (WebKit::InjectedBundleClient::didCreatePage):
- (WebKit::InjectedBundleClient::willDestroyPage):
- (WebKit::InjectedBundleClient::didReceiveMessage):
- * WebProcess/InjectedBundle/InjectedBundleClient.h: Added.
- * win/WebKit2.vcproj:
-
-2010-11-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Remove an unneeded CFAllocatorRef parameter.
-
- * Shared/API/c/mac/WKURLResponseNS.h:
- * Shared/API/c/mac/WKURLResponseNS.mm:
- (WKURLResponseCopyNSURLResponse):
-
-2010-11-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add and implement WKDownloadCopyRequest
- https://bugs.webkit.org/show_bug.cgi?id=49393
-
- * Shared/API/c/mac/WKURLRequestNS.h:
- * Shared/API/c/mac/WKURLRequestNS.mm:
- (WKURLRequestCopyNSURLRequest):
- Remove unneeded CFAllocator parameter.
-
- * Shared/WebURLRequest.cpp:
- (WebKit::WebURLRequest::WebURLRequest):
- * Shared/WebURLRequest.h:
- (WebKit::WebURLRequest::create):
- Change create to take a ResourceRequest instead.
-
- * UIProcess/API/C/WKDownload.cpp:
- (WKDownloadCopyRequest):
- Return a copied WKURLRequest.
-
- * UIProcess/API/C/WKDownload.h:
- * UIProcess/Downloads/DownloadProxy.cpp:
- (WebKit::DownloadProxy::didStart):
- Set the request.
-
- * UIProcess/Downloads/DownloadProxy.h:
- (WebKit::DownloadProxy::request):
- Return the request.
-
- * UIProcess/Downloads/DownloadProxy.messages.in:
- * WebProcess/Downloads/Download.cpp:
- (WebKit::Download::didStart):
- Pass the request along when sending the DidStart message.
-
-2010-11-11 John Sullivan <sullivan@apple.com>
-
- Rubber-stamped by Anders Carlsson.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Added WKBundlePageOverlay.h to the WebKit2 Target and made it public.
-
-2010-11-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Move GraphicsContext setup code to PageOverlay::drawRect
- https://bugs.webkit.org/show_bug.cgi?id=49389
-
- * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::drawRect):
- * WebProcess/WebPage/PageOverlay.cpp:
- (WebKit::PageOverlay::drawRect):
-
-2010-11-11 Adam Roben <aroben@apple.com>
-
- Build fix after r71816
-
- * WebProcess/WebPage/WebPage.messages.in: Compile out
- SetActualVisibleContentRect when ENABLE(TILED_BACKING_STORE) is
- turned off.
-
-2010-11-11 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt][WK2] Implement BackingStore
- https://bugs.webkit.org/show_bug.cgi?id=49377
-
- * Shared/qt/BackingStoreQt.cpp:
- (WebKit::createQImage): Added static helper. Creates a QImage
- from the shared memory buffer.
- (WebKit::BackingStore::createGraphicsContext):
- (WebKit::BackingStore::createFlippedGraphicsContext): Leave
- unimplemented with an ASSERT_NOT_REACHED since this is only
- needed for the CoreGraphics backend.
- (WebKit::BackingStore::paint):
-
-2010-11-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Add a Qt WebKit2 API for overriding the actual visible content rect
- https://bugs.webkit.org/show_bug.cgi?id=49381
-
- Add an Qt WebKit2 API for overriding the actual visible content rect in
- WebCore. This is supposed to be used in combination with tiling.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::setActualVisibleContentsRect):
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setActualVisibleContentRect):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setActualVisibleContentRect):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
-
-2010-11-10 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=49356
- -[WebView _scaleWebView:] should take and origin and scroll the
- document
- -and corresponding-
- <rdar://problem/8643921>
-
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toImpl):
- * UIProcess/API/C/WKPage.cpp:
- (WKPageScaleWebView):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::scaleWebView):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::scaleWebView):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
-
-2010-11-10 Ada Chan <adachan@apple.com>
-
- Fix Windows build.
-
- * win/WebKit2Generated.make:
-
-2010-11-10 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Misc drawing area cleanup
- https://bugs.webkit.org/show_bug.cgi?id=49349
-
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- (WebKit::LayerBackedDrawingAreaProxy::setSize):
- (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
- (WebKit::LayerBackedDrawingAreaProxy::update):
- Call process()->send() instead of process()->connection()->send() in case
- the web process has not been launched yet.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage): Delay creation of the drawing area
- until after other WebPage state has been initialized, in case
- the DrawingArea creation needs to call back to the WebPage.
-
-2010-11-10 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Adam Roben.
-
- Push m_viewSize down to DrawingAreaProxy base class
- https://bugs.webkit.org/show_bug.cgi?id=49347
-
- Some refactoring so that the various drawing area classes
- can share m_size.
-
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
* UIProcess/ChunkedUpdateDrawingAreaProxy.h:
* UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::setSize):
- (WebKit::DrawingAreaProxy::size):
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- (WebKit::LayerBackedDrawingAreaProxy::setSize):
- * UIProcess/LayerBackedDrawingAreaProxy.h:
- * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
- (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
- (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
- * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
- (WebKit::LayerBackedDrawingAreaProxy::platformSetSize):
- (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
- * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
- * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
-
-2010-11-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Closing tabs sometimes crashes the WebProcess in invalidateContentsAndWindow
- https://bugs.webkit.org/show_bug.cgi?id=49335
- <rdar://problem/8646621>
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::changeAcceleratedCompositingMode):
- If we fail to send the DidChangeAcceleratedCompositing message, don't null out the
- drawing area. This will happen during page teardown.
-
-2010-11-10 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by David Hyatt.
-
- HTML5 Ruby support should be mandatory feature
- https://bugs.webkit.org/show_bug.cgi?id=49272
-
- Remove Ruby as optional feature.
-
- * Configurations/FeatureDefines.xcconfig:
- * WebKit2Prefix.h: Touch it to avoid incremental build failure on Windows.
-
-2010-11-10 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add license to DerivedSources.make.
-
- * DerivedSources.make:
-
-2010-11-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- Convert client classes to use APIClient base class.
- https://bugs.webkit.org/show_bug.cgi?id=49322
-
- * UIProcess/WebFormClient.cpp:
- (WebKit::WebFormClient::willSubmitForm):
- * UIProcess/WebFormClient.h:
- * UIProcess/WebLoaderClient.cpp:
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPolicyClient.cpp:
- * UIProcess/WebPolicyClient.h:
- * UIProcess/WebUIClient.cpp:
- * UIProcess/WebUIClient.h:
- * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
- * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
- * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
-
-2010-11-10 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ * UIProcess/DrawingAreaProxyImpl.h:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ * WebProcess/WebPage/DrawingAreaImpl.h:
- [Qt][WK2] Fix re-use of memory-mapped files
- https://bugs.webkit.org/show_bug.cgi?id=49310
+2011-02-25 Andras Becsi <abecsi@webkit.org>
- QTemporaryFile::fileName() returns an empty string after close()
- so we have to keep separate track of the filename.
+ Reviewed by Csaba Osztrogonác.
- Also, we can't reopen the file if it's been QFile::remove()d,
- so we defer unlinking until the MappedMemoryPool is destroyed or
- the CrashHandler kicks in.
+ [Qt] Make the WebKit2 build system less confusing for non-Qt developers
+ https://bugs.webkit.org/show_bug.cgi?id=55213
- This makes re-use of memory-mapped files work (after we kill an
- assertion that the file size == the new mmap size - it's fine if
- the file is larger, too.)
+ * WebKit2API.pri: Added.
- * Platform/qt/MappedMemoryPool.cpp:
- (WebKit::MappedMemoryPool::~MappedMemoryPool):
- (WebKit::MappedMemoryPool::clear):
- (WebKit::MappedMemoryPool::mapMemory):
- (WebKit::MappedMemoryPool::mapFile):
- * Platform/qt/MappedMemoryPool.h:
- (WebKit::MappedMemory::mappedFileName):
- * Shared/qt/CrashHandler.cpp:
- (WebKit::CrashHandler::deleteObjects):
- * Shared/qt/UpdateChunk.cpp:
- (WebKit::UpdateChunk::encode):
+2011-02-25 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> and Alejandro G. Castro <alex@igalia.com>
-2010-11-09 Brady Eidson <beidson@apple.com>
+ Reviewed by Martin Robinson.
- Reviewed by the ever-picky Windows build-bot.
+ [GTK] Implement WebView and WebKitWebView classes for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=48509
- Windows build bot was complaining about this.
+ * GNUmakefile.am:
+ * UIProcess/API/C/gtk/WKView.cpp:
+ * UIProcess/API/C/gtk/WKView.h: Removed gdkrectangle from
+ constructor.
+ * UIProcess/gtk/WebViewWidget.cpp: Added. The GObject interface
+ for WebView. The GObject is the GtkWidget handle which is used by
+ WebView class for GTK port.
+ * UIProcess/gtk/WebViewWidget.h: Added. The GObject interface
+ declarations for GtkWidget handle for GTK port.
+ * UIProcess/gtk/WebView.cpp: Added. The native GtkWidget handle
+ for GTK port which is associated with each WKViewRef.
+ * UIProcess/gtk/WebView.h: Added. Class which implements the
+ PageClient interface. It is a wrapper over the native GtkWidget
+ handle associated with each WKViewRef for GTK port.
- * Shared/WebContextMenuItemData.cpp:
- (WebKit::WebContextMenuItemData::core):
+2011-02-25 Alejandro G. Castro <alex@igalia.com>
-2010-11-09 Anders Carlsson <andersca@apple.com>
+ Fix GTK compilation after r79654.
- Reviewed by John Sullivan.
+ * GNUmakefile.am:
- WKDownload.h should be a public header.
+2011-02-24 Brian Weinstein <bweinstein@apple.com>
- * WebKit2.xcodeproj/project.pbxproj:
+ Qt build fix.
-2010-11-09 Brady Eidson <beidson@apple.com>
+ * WebKit2.pri:
- Reviewed by Darin Adler.
+2011-02-24 Brady Eidson <beidson@apple.com>
- Part of <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=48720
- Customizable context menu support in WebKit2.
+ Reviewed by Sam Weinig and looked over by Brian Weinstein.
- This adds a BundlePageContextMenu client and lets WebKit2 consult it with the proposed
- list of WebContextMenuItems.
- There is no realistic API for the embedding app to actually inspect or create new
- WebContextMenuItems (will be "WKContextMenuItem") and that ability will come later.
+ Part of <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172
+ Need WebKit2 API to view/manage origins with LocalStorage.
+ Project file stuff:
+ * GNUmakefile.am:
+ * WebKit2.pri:
* WebKit2.pro:
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+ * win/WebKit2Generated.make:
- * Platform/Logging.cpp:
- (initializeLogChannelsIfNecessary):
- * Platform/Logging.h:
-
- * Shared/APIObject.h:
-
- * Shared/MutableArray.cpp:
- (WebKit::MutableArray::reserveCapacity):
- * Shared/MutableArray.h:
-
- * Shared/WebContextMenuItem.cpp: Added.
- (WebKit::WebContextMenuItem::WebContextMenuItem):
- (WebKit::WebContextMenuItem::data):
- * Shared/WebContextMenuItem.h: Added.
- (WebKit::WebContextMenuItem::create):
- (WebKit::WebContextMenuItem::type):
-
- * Shared/WebContextMenuItemData.cpp:
- (WebKit::WebContextMenuItemData::core):
- (WebKit::kitItems):
- (WebKit::coreItems):
- * Shared/WebContextMenuItemData.h:
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageSetContextMenuClient):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
-
- * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: Added.
- (WebKit::InjectedBundlePageContextMenuClient::InjectedBundlePageContextMenuClient):
- (WebKit::InjectedBundlePageContextMenuClient::initialize):
- (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
- * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h: Added.
-
- * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
- (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems): Call through to the injected bundle client
- with the default items and convert the returned items back for WebCore to use.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::initializeInjectedBundleContextMenuClient):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::injectedBundleContextMenuClient):
-
-2010-11-09 Sam Weinig <sam@webkit.org>
-
- Add some stylistic flourish to the last patch as suggested by Lord Darin Adler.
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageGetSourceForFrame):
- (WKPageGetContentsAsString):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::invalidateCallbackMap):
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::contentsAsString):
-
-2010-11-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Need WebKit2 mechanism for getting the visible page text
- <rdar://problem/8646928>
- https://bugs.webkit.org/show_bug.cgi?id=49275
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageGetContentsAsString):
- (callContentsAsStringBlockBlockAndDispose):
- (WKPageGetContentsAsString_b):
- * UIProcess/API/C/WKPage.h:
- Add GetContentsAsString callback function declaration and forwarding.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::invalidateCallbackMap):
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::getContentsAsString):
- (WebKit::WebPageProxy::didGetContentsAsString):
- (WebKit::WebPageProxy::processDidCrash):
- * UIProcess/WebPageProxy.h:
- Add GetContentsAsString callback and generalize invalidating the callback
- maps into a standalone function.
-
- * UIProcess/WebPageProxy.messages.in:
- Add DidGetContentsAsString return message.
-
- * WebProcess/WebPage/WebFrame.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::contentsAsString):
- Gets the string content of all the subframes.
-
- (WebKit::WebFrame::isFrameSet):
- Call through to the document.
-
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::getContentsAsString):
- Forward to the the main frames contentsAsString function.
-
- * WebProcess/WebPage/WebPage.messages.in:
- Add GetContentsAsString and collect all callback messages together.
-
-2010-11-09 Sam Weinig <sam@webkit.org>
-
- Fix mac build.
-
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::platformSetCacheModel):
-
-2010-11-09 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler, Dan Bernstein.
-
- <rdar://problem/8360145> Pages using accelerated compositing missing content on Windows
-
- Disable accelerated compositing on Windows until we have cross-process
- rendering implemented.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
-
-2010-11-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add injected bundle API for creating page overlays
- https://bugs.webkit.org/show_bug.cgi?id=49282
-
+ WK2 derived sources and API stuff:
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ * Platform/CoreIPC/MessageID.h:
* Shared/API/c/WKBase.h:
- Add WKBundlePageOverlayRef.
-
* Shared/APIObject.h:
- Add TypeBundlePageOverlay.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- Add WKBundlePageOverlayRef mapping.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageInstallPageOverlay):
- Install the passed in page overlay.
-
- (WKBundlePageUninstallPageOverlay):
- Uninstall the passed in page overlay.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: Added.
- (PageOverlayClientImpl::create):
- (PageOverlayClientImpl::PageOverlayClientImpl):
- (PageOverlayClientImpl::pageOverlayDestroyed):
- (PageOverlayClientImpl::willMoveToWebPage):
- (PageOverlayClientImpl::didMoveToWebPage):
- (PageOverlayClientImpl::drawRect):
- (PageOverlayClientImpl::mouseEvent):
- Add a PageOverlay::Client subclass that forwards everything to its client.
-
- (WKBundlePageOverlayGetTypeID):
- (WKBundlePageOverlayCreate):
- Create a page overlay.
-
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::pageOverlayDestroyed):
- * WebProcess/WebPage/FindController.h:
- Add stub.
-
- * WebProcess/WebPage/PageOverlay.h:
- Inherit from APIObject.
-
- (WebKit::PageOverlay::type):
- return TypeBundlePageOverlay.
-
- * win/WebKit2.vcproj:
- Add new files.
-
-2010-11-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Get rid of FindPageOverlay
- https://bugs.webkit.org/show_bug.cgi?id=49268
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- Remove files.
-
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::findString):
- Create a PageOverlay with the FindController as its client.
-
- (WebKit::FindController::willMoveToWebPage):
- Null out the find page overlay if the web page is null.
-
- (WebKit::FindController::didMoveToWebPage):
- Add stub.
-
- * WebProcess/WebPage/FindController.h:
- FindController is now a PageOverlay::Client.
-
- * WebProcess/WebPage/FindPageOverlay.cpp: Removed.
- * WebProcess/WebPage/FindPageOverlay.h: Removed.
- * WebProcess/WebPage/PageOverlay.cpp:
- (WebKit::PageOverlay::setPage):
- Call the willMoveToWebPage and didMoveToWebPage client functions.
-
- (WebKit::PageOverlay::setNeedsDisplay):
- Pass the page overlay bounds instead of the web page size.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::installPageOverlay):
- Clear the page of the previous page overlay.
-
- (WebKit::WebPage::uninstallPageOverlay):
- Clear the page of the previous page overlay.
-
- * WebProcess/WebPage/WebPage.h:
- The page overlay is now refcounted.
-
- * win/WebKit2.vcproj:
- Remove files.
-
-2010-11-09 Sam Weinig <sam@webkit.org>
-
- Fix windows build.
-
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::WebProcess::platformSetCacheModel):
-
-2010-11-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- Factor calculation of cache sizes based on cache model into shared function
- https://bugs.webkit.org/show_bug.cgi?id=48706
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::calculateCacheSizes):
- * WebProcess/WebProcess.h:
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::volumeFreeSize):
- (WebKit::WebProcess::platformSetCacheModel):
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::memorySize):
- (WebKit::volumeFreeSize):
- (WebKit::WebProcess::platformSetCacheModel):
-
-2010-11-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Context menus show up in the wrong place when the page is scrolled
- https://bugs.webkit.org/show_bug.cgi?id=49264
-
- Convert the hitTestResult point into 'window' coordinates before sending over
- to the UIProcess to show the menu.
-
- * WebProcess/WebPage/WebContextMenu.cpp:
- (WebKit::WebContextMenu::show):
- Convert to use message sender interface.
-
- (WebKit::WebContextMenu::itemSelected):
- Remove unnecessary WebCore::'s.
-
-2010-11-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Send messages directly to the WebContext
- https://bugs.webkit.org/show_bug.cgi?id=49262
-
- * Platform/CoreIPC/MessageID.h:
- Temporarily add MessageClassWebContextLegacy.
-
- * Shared/CoreIPCSupport/WebContextMessageKinds.h:
- Rename adding Legacy prefix.
+ * UIProcess/API/C/WKAPICast.h:
+ Add an KeyValueStorageManager to the context and invalidate it at the appropriate times:
* UIProcess/WebContext.cpp:
- (WebKit::WebContext::didNavigateWithNavigationData):
- (WebKit::WebContext::didPerformClientRedirect):
- (WebKit::WebContext::didPerformServerRedirect):
- (WebKit::WebContext::didUpdateHistoryTitle):
- (WebKit::WebContext::setCacheModel):
- (WebKit::WebContext::addVisitedLink):
- (WebKit::WebContext::addVisitedLinkHash):
- (WebKit::WebContext::getPlugins):
- (WebKit::WebContext::getPluginPath):
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::~WebContext):
+ (WebKit::WebContext::disconnectProcess):
(WebKit::WebContext::didReceiveMessage):
- (WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebContext.h:
- * UIProcess/WebContext.messages.in: Added.
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::getPluginProcessConnection):
- (WebKit::WebProcessProxy::didReceiveMessage):
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
- * UIProcess/WebProcessProxy.h:
- * UIProcess/WebProcessProxy.messages.in:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::postMessage):
- (WebKit::InjectedBundle::postSynchronousMessage):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::updateGlobalHistory):
- (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
- (WebKit::WebFrameLoaderClient::setTitle):
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::WebPlatformStrategies::populatePluginCache):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::createPlugin):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::addVisitedLink):
- Move context related messages to be sent directly to the context.
-
- * DerivedSources.make:
- * DerivedSources.pro:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add new files.
-
-2010-11-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Move the find page overlay code to FindController
- https://bugs.webkit.org/show_bug.cgi?id=49266
-
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::~FindController):
- (WebKit::FindController::rectsForTextMatches):
- (WebKit::overlayBackgroundColor):
- (WebKit::FindController::drawRect):
- (WebKit::FindController::mouseEvent):
- * WebProcess/WebPage/FindController.h:
- * WebProcess/WebPage/FindPageOverlay.cpp:
- (WebKit::FindPageOverlay::drawRect):
- (WebKit::FindPageOverlay::mouseEvent):
- * WebProcess/WebPage/FindPageOverlay.h:
- * WebProcess/WebPage/PageOverlay.cpp:
- (WebKit::PageOverlay::bounds):
- (WebKit::PageOverlay::drawRect):
- (WebKit::PageOverlay::mouseEvent):
- * WebProcess/WebPage/PageOverlay.h:
-
-2010-11-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Add a PageOverlay::Client object in preparation of not allowing subclassing of PageOverlay
- https://bugs.webkit.org/show_bug.cgi?id=49263
-
- * WebProcess/WebPage/FindPageOverlay.cpp:
- (WebKit::FindPageOverlay::FindPageOverlay):
- Call the PageOverlay constructor.
-
- (WebKit::FindPageOverlay::drawRect):
- (WebKit::FindPageOverlay::mouseEvent):
- These now take a PageOverlay callback.
+ (WebKit::WebContext::keyValueStorageManagerProxy):
- * WebProcess/WebPage/FindPageOverlay.h:
- FindPageOverlay now inherits from PageOverlay::Client.
-
- * WebProcess/WebPage/PageOverlay.cpp:
- (WebKit::PageOverlay::create):
- Add create function.
-
- (WebKit::PageOverlay::PageOverlay):
- The constructor now takes a client.
-
- (WebKit::PageOverlay::drawRect):
- (WebKit::PageOverlay::mouseEvent):
- Call the client methods.
-
- * WebProcess/WebPage/PageOverlay.h:
- Add Client class.
-
-2010-11-09 Dan Bernstein <mitz@apple.com>
-
- Rubber-stamped by Darin Adler.
-
- <rdar://problem/8646456> WebProcess crashes reproducibly on complex text
-
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Initialize wkCreateCTTypesetterWithUniCharProviderAndOptions
- and wkCreateCTLineWithUniCharProvider.
-
-2010-11-09 Sam Weinig <sam@webkit.org>
-
- Fix Windows build.
-
- * win/WebKit2.vcproj:
-
-2010-11-09 Sam Weinig <sam@webkit.org>
-
- Fix Qt build.
-
- * WebKit2.pro:
-
-2010-11-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Windows Popup widget support (<select>)
- <rdar://problem/8559439>
- https://bugs.webkit.org/show_bug.cgi?id=48701
-
- Port WebCore's PopupMenuWin's implementation to work within the confines of WebKit2.
- Since we currently can't draw text using WebCore in the UIProcess, this approach uses
- the WebProcess to create two bitmaps representing the full popup menu (both unselected and
- selected) and sends them to the UIProcess to be drawn in an HWND.
-
- * Shared/BackingStore.h:
- * Shared/cg/BackingStoreCG.cpp:
- * Shared/qt/BackingStoreQt.cpp:
-
- Add new function to create a flipped graphics context from the backing store,
- and add additional parameters to paint, to allow more control of how the backing
- store is painted into the destination context.
-
- * Shared/PlatformPopupMenuData.cpp: Added.
- (WebKit::PlatformPopupMenuData::PlatformPopupMenuData):
- (WebKit::PlatformPopupMenuData::encode):
- (WebKit::PlatformPopupMenuData::decode):
- * Shared/PlatformPopupMenuData.h: Added.
- Add struct so platforms can send platform specific data to their popup menu implementations.
-
- * Shared/WebPopupItem.cpp:
- (WebKit::WebPopupItem::WebPopupItem):
- (WebKit::WebPopupItem::encode):
- (WebKit::WebPopupItem::decode):
- * Shared/WebPopupItem.h:
- Add isLabel for each menu item.
-
- * UIProcess/FindIndicator.cpp:
- (WebKit::FindIndicator::draw):
- Update for new BackingStore::paint signature.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::showPopupMenu):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebPopupMenuProxy.h:
- * UIProcess/mac/WebPopupMenuProxyMac.h:
- * UIProcess/mac/WebPopupMenuProxyMac.mm:
- (WebKit::WebPopupMenuProxyMac::showPopupMenu):
- * UIProcess/qt/WebPopupMenuProxyQt.cpp:
- (WebKit::WebPopupMenuProxyQt::showPopupMenu):
- * UIProcess/qt/WebPopupMenuProxyQt.h:
- Pass through the new PlatformPopupMenuData.
-
- * UIProcess/win/WebPopupMenuProxyWin.cpp:
- * UIProcess/win/WebPopupMenuProxyWin.h:
- Port implementation from WebCore.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::createPopupMenuProxy):
- Pass the WebView to the WebPopupMenuProxyWin.
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::paint):
- (WebKit::PluginProxy::update):
- Update for new BackingStore::paint signature.
-
- * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
- (WebKit::WebPopupMenu::populateItems): Add isLabel for each item.
- (WebKit::WebPopupMenu::show): Give each platform a chance to add platform specific data.
- * WebProcess/WebCoreSupport/WebPopupMenu.h:
-
- * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm: Added.
- (WebKit::WebPopupMenu::setUpPlatformData):
- * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp: Added.
- (WebKit::WebPopupMenu::setUpPlatformData):
- Add stubbed out setUpPlatformData.
-
- * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Added.
- (WebKit::WebPopupMenu::setUpPlatformData):
- Compute data needed in the UIProcess including generating the bitmaps.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add new files.
-
-2010-11-09 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Csaba Osztrogonác.
-
- [Qt][WK2] ASSERT fail in fast/frames/lots-of-objects.html
- https://bugs.webkit.org/show_bug.cgi?id=49253
-
- * Platform/qt/SharedMemoryQt.cpp:
- (WebKit::SharedMemory::create): Do not assert
- when the attach was unsuccessful but return with 0.
-
-2010-11-09 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt][WK2] WebKitTestRunner is dead
- https://bugs.webkit.org/show_bug.cgi?id=49129
-
- * Platform/qt/SharedMemoryQt.cpp:
- (WebKit::SharedMemory::~SharedMemory):
- Follow up fix: do not access the QSharedMemory object
- in an assert if it has been deleted.
-
-2010-11-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling.
-
- Send page scroll requests to the PageClient when scroll delegation is turned on
- https://bugs.webkit.org/show_bug.cgi?id=49171
-
- Implement the IPC and API required for making scroll delegation work
- with WebKit2. This is only used when you have tiling enabled.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::pageDidRequestScroll):
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::pageDidRequestScroll):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::delegatedScrollRequested):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::pageDidRequestScroll):
- * WebProcess/WebPage/WebPage.h:
-
-2010-11-08 Ivan Krstić <ike@apple.com>
-
- Reviewed by Mark Rowe.
-
- <rdar://problem/8531943> Enable partial symbolication for sandbox violations in WebProcess.
-
- * WebProcess/com.apple.WebProcess.sb:
-
-2010-11-08 Juha Savolainen <juha.savolainen@weego.fi>
-
- Reviewed by Andreas Kling.
-
- [Qt] Added new methods to QWKHistory and made QWKHistoryItemPrivate to shared object.
- https://bugs.webkit.org/show_bug.cgi?id=49063
-
- Added more functionality to the QWKHistory and changed QWKHistoryItemPrivate to shared object.
- This is needed because we cannot delete the QWKHistoryItemPrivate pointer in destructor of QWKHistoryItem,
- there may have other history instances which share same private implementation.
-
- * UIProcess/API/qt/qwkhistory.cpp:
- (QWKHistoryItemPrivate::~QWKHistoryItemPrivate):
- (QWKHistoryItem::QWKHistoryItem):
- (QWKHistoryItem::QWKHistoryItem::operator=):
- (QWKHistory::currentItem): Added
- (QWKHistory::backItem): Added
- (QWKHistory::forwardItem): Added
- (QWKHistory::itemAt): Added
- (QWKHistory::backItems): Added
- (QWKHistory::forwardItems): Added
- * UIProcess/API/qt/qwkhistory.h:
- * UIProcess/API/qt/qwkhistory_p.h:
-
-2010-11-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add WKDownloadClient API
- https://bugs.webkit.org/show_bug.cgi?id=49227
-
- * Shared/API/c/WKBase.h:
- Add WKDownloadRef.
-
- * UIProcess/API/C/WKAPICast.h:
- Add WKDownloadRef <-> DownloadProxy mapping.
-
+ Add API to get the KeyValueStorageManager for a context:
* UIProcess/API/C/WKContext.cpp:
- (WKContextSetDownloadClient):
- Initialize the download client.
-
+ (WKContextGetKeyValueStorageManager):
* UIProcess/API/C/WKContext.h:
- Add new WKContextDownloadClient API.
-
- * UIProcess/API/C/WKDownload.cpp: Added.
- * UIProcess/API/C/WKDownload.h:
- Add WKDownload files.
-
- * UIProcess/Downloads/DownloadProxy.cpp:
- (WebKit::DownloadProxy::didStart):
- (WebKit::DownloadProxy::didCreateDestination):
- (WebKit::DownloadProxy::didFinish):
- Call down to the the WebDownloadClient.
-
- * UIProcess/Downloads/DownloadProxy.messages.in:
- Rename DidBegin to DidStart.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::initializeDownloadClient):
- Initialize the download client.
-
- * UIProcess/WebContext.h:
- (WebKit::WebContext::downloadClient):
- Add getter.
-
- * UIProcess/WebDownloadClient.cpp:
- (WebKit::WebDownloadClient::didStart):
- (WebKit::WebDownloadClient::didCreateDestination):
- (WebKit::WebDownloadClient::didFinish):
- Call the relevant WKContextDownloadClient functions.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebProcess/Downloads/Download.cpp:
- (WebKit::Download::didStart):
- * WebProcess/Downloads/Download.h:
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (-[WKDownloadAsDelegate downloadDidBegin:]):
- Rename Download::didBegin to Download::didStart.
-
- * win/WebKit2.vcproj:
- Add new files.
-
-2010-11-08 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Part of https://bugs.webkit.org/show_bug.cgi?id=49222
- Rename "WebContextMenuItem" to "WebContextMenuItemData"
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
- * Shared/WebContextMenuItem.cpp: Removed.
- * Shared/WebContextMenuItem.h: Removed.
- * Shared/WebContextMenuItemData.cpp: Copied from Shared/WebContextMenuItem.cpp.
- (WebKit::WebContextMenuItemData::WebContextMenuItemData):
- (WebKit::WebContextMenuItemData::encode):
- (WebKit::WebContextMenuItemData::decode):
- (WebKit::kitItems):
- * Shared/WebContextMenuItemData.h: Copied from Shared/WebContextMenuItem.h.
- (WebKit::WebContextMenuItemData::submenu):
-
- * UIProcess/WebContextMenuProxy.h:
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::showContextMenu):
- (WebKit::WebPageProxy::contextMenuItemSelected):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
-
- * UIProcess/mac/WebContextMenuProxyMac.h:
- * UIProcess/mac/WebContextMenuProxyMac.mm:
- (-[WebMenuTarget forwardContextMenuAction:]):
- (WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
- (WebKit::nsMenuItemVector):
- (WebKit::WebContextMenuProxyMac::populate):
- (WebKit::WebContextMenuProxyMac::showContextMenu):
-
- * UIProcess/qt/WebContextMenuProxyQt.cpp:
- (WebKit::WebContextMenuProxyQt::showContextMenu):
- * UIProcess/qt/WebContextMenuProxyQt.h:
-
- * UIProcess/win/WebContextMenuProxyWin.cpp:
- (WebKit::WebContextMenuProxyWin::showContextMenu):
- * UIProcess/win/WebContextMenuProxyWin.h:
-
- * WebProcess/WebPage/WebContextMenu.cpp:
- (WebKit::WebContextMenu::itemSelected):
- * WebProcess/WebPage/WebContextMenu.h:
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didSelectItemFromActiveContextMenu):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
-
-2010-11-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan and Dan Bernstein.
-
- Find in Page: scrolling the page with the scrollbar while overlay is up dismisses the overlay
- https://bugs.webkit.org/show_bug.cgi?id=49219
- <rdar://problem/8569550>
-
- * WebProcess/WebPage/FindPageOverlay.cpp:
- (WebKit::FindPageOverlay::bounds):
- Return the bounds of the find page overlay, excluding any scrollbars.
-
- (WebKit::FindPageOverlay::drawRect):
- Call bounds.
-
- (WebKit::FindPageOverlay::mouseEvent):
- Only dismiss the find UI if the mouse down event happens inside the overlay bounds.
-
-2010-11-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add the ability to send messages to DownloadProxy objects
- https://bugs.webkit.org/show_bug.cgi?id=49213
-
- * DerivedSources.make:
- * DerivedSources.pro:
- Add Download.messages.in.
-
- * Platform/CoreIPC/MessageID.h:
- Add MessageClassDownloadProxy message class.
-
- * Platform/CoreIPC/MessageSender.h:
- Include Connection.h directly since it's required.
-
- * UIProcess/Downloads/DownloadProxy.cpp:
- (WebKit::DownloadProxy::didBegin):
- (WebKit::DownloadProxy::didCreateDestination):
- (WebKit::DownloadProxy::didFinish):
- Add stubs.
-
- * UIProcess/Downloads/DownloadProxy.messages.in: Added.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::didReceiveMessage):
- Handle DownloadProxy messages.
+ Route messages to the right place:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage):
- Hand DownloadProxy messages off to the context.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebProcess/Downloads/Download.cpp:
- (WebKit::Download::didBegin):
- (WebKit::Download::didReceiveData):
- (WebKit::Download::didCreateDestination):
- (WebKit::Download::didFinish):
- Send messages.
-
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (-[WKDownloadAsDelegate download:didCreateDestination:]):
- Call Download::didCreateDestination.
-
- * win/WebKit2.vcproj:
- Add new files.
-
-2010-11-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add DownloadProxy object
- https://bugs.webkit.org/show_bug.cgi?id=49211
-
- DownloadProxy will be the implementation of the forthcoming WKDownloadRef object.
-
- * Shared/APIObject.h:
- Add TypeDownload.
-
- * UIProcess/Downloads/DownloadProxy.cpp:
- (WebKit::generateDownloadID):
- Generate a unique download ID.
-
- (WebKit::DownloadProxy::invalidate):
- Null out the web context.
-
- * UIProcess/Downloads/DownloadProxy.h:
- (WebKit::WebContext::processDidClose):
- Invalidate all downloads.
-
- (WebKit::WebContext::createDownloadProxy):
- Create a WebDownload object.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::receivedPolicyDecision):
- Call createDownloadProxy instead.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add new files.
-
- * win/WebKit2Common.vsprops:
- Add new include path.
-
-2010-11-08 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=49201
- Crash when closing a page
-
- Handle null frame by passing a 0 frame id (normal ones start from 1).
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::focusedFrameChanged):
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::focusedFrameChanged):
-
-2010-11-08 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Function call update for
- https://bugs.webkit.org/show_bug.cgi?id=27165.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::Stream::start):
-
-2010-11-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- NPClass::construct and NPClass::invokeDefault never called with out-of-process plug-ins in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=49198
-
- * Shared/Plugins/NPObjectMessageReceiver.cpp:
- (WebKit::NPObjectMessageReceiver::invokeDefault):
- Call NPClass::invokeDefault.
-
- (WebKit::NPObjectMessageReceiver::construct):
- Call NPClass::construct
-
- * Shared/Plugins/NPObjectMessageReceiver.messages.in:
- Add InvokeDefault and Construct messages.
-
- * Shared/Plugins/NPObjectProxy.cpp:
- (WebKit::NPObjectProxy::invokeDefault):
- Send the InvokeDefault message.
-
- (WebKit::NPObjectProxy::construct):
- Send the Construct message.
-
- (WebKit::NPObjectProxy::NP_InvokeDefault):
- Call NPObjectProxy::invokeDefault.
-
- (WebKit::NPObjectProxy::NP_Construct):
- Call NPObjectProxy::construct.
-
-2010-11-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Plug-in views should not assume that plugins are RenderEmbeddedObjects
- https://bugs.webkit.org/show_bug.cgi?id=49196
- <rdar://problem/8638467>
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::pluginProcessCrashed):
-
-2010-11-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- NPN_Evaluate doesn't work with out-of-process plugins in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=49193
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::evaluate):
- Send an Evaluate message.
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::evaluate):
- Call Evaluate on the plug-in proxy.
-
- * WebProcess/Plugins/PluginProxy.h:
- * WebProcess/Plugins/PluginProxy.messages.in:
- Add Evaluate message.
-
-2010-11-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Correctly convert NPObjectProxy to NPVariantData
- https://bugs.webkit.org/show_bug.cgi?id=49190
-
- * Shared/Plugins/NPObjectMessageReceiver.h:
- (WebKit::NPObjectMessageReceiver::npObject):
- Add NPObject getter.
-
- * Shared/Plugins/NPObjectProxy.h:
- (WebKit::NPObjectProxy::npObjectID):
- Add NPObjectID getter.
-
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
- Handle the case where the NPObject is an NPObjectProxy.
-
- (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
- Handle NPVariantData::LocalNPObjectID.
-
- * Shared/Plugins/NPVariantData.cpp:
- (WebKit::NPVariantData::makeRemoteNPObjectID):
- * Shared/Plugins/NPVariantData.h:
- New function for creating an NPVariantData that contains a remote NPObject ID.
-
-2010-11-08 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=48685
- Notify UI process about focused frame
-
- Handle notifications, store the current one in WebPageProxy in UI process.
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageGetFocusedFrame):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::focusedFrameChanged):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::focusedFrame):
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::focusedFrameChanged):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
-
-2010-11-07 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Rename Cache to MemoryCache
- https://bugs.webkit.org/show_bug.cgi?id=49159
-
* WebProcess/WebProcess.cpp:
- * WebProcess/mac/WebProcessMac.mm:
- * WebProcess/win/WebProcessWin.cpp:
-
-2010-11-06 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt][WK2] WebKitTestRunner is dead
- https://bugs.webkit.org/show_bug.cgi?id=49129
-
- * Platform/qt/SharedMemoryQt.cpp:
- (WebKit::SharedMemory::~SharedMemory):
- Avoid double deletion when deleteLater has
- already been called.
-
-2010-11-05 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- suspendAnimations/resumeAnimations not present in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=49109
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameSuspendAnimations):
- (WKBundleFrameResumeAnimations):
- * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::suspendAnimations):
- (WebKit::WebFrame::resumeAnimations):
- * WebProcess/WebPage/WebFrame.h:
-
-2010-11-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- WebProcess won't kill itself if UIProcess goes away while WebProcess is spinning
- https://bugs.webkit.org/show_bug.cgi?id=49090
- <rdar://problem/7834575>
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::connectionDidClose):
- Call Client::didCloseOnConnectionWorkQueue.
-
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::Client::didCloseOnConnectionWorkQueue):
- Add new client function. Will be called on the connection work queue when the connection is closed.
-
- * Platform/WorkItem.h:
- (FunctionWorkItem0::FunctionWorkItem0):
- (FunctionWorkItem0::execute):
- (WorkItem::create):
- Add a new WorkItem subclass that will invoke a C function.
-
- * Platform/WorkQueue.h:
- * Platform/mac/WorkQueueMac.cpp:
- (WorkQueue::scheduleWorkAfterDelay):
- New function which will schedule the given work item to be executed in at least 'delay' seconds.
-
- * Platform/qt/WorkQueueQt.cpp:
- (WorkQueue::scheduleWorkAfterDelay):
- Add empty stub.
-
- * Platform/win/WorkQueueWin.cpp:
- (WorkQueue::scheduleWorkAfterDelay):
- Ditto.
-
- * PluginProcess/PluginProcess.h:
- Derive from ChildProcess.
-
- * Shared/ChildProcess.cpp: Added.
- (WebKit::ChildProcess::ChildProcess):
- (WebKit::ChildProcess::~ChildProcess):
- (WebKit::watchdogCallback):
- Call _exit.
-
- (WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
- When the connection is closed, schedule a work item to be run in 10 seconds. If the process hasn't
- exited normally by then, we'll exit.
-
- * Shared/ChildProcess.h:
- Add new ChildProcess class which is a common base class of WebProcess and PluginProcess and which contains
- the watchdog timer logic.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebProcess/WebProcess.h:
- Derive from ChildProcess.
-
- * win/WebKit2.vcproj:
- Add new files.
-
-2010-11-05 Adam Roben <aroben@apple.com>
-
- Implement PluginInfoStore::shouldUsePlugin on Windows
-
- Fixes <http://webkit.org/b/43509> <rdar://problem/8273822> WebKit2
- should refuse to load the same plugins that old-WebKit refuses to load
-
- Reviewed by Anders Carlsson.
-
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- (WebKit::fileVersion): Helper function to construct a 64-bit file
- version from two 32-bit numbers.
- (WebKit::PluginInfoStore::getPluginInfo): Ported code from
- WebCore::PluginPackage::fetchInfo to get the plugin's version. We now
- store it in Plugin::fileVersion.
-
- (WebKit::isOldWindowsMediaPlayerPlugin):
- (WebKit::isNewWindowsMediaPlayerPlugin):
- Added these helpers. The code came from
- WebCore::PluginDatabase::getPluginPathsInDirectories.
-
- (WebKit::PluginInfoStore::shouldUsePlugin): Implemented. The code was
- ported from WebCore::PluginDatabase::getPluginPathsInDirectories and
- WebCore::PluginPackage::isPluginBlacklisted.
-
-2010-11-05 Adam Roben <aroben@apple.com>
-
- Operate on m_plugins directly in PluginInfoStore::shouldUsePlugin
-
- We'll need to operate on m_plugins if we ever want to unload an
- already-loaded plugin before loading the new one.
-
- Fixes <http://webkit.org/b/49076> loadedPlugins parameter to
- PluginInfoStore::shouldUsePlugin is redundant
-
- Reviewed by Anders Carlsson.
-
- * UIProcess/Plugins/PluginInfoStore.cpp:
- (WebKit::PluginInfoStore::loadPlugin):
- * UIProcess/Plugins/PluginInfoStore.h:
- * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
- (WebKit::PluginInfoStore::shouldUsePlugin):
- * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
- (WebKit::PluginInfoStore::shouldUsePlugin):
- * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
- (WebKit::PluginInfoStore::shouldUsePlugin):
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- (WebKit::PluginInfoStore::shouldUsePlugin):
- Removed the loadedPlugins parameter from shouldUsePlugin. The single
- implementation (Mac) now uses m_plugins directly.
-
-2010-11-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Implement pluginElementNPObject
- https://bugs.webkit.org/show_bug.cgi?id=49077
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::pluginElementNPObject):
- Send the GetPluginElementNPObject message.
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::getPluginElementNPObject):
- Get the plug-in element NPObject and expose it to the other side of the connection.
-
- * WebProcess/Plugins/PluginProxy.messages.in:
- Add GetPluginElementNPObject.
-
-2010-11-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Implement NP_RemoveProperty and NP_Enumerate
- https://bugs.webkit.org/show_bug.cgi?id=49046
-
- * Shared/Plugins/NPObjectMessageReceiver.cpp:
- (WebKit::NPObjectMessageReceiver::removeProperty):
- Call the removeProperty NPClass function.
-
- (WebKit::NPObjectMessageReceiver::enumerate):
- Call the enumerate NPClass function.
-
- * Shared/Plugins/NPObjectMessageReceiver.messages.in:
- Add RemoveProperty and Enumerate messages.
-
- * Shared/Plugins/NPObjectProxy.cpp:
- (WebKit::NPObjectProxy::removeProperty):
- Send the RemoveProperty message.
-
- (WebKit::NPObjectProxy::enumerate):
- Send the Enumerate message.
-
- (WebKit::NPObjectProxy::NP_RemoveProperty):
- Call removeProperty.
-
- (WebKit::NPObjectProxy::NP_Enumerate):
- Call enumerate.
-
-2010-11-05 Sam Weinig <sam@webkit.org>
-
- Fix failing python tests.
-
- * Scripts/webkit2/messages.py:
- * Scripts/webkit2/messages_unittest.py:
-
-2010-11-05 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben..
-
- Generate the messages sent to the WebProcessProxy
- https://bugs.webkit.org/show_bug.cgi?id=49062
-
- * Platform/CoreIPC/MessageID.h:
- Temporarily add MessageClassWebProcessProxyLegacy while we still can't
- support GetPluginProcessConnection (and deferred sync replies) in the
- general mechanism.
-
- * Scripts/webkit2/messages.py:
- Add support for WebCore::PluginData and WebKit::WebNavigationDataStore.
-
- * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
- Remove now unused kinds. Rename to MessageClassWebProcessProxyLegacy.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::getPluginPath):
- (WebKit::WebProcessProxy::addBackForwardItem):
- (WebKit::WebProcessProxy::didNavigateWithNavigationData):
- (WebKit::WebProcessProxy::didPerformClientRedirect):
- (WebKit::WebProcessProxy::didPerformServerRedirect):
- (WebKit::WebProcessProxy::didUpdateHistoryTitle):
- (WebKit::WebProcessProxy::didReceiveMessage):
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
- (WebKit::WebProcessProxy::didDestroyFrame):
- * UIProcess/WebProcessProxy.h:
- * UIProcess/WebProcessProxy.messages.in: Added.
- Move implementations to their own functions.
-
- * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
- (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
- Change to use WebProcessProxyLegacyMessage.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::updateGlobalHistory):
- (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
- (WebKit::WebFrameLoaderClient::setTitle):
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::WebPlatformStrategies::populatePluginCache):
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- (WebKit::updateBackForwardItem):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::createPlugin):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::addVisitedLink):
- (WebKit::WebProcess::removeWebFrame):
- Use generated messages.
-
- * DerivedSources.make:
- * DerivedSources.pro:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add new files.
-
-2010-11-04 Adam Roben <aroben@apple.com>
-
- Use a window region to clip windowed plugins
-
- Fixes <http://webkit.org/b/49024> <rdar://problem/8487847> Windowed
- plugins aren't clipped in WebKit2 on Windows
-
- Reviewed by Jon Honeycutt.
-
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- (WebKit::registerPluginView): Removed the CS_PARENTDC style. This style
- makes Windows ignore the window region and always clip to the parent
- window. Also pass WebKit.dll's HINSTANCE as part of the WNDCLASSW
- struct so that the window class will be specific to WebKit.dll rather
- than to WebKit2WebProcess.exe. This is useful for testing, but also
- more pedantically correct.
- (WebKit::setWindowRegion): Helper function to set a window region and
- deal with ownership of the HRGN correctly.
- (WebKit::NetscapePlugin::platformGeometryDidChange): Make an HRGN that
- corresponds to m_clipRect and set it on the plugin's window.
-
-2010-11-05 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt][WK2] Left over files and shared memory segments
- https://bugs.webkit.org/show_bug.cgi?id=48985
-
- * Platform/qt/SharedMemoryQt.cpp:
- (WebKit::SharedMemory::create): Force deletion of the QSharedMemory
- object on terminate by connecting QCoreApplication::aboutToQuit with
- deleteLater. Add the object to the CrashHandler as well to release the
- shared memory segment even on crash.
- (WebKit::SharedMemory::~SharedMemory):
- * Shared/qt/CrashHandler.cpp: Added.
- CrashHandler has a container for QObjects that we want to
- destroy on crash. When we got a signal that we interpret as
- a crash then it destroys those objects.
- (WebKit::CrashHandler::CrashHandler):
- (WebKit::CrashHandler::signalHandler):
- (WebKit::CrashHandler::deleteObjects):
- * Shared/qt/CrashHandler.h: Added.
- (WebKit::CrashHandler::instance):
- (WebKit::CrashHandler::didDelete):
- (WebKit::CrashHandler::markForDeletionOnCrash):
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- (WebKit::ProcessLauncherHelper::ProcessLauncherHelper):
- Add the object itself to the CrashHandler to close the QLocalServer
- even on crash. Without that the QLocalServer leaves over socket files on the disk.
- (WebKit::ProcessLauncherHelper::~ProcessLauncherHelper):
- * WebKit2.pro:
-
-2010-11-04 Jia Pu <jpu@apple.com>
-
- Reviewed by Dan Bernstein.
-
- reversion bubble in WebViews
- https://bugs.webkit.org/show_bug.cgi?id=47630
- <rdar://problem/8530960>
-
- This patch is to add reversion to correction panel. Please see WebCore/ChangeLog for detail.
-
- * WebProcess/WebCoreSupport/WebEditorClient.h: Adopted new signature of base class method.
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: Ditto.
- (WebKit::WebEditorClient::showCorrectionPanel):
- (WebKit::WebEditorClient::dismissCorrectionPanel):
-
-2010-11-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by David Hyatt.
-
- Delegate scrolling via a separate method
- https://bugs.webkit.org/show_bug.cgi?id=48988
-
- Add delegatedScrollRequested method to WebChromeClient,
- which is only used in conjunging with tiling, and thus ifdef'ed.
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::delegatedScrollRequested):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
-
-2010-11-03 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Need a way to test in WebKit2 whether a form field contains marked text
- <rdar://problem/8555293>
- https://bugs.webkit.org/show_bug.cgi?id=48969
-
- Added a selection changed notification from the Web process to the UI process.
- The message being sent contains information about the current selection.
- Event though for this specific bug the only information required is the marked text,
- I've added other selection information that will be needed to support IME.
- All the stubbed methods are required methods by the NSTextInput protocol.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::selectionChanged): Added.
- * UIProcess/API/mac/WKView.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:pageNamespaceRef:]): Added initialization of new members.
- (-[WKView _selectionChanged:isEditable:isPassword:hasMarkedText:]): Stores the values from
- the selection changed message.
- (-[WKView selectedRange]): Added stub.
- (-[WKView hasMarkedText]): Implemented.
- (-[WKView unmarkText]): Added stub.
- (-[WKView validAttributesForMarkedText]): Added stub.
- (-[WKView setMarkedText:selectedRange:]): Added stub.
- (-[WKView markedRange]): Added stub.
- (-[WKView attributedSubstringFromRange:]): Added stub.
- (-[WKView conversationIdentifier]): Added stub.
- (-[WKView characterIndexForPoint:]): Added stub.
- (-[WKView firstRectForCharacterRange:]): Added stub.
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::selectionChanged): Added.
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didSelectionChange): New message handler.
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::selectionChanged): Added.
- * UIProcess/win/WebView.h:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::respondToChangedSelection): Added implementation.
-
-2010-11-04 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt][WK2] Cleanup UpdateChunk and MappedMemoryPool
- https://bugs.webkit.org/show_bug.cgi?id=48994
-
- * Platform/qt/MappedMemoryPool.cpp:
- (WebKit::MappedMemoryPool::mapMemory):
- Removed argument with default value that was always
- used with the default value.
- (WebKit::MappedMemoryPool::mapFile): Ditto and
- add some asserts.
- * Platform/qt/MappedMemoryPool.h:
- Encapsulating MappedMemory and remove the unused
- MappedMemoryPool::searchForMappedMemory method.
- (WebKit::MappedMemory::mappedFile):
- (WebKit::MappedMemory::markFree):
- (WebKit::MappedMemory::data):
- (WebKit::MappedMemory::MappedMemory):
- (WebKit::MappedMemory::markUsed):
- (WebKit::MappedMemory::mapSize):
- (WebKit::MappedMemory::isFree):
- (WebKit::MappedMemoryPool::instance):
- * Shared/qt/UpdateChunk.cpp:
- Removed the unused data method besides other cleanups.
- (WebKit::UpdateChunk::UpdateChunk):
- (WebKit::UpdateChunk::encode):
- (WebKit::UpdateChunk::decode):
- (WebKit::UpdateChunk::createImage):
- * Shared/qt/UpdateChunk.h:
-
-2010-11-04 Andreas Kling <kling@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Add a stub WebContextMenuProxy
-
- This is the Qt equivalent of r71333.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::createContextMenuProxy):
- * UIProcess/qt/WebContextMenuProxyQt.cpp: Added.
- (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
- (WebKit::WebContextMenuProxyQt::create):
- (WebKit::WebContextMenuProxyQt::showContextMenu):
- (WebKit::WebContextMenuProxyQt::hideContextMenu):
- * UIProcess/qt/WebContextMenuProxyQt.h: Added.
- * WebKit2.pro:
-
-2010-11-04 Adam Roben <aroben@apple.com>
-
- Add a do-nothing WebContextMenuProxy implementation on Windows
-
- Fixes <http://webkit.org/b/48992> REGRESSION (r71041): Crash in
- WebPageProxy::showContextMenu when right-clicking in WebKit2 on
- Windows
-
- Reviewed by Dan Bernstein.
-
- * UIProcess/win/WebContextMenuProxyWin.cpp: Added.
- (WebKit::WebContextMenuProxyWin::WebContextMenuProxyWin):
- (WebKit::WebContextMenuProxyWin::create):
- (WebKit::WebContextMenuProxyWin::showContextMenu):
- (WebKit::WebContextMenuProxyWin::hideContextMenu):
- * UIProcess/win/WebContextMenuProxyWin.h: Added.
- Just stubbed-out this class.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::createContextMenuProxy): Create a new
- WebContextMenuProxyWin and return it. Returning 0 results in a crash.
-
- * win/WebKit2.vcproj: Added WebContextMenuProxyWin.
-
-2010-11-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Andreas Kling..
-
- [Qt] Build Webkit2 both in debug and release on Mac
-
- On Mac OS X we build QtWebKit in both debug and release, so
- we need to also build the webkit2 library in both configs.
-
- * WebKit2.pro:
-
-2010-11-04 Adam Roben <aroben@apple.com>
-
- Remove lame puts()s from WebPageProxy
-
- Rubber-stamped by Anders Carlsson.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::loadURL):
- (WebKit::WebPageProxy::loadURLRequest):
-
-2010-11-03 Alice Liu <alice.liu@apple.com>
-
- Fix clang++ build
-
- * PluginProcess/PluginProcess.h:
- * UIProcess/Plugins/PluginProcessProxy.h:
- * UIProcess/WebContextMenuProxy.h:
- Change class to struct and vise versa where needed.
-
-2010-11-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Implement NP_SetProperty
- https://bugs.webkit.org/show_bug.cgi?id=48956
-
- * Shared/Plugins/NPObjectMessageReceiver.cpp:
- (WebKit::NPObjectMessageReceiver::setProperty):
- Call the NPClass setProperty function.
-
- * Shared/Plugins/NPObjectMessageReceiver.messages.in:
- Add SetProperty message.
-
- * Shared/Plugins/NPObjectProxy.cpp:
- (WebKit::NPObjectProxy::setProperty):
- Send a SetProperty message.
-
- (WebKit::NPObjectProxy::NP_SetProperty):
- Call NPObjectProxy::setProperty.
-
-2010-11-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Simon Fraser.
-
- Out of process plug-ins don't support the CA drawing model
- https://bugs.webkit.org/show_bug.cgi?id=48950
- <rdar://problem/8626019>
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::callMemberFunction):
- Add new overload.
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::initialize):
- Call platformInitialize().
-
- (WebKit::PluginControllerProxy::destroy):
- Call platformDestroy().
-
- (WebKit::PluginControllerProxy::isAcceleratedCompositingEnabled):
- Assume that accelerated compositing is available if we have a render server port.
-
- (WebKit::PluginControllerProxy::geometryDidChange):
- Call platformGeometryDidChange().
-
- * PluginProcess/PluginProcess.h:
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::createPlugin):
- Pass back the remote layer client ID.
-
- * PluginProcess/WebProcessConnection.messages.in:
- Add a remoteLayerClientID out parameter to CreatePlugin.
-
- * PluginProcess/mac/PluginControllerProxyMac.mm: Added.
- (WebKit::PluginControllerProxy::platformInitialize):
- If the plug-in has a layer, create a remote layer client and associate it with the layer.
-
- (WebKit::PluginControllerProxy::platformDestroy):
- Invalidate the remote layer client.
-
- (WebKit::PluginControllerProxy::remoteLayerClientID):
- Return the remote layer client ID if one exists.
-
- (WebKit::PluginControllerProxy::platformGeometryDidChange):
- Update the layer bounds.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm: Added.
- (WebKit::PluginProxy::pluginLayer):
- Create a render layer if needed.
-
- (WebKit::PluginProxy::needsBackingStore):
- Return whether the plug-in needs a backing store. (It doesn't need a backing store if it's a CA plug-in).
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::PluginProxy):
- Initialize m_remoteLayerClientID.
-
- (WebKit::PluginProxy::initialize):
- Set m_remoteLayerClientID.
-
- (WebKit::PluginProxy::paint):
- Bail if the plug-in doesn't need a backing store.
-
- (WebKit::PluginProxy::geometryDidChange):
- Don't create a backing store if the plug-in doesn't need one.
-
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
- Remove RetainPtr initialization.
-
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- (WebKit::LayerBackedDrawingArea::platformClear):
- Use nullptr instead of 0.
-
-2010-11-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Simon Fraser.
-
- Crash when layout in response to setSize changes the drawing area
- https://bugs.webkit.org/show_bug.cgi?id=48947
-
- This is tested by compositing/plugins/small-to-large-composited-plugin.html.
-
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- (WebKit::ChunkedUpdateDrawingArea::setSize):
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::setSize):
-
-2010-11-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Pass the accelerated compositing render server port to the plug-in process at startup
- https://bugs.webkit.org/show_bug.cgi?id=48925
-
- * PluginProcess/PluginProcess.cpp:
- (WebKit::PluginProcess::PluginProcess):
- Initialize m_compositingRenderServerPort to MACH_PORT_NULL.
-
- (WebKit::PluginProcess::initialize):
- Get the plug-in path and render server port from the creation parameters.
-
- * PluginProcess/PluginProcess.messages.in:
- Change the Initialize message to take a PluginProcessCreationParameters struct.
-
- * Shared/Plugins/PluginProcessCreationParameters.cpp: Added.
- * Shared/Plugins/PluginProcessCreationParameters.h: Added.
- Add new PluginProcessCreationParameters struct.
-
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::didFinishLaunching):
- Initialize now takes a PluginProcessCreationParameters struct.
-
- * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: Added.
- (WebKit::PluginProcessProxy::platformInitializePluginProcess):
- Initialize the render server port.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
-2010-11-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Add the webkit2 library to LIBS instead of QMAKE_LFLAGS
-
- Otherwise the library order will get messed up and cause
- missing symbols on Mac OS X.
-
- * WebKit2.pri:
- * WebKit2.pro:
-
-2010-11-02 Daniel Bates <dbates@rim.com>
-
- Reviewed by Adam Barth.
-
- For unnamed frames, window.name returns a generated name
- https://bugs.webkit.org/show_bug.cgi?id=6751
-
- Part 1 of 2.
-
- Substitute FrameTree::uniqueName() for FrameTree::name() in WebKit2.
-
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::name):
-
-2010-11-02 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
-
- Reviewed by Martin Robinson.
-
- Changes to enable building WebKit2 for Gtk port.
- (https://bugs.webkit.org/show_bug.cgi?id=37369)
-
- * Platform/gtk: Added.
- * Platform/gtk/SharedMemoryGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
- (WebKit::SharedMemory::Handle::Handle):
- (WebKit::SharedMemory::Handle::~Handle):
- (WebKit::SharedMemory::Handle::encode):
- (WebKit::SharedMemory::Handle::decode):
- (WebKit::SharedMemory::create):
- (WebKit::SharedMemory::~SharedMemory):
- (WebKit::SharedMemory::createHandle):
- (WebKit::SharedMemory::systemPageSize):
- * Shared/gtk: Added.
- * Shared/gtk/BackingStoreGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
- (WebKit::BackingStore::createGraphicsContext):
- (WebKit::BackingStore::paint):
- * Shared/gtk/PlatformCertificateInfo.h: Added. Added. Stubbed implementation for GTK port. Yet to implement.
- (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
- (WebKit::PlatformCertificateInfo::encode):
- (WebKit::PlatformCertificateInfo::decode):
- * Shared/gtk/WebCoreArgumentCodersGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
- (CoreIPC::encodeResourceRequest):
- (CoreIPC::decodeResourceRequest):
- * UIProcess/Plugins/gtk: Added.
- * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
- (WebKit::PluginInfoStore::pluginsDirectories):
- (WebKit::PluginInfoStore::pluginPathsInDirectory):
- (WebKit::PluginInfoStore::individualPluginPaths):
- (WebKit::PluginInfoStore::getPluginInfo):
- (WebKit::PluginInfoStore::shouldUsePlugin):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- * WebProcess/InjectedBundle/gtk: Added.
- * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
- (WebKit::InjectedBundle::load):
- (WebKit::InjectedBundle::activateMacFontAscentHack):
- * WebProcess/Plugins/Netscape/gtk: Added.
- * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
- (WebKit::NetscapePlugin::platformPostInitialize):
- (WebKit::NetscapePlugin::platformDestroy):
- (WebKit::NetscapePlugin::platformGeometryDidChange):
- (WebKit::NetscapePlugin::platformPaint):
- (WebKit::toNP):
- (WebKit::NetscapePlugin::platformHandleMouseEvent):
- (WebKit::NetscapePlugin::platformHandleWheelEvent):
- (WebKit::NetscapePlugin::platformSetFocus):
- (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
- (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
- (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
- * WebProcess/WebCoreSupport/gtk: Added.
- * WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h: Added. Added. Stubbed implementation for GTK port. Yet to implement.
- (WebFrameNetworkingContext::create):
- (WebFrameNetworkingContext::WebFrameNetworkingContext):
-
-2010-11-02 Jing Jin <jjin@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Key down calls are not being sent to the application.
- https://bugs.webkit.org/show_bug.cgi?id=48867
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView keyDown:]): Call super when ignoring a key down.
-
-2010-11-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Add Null and Int32 to NPVariantData
- https://bugs.webkit.org/show_bug.cgi?id=48887
-
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
- (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
- * Shared/Plugins/NPVariantData.cpp:
- (WebKit::NPVariantData::NPVariantData):
- (WebKit::NPVariantData::makeNull):
- (WebKit::NPVariantData::makeInt32):
- (WebKit::NPVariantData::encode):
- (WebKit::NPVariantData::decode):
- * Shared/Plugins/NPVariantData.h:
- (WebKit::NPVariantData::int32Value):
-
-2010-11-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add support for NP_HasMethod and NP_Invoke
- https://bugs.webkit.org/show_bug.cgi?id=48882
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::callMemberFunction):
- Add new overload.
-
- * Shared/Plugins/NPObjectMessageReceiver.cpp:
- (WebKit::NPObjectMessageReceiver::hasMethod):
- Call hasMethod and return the result.
-
- (WebKit::NPObjectMessageReceiver::invoke):
- Convert the arguments, call invoke and return the result.
-
- (WebKit::NPObjectMessageReceiver::getProperty):
- Release the converted variant.
-
- * Shared/Plugins/NPObjectMessageReceiver.messages.in:
- Add HasMethod and Invoke messages.
-
- * Shared/Plugins/NPObjectProxy.cpp:
- (WebKit::NPObjectProxy::hasMethod):
- Send the HasMethod message.
-
- (WebKit::NPObjectProxy::invoke):
- Send the Invoke message.
-
- (WebKit::NPObjectProxy::NP_HasMethod):
- Call hasMethod.
-
- (WebKit::NPObjectProxy::NP_Invoke):
- Call invoke.
-
-2010-11-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement NP_HasProperty for NPObjectProxy
- https://bugs.webkit.org/show_bug.cgi?id=48876
-
- * Shared/Plugins/NPObjectMessageReceiver.cpp:
- (WebKit::NPObjectMessageReceiver::hasProperty):
- Call The hasProperty callback function.
-
- * Shared/Plugins/NPObjectMessageReceiver.messages.in:
- Add HasProperty message.
-
- * Shared/Plugins/NPObjectProxy.cpp:
- (WebKit::NPObjectProxy::hasProperty):
- Send the HasProperty message.
-
- (WebKit::NPObjectProxy::NP_HasProperty):
- Call hasProperty.
-
-
-2010-11-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add a way to send startup messages on the context which can be posted when a process launches
- <rdar://problem/8617928>
- https://bugs.webkit.org/show_bug.cgi?id=48838
-
- Adds WKContextSetInitializationUserDataForInjectedBundle which sets an
- APIObject on WebContext to be sent to the InjectedBundle's WKBundleInitialize
- function each time a process starts up. This can help in cases where
- the WebProcess dies, and will be helpful in the world where there are
- multiple WebProcess's per context.
-
- * Scripts/webkit2/messages.py:
- * UIProcess/API/C/WKContext.cpp:
- (WKContextSetInitializationUserDataForInjectedBundle):
- * UIProcess/API/C/WKContext.h:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::ensureWebProcess):
- * UIProcess/WebContext.h:
- (WebKit::WebContext::setInjectedBundleInitializationUserData):
- (WebKit::WebContext::injectedBundleInitializationUserData):
- * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h:
- * WebProcess/InjectedBundle/InjectedBundle.h:
- * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
- (WebKit::InjectedBundle::load):
- * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
- (WebKit::InjectedBundle::load):
- * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
- (WebKit::InjectedBundle::load):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
- * WebProcess/WebProcess.h:
- * WebProcess/WebProcess.messages.in:
-
-2010-11-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
+ (WebKit::WebProcess::didReceiveMessage):
- Implement PluginProxy::pluginScriptableNPObject
- https://bugs.webkit.org/show_bug.cgi?id=48874
+ Add the API object, which wraps to WebKeyValueStorageManagerProxy:
+ * UIProcess/API/C/WKKeyValueStorageManager.cpp: Added.
+ (WKKeyValueStorageManagerGetTypeID):
+ (WKKeyValueStorageManagerGetKeyValueStorageOrigins):
+ (WKKeyValueStorageManagerDeleteEntriesForOrigin):
+ (WKKeyValueStorageManagerDeleteAllEntries):
+ * UIProcess/API/C/WKKeyValueStorageManager.h: Added.
+
+ The UIProcess implementation of the manager to send messages to the WebProcess and pipe a callback back up to the client:
+ * UIProcess/WebKeyValueStorageManagerProxy.cpp: Added.
+ (WebKit::WebKeyValueStorageManagerProxy::create):
+ (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
+ (WebKit::WebKeyValueStorageManagerProxy::~WebKeyValueStorageManagerProxy):
+ (WebKit::WebKeyValueStorageManagerProxy::invalidate):
+ (WebKit::WebKeyValueStorageManagerProxy::didReceiveMessage):
+ (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
+ (WebKit::WebKeyValueStorageManagerProxy::didGetKeyValueStorageOrigins):
+ (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
+ (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
+ * UIProcess/WebKeyValueStorageManagerProxy.h: Added.
+ (WebKit::WebKeyValueStorageManagerProxy::clearContext):
+ (WebKit::WebKeyValueStorageManagerProxy::type):
+ * UIProcess/WebKeyValueStorageManagerProxy.messages.in: Added.
+
+ The WebProcess implementation to response to UIProcess messages and actually do the dirty-work in WebCore:
+ * WebProcess/KeyValueStorage: Added.
+ * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: Added.
+ (WebKit::WebKeyValueStorageManager::shared):
+ (WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager):
+ (WebKit::WebKeyValueStorageManager::didReceiveMessage):
+ (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
+ (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
+ (WebKit::WebKeyValueStorageManager::deleteAllEntries):
+ * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h: Added.
+ * WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in: Added.
+
+2011-02-24 Darin Adler <darin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Image-based cursors do not work
+ https://bugs.webkit.org/show_bug.cgi?id=55184
+
+ * Shared/ShareableBitmap.h: Added releaseData function
+ declaration. This is only defined for CG, but we can declare
+ it without defining it on non-CG platforms without causing problems.
+
+ * Shared/WebCoreArgumentCoders.cpp: Added.
+ (CoreIPC::encodeImage): Added. For use in the Cursor argument coder.
+ (CoreIPC::decodeImage): Ditto.
+
+ * Shared/WebCoreArgumentCoders.h: Added code to the Cursor encoder
+ and decoder to handle image-based cursors, using the new encodeImage
+ and decodeImage functions.
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::getPluginScriptableNPObject):
- Ask the plug-in for its scriptable NPObject, register it with the map and return its object ID.
+ * Shared/cg/ShareableBitmapCG.cpp:
+ (WebKit::ShareableBitmap::releaseData): Added.
+ (WebKit::ShareableBitmap::createGraphicsContext): Use
+ CGBitmapContextCreateWithData instead of CGBitmapContextCreate,
+ to guarantee we outlast the CGBitmapContext we create.
+ (WebKit::ShareableBitmap::paint): Got rid of unnneeded local variable.
- * PluginProcess/PluginControllerProxy.messages.in:
- Add GetPluginScriptableNPObject message.
+ * Shared/cg/WebCoreArgumentCodersCG.cpp: Added.
+ (CoreIPC::createImage): Added. For use by CoreIPC::decodeImage.
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::pluginScriptableNPObject):
- Send the GetPluginScriptableNPObject message.
+ * WebKit2.xcodeproj/project.pbxproj: Added WebCoreArgumentCoders.cpp
+ and WebCoreArgumentCodersCG.cpp.
+ * win/WebKit2.vcproj: Ditto.
-2010-11-02 Anders Carlsson <andersca@apple.com>
+2011-02-24 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
- Add strings to NPVariantData
- https://bugs.webkit.org/show_bug.cgi?id=48871
+ Crash when trying to send a sync message on an invalid connection
+ https://bugs.webkit.org/show_bug.cgi?id=55190
+ <rdar://problem/9035806>
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
- (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
- * Shared/Plugins/NPVariantData.cpp:
- (WebKit::NPVariantData::makeString):
- (WebKit::NPVariantData::encode):
- (WebKit::NPVariantData::decode):
- * Shared/Plugins/NPVariantData.h:
- (WebKit::NPVariantData::stringValue):
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendSyncMessage):
+ Don't try to call a client function if isValid() returns false since the client
+ will be null in that case.
-2010-11-02 Anders Carlsson <andersca@apple.com>
+2011-02-24 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
- Add convenience functions for allocating NPAPI memory
- https://bugs.webkit.org/show_bug.cgi?id=48870
-
- Add npnMemAlloc, npnMemFree and createNPString functions and
- npnMemNew, npnMemNewArray function templates.
-
- * WebProcess/Plugins/Netscape/JSNPObject.cpp:
- (WebKit::JSNPObject::getOwnPropertyNames):
- Use npnMemFree.
-
- * WebProcess/Plugins/Netscape/NPJSObject.cpp:
- (WebKit::NPJSObject::enumerate):
- Use npnMemNewArray.
-
- * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
- Use createNPString.
-
- * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
- (WebKit::npnMemAlloc):
- Call malloc.
-
- (WebKit::npnMemFree):
- Call free.
-
- (WebKit::createNPString):
- Allocate the characters for a new NPString.
-
- (WebKit::createNPObject):
- Call npnMemNew.
-
- (WebKit::deallocateNPObject):
- Call npnMemFree.
-
- (WebKit::releaseNPVariantValue):
- Call npnMemFree.
-
- * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
- (WebKit::npnMemNew):
- (WebKit::npnMemNewArray):
- Add new functions.
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_MemAlloc):
- Call npnMemAlloc.
-
- (WebKit::NPN_MemFree):
- Call npnMemFree.
-
- (WebKit::NPN_UTF8FromIdentifier):
- Call npnMemNewArray.
-
- (WebKit::copyCString):
- Call npnMemNewArray. Correctly initialize the "len" out parameter.
-
-2010-11-02 Jessie Berlin <jberlin@apple.com>
-
- Windows build fix. Unreviewed.
-
- * win/WebKit2Generated.make:
- Add WKInspector.h so that it is copied over to the WebKitBuild directory.
-
-2010-11-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add some support for remote and local NPObjects to NPRemoteObjectMap
- https://bugs.webkit.org/show_bug.cgi?id=48864
-
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
- If the NPVariant contains an NPObject that isn't an NPObjectProxy, register it
- and return its ID.
-
- (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
- If the NPVariantData contains a remote object, create an NPObjectProxy and return it.
-
- * Shared/Plugins/NPVariantData.cpp:
- (WebKit::NPVariantData::NPVariantData):
- Initialize m_localNPObjectIDValue and m_remoteNPObjectIDValue.
-
- (WebKit::NPVariantData::makeLocalNPObjectID):
- Create an NPVariantData that contains a local NPObject ID.
-
- (WebKit::NPVariantData::encode):
- Handle local and remote NPObject IDs.
-
- (WebKit::NPVariantData::decode):
- Decode local and remote NPObject IDs and "swap them" so an encoded remote NPObject ID is
- decoded as a local NPObjectID (and vice versa).
-
- * Shared/Plugins/NPVariantData.h:
- (WebKit::NPVariantData::localNPObjectIDValue):
- (WebKit::NPVariantData::remoteNPObjectIDValue):
-
-2010-11-02 Anders Carlsson <andersca@apple.com>
-
- Attempt to fix a GCC release only warning.
-
- * Shared/Plugins/NPVariantData.cpp:
- (WebKit::NPVariantData::NPVariantData):
-
-2010-11-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Invalidate the NPRemoteObjectMap
- https://bugs.webkit.org/show_bug.cgi?id=48856
-
- * Shared/Plugins/NPObjectMessageReceiver.cpp:
- (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
- Remove FIXME. The NPRemoteObjectMap always outlives the NPObjectMessageReceiver.
-
- * Shared/Plugins/NPObjectProxy.cpp:
- (WebKit::NPObjectProxy::~NPObjectProxy):
- Call npObjectProxyDestroyed here.
-
- (WebKit::NPObjectProxy::invalidate):
- Null out m_npRemoteObjectMap.
-
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- (WebKit::NPRemoteObjectMap::~NPRemoteObjectMap):
- Add assertions.
-
- (WebKit::NPRemoteObjectMap::createNPObjectProxy):
- Keep track of the NPObjectProxy by adding it to the m_npObjectProxies set.
-
- (WebKit::NPRemoteObjectMap::npObjectProxyDestroyed):
- Remove the NPObjectProxy from the m_npObjectProxies set.
-
- (WebKit::NPRemoteObjectMap::invalidate):
- Delete all NPObjectMessageReceivers. Iterate over all NPObjectProxy objects and invalidate them.
-
-2010-11-02 Mike Thole <mthole@apple.com>
-
- Reviewed by Anders Carlsson.
-
- WebProcessManager informed about crashes too late (pages may have already tried to load a new URL)
- https://bugs.webkit.org/show_bug.cgi?id=48853
-
- This also fixes: <rdar://problem/8610451> Webkit2: Crash in WebKit!WebKit::WebProcessProxy::sendMessage opening google.com page
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::~WebProcessProxy):
- Removed invalid assertion that is hit when the WebProcess dies unexpectedly.
- (WebKit::WebProcessProxy::didClose):
- Reordered so that the individual pages are informed that the processDidCrash() after the shared
- WebProcessManager has been. This allows the pages to properly trigger a new process to be launched.
-
-2010-11-02 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- WebKit2: Repeated cmd-key presses lead to unusable UI state
- https://bugs.webkit.org/show_bug.cgi?id=48811
- <rdar://problem/8611924>
-
- Given the asynchronous nature of every interaction with the WebProcess,
- we could re-send a keyDown event to AppKit that maps to an
- action that is currently disabled and therefore will not trigger an action
- but a call to the keyDown method of the NSView. We need to detect this
- situation to avoid an infinite loop.
+ Remove the layer backed drawing area
+ https://bugs.webkit.org/show_bug.cgi?id=55174
+ * GNUmakefile.am:
+ * Shared/DrawingAreaInfo.h:
* UIProcess/API/mac/WKView.mm:
- (-[WKView performKeyEquivalent:]): Delay the release of the last processed event
- to the moment we receive another event.
- (-[WKView keyDown:]): Added early return in case the event is one we have re-sent.
-
-2010-11-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Handle boolean values in NPVariant and NPVariantData
- https://bugs.webkit.org/show_bug.cgi?id=48852
-
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
- (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
- * Shared/Plugins/NPVariantData.cpp:
- (WebKit::NPVariantData::makeBool):
- (WebKit::NPVariantData::encode):
- (WebKit::NPVariantData::decode):
- * Shared/Plugins/NPVariantData.h:
- (WebKit::NPVariantData::boolValue):
-
-2010-11-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Assertion hit in WebProcessProxy::~WebProcessProxy()
- https://bugs.webkit.org/show_bug.cgi?id=48849
- <rdar://problem/8617676>
-
- It is perfectly valid for the page map to contain pages if the web process proxy
- goes away, this can happen if the process crashes for example.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::~WebProcessProxy):
- Remove the assertion.
-
-2010-11-02 Christian Sejersen <christian.webkit@gmail.com>
-
- Reviewed by Andreas Kling.
-
- The previous patch only took into account arm targets. This one
- now checks whether the build is done inside Scratchbox.
- https://bugs.webkit.org/show_bug.cgi?id=47895
-
- * DerivedSources.pro:
-
-2010-11-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- More NPRuntime work
- https://bugs.webkit.org/show_bug.cgi?id=48847
-
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::~WebProcessConnection):
- Add assertions.
-
- (WebKit::WebProcessConnection::removePluginControllerProxy):
- If we have no more plug-in controller proxies, invalidate the remote object map.
-
- * Shared/Plugins/NPIdentifierData.cpp:
- (WebKit::NPIdentifierData::createNPIdentifier):
- Create an NPIdentifier from the given NPIdentifierData.
-
- * Shared/Plugins/NPObjectMessageReceiver.cpp:
- (WebKit::NPObjectMessageReceiver::create):
- (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
- This now takes the NPRemoteObjectMap as well as the npObjectID of the object.
-
- (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
- Unregister the object.
-
- (WebKit::NPObjectMessageReceiver::deallocate):
- Delete the object.
-
- (WebKit::NPObjectMessageReceiver::getProperty):
- Ask the NPObject for the property and convert it back to an NPVariantData.
-
- * Shared/Plugins/NPObjectProxy.cpp:
- (WebKit::NPObjectProxy::~NPObjectProxy):
- Send a Deallocate message to the corresponding message receiver on the other side.
-
- (WebKit::NPObjectProxy::getProperty):
- Convert the NPVariantData back to an NPVariant and return it.
-
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- (WebKit::NPRemoteObjectMap::registerNPObject):
- Pass the NPRemoteObjectMap and the npObjectID to NPObjectMessageReceiver::create.
-
- (WebKit::NPRemoteObjectMap::unregisterNPObject):
- Remove the given object from the map of registered objects.
-
- (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
- Given an NPVariant, create an NPVariantData. Only supports void and double types right now.
-
- (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
- Given an NPVariantData, create an NPVariant. Only supports void and double types right now.
-
- (WebKit::NPRemoteObjectMap::invalidate):
- Add stub.
-
- * Shared/Plugins/NPVariantData.cpp:
- (WebKit::NPVariantData::NPVariantData):
- Set the type to void by default.
-
- (WebKit::NPVariantData::makeVoid):
- Return a void NPVariantData.
-
- (WebKit::NPVariantData::makeDouble):
- Return an NPVariantData that contains a double value.
-
- (WebKit::NPVariantData::encode):
- Encode the NPVariantData.
-
- (WebKit::NPVariantData::decode):
- Decode the NPVariantData.
-
- * Shared/Plugins/NPVariantData.h:
- (WebKit::NPVariantData::type):
- Return the type of the NPVariantData.
-
- (WebKit::NPVariantData::doubleValue):
- Return the double value of the NPVariantData.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didClose):
- Use nullptr instead of 0.
-
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- (WebKit::PluginProcessConnection::~PluginProcessConnection):
- Assert that the connection and the remote object map are both null.
-
- (WebKit::PluginProcessConnection::removePluginProxy):
- If this was the last plug-in proxy, invalidate the remote object map.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::shutdown):
- Use nullptr instead of 0.
-
-2010-11-02 Balazs Kelemen <kbalazs@webkit.org>
-
- Unreviewed Qt buildfix.
-
- * DerivedSources.pro: Add WebInspector to the list of
- message recievers.
-
-2010-11-02 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt][WK2] SharedMemory is broken
- https://bugs.webkit.org/show_bug.cgi?id=48520
-
- Implement SharedMemory with QSharedMemory to correctly handle
- ownership and to avoid extra allocation for page size requests.
- * Platform/SharedMemory.h:
- * Platform/qt/SharedMemoryQt.cpp:
- (WebKit::SharedMemory::Handle::Handle):
- (WebKit::SharedMemory::Handle::isNull):
- (WebKit::SharedMemory::Handle::encode):
- (WebKit::SharedMemory::Handle::decode):
- (WebKit::createUniqueKey):
- (WebKit::SharedMemory::create):
- (WebKit::accessMode):
- (WebKit::SharedMemory::~SharedMemory):
- (WebKit::SharedMemory::createHandle):
-
-2010-11-02 Timothy Hatcher <timothy@apple.com>
-
- Add WKInspector public APIs.
-
- https://webkit.org/b/48718
-
- Reviewed by Pavel Feldman.
-
- * DerivedSources.make: Added WebInspector to MESSAGE_RECEIVERS section.
- * UIProcess/API/C/WKInspector.cpp:
- (WKInspectorIsVisible): Added.
- (WKInspectorShow): Added.
- (WKInspectorClose): Added.
- (WKInspectorShowConsole): Added.
- (WKInspectorIsAttached): Added.
- (WKInspectorAttach): Added.
- (WKInspectorDetach): Added.
- (WKInspectorIsDebuggingJavaScript): Added.
- (WKInspectorToggleJavaScriptDebugging): Added.
- (WKInspectorIsProfilingJavaScript): Added.
- (WKInspectorToggleJavaScriptProfiling): Added.
- (WKInspectorIsProfilingPage): Added.
- (WKInspectorTogglePageProfiling): Added.
- * UIProcess/API/C/WKInspector.h: Added new functions.
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::WebInspectorProxy::WebInspectorProxy): Initialize new booleans.
- (WebKit::WebInspectorProxy::invalidate): Reset new booleans.
- (WebKit::WebInspectorProxy::show): Added.
- (WebKit::WebInspectorProxy::close): Added.
- (WebKit::WebInspectorProxy::showConsole): Added.
- (WebKit::WebInspectorProxy::attach): Added.
- (WebKit::WebInspectorProxy::detach): Added.
- (WebKit::WebInspectorProxy::toggleJavaScriptDebugging): Added.
- (WebKit::WebInspectorProxy::toggleJavaScriptProfiling): Added.
- (WebKit::WebInspectorProxy::togglePageProfiling): Added.
- * UIProcess/WebInspectorProxy.h:
- (WebKit::WebInspectorProxy::isVisible): Added.
- (WebKit::WebInspectorProxy::isAttached): Added.
- (WebKit::WebInspectorProxy::isDebuggingJavaScript): Added.
- (WebKit::WebInspectorProxy::isProfilingJavaScript): Added.
- (WebKit::WebInspectorProxy::isProfilingPage): Added.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close): Invalidate the WebInspectorProxy.
- (WebKit::WebPageProxy::inspector): Return 0 if closed or invalid.
- * WebKit2.pro: Added new files.
- * WebKit2.xcodeproj/project.pbxproj: Added new Files.
- * WebProcess/WebPage/WebInspector.cpp:
- (WebKit::WebInspector::show): Added.
- (WebKit::WebInspector::close): Added.
- (WebKit::WebInspector::showConsole): Added.
- (WebKit::WebInspector::startJavaScriptDebugging): Added.
- (WebKit::WebInspector::stopJavaScriptDebugging): Added.
- (WebKit::WebInspector::startJavaScriptProfiling): Added.
- (WebKit::WebInspector::stopJavaScriptProfiling): Added.
- (WebKit::WebInspector::startPageProfiling): Added.
- (WebKit::WebInspector::stopPageProfiling): Added.
- * WebProcess/WebPage/WebInspector.h:
- (WebKit::WebInspector::page): Added.
- * WebProcess/WebPage/WebInspector.messages.in: Added.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::close): Destroy the WebInspector.
- (WebKit::WebPage::inspector): Return 0 if closed.
- (WebKit::WebPage::didReceiveMessage): Send the message to the WebInspector
- if the message class is MessageClassWebInspector.
- * win/WebKit2.vcproj: Added new files.
-
-2010-11-02 Timothy Hatcher <timothy@apple.com>
-
- Make WebInspectorFrontendClient inherit from InspectorFrontendClientLocal.
-
- We can do this since the Web Inspector WebPage will share the same process
- with the inspected WebPage.
-
- https://webkit.org/b/48652
-
- Reviewed by Pavel Feldman.
-
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
- (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
- Call the InspectorFrontendClientLocal constructor.
- (WebKit::WebInspectorFrontendClient::attachWindow): Added.
- (WebKit::WebInspectorFrontendClient::detachWindow): Added.
- (WebKit::WebInspectorFrontendClient::setAttachedWindowHeight): Added.
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
-
-2010-11-01 Juha Savolainen <juha.savolainen@weego.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Initial implementation of QWKHistoryItem.
- https://bugs.webkit.org/show_bug.cgi?id=48620
-
- The QWkHistoryItem represents one item in the history of QWKPage.
-
- * UIProcess/API/qt/qwkhistory.cpp:
- (QWKHistoryItemPrivate::QWKHistoryItemPrivate):
- (QWKHistoryItem::QWKHistoryItem):
- (QWKHistoryItem::~QWKHistoryItem):
- (QWKHistoryItem::title): The page title
- (QWKHistoryItem::url): The URL of the page.
- (QWKHistoryItem::originalUrl): The URL used to access the page.
- * UIProcess/API/qt/qwkhistory.h:
- * UIProcess/API/qt/qwkhistory_p.h:
- * WebKit2.pro: Added WKBackForwardListItem.h and WKBackForwardListItem.cpp
-
-2010-11-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Make NPRemoteObjectMap a ref counted object
- https://bugs.webkit.org/show_bug.cgi?id=48808
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::windowScriptNPObject):
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::WebProcessConnection):
- (WebKit::WebProcessConnection::didReceiveSyncMessage):
- * PluginProcess/WebProcessConnection.h:
- (WebKit::WebProcessConnection::npRemoteObjectMap):
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- (WebKit::NPRemoteObjectMap::create):
- (WebKit::NPRemoteObjectMap::~NPRemoteObjectMap):
- (WebKit::NPRemoteObjectMap::createNPObjectProxy):
- * Shared/Plugins/NPRemoteObjectMap.h:
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- (WebKit::PluginProcessConnection::PluginProcessConnection):
- (WebKit::PluginProcessConnection::didReceiveSyncMessage):
- * WebProcess/Plugins/PluginProcessConnection.h:
- (WebKit::PluginProcessConnection::npRemoteObjectMap):
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::getWindowScriptNPObject):
-
-2010-11-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Respond to NP_GetProperty by sending a GetProperty message
- https://bugs.webkit.org/show_bug.cgi?id=48797
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::callMemberFunction):
- Add new sync message overload.
-
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::didReceiveSyncMessage):
- If the message class is MessageClassNPObjectMessageReceiver, pass it to the NPRemoteObjectMap.
-
- * Shared/Plugins/NPIdentifierData.cpp:
- * Shared/Plugins/NPIdentifierData.h:
- Add NPIdentifierData, a CoreIPC representation of an NPIdentifier.
-
- * Shared/Plugins/NPObjectMessageReceiver.cpp:
- (WebKit::NPObjectMessageReceiver::getProperty):
- Add stub.
-
- * Shared/Plugins/NPObjectMessageReceiver.messages.in:
- Add GetProperty.
-
- * Shared/Plugins/NPObjectProxy.cpp:
- (WebKit::NPObjectProxy::create):
- (WebKit::NPObjectProxy::NPObjectProxy):
- (WebKit::NPObjectProxy::initialize):
- NPObjectProxy now takes an NPRemoteObjectMap in its create function.
-
- (WebKit::NPObjectProxy::getProperty):
- Send a GetProperty message.
-
- (WebKit::NPObjectProxy::NP_GetProperty):
- Call getProperty.
-
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- (WebKit::NPRemoteObjectMap::createNPObjectProxy):
- Pass the NPRemoteObjectMap.
-
- (WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
- Find the right message receiver and dispatch the message to it.
-
- * Shared/Plugins/NPVariantData.cpp:
- * Shared/Plugins/NPVariantData.h:
- Add NPVariantData, which will be a CoreIPC representation of an NPVariant.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- (WebKit::PluginProcessConnection::didReceiveSyncMessage):
- If the message class is MessageClassNPObjectMessageReceiver, pass it to the NPRemoteObjectMap.
-
-2010-11-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add ArgumentCoder specialization for WTF::CString
- https://bugs.webkit.org/show_bug.cgi?id=48796
-
- * Platform/CoreIPC/ArgumentCoders.h:
-
-2010-11-01 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-11-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add NPObjectMessageReceiver.messages.in
- https://bugs.webkit.org/show_bug.cgi?id=48782
-
- * DerivedSources.make:
- Add NPObjectMessageReceiver.
-
- * Platform/CoreIPC/MessageID.h:
- Add MessageClassNPObjectMessageReceiver message class.
-
- * Shared/Plugins/NPObjectMessageReceiver.cpp:
- (WebKit::NPObjectMessageReceiver::deallocate):
- Add stubbed out deallocate member function.
-
- * Shared/Plugins/NPObjectMessageReceiver.messages.in: Added.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add NPObjectMessageReceiver.messages.in.
-
-2010-11-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Start stubbing out NPClass functions in NPObjectProxy
- https://bugs.webkit.org/show_bug.cgi?id=48778
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::windowScriptNPObject):
- getOrCreateNPObjectProxy is now createNPObjectProxy.
-
- * Shared/Plugins/NPObjectProxy.cpp:
- (WebKit::NPObjectProxy::create):
- Allocate and initialize an NPObjectProxy object.
-
- (WebKit::NPObjectProxy::NPObjectProxy):
- Initialize m_npObjectID to 0.
-
- (WebKit::NPObjectProxy::isNPObjectProxy):
- Check the class.
-
- (WebKit::NPObjectProxy::initialize):
- Set m_npObjectID.
-
- (WebKit::NPObjectProxy::npClass):
- Return the NPClass with all functions filled in.
-
- (WebKit::NPObjectProxy::NP_Allocate):
- Create a new NPObjectProxy object.
-
- (WebKit::NPObjectProxy::NP_Deallocate):
- Deallocate the NPObjectProxy object.
-
- (WebKit::NPObjectProxy::NP_HasMethod):
- (WebKit::NPObjectProxy::NP_Invoke):
- (WebKit::NPObjectProxy::NP_InvokeDefault):
- (WebKit::NPObjectProxy::NP_HasProperty):
- (WebKit::NPObjectProxy::NP_GetProperty):
- (WebKit::NPObjectProxy::NP_SetProperty):
- (WebKit::NPObjectProxy::NP_RemoveProperty):
- (WebKit::NPObjectProxy::NP_Enumerate):
- (WebKit::NPObjectProxy::NP_Construct):
- Add stubs.
-
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- (WebKit::NPRemoteObjectMap::createNPObjectProxy):
- * Shared/Plugins/NPRemoteObjectMap.h:
- Rename getOrCreateNPObjectProxy to createNPObjectProxy.
-
- * WebProcess/Plugins/Netscape/NPJSObject.cpp:
- (WebKit::NPJSObject::NP_Allocate):
- Remove unused parameter.
-
-2010-11-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Both the WebProcessConnection and PluginProcessConnection should have NPRemoteObjectMaps
- https://bugs.webkit.org/show_bug.cgi?id=48775
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::windowScriptNPObject):
- Ask for an NPObjectProxy for the window script NPObject.
-
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::WebProcessConnection):
- Initialize m_npRemoteObjectMap.
-
- * Shared/Plugins/NPObjectMessageReceiver.cpp:
- (WebKit::NPObjectMessageReceiver::create):
- Add a create member function that takes an NPObject.
-
- (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
- Retain the NPObject.
-
- (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
- Release the NPObject.
-
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- (WebKit::generateNPObjectID):
- Generate a unique 64-bit NPObject ID.
-
- (WebKit::NPRemoteObjectMap::getOrCreateNPObjectProxy):
- Add stub.
-
- (WebKit::NPRemoteObjectMap::registerNPObject):
- Create a NPObjectMessageReceiver and add it to the map.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Set the correct target for NPRuntime related files.
-
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- (WebKit::PluginProcessConnection::PluginProcessConnection):
- Initialize m_npRemoteObjectMap
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::getWindowScriptNPObject):
- Ask the real plug-in controller for the window script NPObject and register it.
-
-2010-11-01 John Sullivan <sullivan@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=48774
- minimFontSize preference needs to be exposed in WebKit2
-
- * UIProcess/WebPreferences.cpp:
- (WebKit::WebPreferences::setMinimumFontSize):
- New function, parallel to existing functions for other preferences.
- (WebKit::WebPreferences::minimumFontSize):
- Ditto.
-
- * UIProcess/WebPreferences.h:
- Declared new function.
-
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetMinimumFontSize):
- New UI process wrapper for new function.
- (WKPreferencesGetMinimumFontSize):
- Ditto.
-
- * UIProcess/API/C/WKPreferences.h:
- Declared new functions.
-
-2010-11-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Tear down the related WebProcessProxy when a WebContext is deallocated
- https://bugs.webkit.org/show_bug.cgi?id=48769
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::~WebContext):
- Call WebProcessManager::contextWasDestroyed.
-
- (WebKit::WebContext::didNavigateWithNavigationData):
- (WebKit::WebContext::didPerformClientRedirect):
- (WebKit::WebContext::didPerformServerRedirect):
- (WebKit::WebContext::didUpdateHistoryTitle):
- It is valid for a frame to have a null page here, if the frame has outlived
- its page.
-
- * UIProcess/WebProcessManager.cpp:
- (WebKit::WebProcessManager::contextWasDestroyed):
- Remove the context from the map.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::~WebProcessProxy):
- It's OK for the connection to be non-null here if the process goes away because
- the context has been deallocated.
-
-2010-11-01 Brady Eidson <beidson@apple.com>
-
- Windows build fix.
-
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp: Removed.
+ * UIProcess/LayerBackedDrawingAreaProxy.h: Removed.
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: Removed.
+ * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp: Removed.
* UIProcess/win/WebView.cpp:
-
-2010-11-01 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699
- Context menu support for WebKit 2.
-
- * WebKit2.pro:
* WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp: Removed.
+ * WebProcess/WebPage/LayerBackedDrawingArea.h: Removed.
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: Removed.
+ * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Removed.
* win/WebKit2.vcproj:
- * Shared/WebContextMenuItem.cpp: Added.
- (WebKit::WebContextMenuItem::WebContextMenuItem):
- (WebKit::WebContextMenuItem::encode):
- (WebKit::WebContextMenuItem::decode):
- (WebKit::kitItems):
- * Shared/WebContextMenuItem.h: Added.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::createContextMenuProxy):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::createContextMenuProxy): Stub to keep the build working.
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
-
- * UIProcess/WebContextMenuProxy.cpp: Added.
- (WebKit::WebContextMenuProxy::~WebContextMenuProxy):
- (WebKit::WebContextMenuProxy::WebContextMenuProxy):
- * UIProcess/WebContextMenuProxy.h: Added.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::showContextMenu): Shows the menu after receiving the message from the WebProcess.
- (WebKit::WebPageProxy::contextMenuItemSelected): Sends info about the selected menu item to the WebProcess
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
-
- * UIProcess/mac/WebContextMenuProxyMac.h: Added.
- (WebKit::WebContextMenuProxyMac::create):
- * UIProcess/mac/WebContextMenuProxyMac.mm: Added.
- (+[WebMenuTarget sharedMenuTarget]):
- (-[WebMenuTarget WebKit::]):
- (-[WebMenuTarget setMenuProxy:WebKit::]):
- (-[WebMenuTarget forwardContextMenuAction:]):
- (WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):
- (WebKit::WebContextMenuProxyMac::~WebContextMenuProxyMac):
- (WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
- (WebKit::populateNSMenu):
- (WebKit::nsMenuItemVector):
- (WebKit::WebContextMenuProxyMac::populate):
- (WebKit::WebContextMenuProxyMac::showContextMenu):
- (WebKit::WebContextMenuProxyMac::hideContextMenu):
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::createContextMenuProxy): Stub for now.
- * UIProcess/win/WebView.h:
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::showContextMenu):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
-
- * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
- (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems): Return the WebCore-provided default
- menu for now. Embedding app customization will come later (see bug 48720)
-
- * WebProcess/WebPage/WebContextMenu.cpp: Added.
- (WebKit::WebContextMenu::WebContextMenu):
- (WebKit::WebContextMenu::~WebContextMenu):
- (WebKit::WebContextMenu::show):
- (WebKit::WebContextMenu::itemSelected):
- * WebProcess/WebPage/WebContextMenu.h: Added.
- (WebKit::WebContextMenu::create):
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::contextMenu):
- (WebKit::handleMouseEvent): Pass right mouse presses along to WebCore as both a mouse event and context menu event,
- the same way WebKit1 does.
- (WebKit::WebPage::didSelectItemFromActiveContextMenu):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
-
-2010-11-01 Adam Roben <aroben@apple.com>
-
- Cancel main resource loads after we hand them off to the media engine
-
- This is the WebKit2 equivalent of r51104. Clearly this code should be
- moved to a cross-platform location someday.
-
- Fixes <http://webkit.org/b/48561> <rdar://problem/8606679> Assertion
- failure in DocumentLoader::commitData when loading a media document in
- WebKit2
-
- Reviewed by Eric Carlson.
-
- * WebProcess/WebCoreSupport/WebErrors.h: Added pluginWillHandleLoadError.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::committedLoad): Cancel the main resource load
- after handing off the load to the media engine. This code originally
- came from -[WebHTMLRepresentation receivedData:withDataSource:].
- (WebKit::WebFrameLoaderClient::pluginWillHandleLoadError): Call through to WebErrors.
- (WebKit::WebFrameLoaderClient::shouldFallBack): Implemented. We fall
- back for all errors except when the load was cancelled or we handed it
- off to the media engine or a plugin.
-
- * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
- (WebKit::pluginWillHandleLoadError): Implemented.
-
- * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
- (WebKit::pluginWillHandleLoadError): Stubbed out.
-
- * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
- (WebKit::pluginWillHandleLoadError): Implemented.
-
-2010-11-01 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt][WK2] Cleanup viewportAttributesForSize API
-
- Change QSize argument to a const QSize&.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::viewportAttributesForSize):
- * UIProcess/API/qt/qwkpage.h:
-
-2010-10-31 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Visited links not populated correctly in new web processes after the first
- https://bugs.webkit.org/show_bug.cgi?id=48735
- rdar://problem/8442177
-
- * UIProcess/VisitedLinkProvider.cpp:
- (WebKit::VisitedLinkProvider::VisitedLinkProvider): Initialize
- m_webProcessHasVisitedLinkState.
- (WebKit::VisitedLinkProvider::processDidFinishLaunching): Renamed
- from populateVisitedLinksIfNeeded. Set m_webProcessHasVisitedLinkState
- to false, since this is a new process, and also start the timer
- so the visited links messages will be sent.
- (WebKit::VisitedLinkProvider::processDidClose): Renamed from
- stopVisitedLinksTimer.
- (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
- Added logic so we send SetVisitedLinkTable and
- AllVisitedLinkStateChanged once to each new process and to set
- m_webProcessHasVisitedLinkState to true once that is done.
-
- * UIProcess/VisitedLinkProvider.h: Updated for above changes.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::processDidFinishLaunching): Called
- VisitedLinkProvider function under its new name. Also used
- ASSERT_UNUSED rather than ASSERT since the argument is used
- only for the assertion.
- (WebKit::WebContext::processDidClose): Ditto.
-
-2010-10-30 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt][WK2] Crash in drawUpdateChunkIntoBackingStore
- https://bugs.webkit.org/show_bug.cgi?id=48707
-
- UpdateChunk images have to be created using the QImage constructor
- that takes a bytesPerLine (stride) value, or the data length won't
- match UpdateChunk::size().
-
- * Shared/qt/UpdateChunk.cpp:
- (WebKit::UpdateChunk::createImage):
-
-2010-10-29 Daniel Bates <dbates@rim.com>
-
- No review, rolling out 70971.
- http://trac.webkit.org/changeset/70971
- https://bugs.webkit.org/show_bug.cgi?id=6751
-
- Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
- it caused layout test failures on all bots. In particular, the
- child count in a generated frame name differs after this patch. We need
- to look into this further.
-
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::name):
-
-2010-10-29 Daniel Bates <dbates@rim.com>
-
- Reviewed by Adam Barth.
-
- For unnamed frames, window.name returns a generated name
- https://bugs.webkit.org/show_bug.cgi?id=6751
-
- Modified WebKit2 to use FrameTree::uniqueName().
-
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::name):
-
-2010-10-29 Sam Weinig <weinig@apple.com>
-
- Reviewed by Simon Fraser.
-
- Implement WebProcess::platformSetCacheModel for windows
- <rdar://problem/8605796>
- https://bugs.webkit.org/show_bug.cgi?id=48703
-
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::memorySize):
- (WebKit::volumeFreeSize):
- (WebKit::WebProcess::platformSetCacheModel):
- Add implemenation based on the version in WebKit/win/WebView.cpp.
-
-2010-10-29 Andreas Kling <kling@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- WK2: Unbreak compilation of WebPlatformTouchPoint::decode()
-
- * Shared/WebPlatformTouchPoint.cpp:
- (WebKit::WebPlatformTouchPoint::decode):
-
-2010-10-29 Darin Adler <darin@apple.com>
+2011-02-24 Mike Thole <mthole@apple.com>
Reviewed by Sam Weinig.
- More back/forward refactoring
-
- * WebKit2.pro: Removed WebBackForwardControllerClient.cpp and .h.
- * WebKit2.xcodeproj/project.pbxproj: Ditto.
-
- * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp: Removed.
- * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h: Removed.
-
- * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
- (WebKit::InjectedBundleBackForwardList::itemAtIndex): Use backForward.
- (WebKit::InjectedBundleBackForwardList::backListCount): Ditto.
- (WebKit::InjectedBundleBackForwardList::forwardListCount): Ditto.
- (WebKit::InjectedBundleBackForwardList::clear): Ditto.
-
- * WebProcess/WebPage/WebBackForwardListProxy.h: Added newly-needed include.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage): Set up backForwardClient.
-
-2010-10-29 Adam Roben <aroben@apple.com>
-
- Stop using encode/decodeBytes for WebEvent subclasses
-
- The use of encode/decodeBytes was making these classes sensitive to
- differences in padding on different architectures (e.g., 32-bit vs.
- 64-bit). By encoding each data member explicitly we remove this
- sensitivity, allowing these classes to be passed between processes
- with different padding.
-
- Fixes <http://webkit.org/b/48552> <rdar://problem/8606571> Mouse
- events never reach Flash in WebKit2 on Mac (asserts in Debug builds)
-
- Reviewed by Anders Carlsson.
-
- * Platform/CoreIPC/Arguments.h:
- (CoreIPC::Arguments8::Arguments8):
- (CoreIPC::Arguments8::encode):
- (CoreIPC::Arguments8::decode):
- (CoreIPC::In):
- (CoreIPC::Out):
- Added Arguments8, the biggest Arguments yet.
-
- * Shared/WebEvent.cpp:
- (WebKit::WebEvent::encode):
- (WebKit::WebEvent::decode):
- * Shared/WebKeyboardEvent.cpp:
- (WebKit::WebKeyboardEvent::encode):
- (WebKit::WebKeyboardEvent::decode):
- * Shared/WebMouseEvent.cpp:
- (WebKit::WebMouseEvent::encode):
- (WebKit::WebMouseEvent::decode):
- * Shared/WebPlatformTouchPoint.cpp:
- (WebKit::WebPlatformTouchPoint::encode):
- (WebKit::WebPlatformTouchPoint::decode):
- * Shared/WebTouchEvent.cpp:
- (WebKit::WebTouchEvent::encode):
- (WebKit::WebTouchEvent::decode):
- * Shared/WebWheelEvent.cpp:
- (WebKit::WebWheelEvent::encode):
- (WebKit::WebWheelEvent::decode):
- Changed all encode/decode function to use CoreIPC::In/Out to
- encode/decode data members individually.
-
-2010-10-29 Adam Roben <aroben@apple.com>
-
- Use only CoreIPC-sanctioned types in WebEvent subclasses
-
- Fixes <http://webkit.org//48694> WebEvent subclasses should not use
- architecture-dependent types
-
- Reviewed by Anders Carlsson.
-
- * Shared/WebEvent.h:
- (WebKit::WebEvent::type):
- (WebKit::WebMouseEvent::button):
- (WebKit::WebMouseEvent::clickCount):
- (WebKit::WebWheelEvent::granularity):
- (WebKit::WebPlatformTouchPoint::id):
- (WebKit::WebPlatformTouchPoint::state):
- Replaced enums, ints, and unsigneds with uint32_ts, int32_ts, and
- uint32_ts, respectively.
-
-2010-10-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Generate a DelayedReply struct for sync messages marked delayed
- https://bugs.webkit.org/show_bug.cgi?id=48696
-
- * Scripts/webkit2/messages.py:
- If we encounter a sync message marked delayed, generate a DelayedReply struct with a send member funciton
- that can be used for sending the reply.
-
- * Scripts/webkit2/messages_unittest.py:
- Update expected results.
-
-2010-10-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Use WebPage::send in a couple of more places.
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::setWindowRect):
- (WebKit::WebChromeClient::takeFocus):
- (WebKit::WebChromeClient::setToolbarsVisible):
- (WebKit::WebChromeClient::setStatusbarVisible):
- (WebKit::WebChromeClient::setMenubarVisible):
- (WebKit::WebChromeClient::setResizable):
- (WebKit::WebChromeClient::setStatusbarText):
- (WebKit::WebChromeClient::contentsSizeChanged):
- (WebKit::WebChromeClient::mouseDidMoveOverElement):
- (WebKit::WebChromeClient::setToolTip):
- (WebKit::WebChromeClient::setCursor):
- (WebKit::WebChromeClient::dispatchViewportDataDidChange):
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::registerCommandForUndo):
- (WebKit::WebEditorClient::clearUndoRedoOperations):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::detachedFromParent2):
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
- (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
- (WebKit::WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
- (WebKit::WebFrameLoaderClient::postProgressStartedNotification):
- (WebKit::WebFrameLoaderClient::postProgressEstimateChangedNotification):
- (WebKit::WebFrameLoaderClient::postProgressFinishedNotification):
- (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
- (WebKit::WebFrameLoaderClient::didRunInsecureContent):
- (WebKit::WebFrameLoaderClient::dispatchDidBecomeFrameset):
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::findString):
- (WebKit::FindController::hideFindIndicator):
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- (WebKit::WebBackForwardListProxy::addItem):
- (WebKit::WebBackForwardListProxy::goToItem):
- (WebKit::WebBackForwardListProxy::clear):
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::createMainFrame):
- (WebKit::WebFrame::createSubframe):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::sendClose):
- (WebKit::WebPage::pageDidScroll):
- (WebKit::WebPage::mouseEvent):
- (WebKit::WebPage::wheelEvent):
- (WebKit::WebPage::keyEvent):
- (WebKit::WebPage::validateMenuItem):
- (WebKit::WebPage::touchEvent):
- (WebKit::WebPage::show):
- (WebKit::WebPage::runJavaScriptInMainFrame):
- (WebKit::WebPage::getRenderTreeExternalRepresentation):
- (WebKit::WebPage::getSourceForFrame):
-
-2010-10-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add a MessageSender class template
- https://bugs.webkit.org/show_bug.cgi?id=48683
-
- * Platform/CoreIPC/MessageSender.h: Added.
- (CoreIPC::MessageSender::send):
- Add send overloads for simple message sending.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- Add MessageSender.h
-
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::countStringMatches):
- (WebKit::FindController::findString):
- (WebKit::FindController::updateFindIndicator):
- Call send on the web page.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::connection):
- Add connection(), used by the MessageSender.
-
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::destinationID):
- Add destinationID(), used by the MessageSender.
-
- * win/WebKit2.vcproj:
- Add MessageSender.h
-
-2010-10-29 Adam Roben <aroben@apple.com>
-
- Remove redundant data members from WebTouchEvent
-
- WebEvent already stores the Type and timestamp.
-
- Fixes <http://webkit.org/b/48671> WebTouchEvent duplicates data from
- WebEvent
-
- Reviewed by Anders Carlsson.
-
- * Shared/WebEvent.h:
- * Shared/WebTouchEvent.cpp:
- (WebKit::WebTouchEvent::WebTouchEvent):
- Removed m_type and m_timestamp (which was never even getting
- initialized!).
-
-2010-10-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add the plug-in proxy to the map before sending the CreatePlugin message
- https://bugs.webkit.org/show_bug.cgi?id=48678
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::initialize):
-
-2010-10-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add GetWindowScriptNPObject message
- https://bugs.webkit.org/show_bug.cgi?id=48670
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::windowScriptNPObject):
- Send the GetWindowScriptNPObject message.
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::getWindowScriptNPObject):
- Add stub.
-
- * WebProcess/Plugins/PluginProxy.messages.in:
- Add GetWindowScriptNPObject message.
-
-2010-10-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Change the Connection::sendSync timeout parameter to have the NoTimeout argument as a default
- argument and update all the call sites.
-
- * Platform/CoreIPC/Connection.h:
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::proxiesForURL):
- (WebKit::PluginControllerProxy::cookiesForURL):
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::postSynchronousMessage):
- * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
- (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::initialize):
- (WebKit::PluginProxy::destroy):
- (WebKit::PluginProxy::paint):
- (WebKit::PluginProxy::handleMouseEvent):
- (WebKit::PluginProxy::handleWheelEvent):
- (WebKit::PluginProxy::handleMouseEnterEvent):
- (WebKit::PluginProxy::handleMouseLeaveEvent):
- (WebKit::PluginProxy::handleKeyboardEvent):
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::windowRect):
- (WebKit::WebChromeClient::createWindow):
- (WebKit::WebChromeClient::toolbarsVisible):
- (WebKit::WebChromeClient::statusbarVisible):
- (WebKit::WebChromeClient::menubarVisible):
- (WebKit::WebChromeClient::canRunBeforeUnloadConfirmPanel):
- (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
- (WebKit::WebChromeClient::runJavaScriptAlert):
- (WebKit::WebChromeClient::runJavaScriptConfirm):
- (WebKit::WebChromeClient::runJavaScriptPrompt):
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::WebPlatformStrategies::populatePluginCache):
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- (WebKit::WebBackForwardListProxy::itemAtIndex):
- (WebKit::WebBackForwardListProxy::backListCount):
- (WebKit::WebBackForwardListProxy::forwardListCount):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::createPlugin):
- (WebKit::WebPage::changeAcceleratedCompositingMode):
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- (WebKit::LayerBackedDrawingArea::attachCompositingContext):
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::interceptEditingKeyboardEvent):
-
-2010-10-29 John Sullivan <sullivan@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=48666
- WebKit2 should provide counterpart getter to WKBundleNodeHandleSetHTMLInputElementAutofilled
+ WK2: Add ability to get document node for a WKBundleNodeHandle
+ https://bugs.webkit.org/post_bug.cgi
* WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
- (WKBundleNodeHandleGetHTMLInputElementAutofilled):
- New function, calls through to InjectedBundleNodeHandle.
-
+ (WKBundleNodeHandleCopyDocument):
* WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
- Declared new function.
-
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
- (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled):
- New function, calls through to HTMLInputElement.
-
+ (WebKit::InjectedBundleNodeHandle::document):
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
- Declared new function.
-
-2010-10-29 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Anders Carlsson.
-
- ASSERTION FAILURE in WebProcessProxy::frameDestroyed when a Page is closed before it can send
- the DidCreateMainFrame messsage to the UIProcess.
- https://bugs.webkit.org/show_bug.cgi?id=48654
-
- WebProcessProxy::frameDestroyed was asserting that the frameID it was called with was
- registered in WebProcessProxy::frameCreated (which is called when the WebPageProxy is
- created). However, in the case where we close the page before it's had the chance to send
- the DidCreateMainFrame message back to the UI process, the UI Process will get the
- DidDestroyFrame message because it's sent directly to the WebProcessProxy and doesn't go
- through WebPageProxy.
-
- Remove the assert because it is invalid in this case.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::frameDestroyed):
-
-2010-10-29 Adam Roben <aroben@apple.com>
-
- Build fix when Carbon plugins are disabled
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformHandleMouseEvent):
-
-2010-10-29 Adam Roben <aroben@apple.com>
-
- Move NPRuntime-related files into WebProcess/Plugins/Netscape
-
- Fixes <http://webkit.org/b/48645>.
-
- Reviewed by Anders Carlsson.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Updated the files' paths.
-
- * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Renamed from WebKit2/WebProcess/Plugins/JSNPMethod.cpp.
- * WebProcess/Plugins/Netscape/JSNPMethod.h: Renamed from WebKit2/WebProcess/Plugins/JSNPMethod.h.
- * WebProcess/Plugins/Netscape/JSNPObject.cpp: Renamed from WebKit2/WebProcess/Plugins/JSNPObject.cpp.
- * WebProcess/Plugins/Netscape/JSNPObject.h: Renamed from WebKit2/WebProcess/Plugins/JSNPObject.h.
- * WebProcess/Plugins/Netscape/NPJSObject.cpp: Renamed from WebKit2/WebProcess/Plugins/NPJSObject.cpp.
- * WebProcess/Plugins/Netscape/NPJSObject.h: Renamed from WebKit2/WebProcess/Plugins/NPJSObject.h.
- * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeObjectMap.cpp.
- * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeObjectMap.h.
- * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeUtilities.cpp.
- * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeUtilities.h.
-
-2010-10-29 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=48576
- Let WebKit2 client know when a frame is a frameset
-
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::WebFrameProxy):
- * UIProcess/WebFrameProxy.h:
- (WebKit::WebFrameProxy::setIsFrameSet):
- (WebKit::WebFrameProxy::isFrameSet):
- Remember whether the frame is currently a frameset.
-
- * UIProcess/API/C/WKFrame.cpp: (WKFrameIsFrameSet):
- * UIProcess/API/C/WKFrame.h:
- Added client API.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didCommitLoadForFrame):
- (WebKit::WebPageProxy::frameDidBecomeFrameSet):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidBecomeFrameset):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- Pass notification from web process to UI process.
-
-2010-10-28 Adam Roben <aroben@apple.com>
-
- Use IntPoint/FloatSize in WebEvent subclasses
-
- This is nicer than passing around pairs of ints/floats.
-
- Fixes <http://webkit.org/b/48611>.
-
- Reviewed by Anders Carlsson.
-
- * Shared/WebEvent.h:
- * Shared/WebMouseEvent.cpp:
- * Shared/WebPlatformTouchPoint.cpp:
- * Shared/WebWheelEvent.cpp:
- Changed all x/y pairs to either use IntPoint or FloatSize, as
- appropriate.
-
- * Shared/WebEventConversion.cpp:
- * Shared/mac/WebEventFactory.mm:
- * Shared/qt/WebEventFactoryQt.cpp:
- * Shared/win/WebEventFactory.cpp:
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- Updated for WebEvent changes.
-
-2010-10-29 Adam Roben <aroben@apple.com>
-
- Touch WebKit2Prefix.h to fix incremental builds on Windows
-
- * WebKit2Prefix.h:
-
-2010-10-28 Adam Roben <aroben@apple.com>
-
- Remove unnecessary #includes from WebEvent.h
-
- Fixes <http://webkit.org/b/48609> WebEvent.h #includes things it
- doesn't need
-
- Reviewed by Sam Weinig.
-
- * Scripts/webkit2/messages.py:
- (MessageReceiver.iterparameters): Merged iterreplyparameters into this
- function. All callers to iterparameters are really interested in the
- reply parameters, too. This will cause us to, e.g., add
- forward-declarations for types used in sync replies.
- (headers_for_type): Added a special case for WebCore::KeypressCommand.
-
- * Scripts/webkit2/messages_unittest.py: Added a test to cover the
- failing case that inspired the above changes.
-
- * Shared/WebEvent.h: Replaced #includes with forward-declarations.
-
- * Shared/API/c/WKSharedAPICast.h:
- * Shared/NativeWebKeyboardEvent.h:
- * Shared/WebEvent.cpp:
- * Shared/WebKeyboardEvent.cpp:
- * Shared/WebMouseEvent.cpp:
- * Shared/WebPlatformTouchPoint.cpp:
- * Shared/WebTouchEvent.cpp:
- * Shared/WebWheelEvent.cpp:
- * Shared/qt/WebEventFactoryQt.cpp:
- * Shared/win/WebEventFactory.cpp:
- * UIProcess/API/qt/qwkpage.cpp:
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- * UIProcess/WebUIClient.cpp:
- * UIProcess/WebUIClient.h:
- * UIProcess/win/WebView.cpp:
- * WebProcess/WebPage/FindController.cpp:
- * WebProcess/WebPage/mac/WebPageMac.mm:
- Added now-needed #includes and declarations.
-
-2010-10-29 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Adam Roben and David Kilzer.
-
- Fix and cleanup of build systems
- https://bugs.webkit.org/show_bug.cgi?id=48342
-
- * Configurations/FeatureDefines.xcconfig: Remove unnecessary ENABLE_SANDBOX and add missing features.
-
-2010-10-28 Dan Bernstein <mitz@apple.com>
-
- LLVM compiler build fix
-
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (-[WKDownloadAsDelegate download:didReceiveResponse:]): Removed a stray semicolon.
-
-2010-10-28 Adam Roben <aroben@apple.com>
-
- Move some function definitions from WebEvent.h into new .cpp files
-
- Someday maybe we'll split the classes into their own header files,
- too.
-
- Fixes <http://webkit.org/b/48604>.
-
- Reviewed by Anders Carlsson.
-
- * Shared/WebEvent.h: Moved code from here...
-
- * Shared/WebEvent.cpp: Added.
- * Shared/WebKeyboardEvent.cpp: Added.
- * Shared/WebMouseEvent.cpp: Added.
- * Shared/WebPlatformTouchPoint.cpp: Added.
- * Shared/WebTouchEvent.cpp: Added.
- * Shared/WebWheelEvent.cpp: Added.
- ...to here. Also changed WebTouchEvent::touchPoints not to copy the
- Vector.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Added the new files.
-
-2010-10-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Connection::sendSyncMessage needs to dispatch incoming sync messages
- https://bugs.webkit.org/show_bug.cgi?id=48606
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::sendSyncMessage):
- Protect the connection when waiting for a reply. Schedule for any remaining incoming sync messages
- to be sent once the bottom-most waitForSyncReply calls returns.
-
- (CoreIPC::Connection::waitForSyncReply):
- Make sure to dispatch any incoming sync messages.
- (CoreIPC::Connection::processIncomingMessage):
- If the incoming message is a sync message and we're waiting for a sync reply, add the message to the
- queue of "sync messages received while waiting for sync reply" and wake up the client thread.
+2011-02-24 Brady Eidson <beidson@apple.com>
- * Platform/CoreIPC/Connection.h:
+ Reviewed by Adam Roben and looked at by Brian Weinstein.
-2010-10-28 Anders Carlsson <andersca@apple.com>
+ https://bugs.webkit.org/show_bug.cgi?id=55165
+ Can call CF API with a null CFArray in WebResourceCacheManager
- Reviewed by Adam Roben.
-
- Move code to dispatch a sync message out into a separate function
- https://bugs.webkit.org/show_bug.cgi?id=48605
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::dispatchSyncMessage):
- Factor code out from dispatchMessage. Handle receiving a message with an invalid reply ID.
-
- (CoreIPC::Connection::dispatchMessages):
- Call dispatchSyncMessage.
-
- * Platform/CoreIPC/Connection.h:
-
-2010-10-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Add NPObjectMessageReceiver class.
- https://bugs.webkit.org/show_bug.cgi?id=48599
-
- * Shared/Plugins/NPObjectMessageReceiver.cpp: Added.
- (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
- (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
- * Shared/Plugins/NPObjectMessageReceiver.h: Added.
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-10-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add NPObjectProxy class
- https://bugs.webkit.org/show_bug.cgi?id=48558
-
- * Shared/Plugins/NPObjectProxy.cpp: Added.
- (WebKit::NPObjectProxy::NPObjectProxy):
- (WebKit::NPObjectProxy::~NPObjectProxy):
- * Shared/Plugins/NPObjectProxy.h: Added.
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-10-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add NPRemoteObjectMap class
- https://bugs.webkit.org/show_bug.cgi?id=48553
-
- * Shared/Plugins/NPRemoteObjectMap.cpp: Added.
- (WebKit::NPRemoteObjectMap::NPRemoteObjectMap):
- * Shared/Plugins/NPRemoteObjectMap.h: Added.
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-10-28 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- WKURLRefs should be allowed to be null
- <rdar://problem/8575621>
- https://bugs.webkit.org/show_bug.cgi?id=48535
-
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toURLRef):
- (WebKit::toCopiedURLAPI):
- Turn a null WTF::String into a null WKURLRef.
-
-2010-10-28 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add WebKit2 API for window feature getter/setters
- <rdar://problem/8590373>
- https://bugs.webkit.org/show_bug.cgi?id=48496
-
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setToolbarsAreVisible):
- (WebKit::WebPageProxy::getToolbarsAreVisible):
- (WebKit::WebPageProxy::setMenuBarIsVisible):
- (WebKit::WebPageProxy::getMenuBarIsVisible):
- (WebKit::WebPageProxy::setStatusBarIsVisible):
- (WebKit::WebPageProxy::getStatusBarIsVisible):
- (WebKit::WebPageProxy::setIsResizable):
- (WebKit::WebPageProxy::getIsResizable):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::toolbarsAreVisible):
- (WebKit::WebUIClient::setToolbarsAreVisible):
- (WebKit::WebUIClient::menuBarIsVisible):
- (WebKit::WebUIClient::setMenuBarIsVisible):
- (WebKit::WebUIClient::statusBarIsVisible):
- (WebKit::WebUIClient::setStatusBarIsVisible):
- (WebKit::WebUIClient::isResizable):
- (WebKit::WebUIClient::setIsResizable):
- * UIProcess/WebUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::setToolbarsVisible):
- (WebKit::WebChromeClient::toolbarsVisible):
- (WebKit::WebChromeClient::setStatusbarVisible):
- (WebKit::WebChromeClient::statusbarVisible):
- (WebKit::WebChromeClient::setMenubarVisible):
- (WebKit::WebChromeClient::menubarVisible):
- (WebKit::WebChromeClient::setResizable):
- Plumb through the calls.
-
-2010-10-28 Dan Bernstein <mitz@apple.com>
-
- Build fix.
-
- * win/WebKit2Common.vsprops:
-
-2010-10-28 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adam Roben.
-
- No longer soft-link zlib
- https://bugs.webkit.org/show_bug.cgi?id=48004
-
- * win/WebKit2Common.vsprops: Added zlib.lib to AdditionalDependencies.
-
-2010-10-28 Adam Roben <aroben@apple.com>
-
- Make PluginView retain its HTMLPlugInElement
-
- This matches WebKit/mac's WebBaseNetscapePluginView. WebCore didn't do
- this, but had a very different mechanism for implementing NPRuntime
- that didn't require it.
-
- Fixes <http://webkit.org/b/46672> <rdar://problem/8484208> Crash
- (preceded by assertion) in Node::document when running
- plugins/document-open.html in WebKit2 on Windows
-
- Reviewed by Anders Carlsson.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::create): Moved here from the header file so that
- clients of the header file won't have to pull in HTMLPlugInElement.h.
- Changed to take a PassRefPtr<HTMLPlugInElement>.
- (WebKit::PluginView::PluginView): Changed to take a
- PassRefPtr<HTMLPlugInElement> and to use m_pluginElement later (because
- the parameter to the function will be nulled-out after assigning into
- m_pluginElement).
- (WebKit::PluginView::pluginElementNPObject): Updated for change to m_pluginElement.
-
- * WebProcess/Plugins/PluginView.h: Made m_pluginElement a RefPtr.
-
-2010-10-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling.
-
- Make Qt viewportAttributesForSize not assert on (0, 0) size
- https://bugs.webkit.org/show_bug.cgi?id=48524
-
- We now return an invalid (isValid() == false) ViewportAttributes
- instance when the supplied size is (0, 0).
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::viewportAttributesForSize):
-
-2010-10-28 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt][WK2] SharedMemory should be released by the receiving process
- https://bugs.webkit.org/show_bug.cgi?id=48520
-
- * Platform/qt/SharedMemoryQt.cpp:
- (WebKit::SharedMemory::~SharedMemory):
- (WebKit::SharedMemory::createHandle):
-
-2010-10-28 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Web process cannot be debugged if it crashes in initialization
- https://bugs.webkit.org/show_bug.cgi?id=47399
-
- Wait 3 seconds for the debugger on debug mode if
- WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable is set.
-
- The debugging can be initiated for example in following way:
- export WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH=1
- ./MiniBrowser & while [ -z `pidof QtWebProcess` ]; do sleep 1; done; \
- gdb --pid=`pidof QtWebProcess`
-
- * WebProcess/qt/WebProcessMainQt.cpp:
- (WebKit::WebProcessMainQt):
-
-2010-10-28 Mark Rowe <mrowe@apple.com>
-
- 32-bit build fix.
-
- Qualify references to Rect to avoid ambiguity between WebCore::Rect and Carbon's Rect.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformPostInitialize):
- (WebKit::NetscapePlugin::windowFrameChanged):
-
-2010-10-28 Ivan Krstić <ike@apple.com>
-
- Reviewed by Mark Rowe.
-
- Remove unused experimental proxied panel interface.
- <rdar://problem/7237059>
-
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2010-10-27 Mark Rowe <mrowe@apple.com>
-
- Build fix.
-
- * UIProcess/API/mac/PageClientImpl.mm: Reference the file using the correct case.
-
-2010-10-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Find indicators do not bounce
- https://bugs.webkit.org/show_bug.cgi?id=48490
- <rdar://problem/8564276>
-
- * UIProcess/API/mac/FindIndicatorWindow.h:
- * UIProcess/API/mac/FindIndicatorWindow.mm:
- (-[WebFindIndicatorWindowAnimation _initWithFindIndicatorWindow:WebKit::animationDuration:animationProgressCallback:WebKit::FindIndicatorWindow::animationDidEndCallback:WebKit::FindIndicatorWindow::]):
- Add an animationDuration parameter.
-
- (WebKit::FindIndicatorWindow::FindIndicatorWindow):
- Initialize m_bounceAnimationContext.
-
- (WebKit::FindIndicatorWindow::setFindIndicator):
- Create a bounce animation and start it.
-
- (WebKit::FindIndicatorWindow::closeWindow):
- Stop the bounce animation and destroy the bounce animation context.
-
- (WebKit::FindIndicatorWindow::startFadeOutTimerFired):
- pass the fade out duration.
-
- (WebKit::FindIndicatorWindow::bounceAnimationCallback):
- Set the bounce animation progress.
-
- (WebKit::FindIndicatorWindow::bounceAnimationDidEnd):
- Destroy the bounce animation context.
-
-2010-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling.
-
- Remove the reference to the pageNamespace in the QWKPagePrivate.
- Access it through the WebPageProxy instead which holds a strong
- ref to it.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::QWKPagePrivate):
- (QWKPage::preferences):
- * UIProcess/API/qt/qwkpage_p.h:
-
-2010-10-27 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Support Appkit key bindings and custom key bindings in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=48271
- <rdar://problem/7660723>
-
- We need to support AppKit key bindings and custom key bindings in WebKit2.
- Every keyboard event is first sent to the WebProcess and we inform AppKit that
- we don't need further processing. When the event is processed by the WebProcess and no handler consumes it,
- we send a synchronous message back to the UI process to let AppKit perform the key bindings.
- This operation can result in one or more editing commands to execute or a noop.
- The WebProcess then replies back to the UI process to inform whether further processing is required, in
- which case the event is sent back to the application to be mapped.
- There is a potential for a race condition: in case the WebProcess is very slow to process the key events, the UI
- process could be in a completely different state when the event is being resent (for example it might not have the
- keyboard focus anymore) and the command could be lost. We should look out for user experience impact.
-
- * Scripts/webkit2/messages.py: Added header file in the generated file.
- * Shared/WebCoreArgumentCoders.h: Added encoder/decoder for KeypressCommand.
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::interceptKeyEvent): Pass-through call to WKView.
- (WebKit::PageClientImpl::didNotHandleKeyEvent): Added logic to resend the event to the application.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView validateUserInterfaceItem:]): Changed the default return value to YES, otherwise no menu shortcut is performed.
- (-[WKView doCommandBySelector:]): Added.
- (-[WKView insertText:]): Added.
- (-[WKView _handleStyleKeyEquivalent:]): Added to handle command-B and command-I.
- (-[WKView performKeyEquivalent:]): Added to intercept key binding sequences.
- (-[WKView _setEventBeingResent:]):
- (-[WKView _interceptKeyEvent:]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::interpretKeyEvent):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- (WebKit::WebEditorClient::handleKeyboardEvent):
- (WebKit::WebEditorClient::handleInputMethodKeydown):
- * WebProcess/WebPage/WebPage.cpp:
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/mac/WebPageMac.mm: Moved handleKeyboardEvent and handleInputMethodKeydown
- to the Mac specific implementation.
- (WebKit::WebPage::interceptEditingKeyboardEvent): Added.
-
-2010-10-27 Brian Weinstein <bweinstein@apple.com>
-
- More Windows build fixage. Copy another new header into WebKitOutputDir.
-
- * win/WebKit2Generated.make:
-
-2010-10-27 Brian Weinstein <bweinstein@apple.com>
-
- Windows build fix. Copy a new header into WebKitOutputDir.
-
- * win/WebKit2Generated.make:
-
-2010-10-26 Darin Adler <darin@apple.com>
+ * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
+ (WebKit::WebResourceCacheManager::getCacheOrigins): cfURLCacheHostNames() can return a null CFArrayRef,
+ so the call to CFArrayGetCount must be null checked.
- Reviewed by Sam Weinig.
-
- WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
- https://bugs.webkit.org/show_bug.cgi?id=42322
- rdar://problem/8193631
-
- WebKitTestRunner needs to support layoutTestController.clearBackForwardList
- https://bugs.webkit.org/show_bug.cgi?id=42333
- rdar://problem/8193643
-
- * Shared/API/c/WKBase.h: Added WKBundleBackForwardListRef and
- WKBundleBackForwardListItemRef.
-
- * Shared/API/c/WKURL.cpp:
- (WKURLCopyString): Added.
- * Shared/API/c/WKURL.h: Added WKURLCopyString.
-
- * Shared/API/c/cf/WKURLCF.h: Fixed incorrect argument name.
-
- * Shared/APIObject.h: Added TypeBundleBackForwardList and
- TypeBundleBackForwardListItem.
-
- * Shared/ImmutableArray.h: Marked destructor virtual explicitly.
- * Shared/ImmutableDictionary.h: Ditto.
- * UIProcess/WebBackForwardListItem.h: Ditto.
- * UIProcess/WebContext.h: Ditto.
- * UIProcess/WebFrameProxy.h: Ditto.
- * UIProcess/WebNavigationData.h: Ditto.
- * UIProcess/WebPageNamespace.h: Ditto.
- * UIProcess/WebPreferences.h: Ditto.
- * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: Ditto.
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Ditto.
- * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h: Ditto.
-
- * UIProcess/WebBackForwardList.cpp: Removed unneeded backListWithLimit
- and forwardListWithLimit functions.
- (WebKit::WebBackForwardList::clear): Added.
- * UIProcess/WebBackForwardList.h: Marked destructor virtual explicitly.
- Added clear, removed backListWithLimit and forwardListWithLimit functions.
-
- * UIProcess/WebPageProxy.cpp: Removed unneeded backForwardBackItem,
- backForwardCurrentItem, and backForwardForwardItem functions.
- (WebKit::WebPageProxy::backForwardClear): Added.
- * UIProcess/WebPageProxy.h: Ditto.
- * UIProcess/WebPageProxy.messages.in: Ditto.
-
- * WebKit2.pro: Added new files.
- * WebKit2.xcodeproj/project.pbxproj: Ditto.
- * win/WebKit2.vcproj: Ditto.
-
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: Added
- WKBundleBackForwardListRef and WKBundleBackForwardListItemRef.
-
- * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp:
- Started with a copy of from WebKit2/UIProcess/API/C/WKBackForwardList.cpp.
- * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.h:
- Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardList.h.
-
- * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
- Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardListItem.cpp.
- * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h:
- Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardListItem.h.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageGetBackForwardList): Added.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Ditto.
-
-
- * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
- Started with a copy of WebKit2/UIProcess/WebBackForwardList.cpp.
- * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
- Started with a copy of WebKit2/UIProcess/WebBackForwardList.h.
-
- * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
- Started with a copy of WebKit2/UIProcess/WebBackForwardListItem.cpp.
- * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
- Started with a copy of WebKit2/UIProcess/WebBackForwardListItem.h.
-
- * WebProcess/WebPage/WebBackForwardListProxy.cpp: Removed
- many unneeded functions.
- (WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
- Removed unneeded initialization of m_closed.
- (WebKit::WebBackForwardListProxy::addItem): Added a check for
- the case of a capacity of 0.
- (WebKit::WebBackForwardListProxy::goToItem): Added a check for
- when the proxy outlives its page.
- (WebKit::WebBackForwardListProxy::itemAtIndex): Ditto.
- (WebKit::WebBackForwardListProxy::backListCount): Ditto.
- (WebKit::WebBackForwardListProxy::forwardListCount): Ditto.
- (WebKit::WebBackForwardListProxy::close): Removed unneeded code
- setting m_closed.
- (WebKit::WebBackForwardListProxy::isActive): Added.
- (WebKit::WebBackForwardListProxy::clear): Added.
-
- * WebProcess/WebPage/WebBackForwardListProxy.h: Added clear,
- isActive, and detach functions. Removed many other unneeded
- function and data members.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::~WebPage): Added call to detach on the
- back/forward list.
- (WebKit::WebPage::backForwardList): Added.
- * WebProcess/WebPage/WebPage.h: Added backForwardList function
- and m_backForwardList data member.
-
-2010-10-27 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=48385 Add WebKit
- SPI to scale a WebView
- -and corresponding-
- <rdar://problem/8107667>
-
- This patch adds SPI to Mac WebKit that scales the page by the given
- scale factor.
-
- Implement scaleWebView(), which tells WebCore::Frame to scale, and
- viewScaleFactor() which returns the current scale factor.
- * Shared/API/c/WKSharedAPICast.h:
- * UIProcess/API/C/WKPage.cpp:
- (WKPageScaleWebView):
- (WKPageGetViewScaleFactor):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::scaleWebView):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::viewScaleFactor):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::scaleWebView):
- (WebKit::WebPage::viewScaleFactor):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
-
-2010-10-27 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix the WebKit2 API tests.
- https://bugs.webkit.org/show_bug.cgi?id=48461
-
- The API tests were failing because the tests expect to be able to send messages before the
- WebProcess finishes launching.
-
- Instead of dispatching the pending messages in processDidFinishLaunching, dispatch them in
- ensureWebProcess but do not make messages pending if the process is launching.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::processDidFinishLaunching):
- Move dispatching the pending messages back from here ...
- (WebKit::WebContext::ensureWebProcess):
- ... to here.
- (WebKit::WebContext::postMessageToInjectedBundle):
- Check whether the process can send messages in order to determine if a message needs to be
- sent later.
-
- * UIProcess/WebProcessProxy.h:
- (WebKit::WebProcessProxy::canSendMessage):
- The WebProcessProxy can send a message if it is valid or if it is launching.
-
-2010-10-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- More work on downloads
- https://bugs.webkit.org/show_bug.cgi?id=48480
-
- * WebProcess/Downloads/Download.cpp:
- (WebKit::Download::~Download):
- Call platformInvalidate().
-
- (WebKit::Download::didBegin):
- (WebKit::Download::didReceiveData):
- (WebKit::Download::didFinish):
- Add empty stubs.
-
- * WebProcess/Downloads/DownloadManager.cpp:
- (WebKit::DownloadManager::startDownload):
- Create a Download object and insert it into the m_downloads map.
-
- * WebProcess/Downloads/cf/DownloadCFNet.cpp:
- (WebKit::Download::platformInvalidate):
- Add empty stub.
-
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (WebKit::Download::platformInvalidate):
- Tell the WKDownloadAsDelegate object that we're being invalidated.
-
- (-[WKDownloadAsDelegate downloadDidBegin:]):
- Call Download::didBegin.
-
- (-[WKDownloadAsDelegate download:didReceiveDataOfLength:]):
- Call Download::didReceiveData.
-
- (-[WKDownloadAsDelegate downloadDidFinish:]):
- Call Download::didFinish.
-
- * WebProcess/Downloads/qt/DownloadQt.cpp:
- (WebKit::Download::platformInvalidate):
- Add empty stub.
-
-2010-10-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebPageProxy::isValid should return false if the page has been explicitly closed
- https://bugs.webkit.org/show_bug.cgi?id=48458
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::isValid):
- (WebKit::WebPageProxy::relaunch):
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::processDidCrash):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::isClosed):
-
-2010-10-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
+2011-02-24 Anders Carlsson <andersca@apple.com>
- Begin stubbing out the Download class
- https://bugs.webkit.org/show_bug.cgi?id=48447
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebKit2Prefix.h:
- Include WebCore/EmptyProtocolDefinitions.h
-
- * WebProcess/Downloads/Download.cpp: Added.
- * WebProcess/Downloads/Download.h: Added.
-
- * WebProcess/Downloads/DownloadManager.cpp:
- (WebKit::DownloadManager::startDownload):
- Create a Download object and start it.
-
- * WebProcess/Downloads/mac/DownloadMac.mm: Added.
- (WebKit::Download::start):
- Create an NSURLDownload.
-
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::startDownload):
- Ask the download manager to start downloading.
-
- * win/WebKit2.vcproj:
- * win/WebKit2Common.vsprops:
- Add new files.
-
-2010-10-27 Adam Roben <aroben@apple.com>
-
- Don't allow setting NetscapePlugin::m_isWindowed after NPP_New has
- completed
-
- In Firefox, Chrome, and WebKit1 trying to set this value after NPP_New
- does not actually affect whether the plugin is windowed.
-
- Fixes <http://webkit.org/b/46673> <rdar://problem/8484211> Assertion
- failure in NetscapePlugin::platformDestroy when running
- plugins/mouse-events.html in WebKit2 on Windows
+ Reviewed by Simon Fraser.
- Reviewed by Anders Carlsson.
+ ASSERTION FAILED: !isInAcceleratedCompositingMode() when entering accelerated compositing early
+ https://bugs.webkit.org/show_bug.cgi?id=55162
+ <rdar://problem/9048523>
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::setIsWindowed): Moved here from the header.
- Bail out if m_isStarted is true, indicating that NPP_New has already
- finished.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h: Removed the
- implementation of setIsWindowed.
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::updateState):
+ Call setShouldNotifyAfterNextScheduledLayerFlush(false) so the web process process won't send an
+ EnterAcceleratedCompositingMode message.
-2010-10-27 Timothy Hatcher <timothy@apple.com>
+ (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
+ setShouldNotifyAfterNextScheduledLayerFlush now takes a boolean.
- Add API for enabling the developer extras (Web Inspector).
+ * WebProcess/WebPage/LayerTreeHost.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::setShouldNotifyAfterNextScheduledLayerFlush):
+ Make this take a boolean.
- http://webkit.org/b/48439
+2011-02-24 Peter Kasting <pkasting@google.com>
- Reviewed by John Sullivan.
+ Reviewed by Eric Seidel.
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::WebPreferencesStore):
- (WebKit::WebPreferencesStore::encode):
- (WebKit::WebPreferencesStore::decode):
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetDeveloperExtrasEnabled):
- (WKPreferencesGetDeveloperExtrasEnabled):
- * UIProcess/API/C/WKPreferences.h:
- * UIProcess/WebPreferences.cpp:
- (WebKit::WebPreferences::setDeveloperExtrasEnabled):
- (WebKit::WebPreferences::developerExtrasEnabled):
- * UIProcess/WebPreferences.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
+ Drop the "U; " encryption level from the User Agent string.
+ https://bugs.webkit.org/show_bug.cgi?id=54566
-2010-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+ * UIProcess/gtk/WebPageProxyGtk.cpp:
+ (WebKit::WebPageProxy::standardUserAgent):
+ * UIProcess/mac/WebPageProxyMac.mm:
+ (WebKit::WebPageProxy::standardUserAgent):
+ * UIProcess/qt/WebPageProxyQt.cpp:
+ (WebKit::WebPageProxy::standardUserAgent):
+ * UIProcess/win/WebPageProxyWin.cpp:
+ (WebKit::WebPageProxy::standardUserAgent):
- Reviewed by Anders Carlsson.
+2011-02-24 Andrew Wilson <atwilson@chromium.org>
- Move contentsSizeChange from the UIClient into the PageClient and
- and make it a private Qt-only API in the process.
+ Unreviewed, rolling out r79570.
+ http://trac.webkit.org/changeset/79570
+ https://bugs.webkit.org/show_bug.cgi?id=54874
- Make WKPageContentsSizeChangedCallback be a private API
- https://bugs.webkit.org/show_bug.cgi?id=48409
+ Breaks chromium build because glue/mocks/mock_web_frame.h/cc
+ was not updated
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::didChangeContentsSize):
- (QWKPage::QWKPage):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didChangeContentsSize):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebUIClient.cpp:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::contentsSizeChanged):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
-2010-10-26 Brian Weinstein <bweinstein@apple.com>
+2011-02-23 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben.
+ Reviewed by Adam Roben and looked over by Jessie Berlin.
- WebKit2 shouldn't try to send an empty user agent
- https://bugs.webkit.org/show_bug.cgi?id=48397
+ Part of WebKit2: Need a way to manage cookies from the web process
+ https://bugs.webkit.org/show_bug.cgi?id=55086
- Change the check of the custom user agent to an empty check instead of a null check. When the client application
- sets a custom user agent and then resets it, the custom user agent is set to an empty string. If all we do
- is check for a null string, then we will think we have a custom user agent (which is empty) and send an empty
- user agent.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::userAgent):
-
-2010-10-27 Adam Roben <aroben@apple.com>
-
- Don't call NPP_GetValue if the plugin didn't provide an implementation
-
- Fixes <http://webkit.org/b/48433> Crash in
- NetscapePlugin::shouldLoadSrcURL when using Shockwave Director 10.3 in
- WebKit2 on Windows
-
- Reviewed by Eric Carlson.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NPP_GetValue): Null-check the getvalue pointer
- before using it to call NPP_GetValue.
-
-2010-10-27 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Assert due to multiple initialization of WebPlatformStrategies
- https://bugs.webkit.org/show_bug.cgi?id=48327
-
- We are using the LocalizationStrategy in the UI process
- so the previous attempt to fix this (http://trac.webkit.org/changeset/70620)
- was wrong.
- * UIProcess/API/qt/qwkpage.cpp:
- (initializePlatformStrategiesIfNeeded):
- Call WebPlatformStrategies::initialize exactly once.
- (QWKPagePrivate::QWKPagePrivate):
-
-2010-10-27 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] WebKit2 UI process crashes if web process crashes
- https://bugs.webkit.org/show_bug.cgi?id=48400
-
- Check the success of socket write operations.
- Avoids crashing the UI process if web process has crashed.
- Qt socket code segfaults when write is called for a socket
- that has had an error.
-
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- (CoreIPC::Connection::platformInvalidate):
- Reset m_socket after deletion.
-
- (CoreIPC::Connection::sendOutgoingMessage):
- Check error status of write operations and
- invalidate socket if writes fail.
-
-2010-10-27 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Type mismatch while serializing/deserializing message id size
- https://bugs.webkit.org/show_bug.cgi?id=48401
-
- Use correct types when reading data from connection buffer.
-
- The message id is written as uint32_t, thus the buffer size should be
- calculated based on sizeof(uint32_t) and not sizeof(MessageID).
-
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- (CoreIPC::Connection::readyReadHandler):
-
-2010-10-27 Zalan Bujtas <zbujtas@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Multiple WebPlatformStrategy initialization triggers assert in WebCore/PlatformStrategies.
- Remove the code for now, as it is not used at all.
- https://bugs.webkit.org/show_bug.cgi?id=48327
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::QWKPagePrivate):
-
-2010-10-26 Brent Fulgham <bfulgham@webkit.org>
-
- Unreviewed build fix.
-
- * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
- (WebKit::cancelledError): Conditionalize use of CFNetwork calls
- and includes.
-
-2010-10-26 Alexey Proskuryakov <ap@apple.com>
-
- Build fix.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Modified original file, not its framework
- copy this time.
-
-2010-10-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add DownloadManager class
- https://bugs.webkit.org/show_bug.cgi?id=48388
+ This patch adds the plumbing and classes that are needed to manage cookies from the web process.
+ The functions that the API calls are currently stubs, but will be implemented in a follow-up patch.
+ Project file changes.
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ * GNUmakefile.am:
+ * WebKit2.pri:
* WebKit2.pro:
* WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebProcess/Downloads/DownloadManager.cpp: Added.
- (WebKit::DownloadManager::shared):
- (WebKit::DownloadManager::DownloadManager):
- * WebProcess/Downloads/DownloadManager.h: Added.
-
* win/WebKit2.vcproj:
* win/WebKit2Common.vsprops:
- Add new files.
-
-2010-10-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Pass a downloadID to the web process whenever a download is requested
- https://bugs.webkit.org/show_bug.cgi?id=48380
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::generateDownloadID):
- Generate a unique download ID.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::receivedPolicyDecision):
- Pass along a download ID if needed.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::startDownload):
- Call the web frame member function.
-
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::WebFrame):
- Initialize m_policyDownloadID.
-
- (WebKit::WebFrame::invalidatePolicyListener):
- Reset m_policyDownloadID.
-
- (WebKit::WebFrame::didReceivePolicyDecision):
- Set m_policyDownloadID.
-
- (WebKit::WebFrame::startDownload):
- Assert that m_policyDownloadID is not zero.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didReceivePolicyDecision):
- Pass along the download ID.
-
- * WebProcess/WebPage/WebPage.messages.in:
- Add the download ID.
-
-2010-10-26 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=48375
- <rdar://problem/8392724> Need delegate calls in PageLoaderClient to indicate if we have
- loaded insecure content
-
- Added the delegate. Just like the bundle version, it misses WebOrigin parameter that Mac
- delegate call used to have. It doesn't seem necessary for clients.
-
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::didDisplayInsecureContentForFrame):
- (WebKit::WebLoaderClient::didRunInsecureContentForFrame):
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
- (WebKit::WebPageProxy::didRunInsecureContentForFrame):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
- (WebKit::WebFrameLoaderClient::didRunInsecureContent):
-
-2010-10-26 Jenn Braithwaite <jennb@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Resource tracking failure when trying to move a frame between documents
- https://bugs.webkit.org/show_bug.cgi?id=44713
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::transferLoadingResourceFromPage):
- Empty method.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
-
-2010-10-26 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Darin Adler.
+ * win/WebKit2Generated.make:
- Post any pending messages to the Injected Bundle in WebContext::processDidFinishLaunching
- instead of in WebContext::ensureWebProcess.
- https://bugs.webkit.org/show_bug.cgi?id=48367
+ Add some needed plumbing for WebCookieManager{Proxy}.
+ * Platform/CoreIPC/MessageID.h:
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ * UIProcess/API/C/WKAPICast.h:
- Send pending injected bundle messages after the process finished launching instead of of
- directly after creating it.
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextGetCookieManager): Gets the cookie manager proxy.
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/API/C/WKCookieManager.cpp: Added.
+ (WKCookieManagerGetTypeID):
+ (WKCookieManagerGetHostnamesWithCookies): Calls through to WebCookieManagerProxy.
+ (WKCookieManagerDeleteCookiesForHostname): Ditto.
+ (WKCookieManagerDeleteAllCookies): Ditto.
+ * UIProcess/API/C/WKCookieManager.h: Added.
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveMessage): Add a case for the cookie manager.
* UIProcess/WebContext.cpp:
- (WebKit::WebContext::ensureWebProcess):
- Move the logic to dispatch pending injected bundle messages from here ...
- (WebKit::WebContext::processDidFinishLaunching):
- ... to here.
- Also use a reference instead of a pointer when sending the pending messages.
-
-2010-10-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- pageDidScroll callback should be on the UI process client rather than (or in addition to) the web process client
- https://bugs.webkit.org/show_bug.cgi?id=48366
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- Add zero initializer.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::pageDidScroll):
- Call the pageDidScroll client function.
-
- * UIProcess/WebPageProxy.messages.in:
- Add PageDidScroll message.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::pageDidScroll):
- Send the PageDidScroll message.
+ (WebKit::WebContext::WebContext): Initialize the cookie manager.
+ (WebKit::WebContext::~WebContext): Invalidate the cookie manager.
+ (WebKit::WebContext::disconnectProcess): Ditto.
+ (WebKit::WebContext::didReceiveMessage): Add a case for the cookie manager.
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::cookieManagerProxy): Returns the cookie manager.
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveMessage): Add a case for the cookie manager.
+
+ * UIProcess/WebCookieManagerProxy.cpp: Added.
+ (WebKit::WebCookieManagerProxy::create):
+ (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
+ (WebKit::WebCookieManagerProxy::~WebCookieManagerProxy):
+ (WebKit::WebCookieManagerProxy::invalidate):
+ (WebKit::WebCookieManagerProxy::didReceiveMessage):
+ (WebKit::WebCookieManagerProxy::getHostnamesWithCookies): Call through to the web process to get hostnames with cookies.
+ (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies): Call the callback we were passed in getHostnamesWithCookies.
+ (WebKit::WebCookieManagerProxy::deleteCookiesForHostname): Call through to the web process to delete cookies
+ for the origin.
+ (WebKit::WebCookieManagerProxy::deleteAllCookies): Call through to the web process to delete all cookies.
+ * UIProcess/WebCookieManagerProxy.h: Added.
+ (WebKit::WebCookieManagerProxy::clearContext):
+ (WebKit::WebCookieManagerProxy::type):
+ * UIProcess/WebCookieManagerProxy.messages.in: Added.
+
+ * WebProcess/Cookies: Added.
+ * WebProcess/Cookies/WebCookieManager.cpp: Added.
+ (WebKit::WebCookieManager::shared):
+ (WebKit::WebCookieManager::WebCookieManager):
+ (WebKit::WebCookieManager::didReceiveMessage): Call through to didReceiveWebCookieManagerMessage.
+ (WebKit::WebCookieManager::getHostnamesWithCookies): Build an array from a HashSet (that isn't filled yet), and
+ convert that HashSet to a Vector to send to the UI process.
+ (WebKit::WebCookieManager::deleteCookiesForHostname): Added a stub.
+ (WebKit::WebCookieManager::deleteAllCookies): Ditto.
+ * WebProcess/Cookies/WebCookieManager.h: Added.
+ * WebProcess/Cookies/WebCookieManager.messages.in: Added.
+
+2011-02-24 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> and Alejandro G. Castro <alex@igalia.com>
-2010-10-26 Brian Weinstein <bweinstein@apple.com>
+ Reviewed by Martin Robinson.
- Reviewed by Darin Adler.
+ [GTK] Implement WebEventFactory, WebErrors classes for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=48510
- Need a way to retrieve custom user agent from a WKPage
- https://bugs.webkit.org/show_bug.cgi?id=48360
- <rdar://problem/8466537>
-
- Add an exported function on WKPage to get the page's custom user agent.
+ * GNUmakefile.am:
+ * Shared/gtk/WebEventFactory.cpp: Added. implementation for
+ WebMouseEvent, WebWheelEvent, WebKeyboardEvent.
+ * Shared/gtk/WebEventFactory.h: Added.
+ * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp: Added. Stubbed
+ implementation for GTK port.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageCopyCustomUserAgent): Exported function that returns the custom user
- agent.
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close): Clear the custom user agent string.
- (WebKit::WebPageProxy::processDidCrash): Ditto.
- (WebKit::WebPageProxy::setCustomUserAgent): Add a new early return if we're setting
- the custom user agent to what it was before, and set the custom user agent member
- variable.
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::customUserAgent): Returns the custom user agent.
+2011-02-24 Vsevolod Vlasov <vsevik@chromium.org>
-2010-10-26 Simon Fraser <simon.fraser@apple.com>
+ Reviewed by Alexey Proskuryakov.
- Reviewed by Sam Weinig.
+ DumpRenderTree should reset frame opener between tests.
+ https://bugs.webkit.org/show_bug.cgi?id=54874
- Support layoutTestController.layerTreeAsText in WebKitTestRunner
- https://bugs.webkit.org/show_bug.cgi?id=42145
-
- Expose layerTreeAsText() as private API so that
- WebKitTestRunner can use it.
+ Added clearOpener method to WKBundleWebFramePrivate.
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameCopyLayerTreeAsText):
+ (WKBundleFrameClearOpener):
* WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::numberOfActiveAnimations):
- (WebKit::WebFrame::layerTreeAsText):
- (WebKit::WebFrame::pendingUnloadCount):
- * WebProcess/WebPage/WebFrame.h:
-
-2010-10-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Enable the plug-in process on Mac
- https://bugs.webkit.org/show_bug.cgi?id=48350
-
- * WebKit2Prefix.h:
- Flip the switch and enable the plug-in process on Mac.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformDestroy):
- Fix a bogus assert.
-
-2010-10-26 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Implement SharedMemory for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=47345
-
- Implement unimplemented functions in SharedMemoryQt.cpp.
- Rename MappedMemory.h to MappedMemoryPool.h, move MappedMemoryPool.{h|cpp} from
- Shared/qt to Platform/qt. Modify affected lines of WebKit2.pro.
- Move MappedMemory implementation into MappedMemoryPool. Remove unnecessary
- methods of MappedMemoryPool.
-
- * Platform/SharedMemory.h: Add a handle member for Qt.
- * Platform/qt/MappedMemoryPool.cpp: Copied from WebKit2/Shared/qt/MappedMemoryPool.cpp.
- (WebKit::MappedMemoryPool::searchForMappedMemory):
- (WebKit::MappedMemoryPool::mapMemory):
- (WebKit::MappedMemoryPool::mapFile):
- * Platform/qt/MappedMemoryPool.h: Copied from WebKit2/Shared/qt/MappedMemory.h.
- (WebKit::MappedMemoryPool::MappedMemory::mapSize):
- (WebKit::MappedMemoryPool::MappedMemory::markUsed):
- (WebKit::MappedMemoryPool::MappedMemory::markFree):
- (WebKit::MappedMemoryPool::MappedMemory::isFree):
- (WebKit::MappedMemoryPool::MappedMemory::data):
- (WebKit::MappedMemoryPool::MappedMemoryPool):
- Move MappedMemory implementation into MappedMemoryPool.
- * Platform/qt/SharedMemoryQt.cpp:
- (WebKit::SharedMemory::Handle::Handle): Implement.
- (WebKit::SharedMemory::Handle::~Handle):
- (WebKit::SharedMemory::Handle::isNull): Implement.
- (WebKit::SharedMemory::Handle::encode): Implement.
- (WebKit::SharedMemory::Handle::decode): Implement.
- (WebKit::SharedMemory::create): Implement.
- (WebKit::mapProtection): Added.
- (WebKit::SharedMemory::~SharedMemory): Implement.
- (WebKit::SharedMemory::createHandle): Implement.
- (WebKit::SharedMemory::systemPageSize): Implement.
- * Shared/qt/MappedMemory.h: Removed.
- * Shared/qt/MappedMemoryPool.cpp: Removed.
- * Shared/qt/UpdateChunk.cpp:
- (WebKit::UpdateChunk::UpdateChunk):
- (WebKit::UpdateChunk::decode):
- Modify to use MappedMemoryPool.
- * Shared/qt/UpdateChunk.h:
- * WebKit2.pro:
- Modify affected lines.
-
-2010-10-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKit2 callbacks for findString() and countMatchesForString() should report whether the match count was exceeded
- https://bugs.webkit.org/show_bug.cgi?id=48285
- <rdar://problem/8576318>
-
- * UIProcess/API/C/WKPage.h:
- Add a kWKMoreThanMaximumMatchCount constant.
-
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::findString):
- If we get back more matches than allowed, send kWKMoreThanMaximumMatchCount as the match constant.
-
-2010-10-25 Dan Bernstein <mitz@apple.com>
-
- Non-Carbon build fix.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::windowFrameChanged):
-
-2010-10-25 Timothy Hatcher <timothy@apple.com>
-
- Stub out WebInspector objects and WKInspectorRef API.
-
- https://webkit.org/b/48265
-
- Reviewed by Anders Carlsson.
-
- * Platform/CoreIPC/MessageID.h: Added MessageClassWebInspector and MessageClassWebInspectorProxy.
- * Shared/API/c/WKBase.h: Added WKInspectorRef.
- * Shared/APIObject.h: Added TypeInspector.
- * UIProcess/API/C/WKAPICast.h: Added WKInspectorRef to WebInspectorProxy mapping.
- * UIProcess/API/C/WKInspector.cpp: Added.
- (WKInspectorGetTypeID):
- (WKInspectorGetPage):
- * UIProcess/API/C/WKInspector.h: Added.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageGetInspector): Added.
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebInspectorProxy.cpp: Added.
- (WebKit::WebInspectorProxy::WebInspectorProxy):
- (WebKit::WebInspectorProxy::~WebInspectorProxy):
- (WebKit::WebInspectorProxy::invalidate):
- * UIProcess/WebInspectorProxy.h:
- (WebKit::WebInspectorProxy::create):
- (WebKit::WebInspectorProxy::page):
- (WebKit::WebInspectorProxy::type):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::inspector): Lazily create the WebInspectorProxy.
- * UIProcess/WebPageProxy.h:
- * WebKit2.pro: Added new files.
- * WebKit2.xcodeproj/project.pbxproj: Added new files.
- * WebProcess/WebPage/WebInspector.cpp: Added.
- (WebKit::WebInspector::WebInspector):
- * WebProcess/WebPage/WebInspector.h: Added.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::inspector): Lazily create the WebInspector.
- * WebProcess/WebPage/WebPage.h:
- * win/WebKit2.vcproj: Added new files.
-
-2010-10-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Update the fake Carbon window when the window frame changes
- https://bugs.webkit.org/show_bug.cgi?id=48273
-
- * UIProcess/API/mac/WKView.mm:
- (screenForWindow):
- (-[WKView _updateWindowFrame]):
- Pass the window frame in Carbon coordinates.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::windowFrameChanged):
- Update the window bounds.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::setWindowFrame):
- Call the plug-in.
-
- (WebKit::PluginView::platformLayer):
- Fix a crash when WebCore asked for the layer before it was initialized.
-
-2010-10-25 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Remove exec and globalData arguments from jsNumber
- https://bugs.webkit.org/show_bug.cgi?id=48270
-
- Mechanical removal of exec parameter to jsNumber
-
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
-
-2010-10-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Replace matchCountDidChange with didFindString/didFailToFindString
- https://bugs.webkit.org/show_bug.cgi?id=48262
- <rdar://problem/8568928>
-
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebFindClient.cpp:
- (WebKit::WebFindClient::didFindString):
- (WebKit::WebFindClient::didFailToFindString):
- * UIProcess/WebFindClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didFindString):
- (WebKit::WebPageProxy::didFailToFindString):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::findString):
-
-2010-10-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add a pageDidScroll BundleUIClient callback
- https://bugs.webkit.org/show_bug.cgi?id=48260
- <rdar://problem/8531159>
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
- (WebKit::InjectedBundlePageUIClient::pageDidScroll):
- Call the pageDidScroll callback.
-
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
- (WebKit::WebChromeClient::scroll):
- Call pageDidScroll.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::pageDidScroll):
- Hide the find banner UI and call the BundleUIClient pageDidScroll callback.
-
-2010-10-25 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
-
- Control + Mousewheel shouldn't be handled in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=48253
-
- Don't handle a wheel event if Control is pressed, pass the message back to DefWindowProc.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::onWheelEvent):
-
-2010-10-25 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- cancelledError for WebKit2 on windows should use kCFErrorDomainCFNetwork instead of webKitErrorDomain
- https://bugs.webkit.org/show_bug.cgi?id=48254
-
- * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
- (WebKit::cancelledError): Use kCFErrorDomainCFNetwork instead of webKitErrorDomain and switch over
- to using kCFURLErrorCancelled instead of a hard coded constant.
-
-2010-10-25 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Need WebKit2 API to figure out if a frame can provide source
- <rdar://problem/8424632>
- https://bugs.webkit.org/show_bug.cgi?id=48252
-
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameCanProvideSource):
- * UIProcess/API/C/WKFrame.h:
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::canProvideSource):
- * UIProcess/WebFrameProxy.h:
- Add API to figure out if a frame can provide source based on its
- MIME type.
-
-2010-10-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Java applets don't display on the page
- https://bugs.webkit.org/show_bug.cgi?id=48251
- <rdar://problem/8483759>
-
- Add WKPreferencesSetJavaEnabled and initialize it to true by default, matching old WebKit.
-
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::WebPreferencesStore):
- Initialize javaEnabled.
- (WebKit::WebPreferencesStore::encode):
- Encode javaEnabled.
+2011-02-24 Benjamin Poulain <benjamin.poulain@nokia.com>
- (WebKit::WebPreferencesStore::decode):
- Decode javaEnabled.
-
- * Shared/WebPreferencesStore.h:
- Add javaEnabled.
-
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPReferencesSetJavaEnabled):
- (WKPReferencesGetJavaEnabled):
- Call the WebPreferences functions.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
- Just call createPlugin.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
- Call Settings::setJavaEnabled.
-
-2010-10-25 Patrick Gansterer <paroga@webkit.org>
+ Reviewed by Eric Seidel.
- Reviewed by David Kilzer.
+ Support building WebKit with Python 3
+ https://bugs.webkit.org/show_bug.cgi?id=55038
- Replace _countof with WTF_ARRAY_LENGTH
- https://bugs.webkit.org/show_bug.cgi?id=48229
+ Update the generator scripts to support Python 3.
- * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
- (WebKit::ProcessLauncher::launchProcess):
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- (WebKit::safariPluginsDirectory):
- (WebKit::addMozillaPluginDirectories):
- (WebKit::addWindowsMediaPlayerPluginDirectory):
- (WebKit::addAdobeAcrobatPluginDirectory):
- (WebKit::addMacromediaPluginDirectories):
- (WebKit::addPluginPathsFromRegistry):
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::interpretKeyEvent):
+ * Scripts/generate-message-receiver.py: print is a function in Python 3, write the output to
+ sys.stdout to be compatible with Python 2 and 3.
+ * Scripts/generate-messages-header.py:
+ * Scripts/webkit2/messages.py: dist.iteritems does not exist in Python 3, fallback
+ to dict.items which is common to Python 2 and 3.
-2010-10-25 Adam Roben <aroben@apple.com>
+2011-02-24 Andras Becsi <abecsi@webkit.org>
- Stop copying .messages.in files into WebKit2's framework bundle
+ Reviewed by Laszlo Gombos.
- Fixes <http://webkit.org/b/48232> Several .messages.in files end up in
- WebKit2's framework bundle
+ [Qt] MinGW build fails to link
+ https://bugs.webkit.org/show_bug.cgi?id=55050
- Reviewed by Dan Bernstein.
+ Prepend the libraries of subcomponents instead of appending them
+ to fix the library order according to the dependency of the libraries
- * WebKit2.xcodeproj/project.pbxproj:
+ * WebKit2.pri:
-2010-10-25 Andras Becsi <abecsi@webkit.org>
+2011-02-24 Andras Becsi <abecsi@webkit.org>
Reviewed by Csaba Osztrogonác.
- [Qt] Fix the WebKit2 build after sheriffbot messed up the rollout patch.
- https://bugs.webkit.org/show_bug.cgi?id=48238
-
- * Shared/qt/MappedMemory.h: Renamed from WebKit2/Platform/qt/MappedMemoryPool.h.
- (WebKit::MappedMemory::mapSize):
- (WebKit::MappedMemory::markUsed):
- (WebKit::MappedMemory::markFree):
- (WebKit::MappedMemory::isFree):
- (WebKit::MappedMemory::data):
-
-2010-10-25 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r70450.
- http://trac.webkit.org/changeset/70450
- https://bugs.webkit.org/show_bug.cgi?id=48238
-
- Causes WTR to crash on tests which use SharedMemory.
- (Requested by bbandix on #webkit).
-
- * Platform/SharedMemory.h:
- * Platform/qt/MappedMemoryPool.cpp: Removed.
- * Platform/qt/SharedMemoryQt.cpp:
- (WebKit::SharedMemory::Handle::Handle):
- (WebKit::SharedMemory::Handle::~Handle):
- (WebKit::SharedMemory::Handle::encode):
- (WebKit::SharedMemory::Handle::decode):
- (WebKit::SharedMemory::create):
- (WebKit::SharedMemory::~SharedMemory):
- (WebKit::SharedMemory::createHandle):
- (WebKit::SharedMemory::systemPageSize):
- * Shared/qt/MappedMemory.h: Renamed from WebKit2/Platform/qt/MappedMemoryPool.h.
- (WebKit::MappedMemory::mapSize):
- (WebKit::MappedMemory::markUsed):
- (WebKit::MappedMemory::markFree):
- (WebKit::MappedMemory::isFree):
- (WebKit::MappedMemory::data):
- * Shared/qt/MappedMemoryPool.cpp: Added.
- (WebKit::MappedMemoryPool::MappedMemoryPool):
- (WebKit::MappedMemoryPool::instance):
- (WebKit::MappedMemoryPool::size):
- (WebKit::MappedMemoryPool::at):
- (WebKit::MappedMemoryPool::append):
- (WebKit::MappedMemoryPool::cleanUp):
- * Shared/qt/UpdateChunk.cpp:
- (WebKit::mapMemory):
- (WebKit::mapFile):
- (WebKit::UpdateChunk::UpdateChunk):
- (WebKit::UpdateChunk::decode):
- * Shared/qt/UpdateChunk.h:
- * WebKit2.pro:
-
-2010-10-25 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Implement SharedMemory for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=47345
-
- Implement unimplemented functions in SharedMemoryQt.cpp.
- Rename MappedMemory.h to MappedMemoryPool.h, move MappedMemoryPool.{h|cpp} from
- Shared/qt to Platform/qt. Modify affected lines of WebKit2.pro.
- Move MappedMemory implementation into MappedMemoryPool. Remove unnecessary
- methods of MappedMemoryPool.
-
- * Platform/SharedMemory.h: Add a handle member for Qt.
- * Platform/qt/MappedMemoryPool.cpp: Copied from WebKit2/Shared/qt/MappedMemoryPool.cpp.
- (WebKit::MappedMemoryPool::searchForMappedMemory):
- (WebKit::MappedMemoryPool::mapMemory):
- (WebKit::MappedMemoryPool::mapFile):
- * Platform/qt/MappedMemoryPool.h: Copied from WebKit2/Shared/qt/MappedMemory.h.
- (WebKit::MappedMemoryPool::MappedMemory::mapSize):
- (WebKit::MappedMemoryPool::MappedMemory::markUsed):
- (WebKit::MappedMemoryPool::MappedMemory::markFree):
- (WebKit::MappedMemoryPool::MappedMemory::isFree):
- (WebKit::MappedMemoryPool::MappedMemory::data):
- (WebKit::MappedMemoryPool::MappedMemoryPool):
- Move MappedMemory implementation into MappedMemoryPool.
- * Platform/qt/SharedMemoryQt.cpp:
- (WebKit::SharedMemory::Handle::Handle): Implement.
- (WebKit::SharedMemory::Handle::~Handle):
- (WebKit::SharedMemory::Handle::isNull): Implement.
- (WebKit::SharedMemory::Handle::encode): Implement.
- (WebKit::SharedMemory::Handle::decode): Implement.
- (WebKit::SharedMemory::create): Implement.
- (WebKit::mapProtection): Added.
- (WebKit::SharedMemory::~SharedMemory): Implement.
- (WebKit::SharedMemory::createHandle): Implement.
- (WebKit::SharedMemory::systemPageSize): Implement.
- * Shared/qt/MappedMemory.h: Removed.
- * Shared/qt/MappedMemoryPool.cpp: Removed.
- * Shared/qt/UpdateChunk.cpp:
- (WebKit::UpdateChunk::UpdateChunk):
- (WebKit::UpdateChunk::decode):
- Modify to use MappedMemoryPool.
- * Shared/qt/UpdateChunk.h:
- * WebKit2.pro:
- Modify affected lines.
-
-2010-10-24 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Need a way to determine the screen rect for a form control in WebKit2
- <rdar://problem/8530670>
- https://bugs.webkit.org/show_bug.cgi?id=48216
-
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toAPI):
- Add conversion from IntRect to WKRect.
-
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
- (WKBundleNodeHandleGetElementBounds):
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
- (WebKit::InjectedBundleNodeHandle::elementBounds):
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
- Add SPI to get the rect in window space. The client can then convert this to screen
- space if they wish to.
-
-2010-10-23 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Sam Weinig.
-
- Unify globalData APIs
- https://bugs.webkit.org/show_bug.cgi?id=47969
-
- Adapt code to JSGlobalObject::globalData returning a reference
- instead of a pointer.
-
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
- (WebKit::NPRuntimeObjectMap::evaluate):
-
-2010-10-23 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=48083
- <rdar://problem/8489082> Need WebKit2 API for private browsing (48083)
-
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
- Initialize the new method.
-
-2010-10-21 Timothy Hatcher <timothy@apple.com>
-
- Stub out WebInspectorFrontendClient.
-
- https://bugs.webkit.org/show_bug.cgi?id=48091
-
- Reviewed by Adam Roben.
-
- * WebKit2.pro: Added WebInspectorFrontendClient.{cpp,h}.
- * WebKit2.xcodeproj/project.pbxproj: Added WebInspectorFrontendClient.{cpp,h}.
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: Added.
- (WebKit::WebInspectorFrontendClient::windowObjectCleared): Added.
- (WebKit::WebInspectorFrontendClient::frontendLoaded): Added.
- (WebKit::WebInspectorFrontendClient::moveWindowBy): Added.
- (WebKit::WebInspectorFrontendClient::localizedStringsURL): Added.
- (WebKit::WebInspectorFrontendClient::hiddenPanels): Added.
- (WebKit::WebInspectorFrontendClient::bringToFront): Added.
- (WebKit::WebInspectorFrontendClient::closeWindow): Added.
- (WebKit::WebInspectorFrontendClient::disconnectFromBackend): Added.
- (WebKit::WebInspectorFrontendClient::requestAttachWindow): Added.
- (WebKit::WebInspectorFrontendClient::requestDetachWindow): Added.
- (WebKit::WebInspectorFrontendClient::changeAttachedWindowHeight): Added.
- (WebKit::WebInspectorFrontendClient::inspectedURLChanged): Added.
- (WebKit::WebInspectorFrontendClient::sendMessageToBackend): Added.
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: Added.
- (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient): Added.
- * win/WebKit2.vcproj: Added WebInspectorFrontendClient.{cpp,h}.
-
-2010-10-21 Timothy Hatcher <timothy@apple.com>
-
- Remove stale stubs that are not longer part of InspectorClient.
-
- https://bugs.webkit.org/show_bug.cgi?id=48090
-
- Reviewed by Adam Roben.
-
- * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
- * WebProcess/WebCoreSupport/WebInspectorClient.h:
+ [Qt] REGRESSION(69304): WKNativeEvent.h forwarding header is always regenerated
+ https://bugs.webkit.org/show_bug.cgi?id=47589
-2010-10-22 Andy Estes <aestes@apple.com>
+ In case of file name clashes only generate forwarding header for the current platform.
- Reviewed by Adam Roben and Sam Weinig.
-
- WebKit shouldn't load a plug-in based on file extension if a MIME type
- is specified.
- https://bugs.webkit.org/show_bug.cgi?id=48046
-
- The fix landed in r70332 only covered the Mac port. Implement this fix
- for WebKit2 as well.
-
- * UIProcess/Plugins/PluginInfoStore.cpp:
- (WebKit::PluginInfoStore::findPlugin):
-
-2010-10-22 Anders Carlsson <andersca@apple.com>
-
- Fix clang++ build.
-
- * Scripts/webkit2/messages.py:
-
-2010-10-22 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * UIProcess/API/qt/qwkpage_p.h:
- (QWKPagePrivate::didRelaunchProcess):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::didRelaunchProcess):
- * UIProcess/win/WebView.h:
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-10-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebContext::ensureWebProcess shouldn't send multiple InitializeWebProcess messages.
- https://bugs.webkit.org/show_bug.cgi?id=48158
- <rdar://problem/8512572>
-
- If the web process was launching when another call to ensureWebProcess is sent, we
- would end up sending another InitializeWebProcess message to it which would result
- in assertions firing. Fix this by only checking for m_process, and not requiring a process
- to be valid (which it won't be until it's finished launching).
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::ensureWebProcess):
-
-2010-10-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Rename revive to relaunch everywhere.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::didRelaunchProcess):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _didRelaunchProcess]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::relaunchProcessIfNecessary):
- * UIProcess/WebContext.h:
- * UIProcess/WebPageNamespace.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::relaunch):
- (WebKit::WebPageProxy::initializeWebPage):
- (WebKit::WebPageProxy::loadURL):
- (WebKit::WebPageProxy::loadURLRequest):
- * UIProcess/WebPageProxy.h:
-
-2010-10-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Fix assert when a NetscapePluginModule loses its last NetscapePlugin.
- https://bugs.webkit.org/show_bug.cgi?id=48155
-
- (The assert in question is ASSERT(pluginModuleIndex != notFound) in
- NetscapePluginModule::shutdown()).
-
- * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
- (WebKit::NetscapePluginModule::pluginCreated):
- If we didn't have any live plug-ins, load the plug-in module.
-
- (WebKit::NetscapePluginModule::pluginDestroyed):
- If this was the last plug-in, unload the plug-in module.
-
- (WebKit::NetscapePluginModule::shutdown):
- Set m_isInitialized to false.
-
- (WebKit::NetscapePluginModule::load):
- Don't do anything if the plug-in module has already been initialized.
-
- (WebKit::NetscapePluginModule::unload):
- Assert that we're not initialized.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformPostInitialize):
- Assert that we successfully created the window.
-
-2010-10-22 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Crash in Connection::isValid when called in response to
- VisitedLinksProvider::pendingVisitedLinksTimerFired after WebProcessProxy::didClose was
- already called.
- https://bugs.webkit.org/show_bug.cgi?id=48153
-
- * UIProcess/VisitedLinkProvider.cpp:
- (WebKit::VisitedLinkProvider::stopVisitedLinksTimer):
- * UIProcess/VisitedLinkProvider.h:
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::processDidClose):
- Stop the pendingVisitedLinksTimer and null out the process.
- * UIProcess/WebContext.h:
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didClose):
- Tell the WebContext that the WebProcess did close.
-
-2010-10-22 Sam Weinig <sam@webkit.org>
-
- Fix Qt build.
-
- * UIProcess/API/qt/ClientImpl.h:
-
-2010-10-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- WebKit2 needs to pass the current event modifier flags when requesting a new window
- https://bugs.webkit.org/show_bug.cgi?id=48140
-
- In addition to passing modifier flags from the now passed NavigationAction, also pass
- the WindowFeatures to the UIProcess.
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::callMemberFunction):
- * Shared/WebCoreArgumentCoders.h:
- * Shared/WebEvent.h:
- (WebKit::WebEvent::modifiers):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::createNewPage):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::createNewPage):
- * UIProcess/WebUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::createWindow):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchCreatePage):
- (WebKit::modifiersForNavigationAction):
- (WebKit::mouseButtonForNavigationAction):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ * Scripts/generate-forwarding-headers.pl:
-2010-10-22 Anders Carlsson <andersca@apple.com>
+2011-02-23 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- Rename processDidExit to processDidCrash
- https://bugs.webkit.org/show_bug.cgi?id=48146
+ Remove some of the old accelerated compositing code
+ https://bugs.webkit.org/show_bug.cgi?id=55084
- * UIProcess/API/C/WKPage.h:
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::processDidCrash):
+ (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
* UIProcess/API/mac/WKView.mm:
- (-[WKView _processDidCrash]):
* UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
* UIProcess/API/qt/qwkpage_p.h:
- (QWKPagePrivate::processDidCrash):
* UIProcess/PageClient.h:
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::processDidBecomeUnresponsive):
- (WebKit::WebLoaderClient::processDidBecomeResponsive):
- (WebKit::WebLoaderClient::processDidCrash):
- * UIProcess/WebLoaderClient.h:
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::processDidBecomeUnresponsive):
- (WebKit::WebPageProxy::processDidBecomeResponsive):
- (WebKit::WebPageProxy::processDidCrash):
+ (WebKit::WebPageProxy::exitAcceleratedCompositingMode):
* UIProcess/WebPageProxy.h:
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didClose):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::processDidCrash):
- * UIProcess/win/WebView.h:
-
-2010-10-22 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- Corrected target dependencies.
-
- * WebKit2.xcodeproj/project.pbxproj: Made WebKit2 depend on DerivedSources and removed
- the explicit dependency of All on DerivedSources and WebKit2, since WebProcess depends on
- them.
-
-2010-10-20 Jon Honeycutt <jhoneycutt@apple.com>
-
- <rdar://problem/8423766> Cursor does not become "busy" when a page is
- loading with WebKit2
-
- Reviewed by Sam Weinig.
-
- * UIProcess/API/C/win/WKViewPrivate.cpp: Added.
- (WKViewSetOverrideCursor):
- Call the WebView's setOverrideCursor().
-
- * UIProcess/API/C/win/WKViewPrivate.h: Added.
- Declare WKViewSetOVerrideCursor().
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- Initialize new member vars to 0.
- (WebKit::WebView::updateNativeCursor):
- If there is an override cursor, and the last cursor set from the web
- process was the arrow cursor, use the override cursor. Otherwise, use
- the cursor from the web process.
- (WebKit::WebView::setCursor):
- Record the web process's cursor, and call updateNativeCursor().
- (WebKit::WebView::setOverrideCursor):
- Record the override cursor, and call updateNativeCursor().
-
- * UIProcess/win/WebView.h:
- Declare setOverrideCursor() and updateNativeCursor(). Add members to
- hold the last cursor set from the web process and the override cursor.
-
- * win/WebKit2.vcproj:
- Add new files to project.
-
- * win/WebKit2Generated.make:
- Copy WKViewPrivate.h with other headers.
-
-2010-10-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Crash evaluating JavaScript string that throws an exception
- https://bugs.webkit.org/show_bug.cgi?id=48092
- <rdar://problem/8487657>
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::sendMessage):
- m_connection can be null here; just return false if that is the case.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::runJavaScriptInMainFrame):
- If the JSValue returned is null we just send along a null string.
-
-2010-10-21 Adam Roben <aroben@apple.com>
-
- Invalidate the plugin's HWND when NPN_InvalidateRect is called
-
- Fixes <http://webkit.org/b/48086> <rdar://problem/8482944> Silverlight
- doesn't repaint in WebKit2
-
- Reviewed by Anders Carlsson.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::invalidate): Call platformInvalidate before
- invalidating via the PluginController.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added platformInvalidate.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformInvalidate):
- * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
- (WebKit::NetscapePlugin::platformInvalidate):
- Stubbed out.
-
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- (WebKit::NetscapePlugin::platformInvalidate): If the plugin is
- windowed, invalidate its HWND via ::InvalidateRect.
-
-2010-10-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Find indicator does not draw found text in WebKit2 when page is not scrolled to top
- <rdar://problem/8562647>
- https://bugs.webkit.org/show_bug.cgi?id=48089
-
- We always want the selection rectangle in "WebCore window coordinates" which is the same
- as WKView coordinates in WebKit2.
-
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::updateFindIndicator):
-
-2010-10-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by David Hyatt.
-
- Always clear the selection when the find string isn't found
- https://bugs.webkit.org/show_bug.cgi?id=48087
- <rdar://problem/8564640>
-
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::findString):
-
-2010-10-21 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by John Sullivan.
-
- https://bugs.webkit.org/show_bug.cgi?id=48083
- <rdar://problem/8489082> Need WebKit2 API for private browsing
-
- This just adds glue code for passing the preference from embedder to WebCore. The aspects of
- private browsing that WebCore is responsible for do work, but cookies are not handled yet.
-
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::WebPreferencesStore):
- (WebKit::WebPreferencesStore::encode):
- (WebKit::WebPreferencesStore::decode):
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetPrivateBrowsingEnabled):
- (WKPreferencesGetPrivateBrowsingEnabled):
- * UIProcess/API/C/WKPreferences.h:
- * UIProcess/WebPreferences.cpp:
- (WebKit::WebPreferences::setPrivateBrowsingEnabled):
- (WebKit::WebPreferences::privateBrowsingEnabled):
- * UIProcess/WebPreferences.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
- Do what it takes to pass a single boolean from WebKit2 to WebCore. And we aren't even syncing
- the preference to user defaults yet.
-
-2010-10-20 Adam Roben <aroben@apple.com>
-
- Ask the UI client to close the page when the WKView receives a WM_CLOSE
- message
-
- Fixes <http://webkit.org/b/48044> <rdar://problem/8488446> Pressing
- Ctrl+W when viewing a full-page PDF destroys the WKView but doesn't
- close its parent window
-
- Reviewed by Jon Honeycutt.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::wndProc): Call through to WebPageProxy::tryClose when
- we receive a WM_CLOSE message, rather than passing the message along to
- ::DefWindowProcW. tryClose will end up asking the UI client to close
- the page, while ::DefWindowProcW would destroy us synchronously without
- notifying the UI client at all. One case where we'll get sent a
- WM_CLOSE message is when the user presses Ctrl+W when using the Adobe
- Reader plugin to view a PDF.
-
-2010-10-20 Adam Roben <aroben@apple.com>
-
- Remove confusing and redundant "host window" terminology from WKView on
- Windows
-
- WKView's "host window" is really just its HWND's parent window. The
- terminology has been updated to reflect this. The unnecessary
- WKViewGetHostWindow function has been removed, as it was a synonym for
- ::GetParent(WKViewGetWindow(view)).
-
- Fixes <http://webkit.org/b/48039> WKView's "host window" API is
- confusing
-
- Reviewed by Sam Weinig.
-
- * UIProcess/API/C/win/WKView.cpp:
- (WKViewCreate):
- (WKViewSetParentWindow):
- * UIProcess/API/C/win/WKView.h:
- Replaced "host window" with "parent window". Removed
- WKViewGetHostWindow.
-
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
+ (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
+ (WebKit::LayerBackedDrawingAreaProxy::detachCompositingContext):
* UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- (WebKit::WebView::setParentWindow):
- (WebKit::WebView::windowAncestryDidChange):
- (WebKit::WebView::close):
* UIProcess/win/WebView.h:
- (WebKit::WebView::create):
- Replaced "host window" with "parent window". Removed m_hostWindow and
- hostWindow().
-
-2010-10-21 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- Null frame passed when running alert from UserScript run at document start
- <rdar://problem/8573809>
- https://bugs.webkit.org/show_bug.cgi?id=48036
-
- Don't initialize a Frame until after we have notified the UIProcess of its creation.
- This is necessary since arbitrary actions can happen during the call to Frame::init()
- such as the running of UserScripts.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createFrame):
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::createMainFrame):
- (WebKit::WebFrame::createSubframe):
- (WebKit::WebFrame::create):
- (WebKit::WebFrame::WebFrame):
- (WebKit::WebFrame::init):
- * WebProcess/WebPage/WebFrame.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
-
-2010-10-21 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] PluginInfoStore does not set up mime types for plugins
- https://bugs.webkit.org/show_bug.cgi?id=48063
-
- * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
- (WebKit::PluginInfoStore::getPluginInfo): Store the mime types
- that are supported by the plugin into the plugin argument.
-
-2010-10-21 Juha Savolainen <juha.savolainen@weego.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- This is initial implementation of QWKHistory. The QWKHistory class represents the history of a QWKPage.
- https://bugs.webkit.org/show_bug.cgi?id=47716
-
- Each QWKPage instance contains a history of a visited pages that can be accessed by QWKHistory::history().
- The QWKPagePrivate class creates QWKHistory in constructor.
-
- * UIProcess/API/qt/qwkhistory.cpp: Added.
- (QWKHistoryPrivate::QWKHistoryPrivate):
- (QWKHistoryPrivate::createHistory): Creates history object.
- (QWKHistoryPrivate::~QWKHistoryPrivate):
- (QWKHistory::QWKHistory):
- (QWKHistory::~QWKHistory):
- (QWKHistory::backListCount): Gets items count in back.
- (QWKHistory::forwardListCount): Gets items count in forward.
- (QWKHistory::count): Gets items count.
- * UIProcess/API/qt/qwkhistory.h: Added.
- * UIProcess/API/qt/qwkhistory_p.h: Added.
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::QWKPagePrivate):
- (QWKPagePrivate::~QWKPagePrivate):
- (QWKPage::history): Returns history object.
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/API/qt/qwkpage_p.h: Added history member variable.
- * WebKit2.pro: Added WKBackForwardList.h, WKBackForwardList.cpp and new files.
-
-2010-10-14 Adam Roben <aroben@apple.com>
-
- Don't require the plugin to always use the same NPP struct we gave it
- in NPP_New
-
- Neither WebCore, nor WebKit/mac, nor Firefox requires this, and
- Shockwave (at least) seems to use a different NPP struct that contains
- the same ndata member. So we shouldn't enforce it, either.
-
- Fixes <http://webkit.org/b/47690> <rdar://problem/8553020> Assertion
- failure in NetscapePlugin::fromNPP when using Shockwave in WebKit2
-
- Reviewed by John Sullivan.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::fromNPP): Removed the bogus assertion.
-
-2010-10-20 Anders Carlsson <andersca@apple.com>
-
- Fix clang++ build.
-
- * UIProcess/API/C/WKNativeEvent.h:
-
-2010-10-20 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Simon Fraser.
-
- Crash closing page with <video> element
- https://bugs.webkit.org/show_bug.cgi?id=47960
- <rdar://problem/8573297>
-
- I couldn't think of a good way to make a layout test for this because the
- crash isn't triggered by closing an iframe.
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::scheduleCompositingLayerSync): NULL check drawingArea().
-
-2010-10-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Out of process plug-ins are never asked to initially paint
- https://bugs.webkit.org/show_bug.cgi?id=47993
- <rdar://problem/8570342>
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::callMemberFunction):
- Add new callMemberFunction overload.
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::paintEntirePlugin):
- Set the dirty rect to be the entire plug-in rect and then paint the plug-in.
-
- * PluginProcess/PluginControllerProxy.messages.in:
- Add PaintEntirePlugin message.
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::PluginProxy):
- Initialize m_pluginBackingStoreContainsValidData to false.
-
- (WebKit::PluginProxy::paint):
- If m_pluginBackingStoreContainsValidData is false, synchronously ask the plug-in to paint,
- then blit the plug-in backing store into our own backing store.
-
- (WebKit::PluginProxy::geometryDidChange):
- Set m_pluginBackingStoreContainsValidData to false.
-
- (WebKit::PluginProxy::update):
- Set m_pluginBackingStoreContainsValidData to true if the plug-in has painted its entire area.
-
-2010-10-19 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- ASSERTION FAILURE: !m_adoptionIsRequired for the WebFrame under the
- InjectedBundlePageLoaderClient::didClearWindowObjectForFrame callback.
- https://bugs.webkit.org/show_bug.cgi?id=47960
-
- Do not try to initialize the coreFrame (which results in the
- InjectedBundlePageLoaderClient::didClearWindowObjectForFrame being called) until after the
- WebFrame constructor has returned and the WebFrame has been adopted.
-
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::create):
- Moved the call to init the coreFrame here ...
- (WebKit::WebFrame::WebFrame):
- ... from here.
-
-2010-10-20 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- Merge ColorSpace and ImageColorSpace enums
- https://bugs.webkit.org/show_bug.cgi?id=47922
-
- Renamed ColorSpace enum entries DeviceColorSpace and sRGBColorSpace to ColorSpaceDeviceRGB and ColorSpaceSRGB
- to follow webkit style rules.
-
- * UIProcess/FindIndicator.cpp:
- (WebKit::FindIndicator::draw):
- * WebProcess/WebPage/FindPageOverlay.cpp:
- (WebKit::FindPageOverlay::drawRect):
-
-2010-10-20 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Not reviewed.
-
- Fix Qt/WebKit2 build, also needs a svg/properties include.
-
- * WebKit2.pro:
-
-2010-10-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix MiniBrowser crashes during startup and shutdown
- https://bugs.webkit.org/show_bug.cgi?id=47954
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::sharedProcessContext):
- Initialize the main thread.
-
- (WebKit::WebContext::create):
- Ditto.
-
- (WebKit::WebContext::WebContext):
- Add the language observer here so we know that it will always be set up.
-
- (WebKit::WebContext::ensureWebProcess):
- Remove code.
-
- * UIProcess/WebContext.h:
-
-2010-10-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Coalesce plug-in drawing
- https://bugs.webkit.org/show_bug.cgi?id=47939
-
- Coalesce plug-in drawing in the same manner as we do it in the chunked update drawing area.
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::PluginControllerProxy):
- Initialize m_waitingForDidUpdate to false.
-
- (WebKit::PluginControllerProxy::startPaintTimer):
- Move code from invalidate out to here. Don't start the paint timer if m_waitingForDidUpdate is true.
-
- (WebKit::PluginControllerProxy::invalidate):
- Call startPaintTimer.
-
- (WebKit::PluginControllerProxy::didUpdate):
- Set m_waitingForDidUpdate to false and start the paint timer.
-
- * PluginProcess/PluginControllerProxy.messages.in:
- Add DidUpdate message.
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::PluginProxy):
- Initialize m_waitingForPaintInResponseToUpdate to false.
-
- (WebKit::PluginProxy::paint):
- If m_waitingForPaintInResponseToUpdate is true, send a DidUpdate message.
-
- (WebKit::PluginProxy::update):
- Set m_waitingForPaintInResponseToUpdate to true.
-
-2010-10-19 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add alternateHTMLString and unreachableURL API to WebKit2
- <rdar://problem/8557864>
- https://bugs.webkit.org/show_bug.cgi?id=47938
-
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameCopyUnreachableURL):
- * UIProcess/API/C/WKFrame.h:
- Add accessor for the unreachableURL if one is set. It will only be
- set during a loadAlternateHTMLString and will be unset on the next normal
- didStartProvisionalLoadForFrame call.
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageLoadHTMLString): Remove whitespace.
- (WKPageLoadAlternateHTMLString):
- * UIProcess/API/C/WKPage.h:
- Add function to load a string as "alternate", meant for use as error pages.
-
- * UIProcess/WebFrameProxy.h:
- (WebKit::WebFrameProxy::setUnreachableURL):
- (WebKit::WebFrameProxy::unreachableURL):
- Add setter/getter for the unreachableURL.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::loadAlternateHTMLString):
- Plumb through the call to loadAlternateHTMLString to the WebProcess
- and set the main frame's unreachableURL. This does nothing if no pages
- have ever been loaded in this page.
-
- (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
- If this is not a provisional load of substitute data for an unreachableURL
- (e.g. someone who called WKPageLoadAlternateHTMLString), reset the
- frame's unreachableURL.
-
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- Update function signatures.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- Pass whether or not this is a load of SubstituteData for an unreachableURL
- to the UIProcess.
-
* WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::loadData):
- (WebKit::WebPage::loadAlternateHTMLString):
+ (WebKit::WebPage::enterAcceleratedCompositingMode):
+ (WebKit::WebPage::exitAcceleratedCompositingMode):
* WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
- Plumb through the loading of the alternate HTML string.
-2010-10-19 Alexey Proskuryakov <ap@apple.com>
+2011-02-23 Enrica Casucci <enrica@apple.com>
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=47933
- <rdar://problem/8494337> navigator.language doesn't work in WebKit2
-
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
- Pass language code when creating a web process.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::~WebContext): Don't send language change notifications to the destroyed
- process.
- (WebKit::languageChanged): Make web process know about the change.
- (WebKit::WebContext::ensureWebProcess): Fill WebProcessCreationParameters, and register for
- change notifications.
-
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
- Initialize wkCopyCFLocalizationPreferredName.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess): Use passed in language as an override. Web process
- doesn't know about per-application settings, so it depends on UI process for those.
- (WebKit::WebProcess::languageChanged): Update the language override when messaged.
+ Reverting an unintentional change that was part of http://trac.webkit.org/changeset/79494.
+ Unreviewed.
- * WebProcess/WebProcess.h:
- * WebProcess/WebProcess.messages.in:
- Added LanguageChanged message.
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::interceptEditingKeyboardEvent):
-2010-10-19 Anders Carlsson <andersca@apple.com>
+2011-02-18 Enrica Casucci <enrica@apple.com>
Reviewed by Adam Roben.
- Stop waiting for sync replies if the connection is closed
- https://bugs.webkit.org/show_bug.cgi?id=47930
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::Connection):
- Initialize m_shouldWaitForSyncReplies to true.
-
- (CoreIPC::Connection::sendSyncMessage):
- Don't attempt to send a message if m_shouldWaitForSyncReplies is false.
-
- (CoreIPC::Connection::waitForSyncReply):
- Return if m_shouldWaitForSyncReplies was set to false.
-
- (CoreIPC::Connection::connectionDidClose):
- Set m_shouldWaitForSyncReplies to true and signal the semaphore.
-
- * Platform/CoreIPC/Connection.h:
-
-2010-10-19 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
- (WebKit::interruptForPolicyChangeError): Add a missing comma.
-
-2010-10-19 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Part 2 of:
- Need to include WKErrorRef in the WKPageDidFail... functions
- <rdar://problem/8564110>
- https://bugs.webkit.org/show_bug.cgi?id=47871
-
- * Shared/API/c/WKError.cpp:
- (WKErrorCopyWKErrorDomain):
- * Shared/API/c/WKError.h:
- * Shared/WebError.cpp: Added.
- (WebKit::WebError::webKitErrorDomain):
- * Shared/WebError.h:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
- (+[NSError _webKitErrorWithCode:failingURL:]):
- (registerErrors):
- (WebKit::blockedError):
- (WebKit::cannotShowURLError):
- (WebKit::interruptForPolicyChangeError):
- (WebKit::cannotShowMIMETypeError):
- * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
- (WebKit::cancelledError):
- (WebKit::blockedError):
- (WebKit::cannotShowURLError):
- (WebKit::interruptForPolicyChangeError):
- * win/WebKit2.vcproj:
-
-2010-10-19 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Need to include WKErrorRef in the WKPageDidFail... functions
- <rdar://problem/8564110>
- https://bugs.webkit.org/show_bug.cgi?id=47871
-
- Give WebError a WebCore::ResourceError backing and start passing it over the wire
- for failure cases. Also, fill out the WKError API to include domain, errorCode,
- failingURL and localizedDescription.
-
- * Shared/API/c/WKError.cpp:
- (WKErrorCopyDomain):
- (WKErrorGetErrorCode):
- (WKErrorCopyFailingURL):
- (WKErrorCopyLocalizedDescription):
- * Shared/API/c/WKError.h:
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toAPI):
- * Shared/WebCoreArgumentCoders.h:
- * Shared/WebError.h:
- (WebKit::WebError::create):
- (WebKit::WebError::domain):
- (WebKit::WebError::errorCode):
- (WebKit::WebError::failingURL):
- (WebKit::WebError::localizedDescription):
- (WebKit::WebError::platformError):
- (WebKit::WebError::WebError):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/qt/ClientImpl.cpp:
- (qt_wk_didFailProvisionalLoadWithErrorForFrame):
- (qt_wk_didFailLoadWithErrorForFrame):
- * UIProcess/API/qt/ClientImpl.h:
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame):
- (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame):
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
- (WebKit::WebPageProxy::didFailLoadForFrame):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
-
-2010-10-19 Christian Sejersen <christian.webkit@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Scratchbox has an old version of python as the default one, so
- force it to use version 2.6.
- https://bugs.webkit.org/show_bug.cgi?id=47895
-
- * DerivedSources.pro:
-
-2010-10-19 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Antti Koivisto.
-
- [Qt] WebKit2 MacOS build fix
- https://bugs.webkit.org/show_bug.cgi?id=47897
-
- Qt WebKit2 MacOS build fix.
-
- * UIProcess/WebPageProxy.cpp:
- * WebKit2.pri:
- * WebKit2.pro:
-
-2010-10-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Initialize the API client.
-
- * Shared/APIClient.h:
- (WebKit::APIClient::APIClient):
-
-2010-10-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- WebKit2 should handle dismissing the Find overlay on mouse-down
- https://bugs.webkit.org/show_bug.cgi?id=47854
-
- * WebProcess/WebPage/FindPageOverlay.cpp:
- (WebKit::FindPageOverlay::mouseEvent):
- Dismiss the find UI on MouseDown.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::mouseEvent):
- If there's a page overlay, let it have a go at the event.
-
-2010-10-18 Anders Carlsson <andersca@apple.com>
-
- Fix clang build.
-
- * UIProcess/API/mac/FindIndicatorWindow.mm:
- (-[WebFindIndicatorWindowAnimation _initWithFindIndicatorWindow:WebKit::animationProgressCallback:WebKit::FindIndicatorWindow::animationDidEndCallback:WebKit::FindIndicatorWindow::]):
- (WebKit::FindIndicatorWindow::setFindIndicator):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPopupMenuProxy.h:
- * WebProcess/WebCoreSupport/WebPopupMenu.h:
-
-2010-10-18 Sam Weinig <sam@webkit.org>
-
- Fix Qt build.
-
- * WebKit2.pro:
-
-2010-10-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Simon Fraser.
-
- Don't try to change accelerated compositing mode if the web page is closed
- https://bugs.webkit.org/show_bug.cgi?id=47852
-
- changeAcceleratedCompositingMode ends up sending a sync message to the UI process which is unnecessary if
- the UI process is being torn down.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::changeAcceleratedCompositingMode):
- (WebKit::WebPage::close):
- * WebProcess/WebPage/WebPage.h:
-
-2010-10-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/8036034>
- WebKit2's WebProcess dies immediately on Mac due to DYLD_FRAMEWORK_PATH problem
-
- Pass the path to the WebKit2 framework along to the web process and don't rely on DYLD_FRAMEWORK_PATH being set.
-
- * Shared/mac/CommandLineMac.cpp:
- (WebKit::CommandLine::parse):
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess):
- * mac/MainMac.cpp:
- (main):
-
-2010-10-18 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Need a WebKit2 equivalent of the WebKit1 WebUserContentURLPattern.
- https://bugs.webkit.org/show_bug.cgi?id=47783
-
- * Shared/API/c/WKBase.h:
-
- * Shared/API/c/WKSharedAPICast.h:
-
- * Shared/API/c/WKUserContentURLPattern.cpp: Added.
- (WKUserContentURLPatternGetTypeID):
- (WKUserContentURLPatternCreate):
- (WKUserContentURLPatternMatchesURL):
- * Shared/API/c/WKUserContentURLPattern.h: Added.
-
- * Shared/APIObject.h:
-
- * Shared/UserMessageCoders.h:
- Use the original pattern string to encode and decode a UserContentURLPattern.
- (WebKit::UserMessageEncoder::baseEncode):
- (WebKit::UserMessageDecoder::baseDecode):
-
- * Shared/WebUserContentURLPattern.h: Added.
- (WebKit::WebUserContentURLPattern::create):
- (WebKit::WebUserContentURLPattern::matchesURL):
- Use WebCore::UserContentURLPattern::matches.
- (WebKit::WebUserContentURLPattern::patternString):
- Expose the pattern string used to create the UserContentURLPattern for the purpose of
- encoding and decoding.
- (WebKit::WebUserContentURLPattern::WebUserContentURLPattern):
- (WebKit::WebUserContentURLPattern::type):
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add WKUserContentURLPattern.h/.cpp and WebUserContentURLPattern.h
-
- * win/WebKit2Generated.make:
- Copy over WKUsercontentURLPattern into the output directory.
-
-2010-10-18 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
- (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
- (WebKit::NetscapePlugin::platformSetFocus):
-
-2010-10-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Add matchCountDidChange callback
- https://bugs.webkit.org/show_bug.cgi?id=47840
-
- * UIProcess/API/C/WKPage.h:
- Add matchCountDidChange WKPageFindClient callback.
+ Mac OS X Services are not available for selected text in WebKit2 windows.
+ https://bugs.webkit.org/show_bug.cgi?id=54777
+ <rdar://problem/8666428>
- * UIProcess/WebFindClient.cpp:
- (WebKit::WebFindClient::matchCountDidChange):
- Call the WKPageFindClient callback.
-
- * UIProcess/WebPageProxy.messages.in:
- Add MatchCountDidChange message.
+ This patch adds support for Mac OS X Services in WebKit2 windows.
+ In WKView we now call registerServicesMenuSendTypes providing the
+ pasteboard types supported by WebKit and we also implement the two
+ protocol methods required to validate the send type and write the
+ content to the pasteboard. Unfortunately, AppKit expects the content
+ to be available in the pasteboard upon return from writeSelectionToPasteboard and
+ this is the reason why the call to the WebProcess is synchronous.
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::countStringMatches):
- Move code here from WebPage.
-
- (WebKit::FindController::findString):
- Send the MatchCountDidChange message.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::countStringMatches):
- Move this code over to FindController.
-
-2010-10-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Use nullptr instead of 0.
-
- * UIProcess/API/mac/FindIndicatorWindow.mm:
- (WebKit::FindIndicatorWindow::closeWindow):
+ * Shared/SelectionState.h:
+ (WebKit::SelectionState::SelectionState): Extended to include
+ isContentRichlyEditable
+ * Shared/mac/PasteboardTypes.h:
+ * Shared/mac/PasteboardTypes.mm:
+ (WebKit::PasteboardTypes::forSelection): Added.
* UIProcess/API/mac/WKView.mm:
- (-[WKView renewGState]):
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- (WebKit::PluginProcessConnection::removePluginProxy):
-
-2010-10-15 Sam Weinig <sam@webkit.org>
-
- Fix Qt build.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::createPopupMenuProxy):
-
-2010-10-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Popup widget support (<select>)
- <rdar://problem/8147746>
- https://bugs.webkit.org/show_bug.cgi?id=47740
-
- Add initial support for popup menus. Only works on the mac at this time.
-
- * Shared/WebPopupItem.cpp: Added.
- (WebKit::WebPopupItem::WebPopupItem):
- (WebKit::WebPopupItem::encode):
- (WebKit::WebPopupItem::decode):
- * Shared/WebPopupItem.h: Added.
- Serializable representation of a menu item.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::createPopupMenuProxy):
- Create a WebPopupMenuProxyMac.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (WebView::createPopupMenuProxy):
- * UIProcess/API/qt/qwkpage_p.h:
- Create a WebPopupMenuProxyQt (which is just a stub right now).
-
- (WebKit::WebPopupMenuProxyWin::create):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::createPopupMenuProxy):
- * UIProcess/win/WebView.h:
- Create a WebPopupMenuProxyWin (which is just a stub right now).
-
- * UIProcess/PageClient.h:
- Add new client function to get a platform specific WebPopupMenuProxy.
-
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]): Added call
+ to registerServicesMenuSendTypes.
+ (-[WKView writeSelectionToPasteboard:types:]): Added.
+ (-[WKView validRequestorForSendType:returnType:]): Added.
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::showPopupMenu):
- (WebKit::WebPageProxy::hidePopupMenu):
- (WebKit::WebPageProxy::processDidExit):
+ (WebKit::WebPageProxy::writeSelectionToPasteboard):
* UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- Pipe through calls to set up the menu.
-
- * UIProcess/mac/WebPopupMenuProxyMac.h: Added.
- (WebKit::WebPopupMenuProxyMac::create):
- * UIProcess/mac/WebPopupMenuProxyMac.mm: Added.
- (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):
- (WebKit::WebPopupMenuProxyMac::~WebPopupMenuProxyMac):
- (WebKit::WebPopupMenuProxyMac::populate):
- (WebKit::WebPopupMenuProxyMac::showPopupMenu):
- (WebKit::WebPopupMenuProxyMac::hidePopupMenu):
- Add UI process side implementation. Currently this does not support
- custom fonts as the old implementation did.
-
- * UIProcess/qt/WebPopupMenuProxyQt.cpp: Added.
- (WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt):
- (WebKit::WebPopupMenuProxyQt::~WebPopupMenuProxyQt):
- (WebKit::WebPopupMenuProxyQt::showPopupMenu):
- (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
- * UIProcess/qt/WebPopupMenuProxyQt.h: Added.
- (WebKit::WebPopupMenuProxyQt::create):
- * UIProcess/win/WebPopupMenuProxyWin.cpp: Added.
- (WebKit::WebPopupMenuProxyWin::WebPopupMenuProxyWin):
- (WebKit::WebPopupMenuProxyWin::~WebPopupMenuProxyWin):
- (WebKit::WebPopupMenuProxyWin::showPopupMenu):
- (WebKit::WebPopupMenuProxyWin::hidePopupMenu):
- * UIProcess/win/WebPopupMenuProxyWin.h: Added.
- Add stubbed out implementations for Qt and windows.
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::createPopupMenu):
- (WebKit::WebChromeClient::createSearchPopupMenu):
- Pass the page in the create function.
-
- * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
- (WebKit::WebPopupMenu::create):
- (WebKit::WebPopupMenu::WebPopupMenu):
- (WebKit::WebPopupMenu::didChangeSelectedIndex):
- (WebKit::WebPopupMenu::populateItems):
- (WebKit::WebPopupMenu::show):
- (WebKit::WebPopupMenu::hide):
- * WebProcess/WebCoreSupport/WebPopupMenu.h:
- (WebKit::WebPopupMenu::disconnectFromPage):
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
- (WebKit::WebSearchPopupMenu::create):
- (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
- (WebKit::WebSearchPopupMenu::popupMenu):
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::close):
- (WebKit::WebPage::setActivePopupMenu):
- (WebKit::WebPage::didChangeSelectedIndexForActivePopupMenu):
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::respondToChangedSelection): Modified to
+ support the new SelectionState value.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
- Pipe through calls to set up the menu.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add new files.
-
-2010-10-15 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * UIProcess/API/mac/FindIndicatorWindow.mm:
- (-[WebFindIndicatorWindowAnimation setCurrentProgress:]):
-
-2010-10-15 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add 'didDraw' callback for framerate tracking
- https://bugs.webkit.org/show_bug.cgi?id=47478
-
- Hook up the 'didDraw' callback for WebKit2 on Mac.
-
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView drawRect:]):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didDraw):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::didDraw):
- * UIProcess/WebUIClient.h:
-
-2010-10-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make the find indicator window fade out when requested
- https://bugs.webkit.org/show_bug.cgi?id=47747
-
- * UIProcess/API/mac/FindIndicatorWindow.h:
- * UIProcess/API/mac/FindIndicatorWindow.mm:
- Add WebFindIndicatorWindowAnimation - an NSAnimation subclass that takes two
- C++ member function pointers and invokes them the animation progress changes and
- when the animation stops.
-
- (-[WebFindIndicatorWindowAnimation setCurrentProgress:]):
- Call the _animationProgressCallback.
-
- (-[WebFindIndicatorWindowAnimation animationDidEnd:]):
- Call the _animationDidEndCallback.
-
- (WebKit::FindIndicatorWindow::FindIndicatorWindow):
- Initialize the fade out start timer.
-
- (WebKit::FindIndicatorWindow::setFindIndicator):
- When asked to fade out, we start the fade out timer.
-
- (WebKit::FindIndicatorWindow::closeWindow):
- Stop the fade out timer and the fade out animation.
-
- (WebKit::FindIndicatorWindow::startFadeOutTimerFired):
- Create a fade out animation.
-
- (WebKit::FindIndicatorWindow::fadeOutAnimationCallback):
- Update the window alpha.
-
- (WebKit::FindIndicatorWindow::fadeOutAnimationDidEnd):
- Close the window.
-
-2010-10-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Move find indicator window logic to WKView
- https://bugs.webkit.org/show_bug.cgi?id=47739
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::setFindIndicator):
- Call -[WKView _setFindIndicator:fadeOut:].
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView renewGState]):
- Hide the find indicator.
-
- (-[WKView _setFindIndicator:fadeOut:]):
- Move the find indicator logic here.
-
-2010-10-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Hide the find indicator/overlay when necessary
- https://bugs.webkit.org/show_bug.cgi?id=47737
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
- Hide the find indicator.
-
- (WebKit::WebChromeClient::scroll):
- Ditto.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- Hide the find indicator and the find overlay.
-
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::findString):
- Always hide all previous find matches. Only clear the selection if the string
- not found wasn't empty.
-
- (WebKit::FindController::hideFindUI):
- Uninstall the page overlay and hide the find indicator.
-
- (WebKit::FindController::hideFindIndicator):
- Rename resetFindIndicator to hideFindIndicator.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::uninstallPageOverlay):
- Invalidate the entire page.
-
-2010-10-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add FindIndicatorWindow class
- https://bugs.webkit.org/show_bug.cgi?id=47731
-
- * UIProcess/API/mac/FindIndicatorWindow.h: Added.
- * UIProcess/API/mac/FindIndicatorWindow.mm: Added.
- (-[WebFindIndicatorView _initWithFindIndicator:WebKit::]):
- Initialize the find indicator view.
-
- (-[WebFindIndicatorView drawRect:]):
- Ask the find indicator to draw.
-
- (-[WebFindIndicatorView isFlipped]):
- Return YES.
-
- (WebKit::FindIndicatorWindow::~FindIndicatorWindow):
- Make sure to close the window.
-
- (WebKit::FindIndicatorWindow::setFindIndicator):
- Update the find indicator window.
-
- (WebKit::FindIndicatorWindow::closeWindow):
- Close and release the window.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::setFindIndicator):
- Create a find indicator window.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
-2010-10-15 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * UIProcess/API/qt/qwkpage.cpp:
- * UIProcess/win/WebView.cpp:
-
-2010-10-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a FindIndicator class
- https://bugs.webkit.org/show_bug.cgi?id=47635
-
- * Shared/BackingStore.h:
- (WebKit::BackingStore::bounds):
- New function that returns the bounds of the backing store.
-
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::setFindIndicator):
- Add stub.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::setFindIndicator):
- Add stub.
-
- * UIProcess/FindIndicator.cpp: Added.
- * UIProcess/FindIndicator.h:
-
- * UIProcess/PageClient.h:
- Add setFindIndicator client member function.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setFindIndicator):
- Call PageClient::setFindIndicator.
-
- * UIProcess/WebPageProxy.messages.in:
- Add a fadeOut boolean to the message.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::setFindIndicator):
- Add stub.
-
- * UIProcess/win/WebView.h:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::findString):
- (WebKit::FindController::updateFindIndicator):
- (WebKit::FindController::resetFindIndicator):
- * WebProcess/WebPage/FindController.h:
- * win/WebKit2.vcproj:
-
-2010-10-14 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Sam Weinig.
-
- Plumb accelerated compositing prefs through WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=46860
- <rdar://problem/8495312>
-
- Wire up the prefs to enable accelerated compositing, and
- show debug borders and repaint counters.
-
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::WebPreferencesStore):
- (WebKit::WebPreferencesStore::encode):
- (WebKit::WebPreferencesStore::decode):
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferencesPrivate.cpp:
- (WKPreferencesSetAcceleratedCompositingEnabled):
- (WKPreferencesGetAcceleratedCompositingEnabled):
- (WKPreferencesSetCompositingBordersVisible):
- (WKPreferencesGetCompositingBordersVisible):
- (WKPreferencesSetCompositingRepaintCountersVisible):
- (WKPreferencesGetCompositingRepaintCountersVisible):
- * UIProcess/API/C/WKPreferencesPrivate.h:
- * UIProcess/WebPreferences.cpp:
- (WebKit::WebPreferences::setAcceleratedCompositingEnabled):
- (WebKit::WebPreferences::acceleratedCompositingEnabled):
- (WebKit::WebPreferences::setCompositingBordersVisible):
- (WebKit::WebPreferences::compositingBordersVisible):
- (WebKit::WebPreferences::setCompositingRepaintCountersVisible):
- (WebKit::WebPreferences::compositingRepaintCountersVisible):
- * UIProcess/WebPreferences.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::preferencesDidChange):
- (WebKit::WebPage::updatePreferences):
- * WebProcess/WebPage/WebPage.h:
-
-2010-10-14 Ada Chan <adachan@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKit2: Store the certificate chain in PlatformCertificateInfo.
- https://bugs.webkit.org/show_bug.cgi?id=47603
-
- * Shared/API/c/win/WKCertificateInfoWin.cpp:
- (WKCertificateInfoGetCertificateChainLength):
- (WKCertificateInfoGetCertificateContextAtIndex):
- * Shared/API/c/win/WKCertificateInfoWin.h:
- * Shared/win/PlatformCertificateInfo.cpp:
- (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Get the chain context from the response and duplicate the certificate contexts
- in the chain to store in m_certificateChain.
- (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo): Free all the certificate contexts in the chain.
- (WebKit::PlatformCertificateInfo::operator=): Duplicate the certificate contexts from the other PlatformCertificateInfo's certificate chain
- to store in m_certificateChain.
- (WebKit::PlatformCertificateInfo::encode):
- (WebKit::PlatformCertificateInfo::decode):
- (WebKit::PlatformCertificateInfo::clearCertificateChain): Free all the certificate contexts in the chain and clear the vector.
- * Shared/win/PlatformCertificateInfo.h:
- (WebKit::PlatformCertificateInfo::certificateChain):
-
-2010-10-14 Adam Roben <aroben@apple.com>
-
- Make sure WebKit2 only loads each plugin once
-
- Fixes <http://webkit.org/b/47677> <rdar://problem/8552178> WebKit2 can
- load the same plugin multiple times
-
- Reviewed by Sam Weinig.
-
- * UIProcess/Plugins/PluginInfoStore.cpp:
- (WebKit::addFromVector): Helper function that adds all the elements
- from a Vector to a HashSet.
- (WebKit::PluginInfoStore::loadPluginsIfNecessary): Put all the plugin
- paths into a HashSet, then load the plugins specified in the HashSet.
- On Windows, the HashSet is case-insensitive, just like the file
- system.
-
- * UIProcess/Plugins/PluginInfoStore.h: Removed loadPluginsInDirectory,
- which is no longer used.
-
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- (WebKit::addPluginPathsFromRegistry):
- (WebKit::PluginInfoStore::individualPluginPaths):
- Changed to store the paths in a Vector instead of a HashSet now that
- loadPluginsIfNecessary will handle duplicates for us.
-
-2010-10-14 Adam Roben <aroben@apple.com>
-
- Load plugins that are specified in the MozillaPlugins registry key
-
- Fixes <http://webkit.org/b/44271> <rdar://problem/8329750> WebKit2
- should load plugins specified in the MozillaPlugins registry key (like
- old WebKit does)
-
- I couldn't think of a good way to test this.
-
- Reviewed by Steve Falkenburg.
-
- * UIProcess/Plugins/PluginInfoStore.cpp:
- (WebKit::PluginInfoStore::loadPluginsIfNecessary): Also load plugins
- specified by individualPluginPaths.
-
- * UIProcess/Plugins/PluginInfoStore.h: Added individualPluginPaths and
- some comments.
-
- * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
- (WebKit::PluginInfoStore::individualPluginPaths):
- * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
- (WebKit::PluginInfoStore::individualPluginPaths):
- Stubbed out.
-
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- (WebKit::addPluginPathsFromRegistry):
- (WebKit::PluginInfoStore::individualPluginPaths):
- Ported this code from WebCore's PluginDatabaseWin.cpp. I slightly
- cleaned it up and changed it to use a case-insensitive hash, since
- paths on Windows are case-insensitive.
-
-2010-10-14 Adam Roben <aroben@apple.com>
-
- Call ::DefWindowProcW for unhandled key events
-
- ::DefWindowProcW does important things for at least some key events
- (e.g., it generates a WM_SYSCOMMAND message when the Alt key is
- released), so we need to make sure to call it when we don't handle key
- events.
-
- Fixes <http://webkit.org/b/47671> <rdar://problem/8435594> Pressing
- the Alt key when MiniBrowser's WKView is focused doesn't send focus to
- the menu bar
-
- Reviewed by Steve Falkenburg.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::didNotHandleKeyEvent):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::didNotHandleKeyEvent):
- * UIProcess/API/qt/qwkpage_p.h:
- Stubbed out didNotHandleKeyEvent.
-
- * UIProcess/PageClient.h: Added didNotHandleKeyEvent.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveEvent): Tell the PageClient about the
- unhandled event.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::onKeyEvent): Added a comment.
- (WebKit::WebView::didNotHandleKeyEvent): Pass the event to
- ::DefWindowProcW.
-
- * UIProcess/win/WebView.h: Added didNotHandleKeyEvent.
-
-2010-10-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Jon Honeycutt.
-
- Memory smasher in WebKit2 InjectedBundleHitTestResult::absoluteLinkURL
- https://bugs.webkit.org/show_bug.cgi?id=47648
-
- * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
- (WebKit::InjectedBundleHitTestResult::absoluteLinkURL):
- * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: Return a String instead of
- a const String&.
-
-2010-10-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Jon Honeycutt.
-
- PlatformMouseEvents need to contain modifier flags
- https://bugs.webkit.org/show_bug.cgi?id=47651
-
- * Shared/WebEventConversion.cpp:
- (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
- Fill in m_modifierFlags.
-
-2010-10-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Draw the find overlay holes
- https://bugs.webkit.org/show_bug.cgi?id=47631
-
- * WebProcess/WebPage/FindPageOverlay.cpp:
- (WebKit::FindPageOverlay::drawRect):
- Draw the white frames and the holes.
-
-2010-10-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Use WKSI to get wheel event deltas
- https://bugs.webkit.org/show_bug.cgi?id=47617
-
- * Shared/mac/WebEventFactory.mm:
- (WebKit::WebEventFactory::createWebWheelEvent):
- Call WKGetWheelEventDeltas.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:pageNamespaceRef:]):
- Call InitWebCoreSystemInterface.
-
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- Use dispatch_once.
-
-2010-10-13 Adam Roben <aroben@apple.com>
-
- Fix the Cairo build
-
- * Shared/cairo/BackingStoreCairo.cpp: Added.
- (WebKit::BackingStore::createGraphicsContext):
- (WebKit::BackingStore::paint):
- Stubbed out.
-
- * win/WebKit2.vcproj: Build BackingStoreCG.cpp in CG builds and
- BackingStoreCairo.cpp in Cairo builds.
-
-2010-10-13 Anders Carlsson <andersca@apple.com>
-
- Build fix.
-
- * Shared/cg/BackingStoreCG.cpp:
-
-2010-10-13 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=43987
- Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
- to construct their internal result string. Remove ScriptString (this is now
- redundant).
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
-
-2010-10-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Send over find indicator information to the UI process
- https://bugs.webkit.org/show_bug.cgi?id=47612
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setFindIndicator):
- Add stub.
-
- * UIProcess/WebPageProxy.messages.in:
- Add SetFindIndicator.
-
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::FindController):
- Initialize m_isShowingFindIndicator.
-
- (WebKit::FindController::findString):
- Update the find indicator if needed.
-
- (WebKit::FindController::updateFindIndicator):
- Compute find indicator information, paint the find indicator text into a
- backing store and send it over.
-
- (WebKit::FindController::resetFindIndicator):
- Send a SetFindIndicator message with a null backing store.
-
-2010-10-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add BackingStoreQt.cpp file with stubbed out BackingStore member functions
- https://bugs.webkit.org/show_bug.cgi?id=47614
-
- * Shared/BackingStore.h:
- Remove unused include.
-
- * Shared/qt/BackingStoreQt.cpp: Added.
- (WebKit::BackingStore::createGraphicsContext):
- (WebKit::BackingStore::paint):
-
- * WebKit2.pro:
- Add BackingStore.cpp, BackingStore.h and BackingStoreQt.cpp
-
-2010-10-13 Brent Fulgham <bfulgham@webkit.org>
-
- Unreviewed build fixes after r69538.
-
- * UIProcess/WebBackForwardList.h: Add missing include directive
- for CoreFoundation.
- * UIProcess/cf/WebBackForwardListCF.cpp: Add missing include
- directives for RetainPtr.h and CoreFoundation.
- * UIProcess/cf/WebPageProxyCF.cpp: Add missing include directive
- for RetainPtr.h.
-
-2010-10-13 Adam Roben <aroben@apple.com>
-
- Start compiling BackingStore on Windows
-
- Rubber-stamped by Anders Carlsson.
-
- * win/WebKit2.vcproj: Added BackingStore.
-
-2010-10-13 Adam Roben <aroben@apple.com>
-
- Rename BackingStoreMac.mm to BackingStoreCG.cpp
-
- There's nothing Mac-specific about this file.
-
- Rubber-stamped by Anders Carlsson.
-
- * Shared/cg/BackingStoreCG.cpp: Renamed from WebKit2/Shared/mac/BackingStoreMac.mm.
-
- * WebKit2.xcodeproj/project.pbxproj: Updated for rename.
-
-2010-10-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Allow all signals to be delivered to the web process
- https://bugs.webkit.org/show_bug.cgi?id=47602
- <rdar://problem/8546399>
-
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess):
-
-2010-10-12 Adam Roben <aroben@apple.com>
-
- Let WebCore handle scrolling when the spacebar is pressed on Windows
-
- WebCore already has code to do this, and WebKit2 was doing it on
- keydown instead of keypress, which caused problems with text fields.
-
- WebCore's spacebar-handling code is currently compiled out on Mac and
- Qt, so we continue to handle spacebar in WebKit2 on those platforms.
-
- Fixes <http://webkit.org/b/47544> <rdar://problem/8540645> REGRESSION:
- Pressing spacebar in a text field in WebKit2 does not insert a space,
- scrolls the page instead
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::writeSelectionToPasteboard): Added synchronous
+ message to write the selected content to the pasteboard.
- Test: WebKit2/SpacebarScrolling
+2011-02-23 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
- Removed handling for spacebar presses. WebCore already does this for
- us, and does it better.
-
-2010-10-12 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- Add ability for WK2 to set domain relaxation forbidden for a URL scheme.
- https://bugs.webkit.org/show_bug.cgi?id=47562
-
- Add the schemes for which domain relaxation is forbidden to the
- WebProcessCreationParameters.
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
-
- * UIProcess/API/C/WKContext.cpp:
- (WKContextSetDomainRelaxationForbiddenForURLScheme):
- * UIProcess/API/C/WKContextPrivate.h:
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::ensureWebProcess):
- Copy over the schemes for which domain relaxation is forbidden to
- WebProcessCreationParameters.
- (WebKit::WebContext::setDomainRelaxationForbiddenForURLScheme):
- Only send a message to the WebProcess if it is valid.
- * UIProcess/WebContext.h:
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
- Set domain relaxation forbidden for the schemes in
- WebProcesCreationParameters.urlSchemesForWhichDomainRelaxationIsForbidden.
- (WebKit::WebProcess::setDomainRelaxationForbiddenForURLScheme):
- * WebProcess/WebProcess.h:
-
- * WebProcess/WebProcess.messages.in:
- Add the SetDomainRelaxationFobiddenForURLScheme message.
-
-2010-10-13 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Simplify code generation in WebKit2/DerivedSources.pro
- https://bugs.webkit.org/show_bug.cgi?id=47543
-
- * DerivedSources.pro: General generator rules added instead of copy/paste code to converge Makefile.DerivedSources.
- * WebKit2.pro: PluginProcess' headers and sources added.
-
-2010-10-13 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Use flag instead of magic word to mark memory map free/used
-
- Original patch by Antti Koivisto.
-
- * Shared/qt/MappedMemory.h:
- (WebKit::MappedMemory::mapSize):
- (WebKit::MappedMemory::markUsed):
- (WebKit::MappedMemory::markFree):
- (WebKit::MappedMemory::isFree):
- (WebKit::MappedMemory::data):
- * Shared/qt/MappedMemoryPool.cpp:
- (WebKit::MappedMemoryPool::cleanUp):
- * Shared/qt/UpdateChunk.cpp:
- (WebKit::mapMemory):
- (WebKit::mapFile):
- (WebKit::UpdateChunk::data):
- (WebKit::UpdateChunk::decode):
-
-2010-10-12 Jon Honeycutt <jhoneycutt@apple.com>
-
- Build fix. Unreviewed.
-
- * win/WebKit2Generated.make:
- Copy over WKBundleHitTestResult.h.
-
-2010-10-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin "Sometimes" Barraclough.
-
- Add API to get the target frame from a HitTestResult.
-
- * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
- (WKBundleHitTestResultGetFrame):
- (WKBundleHitTestResultGetTargetFrame):
- * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
- * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
- (WebKit::InjectedBundleHitTestResult::frame): Rename from webFrame.
- (WebKit::InjectedBundleHitTestResult::targetFrame):
- * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
-
-2010-10-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Paint the find overlay background
- https://bugs.webkit.org/show_bug.cgi?id=47565
-
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::findString):
- Don't show the overlay if we have too many matches.
-
- * WebProcess/WebPage/FindPageOverlay.cpp:
- (WebKit::FindPageOverlay::rectsForTextMatches):
- Get the rects for all text matches.
+ Add a ShareableBitmap::create overload that takes an existing SharedMemory object
+ https://bugs.webkit.org/show_bug.cgi?id=55081
- (WebKit::FindPageOverlay::drawRect):
- Assert that we're only being called if there are any text matches.
- Paint the background.
+ * Shared/ShareableBitmap.cpp:
+ (WebKit::ShareableBitmap::createShareable):
+ (WebKit::ShareableBitmap::create):
+ * Shared/ShareableBitmap.h:
-2010-10-12 Sam Weinig <sam@webkit.org>
+2011-02-23 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
- When a provisional load fails, the provisional URL returned
- from WKFrameCopyProvisionalURL should be empty
- <rdar://problem/8540878>
- https://bugs.webkit.org/show_bug.cgi?id=47546
-
- API Tests: FailedLoad (updated).
-
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::didFailProvisionalLoad): Empty out the provisional URL.
-
-2010-10-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Start fleshing out find page overlays
- https://bugs.webkit.org/show_bug.cgi?id=47559
-
- * UIProcess/API/C/WKAPICast.h:
- (WebKit::toFindOptions):
- Handle the kWKFindOptionsShowFindIndicator flag.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::FindController):
- Initialize the find page overlay.
-
- (WebKit::FindController::findString):
- Hide or show the find page overlay.
-
- (WebKit::FindController::findPageOverlayDestroyed):
- Null out the find page overlay.
-
- * WebProcess/WebPage/FindPageOverlay.cpp: Added.
- * WebProcess/WebPage/FindPageOverlay.h: Added.
- Add stubbed out FindPageOverlay class.
-
- * WebProcess/WebPage/PageOverlay.cpp: Added.
- (WebKit::PageOverlay::setPage):
- Set the parent web page.
-
- (WebKit::PageOverlay::setNeedsDisplay):
- Invalidate the parent web page.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::drawRect):
- If there's a page overlay, ask it to draw on top of the page contents.
-
- (WebKit::WebPage::installPageOverlay):
- Set the page overlay.
-
- (WebKit::WebPage::uninstallPageOverlay):
- Clear the page overlay.
-
- * win/WebKit2.vcproj:
- Add new files.
-
-2010-10-12 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- Add ability for WK2 to register a scheme as secure.
- https://bugs.webkit.org/show_bug.cgi?id=47557
-
- Add the schemes that need to be registered as secure to the WebProcessCreationParameters.
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
-
- * UIProcess/API/C/WKContext.cpp:
- (WKContextRegisterURLSchemeAsSecure):
- * UIProcess/API/C/WKContextPrivate.h:
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::ensureWebProcess):
- Copy over the schemes that are to be registered as secure to the
- WebProcessCreationParameters.
- (WebKit::WebContext::registerURLSchemeAsSecure):
- Only send a message to the WebProcess if it is valid.
- * UIProcess/WebContext.h:
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
- Register the schemes that need to be registered as secure from the
- WebProcessCreationParameters.
- (WebKit::WebProcess::registerURLSchemeAsSecure):
- * WebProcess/WebProcess.h:
-
- * WebProcess/WebProcess.messages.in:
- Add the RegisterURLSchemeAsSecure message.
-
-2010-10-12 John Sullivan <sullivan@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=47556
- WKBundleNodeHandlePrivate.h should be marked private, not project
-
- * WebKit2.xcodeproj/project.pbxproj:
- Marked WKBundleNodeHandlePrivate.h as private.
-
-2010-10-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add FindController class
- https://bugs.webkit.org/show_bug.cgi?id=47555
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebProcess/WebPage/FindController.cpp: Added.
- (WebKit::FindController::FindController):
- (WebKit::FindController::findString):
- Ask WebCore to find the given string for us.
-
- (WebKit::FindController::hideFindUI):
- Add stub.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- Initialize the find controller.
-
- (WebKit::WebPage::findString):
- (WebKit::WebPage::hideFindUI):
- Call the find controller.
-
- * win/WebKit2.vcproj:
- Add new files.
-
-2010-10-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Need WebKit2 API to get the cell above a table cell
- <rdar://problem/8537111>
- https://bugs.webkit.org/show_bug.cgi?id=47532
-
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
- (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove):
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
- (WebKit::InjectedBundleNodeHandle::copyHTMLTableCellElementCellAbove):
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
-
-2010-10-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add BinarySemaphore class to CoreIPC and use it in Connection::waitForSyncReply
- https://bugs.webkit.org/show_bug.cgi?id=47526
-
- * Platform/CoreIPC/BinarySemaphore.cpp: Added.
- * Platform/CoreIPC/BinarySemaphore.h: Added.
- Add BinarySemaphore class.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::sendSyncMessage):
- (CoreIPC::Connection::waitForSyncReply):
- (CoreIPC::Connection::processIncomingMessage):
- Use the binary semaphore and the newly added m_pendingSyncRepliesMutex.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add new files.
-
-2010-10-12 Adam Roben <aroben@apple.com>
-
- Bring WebKit2 .vcproj files up-to-date with reality
-
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.vcproj:
- Added missing files, removed non-existent files.
-
-2010-10-12 Mark Rowe <mrowe@apple.com>
-
- Fix the 32-bit WebKit2 build.
-
- * UIProcess/cf/WebBackForwardListCF.cpp:
- (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Change currentIndex to be of
- type CFIndex and specify kCFNumberCFIndexType when calling CFNumberGetValue. This avoids a warning
- when comparing currentIndex with another variable of type CFIndex later in the function.
-
-2010-10-12 Mark Rowe <mrowe@apple.com>
-
- Fix class vs struct forward declaration issues in WebKit2 observed when using clang.
-
- * Scripts/webkit2/messages.py: Add WebCore::ViewportArguments to the set of structs.
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.h:
-
-2010-10-12 Juha Savolainen <juha.savolainen@weego.fi>
-
- Reviewed by Antti Koivisto.
-
- [Qt] Adding Qt WebKit2 API for zooming.
- https://bugs.webkit.org/show_bug.cgi?id=47539
-
- Adding zoom methods to QWKPage.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::textZoomFactor): Added
- (QWKPage::setTextZoomFactor): Added
- (QWKPage::pageZoomFactor): Added
- (QWKPage::setPageZoomFactor): Added
- (QWKPage::setPageAndTextZoomFactors): Added
- * UIProcess/API/qt/qwkpage.h:
-
-2010-10-11 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler of the past.
-
- Address some of Darin's review feedback in https://bugs.webkit.org/show_bug.cgi?id=47354
- that wasn't left till after my original commit.
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageCopySessionState): Nuke the temporary variable.
- * UIProcess/API/C/WKPage.h:
-
- * UIProcess/WebPageProxy.h: Fix up function declarations.
-
- * UIProcess/cf/WebPageProxyCF.cpp:
- (WebKit::WebPageProxy::sessionStateData): Use sizeof(UInt32) instead of 4.
- (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto.
-
-2010-10-11 Brady Eidson <beidson@apple.com>
-
- Reviewed by BUILD FIX.
-
- Build fix for Windows in https://bugs.webkit.org/show_bug.cgi?id=47354
-
- * UIProcess/cf/WebPageProxyCF.cpp:
- (WebKit::WebPageProxy::sessionStateData): Change to use CF APIs that exist on Windows.
- (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto.
-
-2010-10-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add WebKit2 equivalents for setValueForUser and setAutofilled
- <rdar://problem/8475934>
- https://bugs.webkit.org/show_bug.cgi?id=47524
-
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
- (WKBundleNodeHandleSetHTMLInputElementValueForUser):
- (WKBundleNodeHandleSetHTMLInputElementAutofilled):
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
- (WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser):
- (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled):
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
-
-2010-10-11 Brian Weinstein <bweinstein@apple.com>
-
- Windows build fix. Add a needed include.
-
- * UIProcess/cf/WebPageProxyCF.cpp:
-
-2010-10-11 Brian Weinstein <bweinstein@apple.com>
+ Web Inspector toolbar looks bad in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=55076
+ <rdar://problem/8866258>
- Windows build fix. Wrap calls to CFSTR in parentheses.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView mouseDownCanMoveWindow]):
+ Return NO from mouseDownCanMoveWindow to prevent drags in the (now transparent) inspector WKView
+ from dragging the window around.
- * UIProcess/cf/WebBackForwardListCF.cpp:
- * UIProcess/cf/WebPageProxyCF.cpp:
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+ Call [WKView setDrawsBackground:NO].
-2010-10-11 Sam Weinig <sam@webkit.org>
+2011-02-23 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
- Add ability to convert from a JSObjectRef back to a WKBundleNodeHandleRef
- https://bugs.webkit.org/show_bug.cgi?id=47509
-
- Add SPI to convert a JSObjectRef to a WKBundleNodeHandleRef.
-
- * DerivedSources.pro:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
- (WKBundleNodeHandleCreate):
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: Added.
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
- (WebKit::InjectedBundleNodeHandle::getOrCreate):
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
-
-2010-10-11 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler and Sam Weinig.
-
- <rdar://problem/8262202> and https://bugs.webkit.org/show_bug.cgi?id=47354
- Need WKPage API for serializing and restoring a page's state
-
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
- * WebKit2Prefix.h: Add DEFINE_STATIC_GETTER convenience.
+ Remove WKPageForceRepaintWithInvalidation and instead make WKPageForceRepaint
+ always dirty the entire page.
+ * Shared/ForceRepaintFlags.h: Removed.
* UIProcess/API/C/WKPage.cpp:
- (WKPageGetSessionHistoryURLValueType):
- (WKPageCopySessionState): Change to use a filter function to allow the API client to decide what
- types of things get serialized as session state. For now it only filters based on URL in
- session history entries.
- (WKPageRestoreFromSessionState):
- * UIProcess/API/C/WKPage.h:
-
- * UIProcess/WebBackForwardList.h:
- (WebKit::WebBackForwardList::restoredCurrentURL):
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::sessionStateData): Leave stubs for non-CF platform builds.
- (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto.
- * UIProcess/WebPageProxy.h:
-
- * UIProcess/cf: Added.
- * UIProcess/cf/WebBackForwardListCF.cpp: Added.
- (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Store back/forward list info CF property list style.
- (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Restore from that data - but for now we don't
- actually put the back/forward list back into place and instead only remember the current URL.
-
- * UIProcess/cf/WebPageProxyCF.cpp: Added.
- (WebKit::WebPageProxy::sessionStateData): Create the sessions state date CF property list style, plus a version header.
- (WebKit::WebPageProxy::restoreFromSessionStateData): Restore from that property list style session state data.
-
-2010-10-11 Adam Roben <aroben@apple.com>
-
- Implement SharedMemory on Windows
-
- This makes visited links be colored correctly.
-
- Fixes <http://webkit.org/b/47499> <rdar://problem/8422725>.
-
- Reviewed by Anders Carlsson.
-
- * Platform/SharedMemory.h: Add Windows-specific members to
- SharedMemory and SharedMemory::Handle.
-
- * Platform/win/SharedMemoryWin.cpp:
- (WebKit::SharedMemory::Handle::Handle): Initialize our members.
- (WebKit::SharedMemory::Handle::~Handle): Close our HANDLE if we have
- one.
- (WebKit::SharedMemory::Handle::encode): Encode our size, HANDLE, and
- PID. Null out our HANDLE member, as it is now the receiving process's
- responsibility to close the HANDLE.
- (WebKit::SharedMemory::Handle::decode): Copy the handle from the
- sending process into the receiving process and close the HANDLE the
- sending process gave us.
- (WebKit::SharedMemory::create): Map some memory and store it in a new
- SharedMemory object.
- (WebKit::accessRights): Helper function to convert a
- SharedMemory::Protection to a file-mapping access right.
- (WebKit::SharedMemory::create): Map the memory represented by the
- Handle, and adopt the HANDLE from it.
- (WebKit::SharedMemory::~SharedMemory): Clean up our memory mapping.
- (WebKit::SharedMemory::createHandle): Give the Handle a copy of our
- HANDLE with the specified protection.
-
-2010-10-11 Adam Roben <aroben@apple.com>
-
- Make it possible to restart a RunLoop::Timer on Windows
-
- Fixes <http://webkit.org/b/47505> RunLoop::Timer only ever fires once
- on Windows
-
- Reviewed by Anders Carlsson.
-
- * Platform/win/RunLoopWin.cpp:
- (RunLoop::TimerBase::timerFired): Remove non-repeating timers from the
- set of active timers when they fire, just like we do when stopping
- them manually.
-
-2010-10-11 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Darin Adler.
-
- Add Private API for creating a WebKit2 WebSerializedScriptValue from the internal
- representation of a WebKit1 WebSerializedJSValue.
- https://bugs.webkit.org/show_bug.cgi?id=47439
-
- * Shared/API/c/WKSerializedScriptValue.cpp:
- (WKSerializedScriptValueCreateWithInternalRepresentation):
- Use the existing WebSerializedScriptValue constructor that takes a pointer to the internal
- representation (a WebCore::SerializedScriptValue).
- * Shared/API/c/WKSerializedScriptValuePrivate.h:
-
-2010-10-11 Mike Thole <mthole@apple.com>
-
- Reviewed by Darin Adler.
-
- Rename WKCertificateInfoGetPeerCertificates() to WKCertificateInfoGetCertificateChain()
- https://bugs.webkit.org/show_bug.cgi?id=47495
-
- * Shared/API/c/mac/WKCertificateInfoMac.h:
- Renamed WKCertificateInfoGetPeerCertificates() to WKCertificateInfoGetCertificateChain()
- * Shared/API/c/mac/WKCertificateInfoMac.mm:
- (WKCertificateInfoGetCertificateChain): Updated for name change.
- * Shared/mac/PlatformCertificateInfo.h:
- (WebKit::PlatformCertificateInfo::certificateChain): Renamed from peerCertificates()
- * Shared/mac/PlatformCertificateInfo.mm:
- (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Updated for name change.
- (WebKit::PlatformCertificateInfo::encode): Ditto.
- (WebKit::PlatformCertificateInfo::decode): Ditto.
- (WebKit::PlatformCertificateInfo::dump): Ditto.
-
-2010-10-11 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Issue a warning when an InjectedBundle can't be loaded.
- https://bugs.webkit.org/show_bug.cgi?id=47497
-
- The original author of the patch is Jocelyn Turcotte <jocelyn.turcotte@nokia.com>.
-
- * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
- (WebKit::InjectedBundle::load):
-
-2010-10-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Simon Fraser.
-
- Rename transformToDeviceSpace to convertToDeviceSpace and
- transformToUserSpace to convertToUserSpace at Simon's request.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::convertToDeviceSpace):
- (WebKit::PageClientImpl::convertToUserSpace):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _convertToDeviceSpace:]):
- (-[WKView _convertToUserSpace:]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::convertToDeviceSpace):
- (QWKPagePrivate::convertToUserSpace):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setWindowFrame):
- (WebKit::WebPageProxy::getWindowFrame):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::convertToDeviceSpace):
- (WebKit::WebView::convertToUserSpace):
- * UIProcess/win/WebView.h:
-
-2010-10-11 Sam Weinig <sam@webkit.org>
-
- Try to fix the Mac release build.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _transformToDeviceSpace:]):
- (-[WKView _transformToUserSpace:]):
- * UIProcess/API/mac/WKViewInternal.h:
-
-2010-10-11 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- WebProcess ASSERTs with a null application cache dir creation parameter
- https://bugs.webkit.org/show_bug.cgi?id=47489
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
-
-2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Andreas Kling.
-
- Unlink the files used for I/O mapped memory as soon as they are
- created.
-
- * Shared/qt/UpdateChunk.cpp:
- (WebKit::mapMemory):
- (WebKit::mapFile):
-
-2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Rubberstamped by Andreas Kling.
-
- Build fix when using MeeGo Touch
-
- * WebProcess/qt/WebProcessMainQt.cpp:
-
-2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Andreas Kling.
-
- Use raster for the QtWebProcess.
-
- * WebProcess/qt/WebProcessMainQt.cpp:
- (WebKit::WebProcessMainQt):
-
-2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Unreviewed win build fix.
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
-
-2010-10-08 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Sam Weinig.
-
- Adding Qt WebKit2 API for dealing with viewport meta info
- https://bugs.webkit.org/show_bug.cgi?id=47202
-
- Add new API for setting scale and layout viewport given the data
- provided by the viewport meta tag.
-
- Any Qt view components who wants to support this, will need to
- compute the viewport attributes before first load using
- viewportAttributesForSize(..), and then again everytime
- the viewport attributes gets invalidates (loading a new page,
- navigating page cache) or every time on of the browser
- attributes change, such as when the device is rotates (which
- changes the actual visible viewport). A signal
- viewportChangeRequested() is provided for the former.
-
- * Shared/WebCoreArgumentCoders.h:
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::setViewportArguments):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::setViewportArguments):
- (QWKPage::ViewportAttributes::ViewportAttributes):
- (QWKPage::ViewportAttributes::~ViewportAttributes):
- (QWKPage::ViewportAttributes::operator=):
- (QWKPage::viewportAttributesForSize):
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/API/qt/qwkpage_p.h:
- (QtViewportAttributesPrivate::QtViewportAttributesPrivate):
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::didChangeViewportData):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::setViewportArguments):
- * UIProcess/win/WebView.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::dispatchViewportDataDidChange):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
-
-2010-10-11 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] WebKit2 build scripts are buggy
- https://bugs.webkit.org/show_bug.cgi?id=47377
-
- Generated sources must depends on WebKit2/Scripts/webkit2/messages.py too.
-
- * DerivedSources.pro: Missing dependencies added.
-
-2010-10-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- WKFrameGetFrameLoadState() returns kWKFrameLoadStateCommitted after the load has been stopped
- <rdar://problem/8173667>
- https://bugs.webkit.org/show_bug.cgi?id=47461
-
- API Test: WebKit2/FailedLoad
-
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::didFailProvisionalLoad):
- (WebKit::WebFrameProxy::didFailLoad):
- * UIProcess/WebFrameProxy.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
- (WebKit::WebPageProxy::didFailLoadForFrame):
- Set the frame load state to LoadStateFinished for both didFailProvisionalLoadForFrame
- and didFailLoadForFrame.
-
-2010-10-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Add WebKit2 version of runBeforeUnloadConfirmPanelWithMessage
- <rdar://problem/8447690>
- https://bugs.webkit.org/show_bug.cgi?id=47459
-
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setWindowFrame):
- (WebKit::WebPageProxy::getWindowFrame):
- (WebKit::WebPageProxy::canRunBeforeUnloadConfirmPanel):
- (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::canRunBeforeUnloadConfirmPanel):
- (WebKit::WebUIClient::runBeforeUnloadConfirmPanel):
- * UIProcess/WebUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::canRunBeforeUnloadConfirmPanel):
- (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
- Pipe calls through to the UIProcess.
-
-2010-10-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Need implementation of ChromeClient windowRect related functions.
- <rdar://problem/8469476>
- https://bugs.webkit.org/show_bug.cgi?id=47386
-
- * Shared/API/c/WKGeometry.h: Added.
- Adds WKPoint, WKSize and WKRect structs.
-
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toImpl):
- (WebKit::toAPI):
- Add conversion functions for WKRect.
-
- * Shared/WebCoreArgumentCoders.h:
- Add encoding for FloatPoint, FloatSize and FloatRect.
-
+ (WKPageForceRepaint):
* UIProcess/API/C/WKPage.h:
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::transformToDeviceSpace):
- (WebKit::PageClientImpl::transformToUserSpace):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _transformToDeviceSpace:]):
- (-[WKView _transformToUserSpace:]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::transformToDeviceSpace):
- (QWKPagePrivate::transformToUserSpace):
- (QWKPage::QWKPage):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setWindowFrame):
- (WebKit::WebPageProxy::getWindowFrame):
+ (WebKit::WebPageProxy::forceRepaint):
* UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::setWindowFrame):
- (WebKit::WebUIClient::windowFrame):
- * UIProcess/WebUIClient.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::setEditCommandState):
- (WebKit::WebView::transformToDeviceSpace):
- (WebKit::WebView::transformToUserSpace):
- * UIProcess/win/WebView.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::setWindowFrame):
- (WebKit::WebChromeClient::windowFrame):
- Pipe calls through to the UIProcess, and give ports a chance to transform
- the rect (via the PageClient) before it is passed on.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
- Add new files.
-
-2010-10-07 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add Private API for creating a WebKit1 WebSerializedJSValue from the internal
- representation of a WebKit2 WebSerializedScriptValue.
- https://bugs.webkit.org/show_bug.cgi?id=47390
-
- * Shared/API/c/WKSerializedScriptValue.cpp:
- (WKSerializedScriptValueGetInternalRepresentation):
- * Shared/API/c/WKSerializedScriptValuePrivate.h: Added.
-
- * Shared/WebSerializedScriptValue.h:
- (WebKit::WebSerializedScriptValue::internalRepresentation):
- Return the WebCore::SerializedScriptValue as a void* so that it can be passed through the
- API.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add WKSerializedScriptValuePrivate.h.
- * win/WebKit2.vcproj:
- Ditto, also some sorting.
-
- * win/WebKit2Generated.make:
- Copy over WKSerializedScriptValuePrivate.h.
-
-2010-10-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Fix WKStringQt.h and WKURLQt.h API problems.
- https://bugs.webkit.org/show_bug.cgi?id=47412
-
- * UIProcess/API/cpp/qt/WKStringQt.h:
- Remove the extern "C"
- * UIProcess/API/cpp/qt/WKURLQt.h:
- Remove the extern "C"
- * UIProcess/API/qt/qgraphicswkview.h:
- Fix the forwarded declaration
-
-2010-10-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Don't use -whole-archive to link-in libWebKit2.a except for libQtWebKit.so
- https://bugs.webkit.org/show_bug.cgi?id=47347
-
- * WebKit2.pri:
-
-2010-10-08 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
-
- Reviewed by Andreas Kling.
-
- Notify WebPage when QGraphicsWKView gains focus. Set both
- active flag and focused flag, similar to QWebPage behavior.
-
- [Qt] WebKit2 should support focusing
- https://bugs.webkit.org/show_bug.cgi?id=47168
-
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::focusInEvent): Added.
- (QGraphicsWKView::focusOutEvent): Added.
- * UIProcess/API/qt/qgraphicswkview.h: Added declarations.
-
-2010-10-07 Ivan Krstić <ike@apple.com>
-
- Reviewed by Mark Rowe.
-
- <rdar://problem/8349882> Many WebProcess sandbox violations during basic browsing operations.
-
- * WebProcess/com.apple.WebProcess.sb:
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain):
-
-2010-10-07 Brady Eidson <beidson@apple.com>
-
- Build fix.
-
- GCC continued to mask the fact that I still hadn't declared the correct symbol.
-
- * Platform/Logging.cpp:
- (initializeLogChannel):
- * Platform/Logging.h:
-
-2010-10-07 Brian Weinstein <bweinstein@apple.com>
-
- Build Fix. Fix the vcproj to make it valid and openable by Visual Studio.
-
- * win/WebKit2.vcproj:
-
-2010-10-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a WKPageFindClient, hook up WKPageCountStringMatches
- https://bugs.webkit.org/show_bug.cgi?id=47373
-
- * Shared/APIClient.h: Added.
- Add an APIClient class template which can be used to reduce duplicated
- code in the client wrappers.
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageSetPageFindClient):
- Initialize the page find client.
-
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebFindClient.cpp: Added.
- (WebKit::WebFindClient::didCountStringMatches):
- Call the WKPageFindClient function.
-
- * UIProcess/WebFindClient.h: Added.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeFindClient):
- Initialize the WebFindClient.
-
- (WebKit::WebPageProxy::findString):
- Send a FindString message.
-
- (WebKit::WebPageProxy::hideFindUI):
- Send a HideFindUI message.
-
- (WebKit::WebPageProxy::countStringMatches):
- Send a CountStringMatches message.
-
- (WebKit::WebPageProxy::didCountStringMatches):
- Call the find client.
-
- * UIProcess/WebPageProxy.messages.in:
- Add new message.
-
* WebKit2.pro:
* WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::forceRepaint):
* WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::findString):
- (WebKit::WebPage::hideFindUI):
- Add stubs.
-
- (WebKit::WebPage::countStringMatches):
- Figure out the number of matches and send them back in the DidCountStringMatches msessage.
-
+ (WebKit::WebPage::forceRepaint):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
- Add new messages.
-
- * win/WebKit2.vcproj:
- Add new files.
-
-2010-10-07 Sam Weinig <sam@webkit.org>
-
- Update unit tests results.
-
- * Scripts/webkit2/messages_unittest.py:
-
-2010-10-07 Brady Eidson <beidson@apple.com>
-
- Reviewed by BUILD FIX for non-gcc builds.
-
- * Platform/Logging.cpp:
- (initializeLogChannel): GCC optimized out the only caller of this function. Windows doesn't, and is breaking.
-
-2010-10-07 Darin Adler <darin@apple.com>
-
- Fix include mistake that makes build fail with non-Objective-C.
-
- * Shared/API/c/mac/WKCertificateInfoMac.h: Include CoreFoundation.h,
- not Foundation.h.
-
-2010-10-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Generate the messages sent to the WebPageProxy
- https://bugs.webkit.org/show_bug.cgi?id=47239
-
- * DerivedSources.make:
- * DerivedSources.pro:
- * Platform/CoreIPC/Arguments.h:
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::handleMessage):
- * Scripts/webkit2/messages.py:
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Removed.
- * Shared/StringPairVector.h: Added.
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::registerEditCommand):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::registerEditCommand):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebEditCommandProxy.cpp:
- (WebKit::WebEditCommandProxy::unapply):
- (WebKit::WebEditCommandProxy::reapply):
- * UIProcess/WebFormClient.cpp:
- (WebKit::WebFormClient::willSubmitForm):
- * UIProcess/WebFormClient.h:
- * UIProcess/WebPageProxy.cpp:
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in: Added.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::registerEditCommand):
- * UIProcess/win/WebView.h:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::registerCommandForUndo):
- (WebKit::WebEditorClient::clearUndoRedoOperations):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- * WebProcess/WebPage/WebPage.cpp:
- * win/WebKit2.vcproj:
-
-2010-10-07 Brady Eidson <beidson@apple.com>
-
- Reviewed by BUILD FIX.
-
- Forgot this to keep the build working.
-
- * WebKit2Prefix.h:
-
-2010-10-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Start stubbing out the find API
- https://bugs.webkit.org/show_bug.cgi?id=47366
- <rdar://problem/8524998>
-
- * Shared/FindOptions.h: Added.
- * UIProcess/API/C/WKAPICast.h:
- (WebKit::toFindDirection):
- (WebKit::toFindOptions):
- * UIProcess/API/C/WKPage.cpp:
- (WKPageFindString):
- (WKPageHideFindUI):
- (WKPageCountStringMatches):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::findString):
- (WebKit::WebPageProxy::hideFindUI):
- (WebKit::WebPageProxy::countStringMatches):
- * UIProcess/WebPageProxy.h:
-
-2010-10-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Andras Becsi <abecsi@webkit.org>, Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Add WTR's InjectedBundle build files.
- https://bugs.webkit.org/show_bug.cgi?id=47333
-
- * WebKit2.pro:
-
-2010-10-07 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Part of https://bugs.webkit.org/show_bug.cgi?id=47354 - Add WebCore/WebKit1 style logging channel mechanism0 to WebKit2,
- including the first channel to be used for SessionState work.
-
- * Platform/Logging.cpp: Added.
- (initializeLogChannelsIfNecessary):
- * Platform/Logging.h: Added.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
-2010-10-07 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r69315.
- http://trac.webkit.org/changeset/69315
- https://bugs.webkit.org/show_bug.cgi?id=47363
-
- Forgot to add the new files (Requested by kbalazs on #webkit).
-
- * WebKit2.pro:
-
-2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Fixing viewport meta tag user-scalable handling
- https://bugs.webkit.org/show_bug.cgi?id=47330
-
- user-scalable attribute was not considered in viewport meta tag handling.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::viewportConfigurationForSize):
-
-2010-10-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Andras Becsi <abecsi@webkit.org>, Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Add WTR's InjectedBundle build files.
- https://bugs.webkit.org/show_bug.cgi?id=47333
-
- * WebKit2.pro:
-
-2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Some viewport meta tag api refactoring
- https://bugs.webkit.org/show_bug.cgi?id=47334
-
- WebCore::findConfigurationForViewportData renamed to computeViewportAttributes.
- WebCore::ViewportAttributes::layoutViewport renamed to layoutSize.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::viewportConfigurationForSize):
-
-2010-10-06 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by John Sullivan.
-
- Bundle should expose a reportException method.
- https://bugs.webkit.org/show_bug.cgi?id=46769
-
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleReportException):
- * WebProcess/InjectedBundle/API/c/WKBundle.h:
-
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::reportException):
- Mimic the behavior of WebView::reportException.
- * WebProcess/InjectedBundle/InjectedBundle.h:
-
-2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Adam Roben.
-
- [Qt] Webkit2 MacOS build fix
- https://bugs.webkit.org/show_bug.cgi?id=47167
-
- There were two problems when building Qt WebKit2 in Mac. The first was that
- ld does not support flag -whole-archive and it needed to be replaced by flag -all_load.
- The second problem was that __APPLE__ is been used to identify safari builds and, when
- building Qt in MacOS, Qt was ending up using the wrong typedef. The solution was to use
- a Qt specific WKNativeEvent.h that only has the proper Qt typedef instead of the original one.
-
- * UIProcess/API/C/qt/WKNativeEvent.h: Added.
- * WebKit2.pri:
- * WebKit2.pro:
-
-2010-10-07 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- WebKitTestRunner should be portable
- https://bugs.webkit.org/show_bug.cgi?id=45393
-
- Introducing additional URL API.
- * Shared/API/c/WKURL.cpp:
- (WKURLCreateWithUTF8CString):
- (WKURLIsEqual):
- * Shared/API/c/WKURL.h:
-
-2010-10-06 Balazs Kelemen <kbalazs@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Add WebKitTestRunner's build files
- https://bugs.webkit.org/show_bug.cgi?id=44155
-
- * DerivedSources.pro: Changes according the new location
- of generate-forwarding-headers.pl.
- * UIProcess/API/C/WebKit2.h: Do not check the value of the
- __APPLE__ define if it is not defined.
- * WebKit2.pro: Changes according the new location
- of generate-forwarding-headers.pl. Added missing files
- to the build that provides API that is used by WTR.
- * generate-forwarding-headers.pl: Moved to WebKitTools/Scripts
- since from now this is not only used by WebKit2.
-
-2010-10-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Separate actually calling the member function from decoding/encoding arguments
- and remove any ambiguities when calling the function.
-
- * Platform/CoreIPC/Arguments.h:
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::callMemberFunction):
- (CoreIPC::handleMessage):
-
-2010-10-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- More Arguments.h cleanup.
-
- * Platform/CoreIPC/Arguments.h:
- * Platform/CoreIPC/HandleMessage.h:
- Remove unnecessary typedefs, simplify.
-
- * Scripts/webkit2/messages.py:
- * UIProcess/WebContext.h:
- Fix clang++ build.
-
-2010-10-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Start cleaning up Arguments.h
- https://bugs.webkit.org/show_bug.cgi?id=47304
-
- This is a first step towards simplifying all the handleMessage overloads we have.
-
- * Platform/CoreIPC/Arguments.h:
- (CoreIPC::Arguments1):
- Make Arguments1 a struct and get rid of the FirstArgumentType typedef. Instead, add a
- ValueType typedef which is defined to an Arguments1 type whose type parameter is not
- a reference type.
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::handleMessage):
- Update for the Arguments1 change. Rename "arguments" to "argumentDecoder" and "reply" to
- "replyEncoder".
-
-2010-10-06 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix the build after API changes introduced in r69214.
-
- * UIProcess/API/cpp/qt/WKStringQt.cpp:
- (WKStringCreateWithQString):
- * UIProcess/API/cpp/qt/WKURLQt.cpp:
- (WKURLCreateWithQUrl):
-
-2010-10-06 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r69210.
- http://trac.webkit.org/changeset/69210
- https://bugs.webkit.org/show_bug.cgi?id=47297
-
- This patch broke Windows (Requested by andersca on #webkit).
-
- * DerivedSources.make:
- * DerivedSources.pro:
- * Platform/CoreIPC/Arguments.h:
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::handleMessage):
- * Scripts/webkit2/messages.py:
- * Scripts/webkit2/messages_unittest.py:
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added.
- * Shared/StringPairVector.h: Removed.
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::registerEditCommand):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::registerEditCommand):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebEditCommandProxy.cpp:
- (WebKit::WebEditCommandProxy::unapply):
- (WebKit::WebEditCommandProxy::reapply):
- * UIProcess/WebFormClient.cpp:
- (WebKit::WebFormClient::willSubmitForm):
- * UIProcess/WebFormClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::didReceiveSyncMessage):
- (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
- (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
- (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
- (WebKit::WebPageProxy::didCommitLoadForFrame):
- (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
- (WebKit::WebPageProxy::didFinishLoadForFrame):
- (WebKit::WebPageProxy::didFailLoadForFrame):
- (WebKit::WebPageProxy::didReceiveTitleForFrame):
- (WebKit::WebPageProxy::didFirstLayoutForFrame):
- (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
- (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
- (WebKit::WebPageProxy::decidePolicyForNavigationAction):
- (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
- (WebKit::WebPageProxy::decidePolicyForMIMEType):
- (WebKit::WebPageProxy::willSubmitForm):
- (WebKit::WebPageProxy::createNewPage):
- (WebKit::WebPageProxy::runJavaScriptAlert):
- (WebKit::WebPageProxy::runJavaScriptConfirm):
- (WebKit::WebPageProxy::runJavaScriptPrompt):
- (WebKit::WebPageProxy::mouseDidMoveOverElement):
- (WebKit::WebPageProxy::contentsSizeChanged):
- (WebKit::WebPageProxy::addItemToBackForwardList):
- (WebKit::WebPageProxy::goToItemInBackForwardList):
- (WebKit::WebPageProxy::registerEditCommandForUndo):
- (WebKit::WebPageProxy::registerEditCommandForRedo):
- (WebKit::WebPageProxy::didReceiveEvent):
- (WebKit::WebPageProxy::didChangeAcceleratedCompositing):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in: Removed.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::registerEditCommand):
- * UIProcess/win/WebView.h:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::setWindowRect):
- (WebKit::WebChromeClient::takeFocus):
- (WebKit::WebChromeClient::createWindow):
- (WebKit::WebChromeClient::runJavaScriptAlert):
- (WebKit::WebChromeClient::runJavaScriptConfirm):
- (WebKit::WebChromeClient::runJavaScriptPrompt):
- (WebKit::WebChromeClient::setStatusbarText):
- (WebKit::WebChromeClient::contentsSizeChanged):
- (WebKit::WebChromeClient::mouseDidMoveOverElement):
- (WebKit::WebChromeClient::setToolTip):
- (WebKit::WebChromeClient::setCursor):
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::registerCommandForUndo):
- (WebKit::WebEditorClient::clearUndoRedoOperations):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::detachedFromParent2):
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
- (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
- (WebKit::WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
- (WebKit::WebFrameLoaderClient::postProgressStartedNotification):
- (WebKit::WebFrameLoaderClient::postProgressEstimateChangedNotification):
- (WebKit::WebFrameLoaderClient::postProgressFinishedNotification):
- (WebKit::WebFrameLoaderClient::createFrame):
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- (WebKit::WebBackForwardListProxy::addItem):
- (WebKit::WebBackForwardListProxy::goToItem):
- (WebKit::WebBackForwardListProxy::backItem):
- (WebKit::WebBackForwardListProxy::currentItem):
- (WebKit::WebBackForwardListProxy::forwardItem):
- (WebKit::WebBackForwardListProxy::itemAtIndex):
- (WebKit::WebBackForwardListProxy::backListCount):
- (WebKit::WebBackForwardListProxy::forwardListCount):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::changeAcceleratedCompositingMode):
- (WebKit::WebPage::enterAcceleratedCompositingMode):
- (WebKit::WebPage::sendClose):
- (WebKit::WebPage::mouseEvent):
- (WebKit::WebPage::wheelEvent):
- (WebKit::WebPage::keyEvent):
- (WebKit::WebPage::validateMenuItem):
- (WebKit::WebPage::touchEvent):
- (WebKit::WebPage::show):
- (WebKit::WebPage::runJavaScriptInMainFrame):
- (WebKit::WebPage::getRenderTreeExternalRepresentation):
- (WebKit::WebPage::getSourceForFrame):
- * win/WebKit2.vcproj:
-
-2010-10-06 Jessie Berlin <jberlin@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- WKSerializedScriptValue.h needs to be copied over into the WEBKITOUTPUTDIR on Windows.
- https://bugs.webkit.org/show_bug.cgi?id=47287
-
- * win/WebKit2Generated.make:
- Copy WKSerializedScriptValue.h into $(WEBKITOUTPUTDIR)\include\WebKit2.
-
-2010-10-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Rename toRef/toWK to toAPI/toImpl
- https://bugs.webkit.org/show_bug.cgi?id=47281
-
- * Shared/API/c/WKArray.cpp:
- * Shared/API/c/WKCertificateInfo.cpp:
- * Shared/API/c/WKData.cpp:
- * Shared/API/c/WKDictionary.cpp:
- * Shared/API/c/WKError.cpp:
- * Shared/API/c/WKMutableArray.cpp:
- * Shared/API/c/WKMutableDictionary.cpp:
- * Shared/API/c/WKNumber.cpp:
- * Shared/API/c/WKSerializedScriptValue.cpp:
- * Shared/API/c/WKSharedAPICast.h:
- * Shared/API/c/WKString.cpp:
- * Shared/API/c/WKType.cpp:
- * Shared/API/c/WKURL.cpp:
- * Shared/API/c/WKURLRequest.cpp:
- * Shared/API/c/WKURLResponse.cpp:
- * Shared/API/c/cf/WKStringCF.cpp:
- * Shared/API/c/cf/WKURLCF.cpp:
- * Shared/API/c/cf/WKURLRequestCF.cpp:
- * Shared/API/c/cf/WKURLResponseCF.cpp:
- * Shared/API/c/mac/WKCertificateInfoMac.mm:
- * Shared/API/c/mac/WKURLRequestNS.mm:
- * Shared/API/c/mac/WKURLResponseNS.mm:
- * Shared/API/c/win/WKCertificateInfoWin.cpp:
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKBackForwardList.cpp:
- * UIProcess/API/C/WKBackForwardListItem.cpp:
- * UIProcess/API/C/WKContext.cpp:
- * UIProcess/API/C/WKFormSubmissionListener.cpp:
- * UIProcess/API/C/WKFrame.cpp:
- * UIProcess/API/C/WKFramePolicyListener.cpp:
- * UIProcess/API/C/WKNavigationData.cpp:
- * UIProcess/API/C/WKPage.cpp:
- * UIProcess/API/C/WKPageNamespace.cpp:
- * UIProcess/API/C/WKPreferences.cpp:
- * UIProcess/API/C/WKPreferencesPrivate.cpp:
- * UIProcess/API/C/win/WKContextWin.cpp:
- * UIProcess/API/C/win/WKView.cpp:
- * UIProcess/API/cpp/qt/WKStringQt.cpp:
- * UIProcess/API/cpp/qt/WKURLQt.cpp:
- * UIProcess/API/mac/PageClientImpl.mm:
- * UIProcess/API/mac/WKView.mm:
- * UIProcess/API/qt/ClientImpl.cpp:
- * UIProcess/API/qt/qwkpage.cpp:
- * UIProcess/GenericCallback.h:
- * UIProcess/WebContextInjectedBundleClient.cpp:
- * UIProcess/WebFormClient.cpp:
- * UIProcess/WebHistoryClient.cpp:
- * UIProcess/WebLoaderClient.cpp:
- * UIProcess/WebPolicyClient.cpp:
- * UIProcess/WebUIClient.cpp:
- * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
- * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
- * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
- * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
- * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
- * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
-
-2010-10-06 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
- https://bugs.webkit.org/show_bug.cgi?id=47268
-
- Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::viewportConfigurationForSize):
-
-2010-10-06 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- Generate the messages sent to the WebPageProxy
- https://bugs.webkit.org/show_bug.cgi?id=47239
-
- * Platform/CoreIPC/Arguments.h:
- Add additional typedefs.
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::handleMessage):
- Add more handleMessage implementations.
-
- * Scripts/webkit2/messages.py:
- * Scripts/webkit2/messages_unittest.py:
- Add headers for reply argument types.
-
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Removed.
-
- * Shared/StringPairVector.h: Added.
- This file is a hack to work around a deficiency in the generator
- which can't deal with class templates with more than one argument.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- * UIProcess/API/qt/qwkpage.cpp:
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebEditCommandProxy.cpp:
- * UIProcess/WebFormClient.cpp:
- * UIProcess/WebFormClient.h:
- * UIProcess/WebPageProxy.cpp:
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- * WebProcess/WebPage/WebPage.cpp:
- Migrate to generated calls.
-
- * UIProcess/WebPageProxy.messages.in: Added.
- New messages definitions file.
-
- * DerivedSources.make:
- * DerivedSources.pro:
* win/WebKit2.vcproj:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
-2010-10-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Send null events and mouse events
- https://bugs.webkit.org/show_bug.cgi?id=47223
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add "-Wno-deprecated-declarations" to the COMPILER_FLAGS for NetscapePluginMac.mm since
- we call Button() which is deprecated.
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin):
- Initialize the null event timer.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformPostInitialize):
- Start the null event timer.
-
- (WebKit::NetscapePlugin::platformDestroy):
- Stop the null event timer.
-
- (WebKit::NetscapePlugin::platformHandleMouseEvent):
- Initialize the event record and call NPP_HandleEvent.
-
- (WebKit::NetscapePlugin::nullEventTimerFired):
- Send a null event with the current mouse position.
-
-2010-10-05 Anders Carlsson <andersca@apple.com>
+2011-02-23 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- Start sending Carbon plug-in events in th Carbon event model
- https://bugs.webkit.org/show_bug.cgi?id=47209
- <rdar://problem/8515677>
+ Race condition when creating and destroying pages quickly
+ https://bugs.webkit.org/show_bug.cgi?id=55061
+ <rdar://problem/8708435>
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin):
- Initialize the NP_CGContext struct.
+ When the last page in a web process is closed, the web process would
+ previously terminate, even if the UI process had created a new page
+ (the CreateNewPage message just wouldn't have reached the web process yet).
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformPostInitialize):
- Create a fake Carbon window.
-
- (WebKit::NetscapePlugin::platformDestroy):
- Destroy the Carbon window.
-
- (WebKit::modifiersForEvent):
- Given a WebEvent, return the EventRecord modifiers.
-
- (WebKit::NetscapePlugin::platformPaint):
- (WebKit::NetscapePlugin::platformHandleMouseEvent):
- (WebKit::NetscapePlugin::platformHandleWheelEvent):
- (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
- (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
- (WebKit::NetscapePlugin::platformSetFocus):
- (WebKit::NetscapePlugin::windowFocusChanged):
- Create Carbon EventRecords and call NPP_HandleEvent.
-
-2010-10-05 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Add MIMEType accessor to WKFrame
- <rdar://problem/8347683>
- https://bugs.webkit.org/show_bug.cgi?id=47138
-
- Tests: WebKit2/FrameMIMETypePNG
- WebKit2/FrameMIMETypeHTML
-
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameCopyMIMEType):
- * UIProcess/API/C/WKFrame.h:
- * UIProcess/WebFrameProxy.h:
- (WebKit::WebFrameProxy::setMIMEType):
- (WebKit::WebFrameProxy::mimeType):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::didCommitLoadForFrame):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
-
-2010-10-05 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
+ Fix this by adding a ShouldTerminate message that the web process sends when it's
+ about to terminate. If the UI process has any pending pages, downloads etc. it will
+ prevent the web process from terminating. Otherwise, it will immmediately disconnect
+ the WebPageProxy so that creating a page after that will launch a new web process.
- Implement API call for setting custom user agent
- (QWKPage::setCustomUserAgent)
-
- [Qt] Ability to set custom userAgent for WebKit2/WebKit
- https://bugs.webkit.org/show_bug.cgi?id=44265
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::setCustomUserAgent): Added.
- * UIProcess/API/qt/qwkpage.h: Add setCustomUserAgent.
-
-2010-10-05 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r69103.
- http://trac.webkit.org/changeset/69103
- https://bugs.webkit.org/show_bug.cgi?id=47177
-
- Breaking Windows and Mac build. (Requested by lca on #webkit).
-
- * UIProcess/API/C/WKNativeEvent.h:
- * UIProcess/API/qt/qwkpage.cpp:
- * UIProcess/API/qt/qwkpage.h:
- * WebKit2.pri:
-
-2010-10-05 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Antti Koivisto.
-
- [Qt] Webkit2 MacOS build fix
- https://bugs.webkit.org/show_bug.cgi?id=47167
-
- Qt WebKit2 MacOS build fix.
-
- * UIProcess/API/C/WKNativeEvent.h:
- * UIProcess/API/qt/qwkpage.cpp:
- * UIProcess/API/qt/qwkpage.h:
- * WebKit2.pri:
-
-2010-10-04 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix the build when sandboxing is enabled.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::ensureWebProcess):
- * UIProcess/WebProcessProxy.cpp:
-
-2010-10-04 Andras Becsi <abecsi@webkit.org>
-
- Reviewed Csaba Osztrogonác.
-
- [Qt] Build fix after r69037.
- Also remove dummy setUpAcceleratedCompositing() from the source file,
- since it has been removed from the header.
-
- * UIProcess/WebProcessProxy.cpp:
-
-2010-10-04 Andras Becsi <abecsi@webkit.org>
-
- Rubber-stamped by Csaba Osztrogonác.
-
- [Qt] Fix the WebKit2 build after r69029.
-
- * DerivedSources.pro:
-
-2010-10-04 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Change WebProcess initialization to be done with an
- auxiliary struct.
-
- * Platform/CoreIPC/mac/MachPort.h:
- * Shared/WebProcessCreationParameters.cpp: Added.
- (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h: Added.
+ * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
+ (WebKit::WebPluginSiteDataManager::shouldTerminate):
+ * UIProcess/Plugins/WebPluginSiteDataManager.h:
* UIProcess/WebContext.cpp:
- (WebKit::WebContext::ensureWebProcess):
+ (WebKit::WebContext::shouldTerminate):
+ (WebKit::WebContext::disconnectProcess):
* UIProcess/WebContext.h:
* UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::WebProcessProxy):
+ (WebKit::WebProcessProxy::disconnect):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ (WebKit::WebProcessProxy::didClose):
+ (WebKit::WebProcessProxy::shouldTerminate):
* UIProcess/WebProcessProxy.h:
- * UIProcess/mac/WebContextMac.mm:
- (WebKit::WebContext::platformInitializeWebProcess):
- * UIProcess/mac/WebProcessProxyMac.mm: Removed.
- * UIProcess/qt/WebContextQt.cpp:
- (WebKit::WebContext::applicationCacheDirectory):
- (WebKit::WebContext::platformInitializeWebProcess):
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::platformInitializeWebProcess):
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
- * WebProcess/WebProcess.h:
- * WebProcess/WebProcess.messages.in:
- * win/WebKit2.vcproj:
-
-2010-10-04 Brent Fulgham <bfulgham@webkit.org>
-
- Unreviewed build fixes after r68260 and r68686.
-
- * Platform/CoreIPC/DataReference.h: Add include directive for
- <inttypes.h>, needed for WinCairo build.
- * Shared/win/PlatformCertificateInfo.cpp:
- (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
- Conditionalize logic specific to WebKitSystemInterface and
- add a stub implementation for WinCairo.
-
-2010-10-04 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- Generate messages sent to the WebProcess class.
- https://bugs.webkit.org/show_bug.cgi?id=47097
-
- * DerivedSources.make:
- Add new file to generate and new directory to search.
-
- * Scripts/webkit2/messages.py:
- (forward_declarations_and_headers): Special case class templates.
- (headers_for_type): Special case Vector.
- * Scripts/webkit2/messages_unittest.py:
- Make this script work for passing a templated type.
-
- * Shared/CoreIPCSupport/WebProcessMessageKinds.h: Removed.
-
- * UIProcess/VisitedLinkProvider.cpp:
- (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::initializeHistoryClient):
- (WebKit::WebContext::ensureWebProcess):
- (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
- (WebKit::WebContext::setCacheModel):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeWebPage):
- (WebKit::WebPageProxy::reinitializeWebPage):
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::WebProcessProxy): Always pass both
- the bundle path and a key, even if the key is null, which it will be for
- all non-mac builds for now.
- * UIProcess/mac/WebProcessProxyMac.mm:
- (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::setShouldPaintNativeControls):
- (WebKit::WebContext::platformSetUpWebProcess):
- Use the new syntax for sending the messages.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::setShouldTrackVisitedLinks):
- (WebKit::WebProcess::setCacheModel):
- (WebKit::WebProcess::setupAcceleratedCompositingPort):
- (WebKit::WebProcess::setShouldPaintNativeControls):
- (WebKit::WebProcess::didReceiveMessage):
- * WebProcess/WebProcess.h:
- Convert to using generated didReceiveWebProcessMessage.
-
- * WebProcess/WebProcess.messages.in: Added.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Update projects.
-
-2010-10-04 Sam Weinig <sam@webkit.org>
-
- Fix the Mac build.
-
- * WebProcess/mac/WebProcessMac.mm:
-
-2010-10-04 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add ability to set the CacheModel in Webkit2
- https://bugs.webkit.org/show_bug.cgi?id=47066
-
- Add WKContext function to set the cache model for the context.
-
- * Shared/CacheModel.h: Added.
- * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
- * UIProcess/API/C/WKAPICast.h:
- (WebKit::toCacheModel):
- (WebKit::toRef):
- * UIProcess/API/C/WKContext.cpp:
- (WKContextSetCacheModel):
- (WKContextGetCacheModel):
- * UIProcess/API/C/WKContext.h:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- (WebKit::WebContext::ensureWebProcess):
- (WebKit::WebContext::setCacheModel):
- * UIProcess/WebContext.h:
- (WebKit::WebContext::cacheModel):
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
+ * UIProcess/WebProcessProxy.messages.in:
* WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::WebProcess):
- (WebKit::WebProcess::setCacheModel):
- (WebKit::WebProcess::didReceiveMessage):
- * WebProcess/WebProcess.h:
- * WebProcess/mac/WebProcessMac.mm: Added.
- (WebKit::memorySize):
- (WebKit::volumeFreeSize):
- (WebKit::WebProcess::platformSetCacheModel):
- * WebProcess/qt/WebProcessQt.cpp: Added.
- (WebKit::WebProcess::platformSetCacheModel):
- * WebProcess/win/WebProcessWin.cpp: Added.
- (WebKit::WebProcess::platformSetCacheModel):
- * win/WebKit2.vcproj:
-
-2010-10-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement newly added Plugin/PluginController member functions for out of process plug-ins
- https://bugs.webkit.org/show_bug.cgi?id=47065
- <rdar://problem/8507194>
-
- * Platform/CoreIPC/Arguments.h:
- Add typedefs.
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::handleMessage):
- Add new handleMessage overload.
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::create):
- Add an isPrivateBrowsingEnabled boolean.
-
- (WebKit::PluginControllerProxy::PluginControllerProxy):
- Add an isPrivateBrowsingEnabled boolean.
-
- (WebKit::PluginControllerProxy::proxiesForURL):
- (WebKit::PluginControllerProxy::cookiesForURL):
- (WebKit::PluginControllerProxy::setCookiesForURL):
- Send messages to the web process.
+ (WebKit::WebProcess::terminateIfPossible):
- (WebKit::PluginControllerProxy::isPrivateBrowsingEnabled):
- Return whether private browsing is enabled or not.
-
- (WebKit::PluginControllerProxy::handleKeyboardEvent):
- Call Plugin::handleKeyboardEvent.
-
- (WebKit::PluginControllerProxy::privateBrowsingStateChanged):
- Call Plugin::privateBrowsingStateChanged.
-
- * PluginProcess/PluginControllerProxy.messages.in:
- Add new messages.
-
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::createPlugin):
- Pass the isPrivateBrowsingEnabled flag.
-
- * PluginProcess/WebProcessConnection.h:
- * PluginProcess/WebProcessConnection.messages.in:
- Update CreatePlugin message parameters.
-
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- (WebKit::PluginProcessConnection::didReceiveMessage):
- (WebKit::PluginProcessConnection::didReceiveSyncMessage):
- It's OK for a plug-in to not get a sync message.
-
- * WebProcess/Plugins/PluginProcessConnection.h:
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::handleKeyboardEvent):
- (WebKit::PluginProxy::privateBrowsingStateChanged):
- Send messages.
-
- (WebKit::PluginProxy::proxiesForURL):
- (WebKit::PluginProxy::cookiesForURL):
- (WebKit::PluginProxy::setCookiesForURL):
- Call the plug-in controller.
-
- * WebProcess/Plugins/PluginProxy.messages.in:
- Add new messages.
-
-2010-10-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Send keyboard events to plug-ins
- https://bugs.webkit.org/show_bug.cgi?id=47064
- <rdar://problem/8507148>
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::handleKeyboardEvent):
- Call platformHandleKeyboardEvent.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::modifierFlags):
- Return the modifier flags given a WebKeyboardEvent.
-
- (WebKit::initializeKeyboardEvent):
- Initialize an NPCocoaEvent from a WebKeyboardEvent.
-
- (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
- Initialize the event and dispatch it using NPP_HandleEvent.
-
- * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
- (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
- Add stub.
-
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
- Add stub.
-
- * WebProcess/Plugins/Plugin.h:
- Add handleKeyboardEvent.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::handleEvent):
- Call Plugin::handleKeyboardEvent if we see a keydown or keyup event.
-
-2010-10-01 Mark Rowe <mrowe@apple.com>
-
- Build fix.
-
- Clear the executable bit from a number of source files.
-
- * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
-
-2010-10-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Plug-ins should have access to the private browsing state.
- https://bugs.webkit.org/show_bug.cgi?id=47031
- <rdar://problem/8505405>
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetValue):
- Handle NPNVprivateModeBool.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::isPrivateBrowsingEnabled):
- Call PluginController::isPrivateBrowsingEnabled.
-
- (WebKit::NetscapePlugin::NPP_SetValue):
- Add NPP_SetValue wrapper.
-
- (WebKit::NetscapePlugin::privateBrowsingStateChanged):
- Call NPP_SetValue with the updated state.
-
- * WebProcess/Plugins/Plugin.h:
- Add privateBrowsingStateChanged pure virtual member function.
-
- * WebProcess/Plugins/PluginController.h:
- Add isPrivateBrowsingEnabled pure virtual member function.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::privateBrowsingStateChanged):
- Call Plugin::privateBrowsingStateChanged.
-
-2010-10-01 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add SPI to convert a WKStringRef to a JSStringRef and vice-versa.
-
- API Test: WebKit2/WKStringJSString
-
- * Shared/API/c/WKString.cpp:
- (WKStringCreateWithJSString):
- (WKStringCopyJSString):
- * Shared/API/c/WKStringPrivate.h: Added.
- * Shared/WebString.h:
- (WebKit::WebString::create):
- (WebKit::WebString::createJSString):
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
-
-2010-10-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement proxiesForURL, cookiesForURL and setCookiesForURL
- https://bugs.webkit.org/show_bug.cgi?id=47029
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::proxiesForURL):
- (WebKit::PluginView::cookiesForURL):
- (WebKit::PluginView::setCookiesForURL):
-
-2010-10-01 Sam Weinig <sam@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add additional WKString API
- https://bugs.webkit.org/show_bug.cgi?id=46958
-
- API Test: WebKit2/WKString
-
- * Shared/API/c/WKString.cpp:
- (WKStringCreateWithUTF8CString):
- (WKStringGetMaximumUTF8CStringSize):
- (WKStringGetUTF8CString):
- (WKStringIsEqual):
- (WKStringIsEqualToUTF8CString):
- * Shared/API/c/WKString.h:
- * Shared/WebString.h:
- (WebKit::WebString::createFromUTF8String):
- (WebKit::WebString::maximumUTF8CStringSize):
- (WebKit::WebString::getUTF8CString):
- (WebKit::WebString::equal):
- (WebKit::WebString::equalToUTF8String):
-
-2010-10-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Implement NPN_GetValueForURL/NPN_SetValueForURL and stub out PluginController functions
- https://bugs.webkit.org/show_bug.cgi?id=46992
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::copyCString):
- Helper function for allocating a string using NPN_MemAlloc.
-
- (WebKit::NPN_GetValueForURL):
- Ask the plug-in for either the proxy or the cookies given an URL.
-
- (WebKit::NPN_SetValueForURL):
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- Tell the plug-in to set the cookies for the given URL.
-
- (WebKit::NetscapePlugin::proxiesForURL):
- (WebKit::NetscapePlugin::cookiesForURL):
- (WebKit::NetscapePlugin::setCookiesForURL):
- Call the corresponding PluginController functions.
-
- * WebProcess/Plugins/PluginController.h:
- Add new pure virtual member functions.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::proxiesForURL):
- (WebKit::PluginView::cookiesForURL):
- (WebKit::PluginView::setCookiesForURL):
- Add stubbed out implementations of the new PluginController functions.
-
- * WebProcess/Plugins/PluginView.h:
-
-2010-10-01 Adam Roben <aroben@apple.com>
-
- Implement NPN_GetValue(NPNVnetscapeWindow)
-
- Fixes <http://webkit.org/b/46726> <rdar://problem/8486319>
- Right-clicking on windowless Flash plugin in WebKit2 makes a context
- menu appear in the bottom-right corner of the screen
-
- Test: platform/win/plugins/get-value-netscape-window.html
-
- Reviewed by Anders Carlsson.
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetValue): Added case for NPNVnetscapeWindow that calls
- through to NetscapePlugin::containingWindow.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added containingWindow
- on Windows.
-
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- (WebKit::NetscapePlugin::containingWindow): Added. Calls through to
- the PluginController.
- (WebKit::NetscapePlugin::platformPostInitialize): Changed to use
- containingWindow.
-
-2010-09-30 Simon Fraser <simon.fraser@apple.com>
+2011-02-23 Mike Thole <mthole@apple.com>
Reviewed by Darin Adler.
- Background doesn't draw when entering accelerated compositing
- https://bugs.webkit.org/show_bug.cgi?id=45848
-
- LayerBackedDrawingArea::setSize() is normally called in response
- to a message from the UI process, so this can come some time after
- LayerBackedDrawingArea creation. Depending on the timing, we could
- end up being at size 0x0 for the first invalidate and paint, resulting
- in missing content.
-
- The fix is to size the backing layer on creation, using the WebView's size.
-
- Also changed various calls to syncCompositingStateForThisLayerOnly()
- to do lazy updates via scheduleCompositingLayerSync().
-
- Also add the fix for https://bugs.webkit.org/show_bug.cgi?id=46226 (r68028)
- to the WebKit2 code, in scheduleUpdateLayoutRunLoopObserver().
-
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
- (WebKit::LayerBackedDrawingArea::setNeedsDisplay):
- (WebKit::LayerBackedDrawingArea::setSize):
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- (WebKit::LayerBackedDrawingArea::platformInit):
- (WebKit::LayerBackedDrawingArea::attachCompositingContext):
- (WebKit::LayerBackedDrawingArea::detachCompositingContext):
- (WebKit::LayerBackedDrawingArea::setRootCompositingLayer):
- (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
- (WebKit::LayerBackedDrawingArea::scheduleUpdateLayoutRunLoopObserver):
-
-2010-09-29 Jon Honeycutt <jhoneycutt@apple.com>
-
- WebKit2 on Windows should use Windows fonts for the various standard
- font families
- https://bugs.webkit.org/show_bug.cgi?id=43499
- <rdar://problem/8272758>
-
- Reviewed by Adam Roben.
-
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::WebPreferencesStore):
- Use Windows fonts on Windows.
-
-2010-09-30 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=46774 - Add WKStringIsEqual API
-
- * Shared/API/c/WKString.cpp:
- (WKStringIsEqual):
- * Shared/API/c/WKString.h:
-
-2010-09-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Forward declare structs with 'struct' in the message headers
- https://bugs.webkit.org/show_bug.cgi?id=46925
- <rdar://problem/8497940>
-
- * Scripts/webkit2/messages.py:
- (struct_or_class): New function which given a type and a namespace returns the correct
- forward declaration syntax (struct or class).
-
- * Scripts/webkit2/messages_unittest.py:
- Update expected results.
-
-2010-09-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
+ WKBundleNavigationAction.h should be exposed as a public header
+ https://bugs.webkit.org/show_bug.cgi?id=55059
- Reviewed by Antti Koivisto.
-
- Original patch by Zalan Bujtas.
-
- The m_readBuffer might be smaller than the incoming message size and
- thus result in memory corruption. Do a similar fix as the win port,
- resizing the m_readBuffer to have room for the message.
-
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- (CoreIPC::Connection::readyReadHandler):
-
-2010-09-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Simon Fraser.
-
- Calling Connection::send/sendSync from Connection::Client::didClose should always fail
- https://bugs.webkit.org/show_bug.cgi?id=46859
- <rdar://problem/8212583>
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::dispatchConnectionDidClose):
-
-2010-09-29 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Assertion then crash closing WebKit2 window with accelerated compositing in
- https://bugs.webkit.org/show_bug.cgi?id=46857
-
- Fix two issues when closing a WebKit2 window using accelerated
- compositing.
-
- The first is that the response to the sync DidChangeAcceleratedCompositing message
- sent by changeAcceleratedCompositingMode() may be empty, because the corresponding
- page may have been destroyed already in the UI process. In that case newDrawingAreaInfo
- is not filled in, so we get a DrawingArea::Type of None. Don't attempt to make a new
- drawing area in that case.
-
- We then have to null-check the drawing area in WebPage::didReceiveMessage(),
- in the case where the UI process is calling back with a SuspendPainting message,
- before our page has gone away.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::changeAcceleratedCompositingMode):
- (WebKit::WebPage::didReceiveMessage):
-
-2010-09-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement more of PluginProxy and PLuginControllerProxy.
-
- * Platform/CoreIPC/ArgumentDecoder.cpp:
- (CoreIPC::ArgumentDecoder::decodeBytes):
- * Platform/CoreIPC/ArgumentDecoder.h:
- Add new overload that takes a DataReference. Wrap the debug function in #ifndef NDEBUG.
-
- * Platform/CoreIPC/ArgumentEncoder.cpp:
- * Platform/CoreIPC/ArgumentEncoder.h:
- Wrap the debug function in #ifndef NDEBUG.
-
- * Platform/CoreIPC/Arguments.h:
- Add new typedefs.
-
- * Platform/CoreIPC/DataReference.cpp:
- * Platform/CoreIPC/DataReference.h:
- Add a DataReference class.
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::handleMessage):
- Add new overload.
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::didEvaluateJavaScript):
- (WebKit::PluginControllerProxy::streamDidReceiveResponse):
- (WebKit::PluginControllerProxy::streamDidReceiveData):
- (WebKit::PluginControllerProxy::streamDidFinishLoading):
- (WebKit::PluginControllerProxy::streamDidFail):
- call Plugin member functions.
-
- * PluginProcess/PluginControllerProxy.messages.in:
- Add new messages.
-
- * WebKit2.pro:
* WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add DataReference.cpp and DataReference.h
+ Changed WKBundleNavigationAction.h from 'project' to 'public'.
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::didEvaluateJavaScript):
- (WebKit::PluginProxy::streamDidReceiveResponse):
- (WebKit::PluginProxy::streamDidReceiveData):
- (WebKit::PluginProxy::streamDidFinishLoading):
- (WebKit::PluginProxy::streamDidFail):
- Send messages.
-
-2010-09-29 Anders Carlsson <andersca@apple.com>
-
- Update expected results.
-
- * Scripts/webkit2/messages_unittest.py:
-
-2010-09-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement LoadURL
- https://bugs.webkit.org/show_bug.cgi?id=46826
-
- * Platform/CoreIPC/ArgumentCoders.h:
- Move String argument coder here from WebCoreArgumentCoders.h. Add
- argument coder for AtomicString.
-
- * Platform/CoreIPC/Arguments.h:
- Add typedefs for Arguments7.
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::handleMessage):
- Add handleMessage overload that takes 7 parameters.
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::loadURL):
- Send the LoadURL message.
-
- * Scripts/webkit2/messages.py:
- (parse_parameter_string): Use rsplit in case the type name contains spaces.
- (argument_coder_headers_for_type): Special case Vector.
-
- * Scripts/webkit2/messages_unittest.py:
- Update results.
-
- * Shared/WebCoreArgumentCoders.h:
- Add argument coder for HTTPHeaderMap.
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::loadURL):
- Ask the plug-in controller to load the URL.
-
- * WebProcess/Plugins/PluginProxy.messages.in:
- Add LoadURL message.
-
-2010-09-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Handle getting the user agent in the plug-in process
- https://bugs.webkit.org/show_bug.cgi?id=46819
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::handleMessage):
- Add new handleMessage overload.
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::create):
- (WebKit::PluginControllerProxy::PluginControllerProxy):
- Pass the user agent to the plug-in controller proxy.
-
- (WebKit::PluginControllerProxy::userAgent):
- Return the user agent.
-
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::createPlugin):
- Pass the user agent when creating the plug-in controller proxy.
-
- * PluginProcess/WebProcessConnection.messages.in:
- Add userAgent.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::userAgent):
- * WebProcess/Plugins/PluginController.h:
- Remove the URL parameter to userAgent.
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::initialize):
- Pass the user agent to WebProcessConnection::CreatePlugin.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::userAgent):
- Remove url parameter.
-
-2010-09-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement more PluginProxy member functions
- https://bugs.webkit.org/show_bug.cgi?id=46815
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::handleMessage):
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::handleMouseEvent):
- (WebKit::PluginControllerProxy::handleWheelEvent):
- (WebKit::PluginControllerProxy::handleMouseEnterEvent):
- (WebKit::PluginControllerProxy::handleMouseLeaveEvent):
- (WebKit::PluginControllerProxy::setFocus):
- (WebKit::PluginControllerProxy::windowFocusChanged):
- (WebKit::PluginControllerProxy::windowFrameChanged):
- (WebKit::PluginControllerProxy::windowVisibilityChanged):
- Call the appropriate Plugin member functions.
-
- * PluginProcess/PluginControllerProxy.messages.in:
- Add new messages.
-
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::didReceiveMessage):
- It's OK to get a message for a plug-in controller proxy that has gone away.
-
- (WebKit::WebProcessConnection::didReceiveSyncMessage):
- Forward the message to the PluginControllerProxy handler.
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::handleMouseEvent):
- (WebKit::PluginProxy::handleWheelEvent):
- (WebKit::PluginProxy::handleMouseEnterEvent):
- (WebKit::PluginProxy::handleMouseLeaveEvent):
- (WebKit::PluginProxy::setFocus):
- (WebKit::PluginProxy::windowFocusChanged):
- (WebKit::PluginProxy::windowFrameChanged):
- (WebKit::PluginProxy::windowVisibilityChanged):
- Send messages to the plug-in process.
-
- (WebKit::PluginProxy::controller):
- Return the plug-in controller.
-
-2010-09-29 Adam Roben <aroben@apple.com>
-
- Look for WebKit.dll (not WebKit_debug.dll) when launching the web
- process in Debug builds
-
- Fixes <http://webkit.org/b/46809> <rdar://problem/8491809> REGRESSION
- (r67979): All tests crashing on Windows WebKit2 test bot
-
- Reviewed by Sam Weinig.
-
- * UIProcess/Launcher/win/ProcessLauncherWin.cpp: WebKit_debug.dll is
- only used in Debug_All builds (but WebKit2WebProcess_debug.exe is used
- in all non-Debug_Internal debug-style builds).
-
-2010-09-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Paint the plug-in backing store into the WebProcess backing store
- https://bugs.webkit.org/show_bug.cgi?id=46768
-
- * DerivedSources.make:
- Add PluginProxy.
-
- * Platform/CoreIPC/MessageID.h:
- Add PluginProxy message class.
+2011-02-23 Siddharth Mathur <siddharth.mathur@nokia.com>
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::paint):
- Let the web process know that we've painted.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- (WebKit::PluginProcessConnection::didReceiveMessage):
- Pass the message on to a plug-in proxy.
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::paint):
- Paint our backing store into the graphics context.
-
- (WebKit::PluginProxy::controller):
- Add notImplemented().
-
- (WebKit::PluginProxy::update):
- Blit the plug-in backing store into the local backing store and tell the plug-in
- controller that we want to repaint.
-
- * WebProcess/Plugins/PluginProxy.messages.in: Added.
-
-2010-09-28 Jenn Braithwaite <jennb@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument.
- https://bugs.webkit.org/show_bug.cgi?id=46663
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::didTransferChildFrameToNewDocument):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
-
-2010-09-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Begin hooking up painting in the plug-in process
- https://bugs.webkit.org/show_bug.cgi?id=46766
-
- * DerivedSources.make:
- Add PluginControllerProxy.
-
- * Platform/CoreIPC/MessageID.h:
- Add a MessageClassPluginControllerProxy message class.
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::PluginControllerProxy):
- Initialize the paint timer.
-
- (WebKit::PluginControllerProxy::paint):
- Create a graphics context referencing our backing store and paint into it.
-
- (WebKit::PluginControllerProxy::invalidate):
- Update the dirty rect and start the paint timer if necessary.
-
- (WebKit::PluginControllerProxy::geometryDidChange):
- If we're passed a new backing store handle, reinitialize the backing store.
-
- * PluginProcess/PluginControllerProxy.messages.in: Added.
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::didReceiveMessage):
- If the message has a destination ID, forward it to the plug-in controller proxy.
-
- * Scripts/webkit2/messages.py:
- Always include WebCoreArgumentCoders.h if the type is in the WebCore namespace.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::geometryDidChange):
- Update the size of the backing store. Create a new plug-in backing store if needed and send
- it over to the plug-in process.
-
-2010-09-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- ASSERT when launching the plugin process
- https://bugs.webkit.org/show_bug.cgi?id=46754
- <rdar://problem/8484570>
-
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess):
- Don't assert if we fail to launch the process. Instead, set the connection identifier
- and process ID to null and deallocate the port we created.
-
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
- Move all code from didClose here.
-
- (WebKit::PluginProcessProxy::didClose):
- Call pluginProcessCrashedOrFailedToLaunch.
-
- (WebKit::PluginProcessProxy::didFinishLaunching):
- If we failed to launch, call pluginProcessCrashedOrFailedToLaunch.
-
-2010-09-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Differentiate waitForSyncReply from waitForReply
- https://bugs.webkit.org/show_bug.cgi?id=46752
-
- Since waitForSyncReply is going to need to dispatch incoming sync messages while
- waiting for the correct reply, we need to add a new waitForSyncReply function that
- can do this.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::sendSyncMessage):
- Push the pending sync reply information on the m_pendingSyncReplies stack,
- send the message, wait for a reply and pop the information off the stack.
-
- (CoreIPC::Connection::waitForSyncReply):
- Block while waiting for a reply to the sync message with the given ID.
-
- (CoreIPC::Connection::processIncomingMessage):
- If the incoming message is a sync reply, set the didReceiveReply flag and the replyDecoder
- members in the pending sync reply and signal the client thread to wakeup.
-
- * Platform/CoreIPC/Connection.h:
- Add a stack of PendingSyncReply structs.
-
-2010-09-28 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler and Dave Hyatt.
-
- Vertical scroll bar on apple.com is too short with WebKit2
- <rdar://problem/8379230>
- https://bugs.webkit.org/show_bug.cgi?id=46739
-
- This gets us most of the way to having correct scroll corner behavior. We should
- follow this up by moving to painting the window re-sizer in WebCore.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _ownsWindowGrowBox]):
- (-[WKView _updateGrowBoxForWindowFrameChange]): Calculate whether we should
- be taking the scroll corner into account when laying out scrollbars.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setWindowResizerSize):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setWindowResizerSize):
- (WebKit::WebPage::windowResizerRect): This now returns IntRect() for
- non-mac platforms (or any platform that never sends a setWindowResizerSize
- message).
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
+ Reviewed by Laszlo Gombos.
-2010-09-28 Adam Roben <aroben@apple.com>
+ [Qt] Make sure Symbian binary UIDs are unique
- Tell the UI client when a key event is not handled
+ * WebProcess.pro: Resolve the UID collision with QtTestBrowser.pro
+ by changing the UID.
- When the web process receives an event, it sends a
- WebPageProxyMessage::DidReceiveEvent message back to the UI process.
- That message is now sent after handling the event, and includes a
- boolean signifying whether or not the event was actually handled.
+2011-02-23 Siddharth Mathur <siddharth.mathur@nokia.com>
- Every time WebPageProxy receives a key event, it adds it to a queue.
- When it receives a WebPageProxyMessage::DidReceiveEvent for a key
- event, the event is removed from the queue. If the event was not
- handled, we tell the UI client.
+ Reviewed by Laszlo Gombos.
- Fixes <http://webkit.org/b/46660> <rdar://problem/8483465> Need API to
- tell a WebKit2 client application that a key event was not handled
+ [Qt] Fix the Symbian build after r79334
+ https://bugs.webkit.org/show_bug.cgi?id=55044
- Reviewed by Kenneth Rohde Christiansen and Sam Weinig.
+ * WebKit2.pri: Copy the rules from JavaScriptCore.pri for
+ defineTest().
- * Shared/NativeWebKeyboardEvent.h: Added. This class wraps a
- WebKeyboardEvent and the native event that was used to construct it.
- (WebKit::NativeWebKeyboardEvent::nativeEvent): Simple getter.
+ Remove addWebKit2LibWholeArchive as it is no longer needed.
- * Shared/WebEvent.h: Made isKeyboardEventType public for
- WebPageProxy's benefit.
+2011-02-23 Alejandro G. Castro <alex@igalia.com>
- * Shared/mac/NativeWebKeyboardEventMac.mm: Added.
- (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
- * Shared/qt/NativeWebKeyboardEventQt.cpp: Added.
- (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
- * Shared/win/NativeWebKeyboardEventWin.cpp: Added.
- (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
- The constructor creates a WebKeyboardEvent and stores the native
- event.
+ Unreviewed, fixed GTK WebKit2 compilation after r79366.
- * UIProcess/API/C/WKNativeEvent.h: Added.
+ * GNUmakefile.am:
- * UIProcess/API/C/WKPage.h: Added WKPageDidNotHandleKeyEventCallback
- and WKPageUIClient::didNotHandleKeyEvent.
+2011-02-23 Patrick Gansterer <paroga@webkit.org>
- * UIProcess/API/mac/WKView.mm:
- (-[WKView keyUp:]):
- (-[WKView keyDown:]):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::onKeyEvent):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::keyPressEvent):
- (QWKPagePrivate::keyReleaseEvent):
- Changed to use NativeWebKeyboardEvent.
+ Reviewed by Darin Adler.
- (QWKPage::QWKPage): Updated for addition of didNotHandleKeyEvent.
+ Rename PLATFORM(CF) to USE(CF)
+ https://bugs.webkit.org/show_bug.cgi?id=53540
+ * UIProcess/WebBackForwardList.h:
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::handleKeyboardEvent): Changed to take a
- NativeWebKeyboardEvent and to add it to m_keyEventQueue.
- (WebKit::WebPageProxy::didReceiveMessage): Changed to expect a boolean
- parameter in WebPageProxyMessage::DidReceiveEvent.
- (WebKit::WebPageProxy::didReceiveEvent): Added a boolean "handled"
- parameter. If the event was a keyboard event, we remove it from
- m_keyEventQueue, and if it wasn't handled by WebCore, we tell the UI
- client.
-
- * UIProcess/WebPageProxy.h: Added m_keyEventQueue.
-
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::didNotHandleKeyEvent):
- * UIProcess/WebUIClient.h:
- Added. Just calls through to the WKPageUIClient.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::handleMouseEvent):
- (WebKit::WebPage::mouseEvent):
- (WebKit::handleWheelEvent):
- (WebKit::WebPage::wheelEvent):
- (WebKit::handleKeyEvent):
- (WebKit::WebPage::keyEvent):
- (WebKit::handleTouchEvent):
- (WebKit::WebPage::touchEvent):
- Moved code from the *Event functions into new helper handle*Event
- functions, and changed to pass a boolean to
- WebPageProxyMessage::DidReceiveEvent signaling whether the event was
- handled or not.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
- Added WKNativeEvent.h and NativeWebKeyboardEvent.
-
-2010-09-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Implement PluginProxy::destroy
- https://bugs.webkit.org/show_bug.cgi?id=46737
-
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::handleMessage):
- Add overload for a sync message with one in parameter and no out parameters.
-
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::destroyPluginControllerProxy):
- Rename this to avoid conflicts with the destroyPlugin message handler.
-
- (WebKit::WebProcessConnection::destroyPlugin):
- Call destroyPluginControllerProxy.
-
- * PluginProcess/WebProcessConnection.messages.in:
- Add DestroyPlugin message.
-
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- (WebKit::PluginProcessConnection::didClose):
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::PluginProxy):
- (WebKit::PluginProxy::~PluginProxy):
- Don't add and/the plug-in proxy from the map in the constructor/destructor. Instead,
- do it in initialize/destroy, since otherwise we could be calling pluginProcessCrashed on a
- PluginController that had already been freed.
-
- (WebKit::PluginProxy::initialize):
- (WebKit::PluginProxy::destroy):
- send the DestroyPlugin message.
-
-2010-09-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Improve plug-in process lifecycle handling
- https://bugs.webkit.org/show_bug.cgi?id=46734
-
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::destroyPlugin):
- Destroy and delete the plug-in.
-
- (WebKit::WebProcessConnection::didClose):
- Our web process crashed, go through and delete all plug-in instances.
-
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::didClose):
- The plug-in process crashed. Go through all pending replies and send them so the
- web processes won't be blocked waiting for a reply.
-
- (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
- We need to remove the pending reply connection once we've sent the reply.
-
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- (WebKit::PluginProcessConnection::didClose):
- The plug-in process crashed. Iterate over all proxies and let them know that the plug-in
- process has crashed.
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::pluginProcessCrashed):
- Tell our controller that the plug-in process crashed.
-
- (WebKit::PluginProxy::destroy):
- Null out the controller.
-
-2010-09-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Implement PluginControllerProxy::initialize and have it create a plug-in
- https://bugs.webkit.org/show_bug.cgi?id=46731
-
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::initialize):
- Create the plug-in and try to initialize it.
-
- (WebKit::PluginControllerProxy::destroy):
- Destroy the plug-in.
-
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::addPluginControllerProxy):
- Add the given plug-in controller proxy to the map and assume ownership of it.
-
- (WebKit::WebProcessConnection::removePluginControllerProxy):
- Remove the given plug-in controller proxy from the map and delete it.
-
- (WebKit::WebProcessConnection::createPlugin):
- Create a plug-in controller proxy and try to initialize it.
-
-2010-09-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add PluginControllerProxy class
- https://bugs.webkit.org/show_bug.cgi?id=46728
-
- * PluginProcess/PluginControllerProxy.cpp: Added.
- * PluginProcess/PluginControllerProxy.h: Added.
- Add stubbed out PluginControllerProxy class.
-
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::~WebProcessConnection):
- Assert that we don't have any live plug-in controller proxies.
-
- (WebKit::WebProcessConnection::addPluginControllerProxy):
- Add the plug-in controller proxy to the map.
-
- (WebKit::WebProcessConnection::removePluginControllerProxy):
- Remove the plug-in controller proxy from the map. If the last plug-in controller
- proxy went away, invalidate the connection.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add files.
-
-2010-09-28 Adam Roben <aroben@apple.com>
-
- Don't call NPP_SetWindow until the plugin's HWND has been
- sized/positioned
-
- Test: platform/win/plugins/window-geometry-initialized-before-set-window.html
-
- Reviewed by Anders Carlsson.
-
- Fixes <http://webkit.org/b/46716> <rdar://problem/8482014> Full-page
- Adobe Reader does not paint until window is resized
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::geometryDidChange): Call NPP_SetWindow after
- updating the platform (HWND) geometry.
-
-2010-09-28 Anders Carlsson <andersca@apple.com>
-
- Out of process plug-ins shouldn't be turned on just yet...
-
- * WebKit2Prefix.h:
-
-2010-09-28 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] ProcessLauncherHelper should not leave stray socket files in /tmp.
- https://bugs.webkit.org/show_bug.cgi?id=46722
-
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- (WebKit::ProcessLauncherHelper::~ProcessLauncherHelper): close the socket.
- (WebKit::ProcessLauncherHelper::ProcessLauncherHelper): delete the helper on exit.
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::formatLocalizedString):
-2010-09-28 Benjamin Poulain <benjamin.poulain@nokia.com>
+2011-02-23 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Andreas Kling.
- [Qt] Remove support for Qt 4.5
- https://bugs.webkit.org/show_bug.cgi?id=46718
+ [Qt] [WK2] When the context menu is empty, we should still send the signal QWKPage::showContextMenu()
+ https://bugs.webkit.org/show_bug.cgi?id=54996
- Remove the code for versions of Qt prior to 4.6.
+ Send the signal QWKPage::showContextMenu() with an empty menu even if the content menu generated
+ is empty/contain only disabled elements.
* UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::event):
- * UIProcess/API/qt/qwkpage.cpp:
- * UIProcess/API/qt/qwkpage_p.h:
-
-2010-09-28 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Csaba Osztrogonác.
-
- [Qt] Fix generation of WebPageMessages.h and WebPageMessageReceiver.cpp
- to avoid rebuilding them every time.
-
- * DerivedSources.pro: add target to extra compilers.
-
-2010-09-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=46688 - Add an API to get the WKBackForwardItem at an arbitrary index.
-
- * UIProcess/API/C/WKBackForwardList.cpp:
- (WKBackForwardListGetItemAtIndex):
- * UIProcess/API/C/WKBackForwardList.h:
-
-2010-09-27 Anders Carlsson <andersca@apple.com>
-
- Turns out people other than me might want to build this thing.
-
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-09-27 Darin Adler <darin@apple.com>
-
- * Scripts/webkit2: Added property svn:ignore.
-
-2010-09-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::sendSync):
- Add new sendSync overload that takes a message struct.
-
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::didReceiveSyncMessage):
- Call didReceiveSyncWebProcessConnectionMessage.
-
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- (WebKit::PluginProcessConnection::addPluginProxy):
- Add the plug-in proxy to the map.
-
- (WebKit::PluginProcessConnection::removePluginProxy):
- Remove the plug-in proxy from the map. If the map is empty, disconnect from the
- plug-in process.
-
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::generatePluginInstanceID):
- Generate a unique plug-in instance ID.
-
- (WebKit::PluginProxy::PluginProxy):
- Add the plug-in proxy to the map.
-
- (WebKit::PluginProxy::~PluginProxy):
- Remove the plug-in proxy from the map.
-
- (WebKit::PluginProxy::initialize):
- Ask the plug-in process to create a plug-in.
-
-2010-09-27 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add remaining event handlers to WKView.
-
- Also fixes <rdar://problem/8467058>
- Does not get decidePolicyForNavigationAction callback when middle clicking a link
-
- - Adds otherButton and rightButton NSResponder event handlers to WKView.
- - Renames WebPageProxy event handlers to use the handle prefix.
- - Uses a macro to reduce duplicate code for WKView event handlers.
- - Add view parameter to WebEventFactory::createWebKeyboardEvent on the mac
- for uniformity.
-
- * Shared/mac/WebEventFactory.h:
- * Shared/mac/WebEventFactory.mm:
- (WebKit::WebEventFactory::createWebKeyboardEvent):
- * UIProcess/API/mac/WKView.mm:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::keyPressEvent):
- (QWKPagePrivate::keyReleaseEvent):
- (QWKPagePrivate::mouseMoveEvent):
- (QWKPagePrivate::mousePressEvent):
- (QWKPagePrivate::mouseReleaseEvent):
- (QWKPagePrivate::mouseDoubleClickEvent):
- (QWKPagePrivate::wheelEvent):
- (QWKPagePrivate::touchEvent):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::handleMouseEvent):
- (WebKit::WebPageProxy::handleWheelEvent):
- (WebKit::WebPageProxy::handleKeyboardEvent):
- (WebKit::WebPageProxy::handleTouchEvent):
- * UIProcess/WebPageProxy.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::onMouseEvent):
- (WebKit::WebView::onWheelEvent):
- (WebKit::WebView::onKeyEvent):
-
-2010-09-27 Ivan Krstić <ike@apple.com>
-
- Reviewed by Mark Rowe.
-
- <rdar://problem/8348990> / <http://webkit.org/b/46633> Make it possible to disable sandboxing of
- web process via runtime flag.
-
- Enable sandboxing of the web process only if the DisableSandbox user default is not set for the
- web process.
-
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain):
-
-2010-09-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add WebProcessConnection CreatePlugin message
- https://bugs.webkit.org/show_bug.cgi?id=46668
-
- * DerivedSources.make:
- Add WebProcessConnection.
-
- * Platform/CoreIPC/HandleMessage.h:
- Add handleMessage overload for a sync message with two input parameters
- and one output parameter.
+ (QGraphicsWKView::showContextMenu):
+ * UIProcess/qt/WebContextMenuProxyQt.cpp:
+ (WebKit::WebContextMenuProxyQt::showContextMenu):
- (CoreIPC::handleMessage):
- * Platform/CoreIPC/MessageID.h:
- Add MessageClassWebProcessConnection.
+2011-02-22 Dan Bernstein <mitz@apple.com>
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::createPlugin):
- Add stub.
+ LLVM Compiler build fix.
- * PluginProcess/WebProcessConnection.messages.in: Added.
* Scripts/webkit2/messages.py:
- Include headers directly for types that we believe are nested structs.
+ * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
- * Scripts/webkit2/messages_unittest.py:
- Update expected results.
+2011-02-22 Laszlo Gombos <laszlo.1.gombos@nokia.com>
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
-2010-09-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add support for autogenerating synchronous message handlers
- https://bugs.webkit.org/show_bug.cgi?id=46654
-
- * Scripts/webkit2/messages.py:
- (reply_type): Renamed from reply_base_class.
- (delayed_reply_type): Renamed from delayed_reply_base_class.
- (message_to_struct_declaration): Add a Reply type typedef.
- (async_case_statement): Rename from case_statement.
- (generate_message_handler): Generate a sync message handler as well.
+ Reviewed by Alexey Proskuryakov.
- * Scripts/webkit2/messages_unittest.py:
- Update expected results.
+ Drop the language tag part from the User Agent string
+ https://bugs.webkit.org/show_bug.cgi?id=54560
-2010-09-27 Andras Becsi <abecsi@webkit.org>
+ * UIProcess/gtk/WebPageProxyGtk.cpp:
+ (WebKit::WebPageProxy::standardUserAgent):
- Reviewed by Csaba Osztrogonác.
+ * UIProcess/mac/WebPageProxyMac.mm:
+ (WebKit::WebPageProxy::standardUserAgent):
- [Qt] Make generate-forwarding-headers.pl aware of moved headers
- https://bugs.webkit.org/show_bug.cgi?id=46621
+ * UIProcess/qt/WebPageProxyQt.cpp:
+ (WebKit::WebPageProxy::standardUserAgent):
- * generate-forwarding-headers.pl:
+ * UIProcess/win/WebPageProxyWin.cpp:
+ (WebKit::WebPageProxy::standardUserAgent): Drop the language tag
+ part and fix style.
-2010-09-27 Sam Weinig <sam@webkit.org>
+2011-02-22 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
- The mouseDidMoveOverElement callback in the injected bundle should include modifier info
- https://bugs.webkit.org/show_bug.cgi?id=46629
+ Add WebKit2 API to force a repaint with an invalidation
+ https://bugs.webkit.org/show_bug.cgi?id=55015
- - Moves event related API enums to WKEvent.h which can be shared between
- both the bundle and the main API.
-
- * Shared/API/c/WKEvent.h: Added.
- * Shared/API/c/WKSharedAPICast.h:
- (WebKit::toRef):
- * UIProcess/API/C/WKAPICast.h:
+ * Shared/ForceRepaintFlags.h: Added.
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageForceRepaint):
+ (WKPageForceRepaintWithInvalidation):
* UIProcess/API/C/WKPage.h:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
- (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement):
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::mouseDidMoveOverElement):
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
-
-2010-09-27 Adam Roben <aroben@apple.com>
-
- Give mouse wheel events the right coordinates on Windows
-
- Fixes <http://webkit.org/b/46625> <rdar://problem/8481161> Placing
- mouse cursor inside a scrollable area and scrolling the mouse wheel
- generally doesn't scroll the area
-
- Reviewed by Sam Weinig.
-
- * Shared/win/WebEventFactory.cpp:
- (WebKit::point): Renamed from positionForEvent. The old name implied
- that all events used the same relative origin, which is untrue.
- (WebKit::WebEventFactory::createWebMouseEvent): Changed to use point
- and ::ClientToScreen explicitly rather than relying on
- positionForEvent/globalPositionForEvent.
- (WebKit::WebEventFactory::createWebWheelEvent): Changed to use point
- and ::ScreenToClient. The old code was assuming that wheel event
- points are relative to the client area, but they are in fact relative
- to the screen.
-
-2010-09-27 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- Opening links in a new window asserts while decoding decidePolicyForNewWindowAction.
- <rdar://problem/8479445>
- https://bugs.webkit.org/show_bug.cgi?id=46623
+ Add WKPageForceRepaintWithInvalidation which does the same thing WKPageForceRepaint
+ but also calls setNeedsDisplay on the entire bounds of the page.
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage): Fix the order of decoding to
- match the order of encoding. (Swapping url and mouseButton).
-
-2010-09-27 Adam Roben <aroben@apple.com>
-
- Stop leaking the web process's process handle on Windows
-
- Fixes <http://webkit.org/b/46133> <rdar://problem/8455343>
-
- Reviewed by Anders Carlsson.
-
- * UIProcess/Launcher/ProcessLauncher.cpp:
- (WebKit::ProcessLauncher::invalidate): Call platformInvalidate.
-
- * UIProcess/Launcher/ProcessLauncher.h: Added platformInvalidate.
-
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::platformInvalidate):
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- (WebKit::ProcessLauncher::platformInvalidate):
- Stubbed out.
-
- * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
- (WebKit::ProcessLauncher::platformInvalidate): Close the process
- handle like MSDN says we should.
-
-2010-09-27 Adam Roben <aroben@apple.com>
-
- Don't double-free CERT_CONTEXTs when copying PlatformCertificateInfos
- on Windows
-
- Fixes <http://webkit.org/b/46536> <rdar://problem/8477292> REGRESSION
- (r68260): Crash in PlatformCertificateInfo::~PlatformCertificateInfo
- when navigating away from Gmail
-
- Reviewed by Sam Weinig.
-
- * Shared/win/PlatformCertificateInfo.cpp:
- (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
- (WebKit::PlatformCertificateInfo::operator=):
- * Shared/win/PlatformCertificateInfo.h:
- Added a copy constructor and assigment operator to handle correctly
- reffing/dereffing the CERT_CONTEXTs when copying a
- PlatformCertificateInfo.
-
-2010-09-26 Sam Weinig <sam@webkit.org>
-
- Reviewed by Simon Fraser.
-
- MiniBrowser crashes when opening main menu item
- https://bugs.webkit.org/show_bug.cgi?id=46588
-
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::setEditCommandState): Don't allow default
- String -> NSString conversion to take place, and use the increasingly
- misnamed nsStringFromWebCoreString instead.
-
-2010-09-26 Sam Weinig <sam@webkit.org>
-
- Another windows build fix windows attempt.
-
- * win/WebKit2Common.vsprops:
-
-2010-09-26 Sam Weinig <sam@webkit.org>
-
- Another windows build fix windows attempt.
-
- * win/WebKit2Generated.make:
-
-2010-09-26 Sam Weinig <sam@webkit.org>
-
- Attempt to fix windows build.
-
- * win/WebKit2Common.vsprops:
-
-2010-09-26 Sam Weinig <sam@webkit.org>
-
- Attempt to fix Qt build.
-
- * WebKit2.pro:
-
-2010-09-26 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Move shared WebKit2 API (used by both bundle and main API) to WebKit2/Shared/API
- https://bugs.webkit.org/show_bug.cgi?id=46587
-
- - Moves shared types (WKArrayRef, WKDictionaryRef, etc) to Shared/API/c.
- - Removes WKBundleBase.h and moves all opaque type declarations to WKBase.h (which
- moves to Shared/API/c).
- - Adds WKSharedAPICast.h which includes shared API casting logic and is included
- by both WKAPICast.h and WKBundleAPICast.h now. Moved to using macros for API
- mappings to reduce verbosity.
- - Move windows c API files from UIProcess/API/win to UIProcess/API/C/win.
-
- * Shared/API: Added.
- * Shared/API/c: Added.
- * Shared/API/c/WKArray.cpp: Copied from UIProcess/API/C/WKArray.cpp.
- * Shared/API/c/WKArray.h: Copied from UIProcess/API/C/WKArray.h.
- * Shared/API/c/WKBase.h: Copied from UIProcess/API/C/WKBase.h.
- * Shared/API/c/WKCertificateInfo.cpp: Copied from UIProcess/API/C/WKCertificateInfo.cpp.
- * Shared/API/c/WKCertificateInfo.h: Copied from UIProcess/API/C/WKCertificateInfo.h.
- * Shared/API/c/WKData.cpp: Copied from UIProcess/API/C/WKData.cpp.
- * Shared/API/c/WKData.h: Copied from UIProcess/API/C/WKData.h.
- * Shared/API/c/WKDictionary.cpp: Copied from UIProcess/API/C/WKDictionary.cpp.
- * Shared/API/c/WKDictionary.h: Copied from UIProcess/API/C/WKDictionary.h.
- * Shared/API/c/WKError.cpp: Copied from UIProcess/API/C/WKError.cpp.
- * Shared/API/c/WKError.h: Copied from UIProcess/API/C/WKError.h.
- * Shared/API/c/WKMutableArray.cpp: Copied from UIProcess/API/C/WKMutableArray.cpp.
- * Shared/API/c/WKMutableArray.h: Copied from UIProcess/API/C/WKMutableArray.h.
- * Shared/API/c/WKMutableDictionary.cpp: Copied from UIProcess/API/C/WKMutableDictionary.cpp.
- * Shared/API/c/WKMutableDictionary.h: Copied from UIProcess/API/C/WKMutableDictionary.h.
- * Shared/API/c/WKNumber.cpp: Copied from UIProcess/API/C/WKNumber.cpp.
- * Shared/API/c/WKNumber.h: Copied from UIProcess/API/C/WKNumber.h.
- * Shared/API/c/WKSerializedScriptValue.cpp: Copied from UIProcess/API/C/WKSerializedScriptValue.cpp.
- * Shared/API/c/WKSerializedScriptValue.h: Copied from UIProcess/API/C/WKSerializedScriptValue.h.
- * Shared/API/c/WKSharedAPICast.h: Copied from UIProcess/API/C/WKAPICast.h.
- * Shared/API/c/WKString.cpp: Copied from UIProcess/API/C/WKString.cpp.
- * Shared/API/c/WKString.h: Copied from UIProcess/API/C/WKString.h.
- * Shared/API/c/WKType.cpp: Copied from UIProcess/API/C/WKType.cpp.
- * Shared/API/c/WKType.h: Copied from UIProcess/API/C/WKType.h.
- * Shared/API/c/WKURL.cpp: Copied from UIProcess/API/C/WKURL.cpp.
- * Shared/API/c/WKURL.h: Copied from UIProcess/API/C/WKURL.h.
- * Shared/API/c/WKURLRequest.cpp: Copied from UIProcess/API/C/WKURLRequest.cpp.
- * Shared/API/c/WKURLRequest.h: Copied from UIProcess/API/C/WKURLRequest.h.
- * Shared/API/c/WKURLResponse.cpp: Copied from UIProcess/API/C/WKURLResponse.cpp.
- * Shared/API/c/WKURLResponse.h: Copied from UIProcess/API/C/WKURLResponse.h.
- * Shared/API/c/cf: Copied from UIProcess/API/C/cf.
- * Shared/API/c/mac: Copied from UIProcess/API/C/mac.
- * Shared/API/c/win: Added.
- * Shared/API/c/win/WKBaseWin.h: Copied from UIProcess/API/win/WKBaseWin.h.
- * Shared/API/c/win/WKCertificateInfoWin.cpp: Copied from UIProcess/API/C/win/WKCertificateInfoWin.cpp.
- * Shared/API/c/win/WKCertificateInfoWin.h: Copied from UIProcess/API/C/win/WKCertificateInfoWin.h.
- * UIProcess/API/C/WKAPICast.h: Replaced.
- * UIProcess/API/C/WKArray.cpp: Removed.
- * UIProcess/API/C/WKArray.h: Removed.
- * UIProcess/API/C/WKBase.h: Removed.
- * UIProcess/API/C/WKCertificateInfo.cpp: Removed.
- * UIProcess/API/C/WKCertificateInfo.h: Removed.
- * UIProcess/API/C/WKData.cpp: Removed.
- * UIProcess/API/C/WKData.h: Removed.
- * UIProcess/API/C/WKDictionary.cpp: Removed.
- * UIProcess/API/C/WKDictionary.h: Removed.
- * UIProcess/API/C/WKError.cpp: Removed.
- * UIProcess/API/C/WKError.h: Removed.
- * UIProcess/API/C/WKMutableArray.cpp: Removed.
- * UIProcess/API/C/WKMutableArray.h: Removed.
- * UIProcess/API/C/WKMutableDictionary.cpp: Removed.
- * UIProcess/API/C/WKMutableDictionary.h: Removed.
- * UIProcess/API/C/WKNumber.cpp: Removed.
- * UIProcess/API/C/WKNumber.h: Removed.
- * UIProcess/API/C/WKSerializedScriptValue.cpp: Removed.
- * UIProcess/API/C/WKSerializedScriptValue.h: Removed.
- * UIProcess/API/C/WKString.cpp: Removed.
- * UIProcess/API/C/WKString.h: Removed.
- * UIProcess/API/C/WKType.cpp: Removed.
- * UIProcess/API/C/WKType.h: Removed.
- * UIProcess/API/C/WKURL.cpp: Removed.
- * UIProcess/API/C/WKURL.h: Removed.
- * UIProcess/API/C/WKURLRequest.cpp: Removed.
- * UIProcess/API/C/WKURLRequest.h: Removed.
- * UIProcess/API/C/WKURLResponse.cpp: Removed.
- * UIProcess/API/C/WKURLResponse.h: Removed.
- * UIProcess/API/C/cf: Removed.
- * UIProcess/API/C/cf/WKStringCF.cpp: Removed.
- * UIProcess/API/C/cf/WKStringCF.h: Removed.
- * UIProcess/API/C/cf/WKURLCF.cpp: Removed.
- * UIProcess/API/C/cf/WKURLCF.h: Removed.
- * UIProcess/API/C/cf/WKURLRequestCF.cpp: Removed.
- * UIProcess/API/C/cf/WKURLRequestCF.h: Removed.
- * UIProcess/API/C/cf/WKURLResponseCF.cpp: Removed.
- * UIProcess/API/C/cf/WKURLResponseCF.h: Removed.
- * UIProcess/API/C/mac: Removed.
- * UIProcess/API/C/mac/WKCertificateInfoMac.h: Removed.
- * UIProcess/API/C/mac/WKCertificateInfoMac.mm: Removed.
- * UIProcess/API/C/mac/WKURLRequestNS.h: Removed.
- * UIProcess/API/C/mac/WKURLRequestNS.mm: Removed.
- * UIProcess/API/C/mac/WKURLResponseNS.h: Removed.
- * UIProcess/API/C/mac/WKURLResponseNS.mm: Removed.
- * UIProcess/API/C/win/WKAPICastWin.h: Copied from UIProcess/API/win/WKAPICastWin.h.
- * UIProcess/API/C/win/WKBaseWin.h: Copied from UIProcess/API/win/WKBaseWin.h.
- * UIProcess/API/C/win/WKCertificateInfoWin.cpp: Removed.
- * UIProcess/API/C/win/WKCertificateInfoWin.h: Removed.
- * UIProcess/API/C/win/WKView.cpp: Copied from UIProcess/API/win/WKView.cpp.
- * UIProcess/API/C/win/WKView.h: Copied from UIProcess/API/win/WKView.h.
- * UIProcess/API/win: Removed.
- * UIProcess/API/win/WKAPICastWin.h: Removed.
- * UIProcess/API/win/WKBaseWin.h: Removed.
- * UIProcess/API/win/WKView.cpp: Removed.
- * UIProcess/API/win/WKView.h: Removed.
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundle.h:
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Removed.
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
- * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
- * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h:
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.h:
- * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
-
-2010-09-26 Anders Carlsson <andersca@apple.com>
-
- Fix non-Mac builds.
-
- * Platform/SharedMemory.h:
- * Platform/mac/SharedMemoryMac.cpp:
- (WebKit::SharedMemory::Handle::isNull):
-
-2010-09-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add PluginProxy class
- https://bugs.webkit.org/show_bug.cgi?id=46586
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add files.
-
- * WebProcess/Plugins/PluginProxy.cpp: Added.
- * WebProcess/Plugins/PluginProxy.h: Added.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::createPlugin):
- Create a PluginProxy wrapper.
-
-2010-09-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make it possible to encode null SharedMemory::Handle objects
- https://bugs.webkit.org/show_bug.cgi?id=46585
-
- * Platform/SharedMemory.h:
- (WebKit::SharedMemory::Handle::isNull):
- Add isNull.
-
- * Platform/mac/SharedMemoryMac.cpp:
- (WebKit::SharedMemory::Handle::encode):
- Remove asserts.
-
- (WebKit::SharedMemory::create):
- Bail if we see a null handle. Also work around a kernel bug where
- mach_vm_map fails if the given address to map is already mapped, even if
- VM_FLAG_ANYWHERE is set.
-
-2010-09-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add BackingStore class
- https://bugs.webkit.org/show_bug.cgi?id=46584
-
- * Shared/BackingStore.cpp: Added.
- (WebKit::BackingStore::create):
- Create a backing store backed by fastMalloc memory.
-
- (WebKit::BackingStore::createSharable):
- Create a backing store backed by shared memory.
-
- (WebKit::BackingStore::createHandle):
- Create a handle that can be sent over the wire.
-
- (WebKit::BackingStore::resize):
- Resize the backing store memory.
-
- (WebKit::BackingStore::data):
- Return the backing store data.
-
- * Shared/mac/BackingStoreMac.mm: Added.
- (WebKit::BackingStore::createGraphicsContext):
- Create a graphics context that will paint into the backing store.
-
- (WebKit::BackingStore::paint):
- Paint the backing store in a graphics context.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add files.
-
-2010-09-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Establish a connection between the plug-in process and the web process
- https://bugs.webkit.org/show_bug.cgi?id=46583
-
- * PluginProcess/PluginProcess.cpp:
- (WebKit::PluginProcess::didReceiveMessage):
- Call the auto-generated didReceivePluginProcessMessage.
-
- * PluginProcess/PluginProcess.h:
- Add didReceivePluginProcessMessage declaration.
-
- * PluginProcess/PluginProcess.messages.in:
- Add new "CreateWebProcessConnection" message.
-
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::didReceiveMessage):
- (WebKit::WebProcessConnection::didReceiveSyncMessage):
- (WebKit::WebProcessConnection::didClose):
- (WebKit::WebProcessConnection::didReceiveInvalidMessage):
- Add stubbed out member functions.
-
- * UIProcess/Plugins/PluginProcessManager.cpp:
- (WebKit::PluginProcessManager::getPluginProcessConnection):
- Ask the plug-in process proxy to create a connection.
-
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::createWebProcessConnection):
- Add the WebProcessProxy and the reply encoder to the queue of pending replies.
- If the process is still launching, keep track of how many pending requests we have, otherwise
- just send the request.
-
- (WebKit::PluginProcessProxy::didReceiveMessage):
- Call the auto-generated didReceivePluginProcessMessage.
-
- (WebKit::PluginProcessProxy::didFinishLaunching):
- Send all pending connection requests.
-
- (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
- Get the first pending reply and send it with the mach port.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Actually compile PluginProcessMessageReceiver.
-
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- (WebKit::PluginProcessConnection::PluginProcessConnection):
- Create a CoreIPC connection.
-
- (WebKit::PluginProcessConnection::didReceiveMessage):
- (WebKit::PluginProcessConnection::didClose):
- (WebKit::PluginProcessConnection::didReceiveInvalidMessage):
- Add stubbed out member functions.
-
+ (WebKit::WebPageProxy::forceRepaint):
+ * UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::createPlugin):
- Ask the plug-in process connection manager for a connection.
-
-2010-09-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Generated message handlers should include argument coder headers for some types
- https://bugs.webkit.org/show_bug.cgi?id=46582
-
- * Scripts/webkit2/messages.py:
- When determining which headers to use when generating a message handler, consider the
- argument coder headers.
-
- * Scripts/webkit2/messages_unittest.py:
- Update test result.
-
-2010-09-24 Sam Weinig <sam@webkit.org>
-
- Fix release build.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
-
-2010-09-24 Enrica Casucci <enrica@apple.com>
-
- One more build fix.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::setEditCommandState):
-
-2010-09-24 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Implement WebKit2 callback equivalent to -[WebUIDelegate mouseDidMoveOverElement:modifierFlags:]
- <rdar://problem/8359279>
- https://bugs.webkit.org/show_bug.cgi?id=46546
-
- - Adds new WKBundleHitTestResultRef object to represent a content under a cursor.
- - Adds new Bundle and UI level mouseDidMoveOverElement UIClient callbacks, with
- pass through userData to communicate context up to the UIProcess
+ (WebKit::WebPage::forceRepaint):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ Pipe the flag down to the WebProcess.
- * Shared/APIObject.h:
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::mouseDidMoveOverElement):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::mouseDidMoveOverElement):
- * UIProcess/WebUIClient.h:
* WebKit2.pro:
* WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
- * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: Added.
- (WKBundleHitTestResultGetTypeID):
- (WKBundleHitTestResultGetNodeHandle):
- (WKBundleHitTestResultGetFrame):
- (WKBundleHitTestResultCopyAbsoluteLinkURL):
- * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h: Added.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: Added.
- (WebKit::InjectedBundleHitTestResult::create):
- (WebKit::InjectedBundleHitTestResult::nodeHandle):
- (WebKit::InjectedBundleHitTestResult::webFrame):
- (WebKit::InjectedBundleHitTestResult::absoluteLinkURL):
- * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: Added.
- (WebKit::InjectedBundleHitTestResult::coreHitTestResult):
- (WebKit::InjectedBundleHitTestResult::InjectedBundleHitTestResult):
- (WebKit::InjectedBundleHitTestResult::type):
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
- (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement):
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::mouseDidMoveOverElement):
* win/WebKit2.vcproj:
+ Add ForceRepaintFlags.h.
-2010-09-24 Enrica Casucci <enrica@apple.com>
+2011-02-22 Simon Fraser <simon.fraser@apple.com>
- Build fix.
-
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::setEditCommandState):
- * UIProcess/win/WebView.h:
-
-2010-09-24 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Darin Adler.
+ Reviewed by Dan Bernstein.
- Maui: Pasteboard support (42317)
- <rdar://problem/7660537>
- https://bugs.webkit.org/show_bug.cgi?id=42317
-
- This is the final piece of the pasteboard support for WebKit2.
- The menu validation has been hooked up for Mac. The validation is
- performed asynchronously and the menu entries updated while the menu
- is visible. I've created a generic mechanism to call editing commands
- that will make it easy to add new commands we will support in the future.
- The commands supported now are copy, cut, paste, pasteAsPlainText, delete
- and selectAll.
-
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added DidValidateMenuItem.
- * UIProcess/API/mac/PageClientImpl.h: Added setEditCommandState.
- * UIProcess/API/mac/PageClientImpl.mm: Added setEditCommandState implementation.
- (WebKit::PageClientImpl::setEditCommandState): Added.
- * UIProcess/API/mac/WKView.mm:
- (WebCore::MenuItemInfo::MenuItemInfo):
- (-[WKView initWithFrame:pageNamespaceRef:]):
- (createSelectorExceptionMap): Added.
- (commandNameForSelector): Added.
- (-[WKView validateUserInterfaceItem:]): Added implementation.
- (-[WKView _setUserInterfaceItemState:enabled:state:]): Added.
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::validateMenuItem):
- (WebKit::WebPageProxy::executeEditCommand):
- (WebKit::WebPageProxy::didReceiveMessage): Now processing also
- DidValidateMenuItem.
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::executeEditingCommand): Fixed.
- (WebKit::WebPage::isEditingCommandEnabled): Fixed.
- (WebKit::WebPage::validateMenuItem): Added.
- (WebKit::WebPage::executeEditCommand): Added.
- * WebProcess/WebPage/WebPage.h: Removed cut, copy, paste, selectAll.
- Added validateMenuItem and executeEditCommand.
- * WebProcess/WebPage/WebPage.messages.in: Added new messages.
- * UIProcess/API/qt/qwkpage.cpp:
- (WebKit::QWKPage::setEditCommandState): Added.
- * UIProcess/API/qt/qwkpage_p.h: Added
+ <rdar://problem/9039670>
+ Make sure that we set the accelerateDrawing property on the LayerTreeHosts's
+ non-composited content layer if the preference is set.
-2010-09-24 Anders Carlsson <andersca@apple.com>
-
- Build fix.
-
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-09-24 Adam Roben <aroben@apple.com>
-
- Give windowed Netscape plugins their own window
-
- The plugin window is a child of the WebView's window. The WebView's
- window is in the UI process, and the plugin's window is in the web
- process (though someday it will be in the plugin process), but Windows
- mostly handles this just fine. Right now we move the plugin's window
- in the web process, but we need to do it at paint time in the UI
- process instead so that the plugin windows will stay in sync with the
- web page's contents. There are also a whole bunch of plugin quirks
- that WebKit1 supports that we don't support yet, but that's a task for
- another day.
-
- Fixes <http://webkit.org/b/44428> Get basic in-process windowed
- plugins working in WebKit2 on Windows
-
- Reviewed by Anders Carlsson.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::destroy):
- (WebKit::NetscapePlugin::geometryDidChange):
- Call the new platform-specific functions.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added
- platformDestroy/platformGeometryDidChange, and an m_window member on
- Windows to hold our window.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformDestroy):
- (WebKit::NetscapePlugin::platformGeometryDidChange):
- * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
- (WebKit::NetscapePlugin::platformDestroy):
- (WebKit::NetscapePlugin::platformGeometryDidChange):
- Stubbed these out.
-
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- (WebKit::registerPluginView): Added. The code came from
- WebCore's PluginViewWin.cpp, though I changed it to add one to
- COLOR_WINDOW, since that's what MSDN says we should do.
- (WebKit::NetscapePlugin::platformPostInitialize): If we're windowed,
- create a window for the plugin and make it a child of the WebView's
- window. If we're not windowed, just set m_window to 0.
- (WebKit::NetscapePlugin::platformDestroy): Destroy our window if we
- have one and it hasn't been destroyed already.
- (WebKit::NetscapePlugin::platformGeometryDidChange): Update our
- window's size and position.
-
- * WebProcess/Plugins/PluginController.h:
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::nativeParentWindow):
- * WebProcess/Plugins/PluginView.h:
- Added nativeParentWindow on Windows to return the WebView's window.
-
-2010-09-24 Adam Roben <aroben@apple.com>
-
- Pass the WebView's HWND over to the web process
-
- The HWND is packaged up in the WebPageCreationParameters and stored in
- the WebPage. It will eventually be used by windowed plugins.
-
- Fixes <http://webkit.org/b/46512> WebPage needs access to its
- corresponding HWND from the UI process
-
- Reviewed by Anders Carlsson.
-
- * Shared/WebPageCreationParameters.cpp:
- (WebKit::WebPageCreationParameters::encode):
- (WebKit::WebPageCreationParameters::decode):
- Encode and decode the HWND as a uint64_t.
-
- * Shared/WebPageCreationParameters.h: Added a nativeWindow member to
- store the HWND.
-
- * UIProcess/PageClient.h: Added a nativeWindow function on Windows.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::creationParameters): Store the HWND from the
- page client in the struct to be sent to the web process.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView): Moved the call to initializeWebPage after
- we've created our window so that our window will be ready when
- WebPageProxy asks for it to send it to the web process.
- (WebKit::WebView::nativeWindow): Added. Just returns our window.
-
- * UIProcess/win/WebView.h: Added nativeWindow.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage): Store the HWND in the new m_nativeWindow
- member.
-
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::nativeWindow): Added this simple getter.
-
-2010-09-24 Adam Roben <aroben@apple.com>
-
- Add WebPageProxy::creationParameters
-
- Fixes <http://webkit.org/b/46510> WebPageProxy has a bunch of
- duplicated WebPageCreationParameters code
-
- Reviewed by Anders Carlsson.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeWebPage):
- (WebKit::WebPageProxy::reinitializeWebPage):
- (WebKit::WebPageProxy::didReceiveSyncMessage):
- Use creationParameters.
-
- (WebKit::WebPageProxy::creationParameters):
- * UIProcess/WebPageProxy.h:
- Added creationParameters.
-
-2010-09-24 Adam Roben <aroben@apple.com>
-
- Make WebPage::create take a WebPageCreationParameter struct
-
- It only makes sense, after all.
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
- Fixes <http://webkit.org/b/46502>.
+2011-02-22 Brady Eidson <beidson@apple.com>
- Reviewed by Anders Carlsson.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::create):
- (WebKit::WebPage::WebPage):
- * WebProcess/WebPage/WebPage.h:
- Changed to take a WebPageCreationParameters struct.
+ Fix it Windows-style.
* WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::createWebPage): Changed to pass a
- WebPageCreationParameters struct.
-
-2010-09-24 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Andreas Kling.
-
- Expose all WebKit2 C API preferences via the Qt API.
+ (WebKit::WebProcess::getSitesWithPluginData):
+ (WebKit::WebProcess::clearPluginSiteData):
- Also rename a wrongly named C method (was using Web instead of WK).
+2011-02-22 Anders Carlsson <andersca@apple.com>
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesCopyStandardFontFamily):
- * UIProcess/API/C/WKPreferences.h:
- * UIProcess/API/qt/qwkpreferences.cpp:
- (QWKPreferences::setFontFamily):
- (QWKPreferences::fontFamily):
- (QWKPreferences::testAttribute):
- (QWKPreferences::setAttribute):
- * UIProcess/API/qt/qwkpreferences.h:
-
-2010-09-24 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Fill in more of PluginProcess
- https://bugs.webkit.org/show_bug.cgi?id=46534
-
- * DerivedSources.make:
- Add PluginProcessProxy.
-
- * Platform/CoreIPC/MessageID.h:
- Add a MessageClassPluginProcessProxy message class.
-
- * PluginProcess/PluginProcess.cpp:
- (WebKit::PluginProcess::PluginProcess):
- Initialize the shutdown timer.
-
- (WebKit::PluginProcess::initializeConnection):
- Rename this to initializeConnection to avoid conflicts in the CoreIPC message handler.
-
- (WebKit::PluginProcess::removeWebProcessConnection):
- Remove the given web process connection from our vector.
-
- (WebKit::PluginProcess::initialize):
- Create the plug-in module.
-
- (WebKit::PluginProcess::createWebProcessConnection):
- Create a connection handle and send it to the UI process.
-
- (WebKit::PluginProcess::shutdownTimerFired):
- Quit.
-
- * PluginProcess/mac/PluginProcessMainMac.mm:
- (WebKit::PluginProcessMain):
- Call initializeConnection.
-
- * Scripts/webkit2/messages.py:
- Add CoreIPC::MachPort as a special case.
-
- * Scripts/webkit2/messages_unittest.py:
- Add test case.
-
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
- Add empty function.
-
- * UIProcess/Plugins/PluginProcessProxy.messages.in: Added.
- * WebKit2.xcodeproj/project.pbxproj:
- Add PluginProcessProxy.messages.in.
-
- * WebKit2Prefix.h:
- Add an ENABLE_PLUGIN_PROCESS #define which is 0 for now.
-
-2010-09-24 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- messages_unittest.py should compare the generated results against expected results
- https://bugs.webkit.org/show_bug.cgi?id=46490
-
- * Scripts/webkit2/messages_unittest.py:
-
-2010-09-24 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Antonio Gomes.
-
- Make it possible to get the page preferences for Qt WebKit2 port.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::QWKPagePrivate):
- (QWKPage::preferences):
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/API/qt/qwkpreferences.cpp:
- (QWKPreferencesPrivate::createPreferences):
- (QWKPreferencesPrivate::createSharedPreferences):
- (QWKPreferences::sharedPreferences):
- (QWKPreferences::QWKPreferences):
- * UIProcess/API/qt/qwkpreferences.h:
-
-2010-09-24 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Sam Weinig.
-
- Add WebKit2 C API for setting/getting frame flattening and plugin settings.
- http://webkit.org/b/46477
-
- NOTE: The plugin setting was partly done but there was no C API.
-
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::WebPreferencesStore):
- (WebKit::WebPreferencesStore::encode):
- (WebKit::WebPreferencesStore::decode):
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetFrameFlatteningEnabled):
- (WKPreferencesGetFrameFlatteningEnabled):
- (WKPreferencesSetPluginsEnabled):
- (WKPreferencesGetPluginsEnabled):
- * UIProcess/API/C/WKPreferences.h:
- * UIProcess/WebPreferences.cpp:
- (WebKit::WebPreferences::setFrameFlatteningEnabled):
- (WebKit::WebPreferences::frameFlatteningEnabled):
- (WebKit::WebPreferences::setPluginsEnabled):
- (WebKit::WebPreferences::pluginsEnabled):
- * UIProcess/WebPreferences.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::preferencesDidChange):
-
-2010-09-24 Adam Roben <aroben@apple.com>
-
- Add WebPageCreationParameters
-
- This struct is used in any messages that end up creating a WebPage.
- Using a struct instead of individual parameters will make it easier to
- add platform-specific data, such as an HWND on Windows.
-
- Fixes <http://webkit.org/b/46470> Pass parameters for creating a
- WebPage in a single struct
-
- Reviewed by Anders Carlsson.
-
- * Shared/WebPageCreationParameters.cpp: Added.
- (WebKit::WebPageCreationParameters::encode):
- (WebKit::WebPageCreationParameters::decode):
- Simple encode/decode functions.
+ Reviewed by Dan Bernstein.
- * Shared/WebPageCreationParameters.h: Added.
+ Rename WebProcess::shutdownIfPossible to WebProcess::terminateIfPossible
+ https://bugs.webkit.org/show_bug.cgi?id=55008
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeWebPage):
- (WebKit::WebPageProxy::reinitializeWebPage):
- (WebKit::WebPageProxy::didReceiveSyncMessage):
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::createWindow):
+ * WebProcess/Downloads/DownloadManager.cpp:
+ (WebKit::DownloadManager::downloadFinished):
* WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::createWebPage):
- (WebKit::WebProcess::didReceiveMessage):
+ (WebKit::WebProcess::removeWebPage):
+ (WebKit::WebProcess::terminateIfPossible):
+ (WebKit::WebProcess::getSitesWithPluginData):
* WebProcess/WebProcess.h:
- Changed to use WebPageCreationParameters instead of passing the
- values individually.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Added WebPageCreationParameters.
-
-2010-09-24 Adam Roben <aroben@apple.com>
-
- Stop pretending that we know how to encode a DrawingArea and just
- encode the DrawingAreaInfo directly
-
- DrawingAreaBase and friends were trying to hide the fact that they
- were just encoding/decoding a DrawingAreaInfo behind the scenes, but
- everyone knew what was going on and it was getting embarassing.
-
- Fixes <http://webkit.org/b/46469> Code to encode/decode a
- DrawingAreaInfo is confusing
-
- Reviewed by Anders Carlsson.
-
- * Shared/DrawingAreaBase.cpp: Removed.
- * Shared/DrawingAreaBase.h: Removed encode/decode.
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h: Removed encode override.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeWebPage):
- (WebKit::WebPageProxy::reinitializeWebPage):
- (WebKit::WebPageProxy::didReceiveSyncMessage):
- Changed to encode the DrawingAreaInfo directly.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Removed DrawingAreaBase.cpp.
-
-2010-09-24 Adam Roben <aroben@apple.com>
-
- Expose a whole DrawingAreaInfo instead of its constituent parts from
- DrawingAreaBase
-
- This is just a step toward cleaning up how drawing areas are
- encoded/ecoded.
-
- Fixes <http://webkit.org/b/46468> DrawingAreaInfo should be used in
- more places
-
- Reviewed by Anders Carlsson.
-
- * Shared/DrawingAreaBase.cpp:
- (WebKit::DrawingAreaBase::encode): Changed to use info().
-
- * Shared/DrawingAreaBase.h:
- (WebKit::DrawingAreaBase::info): Added. Replaces type() and id().
- (WebKit::DrawingAreaBase::DrawingAreaBase): Changed to store a
- DrawingAreaInfo instead of storing its constituent parts.
-
- * UIProcess/API/mac/WKView.mm:
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- * WebProcess/WebPage/WebPage.cpp:
- Updated to use info().
-
-2010-09-24 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add WebProcessConnection class
- https://bugs.webkit.org/show_bug.cgi?id=46478
-
- * PluginProcess/WebProcessConnection.cpp: Added.
- * PluginProcess/WebProcessConnection.h: Added.
- Add stubbed out WebProcessConnection class.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add files.
-
-2010-09-24 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add PluginProcess class
- https://bugs.webkit.org/show_bug.cgi?id=46476
-
- * PluginProcess/PluginProcess.cpp: Added.
- * PluginProcess/PluginProcess.h: Added.
- Add stubbed out PluginProcess class.
-
- * PluginProcess/mac/PluginProcessMainMac.mm:
- (WebKit::PluginProcessMain):
- Initialize the plug-in process.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add files.
-
- * WebProcess/Plugins/PluginProcessConnection.h:
- Add a comment about which connection this is.
-
-2010-09-24 Sam Weinig <sam@webkit.org>
-
- Fix windows build.
+ * WebProcess/gtk/WebProcessGtk.cpp:
+ (WebKit::WebProcess::platformTerminate):
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformTerminate):
+ * WebProcess/qt/WebProcessQt.cpp:
+ (WebKit::WebProcess::platformTerminate):
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::WebProcess::platformTerminate):
- * Shared/win/PlatformCertificateInfo.cpp:
- (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+2011-02-22 Brady Eidson <beidson@apple.com>
-2010-09-23 Sam Weinig <sam@webkit.org>
+ Windows build-fix attempt.
- Reviewed by Adam Roben.
-
- Add Windows implementation of PlatformCertificateInfo
- Part of <rdar://problem/8350189>
- https://bugs.webkit.org/show_bug.cgi?id=46450
-
- * Shared/win/PlatformCertificateInfo.cpp: Added.
- (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
- (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo):
- (WebKit::PlatformCertificateInfo::encode):
- (WebKit::PlatformCertificateInfo::decode):
- (WebKit::organizationNameForCertificate):
- * Shared/win/PlatformCertificateInfo.h:
- (WebKit::PlatformCertificateInfo::certificateContext):
- * UIProcess/API/C/win/WKCertificateInfoWin.cpp: Added.
- (WKCertificateInfoGetCertificateContext):
- * UIProcess/API/C/win/WKCertificateInfoWin.h: Added.
- * win/WebKit2.vcproj:
* win/WebKit2Generated.make:
-2010-09-23 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Sam Weinig.
-
- Add WebKit2 C API for setting the font families.
- https://bugs.webkit.org/show_bug.cgi?id=46408
-
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetStandardFontFamily):
- (WebPreferencesCopyStandardFontFamily):
- (WKPreferencesSetFixedFontFamily):
- (WKPreferencesCopyFixedFontFamily):
- (WKPreferencesSetSerifFontFamily):
- (WKPreferencesCopySerifFontFamily):
- (WKPreferencesSetSansSerifFontFamily):
- (WKPreferencesCopySansSerifFontFamily):
- (WKPreferencesSetCursiveFontFamily):
- (WKPreferencesCopyCursiveFontFamily):
- (WKPreferencesSetFantasyFontFamily):
- (WKPreferencesCopyFantasyFontFamily):
- * UIProcess/API/C/WKPreferences.h:
- * UIProcess/WebPreferences.cpp:
- (WebKit::WebPreferences::setStandardFontFamily):
- (WebKit::WebPreferences::standardFontFamily):
- (WebKit::WebPreferences::setFixedFontFamily):
- (WebKit::WebPreferences::fixedFontFamily):
- (WebKit::WebPreferences::setSerifFontFamily):
- (WebKit::WebPreferences::serifFontFamily):
- (WebKit::WebPreferences::setSansSerifFontFamily):
- (WebKit::WebPreferences::sansSerifFontFamily):
- (WebKit::WebPreferences::setCursiveFontFamily):
- (WebKit::WebPreferences::cursiveFontFamily):
- (WebKit::WebPreferences::setFantasyFontFamily):
- (WebKit::WebPreferences::fantasyFontFamily):
- * UIProcess/WebPreferences.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::preferencesDidChange):
-
-2010-09-23 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed buildfix after r68220 on WebKit2.
-
- WebKit2 API: Need way to know when a frame is removed from the hierarchy
- https://bugs.webkit.org/show_bug.cgi?id=46432
-
- [Qt] qt_wk_didRemoveFrameFromHierarchy needs to be implemented
-
- * UIProcess/API/qt/ClientImpl.cpp:
- (qt_wk_didRemoveFrameFromHierarchy):
- * UIProcess/API/qt/ClientImpl.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
-
-2010-09-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- WebKit2 API: Need way to know when a frame is removed from the hierarchy
- <rdar://problem/8414062>
- https://bugs.webkit.org/show_bug.cgi?id=46432
-
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::didRemoveFrameFromHierarchy):
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
- * UIProcess/WebPageProxy.h:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- (WebKit::InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy):
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::detachedFromParent2):
- (WebKit::WebFrameLoaderClient::didTransferChildFrameToNewDocument):
-
-2010-09-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add PluginProcessConnection and PluginProcessConnectionManager
- https://bugs.webkit.org/show_bug.cgi?id=46425
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add files.
-
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- Add empty file for now.
-
- * WebProcess/Plugins/PluginProcessConnection.h:
- Add header.
-
- * WebProcess/Plugins/PluginProcessConnectionManager.cpp: Added.
- (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
- Check for an existing plug-in process connection. If we don't have one, ask the
- UI process to create one.
-
- (WebKit::PluginProcessConnectionManager::removePluginProcessConnection):
- Remove the connection from our global vector.
-
-2010-09-23 Adam Roben <aroben@apple.com>
-
- Remove the DrawingAreaProxy parameter to
- WebPagProxy::initializeWebPage
-
- Callers are now required to set the drawing area via
- WebPageProxy::setDrawingArea before calling initializeWebPage. This
- will allow us to delay calling initializeWebPage on Windows until
- after we've created the WebView's HWND, which in turn will allow us to
- send the HWND over to the web process when the page is created. (The
- drawing area must be set before creating the HWND so that its size can
- be updated, etc., as the window is created.)
-
- Fixes <http://webkit.org/b/46409> DrawingAreaProxy parameter to
- initializeWebPage is unnecessary, and causes problems on Windows
-
- Reviewed by Anders Carlsson.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:pageNamespaceRef:]):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::init):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- Added explicit calls to setDrawingArea.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeWebPage):
- * UIProcess/WebPageProxy.h:
- Removed the DrawingAreaProxy parameter and a stray puts(), and added
- an assertion.
-
-2010-09-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Implement handlers for the GetPluginProcessConnection message
- https://bugs.webkit.org/show_bug.cgi?id=46415
-
- * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
- Add GetPluginProcessConnection message kind
-
- * UIProcess/Plugins/PluginProcessManager.cpp:
- (WebKit::PluginProcessManager::PluginProcessManager):
- Add missing constructor.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::getPluginProcessConnection):
- Ask the plug-in process manager for a connection.
-
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
- Call getPluginProcessConnection.
-
- * UIProcess/WebProcessProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::createPlugin):
- Send the GetPluginProcessConnection message.
-
-2010-09-23 Matthew Delaney <mdelaney@apple.com>
-
- Reviewed by Simon Fraser.
-
- Reduce minimum DOMTimer interval
- https://bugs.webkit.org/show_bug.cgi?id=45362
-
- * WebProcess/WebPage/WebPage.cpp:
- Updating set interval call to use Settings' static version.
-
-2010-09-23 Adam Roben <aroben@apple.com>
-
- Try to fix the Windows build
-
- * win/WebKit2Common.vsprops: Add WebKit2/PluginProcess to the include
- path.
-
-2010-09-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add PluginProcessMain files
- https://bugs.webkit.org/show_bug.cgi?id=46379
-
- * PluginProcess/PluginProcessMain.h: Added.
- * PluginProcess/mac/PluginProcessMainMac.mm: Added.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add PluginProcessMain files. Remove PluginProcess.messages.in from the target so it
- won't be installed in the WebKit2.framework bundle.
-
- * WebProcess/WebKitMain.cpp:
- (WebKitMain):
- Call PluginProcessMain if the process type is ProcessLauncher::PluginProcess.
-
-2010-09-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add PluginProcessProxy class
- https://bugs.webkit.org/show_bug.cgi?id=46377
-
- * DerivedSources.make:
- Add PluginProcess.
-
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::send):
- Add send overload that takes a message.
-
- * Platform/CoreIPC/MessageID.h:
- Add MessageClassPluginProcess message kind.
-
- * PluginProcess/PluginProcess.messages.in: Added.
- Add PluginProcess messages.
+2011-02-22 Csaba Osztrogonác <ossy@webkit.org>
- * UIProcess/Plugins/PluginInfoStore.cpp:
- (WebKit::PluginInfoStore::infoForPluginWithPath):
- * UIProcess/Plugins/PluginInfoStore.h:
- New function that returns the plug-in info for a plug-in with the given path.
-
- * UIProcess/Plugins/PluginProcessManager.cpp:
- (WebKit::PluginProcessManager::getPluginProcessConnection):
- Look for an existing plug-in process proxy.
-
- * UIProcess/Plugins/PluginProcessProxy.cpp: Added.
- (WebKit::PluginProcessProxy::create):
- Launch the process.
-
- (WebKit::PluginProcessProxy::didReceiveMessage):
- (WebKit::PluginProcessProxy::didReceiveInvalidMessage):
- Add stubbed out functions.
-
- (WebKit::PluginProcessProxy::didClose):
- Delete the plug-in process proxy.
-
- (WebKit::PluginProcessProxy::didFinishLaunching):
- Open a connection to the plug-in process proxy.
-
- * UIProcess/Plugins/PluginProcessProxy.h: Added.
- (WebKit::PluginProcessProxy::pluginInfo):
- Return the plug-in info.
-
- * UIProcess/WebProcessProxy.h:
- (WebKit::WebProcessProxy::context):
- Add a context getter.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
-2010-09-23 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Expose the BundlePage on the BundleFrame in the API.
- https://bugs.webkit.org/show_bug.cgi?id=46366
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameGetPage):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
-
-2010-09-23 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Andreas Kling.
-
- Add a preference class for Qt for WebKit2.
-
- * UIProcess/API/qt/qwkpreferences.cpp: Added.
- (QWKPreferences::globalPreferences):
- (QWKPreferences::QWKPreferences):
- (QWKPreferences::~QWKPreferences):
- (QWKPreferences::testAttribute):
- (QWKPreferences::setAttribute):
- * UIProcess/API/qt/qwkpreferences.h: Added.
- * WebKit2.pro:
-
-2010-09-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- It should be possible to conditionally define an entire group of messages
- https://bugs.webkit.org/show_bug.cgi?id=46368
-
- * Scripts/webkit2/messages.py:
- Check for a condition when parsing the "messages -> " string and set it as the
- message receiver condition.
-
- * Scripts/webkit2/messages_unittest.py:
- Add test.
-
-2010-09-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Message autogeneration script should parse sync message syntax
- https://bugs.webkit.org/show_bug.cgi?id=46359
-
- * Scripts/webkit2/messages.py:
- (MessageReceiver.parse): Expand the regular expression to handle sync messages.
- (function_parameter_type): Use a const reference for all parameters except the known builtins.
- (base_class): Returns the base class for a sync message reply struct.
- (delayed_base_class): Returns the base class for a delayed sync message reply struct.
-
- * Scripts/webkit2/messages_unittest.py:
- Add unit tests for various sync messages.
-
-2010-09-22 Andras Becsi <abecsi@webkit.org>
+ Unreviewed.
- Unreviewed build fix after r68079.
+ <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
+ API to view and delete Application Cache data by origin.
- [Qt] Also generate WebPage's message-receiving code and message types
- for the Qt port of WebKit2.
+ [Qt][WK2] Buildfix after r79364.
* DerivedSources.pro:
- * WebKit2.pro:
-
-2010-09-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Stub out a PluginProcessManager class
- https://bugs.webkit.org/show_bug.cgi?id=46305
-
- * UIProcess/Plugins/PluginProcessManager.cpp: Added.
- (WebKit::PluginProcessManager::shared):
- (WebKit::PluginProcessManager::getPluginProcessConnection):
- (WebKit::PluginProcessManager::removePluginProcessProxy):
- * UIProcess/Plugins/PluginProcessManager.h: Added.
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-09-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- Add a ViewportConfiguration class for the Qt WebKit2 API, which
- currently calculated a fallback viewport configuration.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::ViewportConfiguration::ViewportConfiguration):
- (QWKPage::ViewportConfiguration::~ViewportConfiguration):
- (QWKPage::ViewportConfiguration::operator=):
- (QWKPage::viewportConfigurationForSize):
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/API/qt/qwkpage_p.h:
- (QtViewportConfigurationPrivate::QtViewportConfigurationPrivate):
-
-2010-09-22 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * WebProcess/WebKitMain.cpp:
- (WebKitMain): Fix typo
-
-2010-09-22 Adam Roben <aroben@apple.com>
-
- Autogenerate WebPage's message-receiving code and message types
-
- This patch encompasses several changes that allow message types and
- receiving code to be generated by a script, and add some type-safety
- as a bonus. Messages are now represented by structs instead of an ID +
- ArgumentCoder. The struct contains the arguments and the ID together,
- and has a constructor that enforces the use of correct types.
- Correspondingly, a new overload of WebProcessProxy::send that takes a
- message struct (instead of a message ID and separate arguments) has
- been added. Eventually all callers should use this overload and the
- old one can be removed.
-
- This patch only touches WebPage's messages. We should transition other
- message receivers over to this new system eventually.
-
- Fixes <http://webkit.org/b/43636> <rdar://problem/8282462> Add a
- type-safe IPC mechanism to WebKit2
-
- Reviewed by Anders Carlsson.
-
- * DerivedSources.make: Added. Calls generate-message-receiver.py and
- generate-messages-header.py for each message receiver it knows about
- (just WebPage for now).
-
- * Platform/CoreIPC/Arguments.h: Added First/Second/ThirdArgumentType
- typedefs for use in handleMessage.
-
- * Platform/CoreIPC/HandleMessage.h: Added.
- (CoreIPC::handleMessage): This overloaded function template decodes
- arguments and passes them along to the specified function.
-
- * Scripts/generate-message-receiver.py: Added.
- * Scripts/generate-messages-header.py: Added.
- These scripts just wrap functionality in messages.py.
-
- * Scripts/webkit2/__init__.py: Added. This just exists so that Python
- will treat this directory as a package.
-
- * Scripts/webkit2/messages.py: Added. Contains the code to parse
- messages files and generate .cpp/.h files from them.
- (MessageReceiver.__init__): This class represents a single receiver of
- messages.
- (MessageReceiver.iterparameters): Returns a generator that can be used
- to iterate over all the parameters of all the messages of this
- receiver.
- (MessageReceiver.parse): Reads a messages file from a file-like object
- and parses it into a MessageReceiver object.
- (Message.__init__): This class represents a single message.
- (Message.id): Returns the ID name for this message.
- (Parameter.__init__): This class represents a single parameter for a
- message.
- (messages_header_filename): Returns the name of the header that
- defines the messages for a given receiver.
- (surround_in_condition): Surrounds the given string in #if/#endif if
- there is an associated condition.
- (messages_to_kind_enum): Returns a string that defines the Kind enum
- for these messages.
- (function_parameter_type): Returns the type that should be used when
- passing a value of the given type as a parameter to a function.
- (base_class): Returns the base class for a message struct.
- (message_to_struct_declaration): Returns a string that declares the
- struct for this message.
- (forward_declarations_for_namespace): Returns a string that contains
- forward-declarations for a set of types in a given namespace.
- (forward_declarations): Returns a string that contains all the
- forward-declarations needed in order to declare all the message
- structs for this receiver.
- (generate_header_file): Returns a string containing the messages
- header file for this receiver.
- (handler_function): Returns the name of the function that handles a
- given message for a given receiver.
- (case_statement): Returns a string containing a case statement for
- handling the given message.
- (header_for_type): Returns the header needed to define a given type,
- enclosed in quotes or angle brackets as needed.
- (generate_message_handler): Returns a string containing the contents
- of a .cpp file that defines a didReceive*Message function.
-
- * Scripts/webkit2/messages_unittest.py: Added. Contains tests for
- messages.py.
-
- * Shared/CoreIPCSupport/WebPageMessageKinds.h: Removed. This has been
- replaced by a generated WebPageMessages.h header.
-
- * UIProcess/WebEditCommandProxy.cpp:
- * UIProcess/WebPageProxy.cpp:
- Updated to use the new message structs and WebProcessProxy::send
- overload.
-
- * UIProcess/WebProcessProxy.h:
- (WebKit::WebProcessProxy::send): Added this new overload that takes a
- message struct.
-
- * WebKit2.xcodeproj/project.pbxproj: Added a Derived Sources shell
- script target that invokes DerivedSources.make. Added "Derived
- Sources" and "Scripts" groups that contain the various new files.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didReceivePolicyDecision):
- (WebKit::WebPage::getSourceForFrame):
- Changed these functions to take the raw IPC types and do the necessary
- translation themselves. This keeps the generated code from need to
- know how to perform the translation.
-
- (WebKit::WebPage::didReceiveMessage): Replaced handling of WebPage
- messages with a call to didReceiveWebPageMessage, whose implementation
- is generated by the scripts.
-
- * WebProcess/WebPage/WebPage.h: Added didReceiveWebPageMessage.
-
- * WebProcess/WebPage/WebPage.messages.in: Added. This file declares
- all of the messages that WebPage receives, roughly grouped by
- functionality.
-
- * win/WebKit2.vcproj: Added "Derived Sources" and "Scripts" filters
- that contain the various new files. Let VS resort some other files.
-
- * win/WebKit2Common.vsprops: Added
- $(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources to the include
- path so that the generated messages header can be found.
-
- * win/WebKit2.make: Copy the generated source files to $(DSTROOT).
-
- * win/WebKit2Generated.make: Added a call to build-generated-files.sh.
-
- * win/WebKit2Generated.vcproj: Added build-generated-files.sh.
-
- * win/build-generated-files.sh: Added. Invokes DerivedSources.make.
-
-2010-09-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Enhance ProcessLauncher to be able to launch plug-in processes
- https://bugs.webkit.org/show_bug.cgi?id=46295
-
- * UIProcess/Launcher/ProcessLauncher.cpp:
- (WebKit::ProcessLauncher::ProcessLauncher):
- Make the ProcessLauncher constructor take a LaunchOptions struct.
-
- (WebKit::ProcessLauncher::processTypeAsString):
- Given a process type, return its string representation.
-
- (WebKit::ProcessLauncher::getProcessTypeFromString):
- And vice versa.
-
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess):
- Rename "mode" to "type" and pass the type as a string based on the LaunchOptions struct.
- Also, set the launch architecture from the LaunchOptions struct.
-
- * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
- (WebKit::ProcessLauncher::launchProcess):
- Rename "mode" to "type."
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::connect):
- Initialize a LaunchOptions struct.
-
- * WebProcess/WebKitMain.cpp:
- (WebKitMain):
- Factor code that can be shared between the mac and windows WebKitMain code out into a
- WebKitMain overload that takes a CommandLine.
-
- * WebProcess/WebProcessMain.h:
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain):
- * WebProcess/win/WebProcessMainWin.cpp:
- (WebKit::WebProcessMain):
- Change WebProcessMain to take a const CommandLine reference instead of a pointer.
-
-2010-09-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Rename GetPluginHostConnection to GetPluginPath
- https://bugs.webkit.org/show_bug.cgi?id=46292
-
- Rename GetPluginHostConnection to GetPluginPath since this message will always get the
- plug-in path. We'll add another message to actually get the connection.
-
- * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::getPluginPath):
- (WebKit::WebProcessProxy::didReceiveMessage):
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
- * UIProcess/WebProcessProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::createPlugin):
-
-2010-09-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Move plug-in creation to WebPage::createPlugin
- https://bugs.webkit.org/show_bug.cgi?id=46289
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
- Call WebPage::createPlugin.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::createPlugin):
- Create the plug-in.
-
-2010-09-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Random plug-in cleanups
- https://bugs.webkit.org/show_bug.cgi?id=46279
-
- * WebProcess/Plugins/Plugin.cpp:
- (WebKit::Plugin::Parameters::encode):
- (WebKit::Plugin::Parameters::decode):
- Add CoreIPC coding support for the Plugin::Parameters struct.
-
- * WebProcess/Plugins/PluginController.h:
- Add pluginProcessCrashed pure virtual member function.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::handleEvent):
- handleEvent can be called when m_plugin is null.
-
- (WebKit::PluginView::pluginProcessCrashed):
- Ask the renderer to show the crashed plug-in indicator.
-
-2010-09-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Don't listen for some window notifications on all windows
- https://bugs.webkit.org/show_bug.cgi?id=46277
-
- Only listen for NSWindowDidBecomeKeyNotification and NSWindowDidResignKeyNotification notifications
- on all windows; this matches old WebKit and fixes a crash where we would send notifications to views whose
- underlying pages were invalid.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView addWindowObserversForWindow:]):
- (-[WKView removeWindowObservers]):
-
-2010-09-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Crash when running plug-in layout tests
- https://bugs.webkit.org/show_bug.cgi?id=46269
-
- Store the web page directly in the PluginView class, instead of getting it from the frame
- of the plug-in element; this fixes two crashes, one where the plug-in element had been deallocated
- before the plug-in view, and another where the plug-in element's document did not have a frame.
-
- This also makes things more robust since we're asserting in the WebPage destructor that no plug-ins have
- an outstanding reference to it.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::webPage):
- (WebKit::PluginView::PluginView):
- (WebKit::PluginView::~PluginView):
- (WebKit::PluginView::initializePlugin):
- * WebProcess/Plugins/PluginView.h:
-
-2010-09-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Change a bunch of Vector<char> to Vector<uint8_t> to better indicate that we're
- dealing with raw bytes.
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::parsePostBuffer):
- (WebKit::NPN_GetURL):
- (WebKit::NPN_PostURL):
- (WebKit::NPN_GetURLNotify):
- (WebKit::NPN_PostURLNotify):
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::loadURL):
- (WebKit::NetscapePlugin::initialize):
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::deliverData):
- (WebKit::NetscapePluginStream::deliverDataToPlugin):
- * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
- * WebProcess/Plugins/PluginController.h:
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::loadURL):
- * WebProcess/Plugins/PluginView.h:
-
-2010-09-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Assertion fails in [WKView _updateWindowFrame] when closing a WebKit2 window
- https://bugs.webkit.org/show_bug.cgi?id=46264
- <rdar://problem/8463534>
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView viewDidMoveToWindow]):
- Only update window visibility and frame when we're moving to a window.
-
-2010-09-22 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] PluginStrategy implementation is broken
- https://bugs.webkit.org/show_bug.cgi?id=46078
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::QWKPagePrivate):
- Initialize the WebPlatformStrategies at the UI side as well because
- we are using the LocalizationStrategy in the UI process.
- Added a FIXME since this should be fixed in the future.
-
-2010-09-22 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- PluginStrategy should satisfy the needs of Qt
- https://bugs.webkit.org/show_bug.cgi?id=45857
- No new functionality so no new tests.
-
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::WebPlatformStrategies::getPluginInfo):
- * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
-
-2010-09-21 Steve Falkenburg <sfalken@apple.com>
-
- Rubber stamped by Simon Fraser.
-
- Add DirectX SDK include path.
-
- * win/WebKit2DirectX.vsprops:
-
-2010-09-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Forward window focus changes to the plug-in
- https://bugs.webkit.org/show_bug.cgi?id=46227
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::windowFocusChanged):
- Send the NPCocoaEventWindowFocusChanged event.
-
- (WebKit::NetscapePlugin::windowFrameChanged):
- (WebKit::NetscapePlugin::windowVisibilityChanged):
- Add stubs.
-
- * WebProcess/Plugins/Plugin.h:
- Add windowFocusChanged, windowFrameChanged and windowVisibilityChanged.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::webPage):
- Make webPage a member function instead.
-
- (WebKit::PluginView::setWindowIsFocused):
- Call the plug-in member function.
-
- (WebKit::PluginView::initializePlugin):
- When the plug-in has been initialized, update its window frame, window visibility
- and window focus states.
-
- (WebKit::PluginView::setParent):
- Move viewGeometryDidChange to initializePlugin.
-
- * WebProcess/Plugins/PluginView.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setActive):
- Tell all plug-in views about the new window focus state.
-
- (WebKit::WebPage::windowIsFocused):
- Return whether the window is focused or not.
-
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::windowIsVisible):
- (WebKit::WebPage::windowFrame):
- Add getters.
-
-2010-09-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Handle booleans in injected bundle messages
- https://bugs.webkit.org/show_bug.cgi?id=46213
-
- * Shared/UserMessageCoders.h:
- (WebKit::UserMessageEncoder::baseEncode):
- (WebKit::UserMessageDecoder::baseDecode):
-
-2010-09-21 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
-
- WebKit2 should look for WebKit2WebProcess.exe next to WebKit.dll
- https://bugs.webkit.org/show_bug.cgi?id=46209
- <rdar://problem/8445639>
-
- Find WebKit2WebProcess.exe by getting the full path to WebKit.dll, and then
- removing the last path component and replacing it with WebKit2WebProcess.exe.
-
- * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
- (WebKit::ProcessLauncher::launchProcess):
-
-2010-09-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Send window visibility and window frame change sizes to the plug-in
- https://bugs.webkit.org/show_bug.cgi?id=46202
-
- * Shared/CoreIPCSupport/WebPageMessageKinds.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _updateWindowVisibility]):
- Call WebPageProxy::setWindowIsVisible.
-
- (-[WKView addWindowObserversForWindow:]):
- Add additional observers.
-
- (-[WKView removeWindowObservers]):
- Remove observers.
-
- (-[WKView _updateWindowFrame]):
- Call WebPageProxy::setWindowFrame.
-
- (-[WKView viewDidMoveToWindow]):
- Update the window visibility and the web frame.
-
- (-[WKView _windowDidMiniaturize:]):
- (-[WKView _windowDidDeminiaturize:]):
- Update the window visibility.
-
- (-[WKView _windowFrameDidChange:]):
- Update the window frame.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setWindowIsVisible):
- (WebKit::WebPageProxy::setWindowFrame):
- Send messages along to the web process.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::PluginView):
- Register the plug-in view.
-
- (WebKit::PluginView::~PluginView):
- Unregister the plug-in view.
-
- (WebKit::PluginView::setWindowIsVisible):
- (WebKit::PluginView::setWindowFrame):
- Add empty stubs.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- Initialize m_windowIsVisible.
-
- (WebKit::WebPage::~WebPage):
- Assert that all plug-in views have been removed.
-
- (WebKit::WebPage::setWindowIsVisible):
- Notify all plug-ins about the window visibility change.
-
- (WebKit::WebPage::setWindowFrame):
- Notify all plug-ins about the window frame change.
-
- (WebKit::WebPage::didReceiveMessage):
- Handle setWindowIsVisible and setWindowFrame.
-
-2010-09-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark Rowe.
-
- * Configurations/WebKit2.xcconfig:
- Add a note about keeping the path in MainMac.cpp in sync with the install path.
-
- * mac/MainMac.cpp:
- (main):
- Use the correct framework path.
-
-2010-09-21 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * mac/MainMac.cpp:
- (closeUnusedFileDescriptors):
- Move this out into a separate function.
-
- (main):
- Don't use the soft linking macros, they were bringing in WTFReportAssertionFailure.
-
-2010-09-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Zombie WebProcesses are left around
- https://bugs.webkit.org/show_bug.cgi?id=46148
- <rdar://problem/8455898>
-
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::setupTerminationNotificationHandler):
- Register a dispatch handler that calls waitpid when the child process exits. This prevents zombies from
- staying around after the child process has quit.
-
- (WebKit::ProcessLauncher::launchProcess):
- Pass POSIX_SPAWN_START_SUSPENDED to posix_spawn to avoid race conditions when setting up the termination
- notification handler. When the handler is set up we send the SIGCONT signal to the child process.
-
- * mac/MainMac.cpp:
- (main):
- Loop through all file descriptors except for stdin, stdout and stderr and close them.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Soft-link the Web process with WebKit2. We do this so we can ensure that we won't accidentally close any
- file descriptors opened by initialization code that would have been called before main().
-
-2010-09-21 Andras Becsi <abecsi@inf.u-szeged.hu>
-
- Reviewed by Csaba Osztrogonác.
-
- [Qt] QtWebProcess should clean up shared memory map files on close
- https://bugs.webkit.org/show_bug.cgi?id=45984
-
- Relocate MappedMemory struct code to it's own header and implement
- a singleton pool class (MappedMemoryPool) which tracks shared memory
- to be able to clean up map files from disk if RunLoop stops.
-
- * Shared/qt/MappedMemory.h: Added.
- (WebKit::MappedMemory::markUsed):
- (WebKit::MappedMemory::markFree):
- (WebKit::MappedMemory::isFree):
- * Shared/qt/MappedMemoryPool.cpp: Added.
- (WebKit::MappedMemoryPool::MappedMemoryPool):
- (WebKit::MappedMemoryPool::instance):
- (WebKit::MappedMemoryPool::size):
- (WebKit::MappedMemoryPool::at):
- (WebKit::MappedMemoryPool::append):
- (WebKit::MappedMemoryPool::cleanUp):
- * Shared/qt/UpdateChunk.cpp:
- (WebKit::mapMemory):
- (WebKit::mapFile):
- * Shared/qt/UpdateChunk.h:
- * WebKit2.pro:
-
-2010-09-20 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Eric Carlson.
-
- [GTK] enhanced context menu for media elements
- https://bugs.webkit.org/show_bug.cgi?id=45021
-
- New localized strings for the media element context-menu.
-
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::WebPlatformStrategies::contextMenuItemTagOpenVideoInNewWindow):
- (WebKit::WebPlatformStrategies::contextMenuItemTagOpenAudioInNewWindow):
- (WebKit::WebPlatformStrategies::contextMenuItemTagCopyVideoLinkToClipboard):
- (WebKit::WebPlatformStrategies::contextMenuItemTagCopyAudioLinkToClipboard):
- (WebKit::WebPlatformStrategies::contextMenuItemTagToggleMediaControls):
- (WebKit::WebPlatformStrategies::contextMenuItemTagToggleMediaLoop):
- (WebKit::WebPlatformStrategies::contextMenuItemTagEnterVideoFullscreen):
- (WebKit::WebPlatformStrategies::contextMenuItemTagMediaPlay):
- (WebKit::WebPlatformStrategies::contextMenuItemTagMediaPause):
- (WebKit::WebPlatformStrategies::contextMenuItemTagMediaMute):
- (WebKit::WebPlatformStrategies::contextMenuItemTagMediaUnMute):
- * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
-
-2010-09-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add a way to delay sending replies to sync requests
- https://bugs.webkit.org/show_bug.cgi?id=46117
-
- Change the didReceiveSyncMessage client message to return a SyncReplyMode. If the SyncReplyMode is
- AutomaticReply, the reply will be sent when the didReceiveSyncMessage function returns. However, if it is
- ManualReply, then the client is handed ownership of the reply ArgumentEncoder and can choose to send it
- at a later time using Connection::sendSyncReply.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::sendSyncReply):
- Send the message as a sync reply.
-
- (CoreIPC::Connection::dispatchMessages):
- Check the return value of didReceiveSyncMessage. If it is AutomaticReply, immediately send the reply.
-
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::MessageReceiver::didReceiveSyncMessage):
- Change return type.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
- * UIProcess/WebProcessProxy.h:
- Update for changed return type.
-
-2010-09-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Don't use bufferIsLargeEnoughToContain for Vectors with variable sized elements
- https://bugs.webkit.org/show_bug.cgi?id=46109
-
- Add a new VectorArgumentCoder class template, with specializations based on whether the
- element is fixed size or not. Then update the ArgumentEncoder<Vector<T>> specialization to choose the
- right VectorArgumentCoder specialization. To determine this, we use the "IsArithmetic" type trait,
- which holds true for all integer types and all floating point types.
-
- * Platform/CoreIPC/ArgumentCoders.h:
-
-2010-09-20 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Sam Weinig.
-
- Pasteboard doesn't work in WebKit2.
- https://bugs.webkit.org/show_bug.cgi?id=42317
- <rdar://problem/7660537>
-
- Adding support for RTF, RTFD and NSUrl formats on the Mac.
- Still missing the selective enabling of the menu entries.
-
- * WebKit2.xcodeproj/project.pbxproj: Added WebEditorClientMac.mm.
- * WebProcess/WebCoreSupport/WebEditorClient.cpp: Removed Mac only methods
- that are now in WebEditorClientMac.mm
- * WebProcess/WebCoreSupport/WebEditorClient.h: Fixed style and changed parameter
- type in documentFragmentFromAttributedString to be a Vector of RefPtr.
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: Added.
- All the following methods have been moved from WebEditorClient.cpp.
- (WebKit::WebEditorClient::userVisibleString): Added implementation.
- (WebKit::createExcludedElementsForAttributedStringConversion): Added.
- (WebKit::WebEditorClient::documentFragmentFromAttributedString): Added implementation.
- (WebKit::WebEditorClient::setInsertionPasteboard):
- (WebKit::WebEditorClient::pasteboardTypesForSelection):
- (WebKit::WebEditorClient::uppercaseWord):
- (WebKit::WebEditorClient::lowercaseWord):
- (WebKit::WebEditorClient::capitalizeWord):
- (WebKit::WebEditorClient::showSubstitutionsPanel):
- (WebKit::WebEditorClient::substitutionsPanelIsShowing):
- (WebKit::WebEditorClient::toggleSmartInsertDelete):
- (WebKit::WebEditorClient::isAutomaticQuoteSubstitutionEnabled):
- (WebKit::WebEditorClient::toggleAutomaticQuoteSubstitution):
- (WebKit::WebEditorClient::isAutomaticLinkDetectionEnabled):
- (WebKit::WebEditorClient::toggleAutomaticLinkDetection):
- (WebKit::WebEditorClient::isAutomaticDashSubstitutionEnabled):
- (WebKit::WebEditorClient::toggleAutomaticDashSubstitution):
- (WebKit::WebEditorClient::isAutomaticTextReplacementEnabled):
- (WebKit::WebEditorClient::toggleAutomaticTextReplacement):
- (WebKit::WebEditorClient::isAutomaticSpellingCorrectionEnabled):
- (WebKit::WebEditorClient::toggleAutomaticSpellingCorrection):
- (WebKit::WebEditorClient::checkTextOfParagraph):
- (WebKit::WebEditorClient::showCorrectionPanel):
- (WebKit::WebEditorClient::dismissCorrectionPanel):
- (WebKit::WebEditorClient::isShowingCorrectionPanel):
-
-2010-09-20 Andy Estes <aestes@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix a style issue and add a FIXME to make the AppleConnect plug-in
- workaround dependent on site-specific quirks being enabled, which
- WebKit2 does not yet support in its WebPreferences implementation.
- https://bugs.webkit.org/show_bug.cgi?id=45960
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
-
-2010-09-20 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- Add WebKit2 API to load a string as plain text
- https://bugs.webkit.org/show_bug.cgi?id=46091
-
- * Shared/CoreIPCSupport/WebPageMessageKinds.h:
- * UIProcess/API/C/WKPage.cpp:
- (WKPageLoadPlainTextString):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::loadPlainTextString):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::loadData):
- (WebKit::WebPage::loadHTMLString):
- (WebKit::WebPage::loadPlainTextString):
- (WebKit::WebPage::didReceiveMessage):
- * WebProcess/WebPage/WebPage.h:
-
-2010-09-19 Sam Weinig <sam@webkit.org>
-
- Fix windows build.
-
- * UIProcess/API/C/WKPage.h:
-
-2010-09-19 Sam Weinig <sam@webkit.org>
-
- Attempt to fix Qt build.
-
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
-
-2010-09-19 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add WebKit2 equivalent of the WebFormDelegate's doCommandBySelector
- <rdar://problem/8377088>
- https://bugs.webkit.org/show_bug.cgi?id=46073
-
- Add bundle client to match the behavior of:
- - (BOOL)textField:(DOMHTMLInputElement *)element doCommandBySelector:(SEL)commandSelector inFrame:(WebFrame *)frame;
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
- (WebKit::InjectedBundlePageFormClient::shouldPerformActionInTextField):
- * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::getActionTypeForKeyEvent):
- (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
- (WebKit::WebEditorClient::textWillBeDeletedInTextField):
-
-2010-09-19 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- WebKit2 decidePolicyForNavigationAction should include mouse button information
- <rdar://problem/8413165>
- https://bugs.webkit.org/show_bug.cgi?id=46060
-
- * UIProcess/API/C/WKAPICast.h:
- (WebKit::toRef):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::decidePolicyForNavigationAction):
- (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPolicyClient.cpp:
- (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
- (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
- * UIProcess/WebPolicyClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::findMouseEvent):
- (WebKit::mouseButtonForNavigationAction):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
-
-2010-09-19 Csaba Osztrogonác <ossy@webkit.org>
-
- [Qt] Unreviewed buildfix after r67813.
-
- Replace WKBundleRangeRef with WKBundleRangeHandleRef.
- https://bugs.webkit.org/show_bug.cgi?id=46054
-
- * DerivedSources.pro: Add WebCore/generated/JSRange.h to WEBCORE_GENERATED_HEADERS_FOR_WEBKIT2
-
-2010-09-19 Csaba Osztrogonác <ossy@webkit.org>
-
- [Qt] Unreviewed buildfix after r67802.
-
- WebKit2: Improve/unify the PageLoadClient interfaces.
- https://bugs.webkit.org/show_bug.cgi?id=46043
-
- * UIProcess/API/qt/ClientImpl.h:
+ * WebKit2.pri:
-2010-09-19 Sam Weinig <sam@webkit.org>
+2011-02-22 Brady Eidson <beidson@apple.com>
- Reviewed by Anders Carlsson.
+ Reviewed by Anders Carlsson and looked over by Brian Weinstein.
- Replace WKBundleRangeRef with WKBundleRangeHandleRef.
- https://bugs.webkit.org/show_bug.cgi?id=46054
+ <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
+ API to view and delete Application Cache data by origin.
- The new one acts like WKBundleNodeHandleRef and allows for getting a
- wrapper in a specific world for the handle.
+ I couldn't help myself - I also re-alphabetized WebResourceCacheManager in many places where
+ it's sorting was wrong due to a last minute name change.
- * Shared/APIObject.h:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameGetJavaScriptWrapperForRangeForWorld):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/API/c/WKBundleRange.cpp: Removed.
- * WebProcess/InjectedBundle/API/c/WKBundleRange.h: Removed.
- * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp: Added.
- (WKBundleRangeHandleGetTypeID):
- * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.h: Added.
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
- (WebKit::InjectedBundleNodeHandle::getOrCreate):
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
- * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: Added.
- (WebKit::domHandleCache):
- (WebKit::InjectedBundleRangeHandle::getOrCreate):
- (WebKit::InjectedBundleRangeHandle::create):
- (WebKit::InjectedBundleRangeHandle::InjectedBundleRangeHandle):
- (WebKit::InjectedBundleRangeHandle::~InjectedBundleRangeHandle):
- (WebKit::InjectedBundleRangeHandle::coreRange):
- * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h: Added.
- (WebKit::InjectedBundleRangeHandle::type):
- * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
- (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing):
- (WebKit::InjectedBundlePageEditorClient::shouldEndEditing):
- (WebKit::InjectedBundlePageEditorClient::shouldInsertNode):
- (WebKit::InjectedBundlePageEditorClient::shouldInsertText):
- (WebKit::InjectedBundlePageEditorClient::shouldDeleteRange):
- (WebKit::InjectedBundlePageEditorClient::shouldChangeSelectedRange):
- (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle):
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::jsWrapperForWorld):
- * WebProcess/WebPage/WebFrame.h:
+ Project file changes:
+ * GNUmakefile.am:
* win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
* win/WebKit2Generated.make:
-
-2010-09-18 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Improve/unify the PageLoadClient interfaces.
- https://bugs.webkit.org/show_bug.cgi?id=46043
-
- - Ensure that all the PageLoadClient functions (that are load related)
- have bundle API equivalents (this meant adding didFirstLayoutForFrame
- and didFirstVisuallyNonEmptyLayoutForFrame to the BundlePageLoadClient).
- - Add a userData out parameters to all the now paired BundlePageLoadClient
- functions, and a matching userData parameter to the PageLoadClient ones.
-
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/qt/ClientImpl.cpp:
- (qt_wk_didStartProvisionalLoadForFrame):
- (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame):
- (qt_wk_didFailProvisionalLoadWithErrorForFrame):
- (qt_wk_didCommitLoadForFrame):
- (qt_wk_didFinishDocumentLoadForFrame):
- (qt_wk_didFinishLoadForFrame):
- (qt_wk_didFailLoadWithErrorForFrame):
- (qt_wk_didReceiveTitleForFrame):
- (qt_wk_didFirstLayoutForFrame):
- (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::didStartProvisionalLoadForFrame):
- (WebKit::WebLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
- (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame):
- (WebKit::WebLoaderClient::didCommitLoadForFrame):
- (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame):
- (WebKit::WebLoaderClient::didFinishLoadForFrame):
- (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame):
- (WebKit::WebLoaderClient::didReceiveTitleForFrame):
- (WebKit::WebLoaderClient::didFirstLayoutForFrame):
- (WebKit::WebLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
- (WebKit::WebLoaderClient::didStartProgress):
- (WebKit::WebLoaderClient::didChangeProgress):
- (WebKit::WebLoaderClient::didFinishProgress):
- (WebKit::WebLoaderClient::didBecomeUnresponsive):
- (WebKit::WebLoaderClient::didBecomeResponsive):
- (WebKit::WebLoaderClient::processDidExit):
- (WebKit::WebLoaderClient::didChangeBackForwardList):
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
- (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
- (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
- (WebKit::WebPageProxy::didCommitLoadForFrame):
- (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
- (WebKit::WebPageProxy::didFinishLoadForFrame):
- (WebKit::WebPageProxy::didFailLoadForFrame):
- (WebKit::WebPageProxy::didReceiveTitleForFrame):
- (WebKit::WebPageProxy::didFirstLayoutForFrame):
- (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
- * UIProcess/WebPageProxy.h:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didFirstLayoutForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame):
- (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didChangeLocationWithinPageForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
- (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
- (WebKit::WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
-
-2010-09-18 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Enable Platform Strategies on Qt
-
- [Qt] Turn on PLATFORM_STRATEGIES
- https://bugs.webkit.org/show_bug.cgi?id=45831
-
- * WebKit2.pro: Added Added WebPlatformStrategies.{cpp,h}
-
-2010-09-17 Sam Weinig <sam@webkit.org>
-
- Reviewed by Jon Honeycutt.
-
- Need a way to load data (as plain text) in a WKPage
- <rdar://problem/8424239>
-
- * Shared/CoreIPCSupport/WebPageMessageKinds.h:
- * UIProcess/API/C/WKPage.cpp:
- (WKPageLoadHTMLString):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::loadHTMLString):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::loadHTMLString):
- (WebKit::WebPage::didReceiveMessage):
- * WebProcess/WebPage/WebPage.h:
-
-2010-09-17 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Anders Carlsson.
-
- Replace all uses of WTF::String and WTF::AtomicString with
- String and AtomicString.
-
- * Platform/Module.h:
- * Shared/CommandLine.h:
- (WebKit::CommandLine::operator[]):
- * Shared/WebCoreArgumentCoders.h:
- * Shared/WebEvent.h:
- (WebKit::WebKeyboardEvent::WebKeyboardEvent):
- (WebKit::WebKeyboardEvent::text):
- (WebKit::WebKeyboardEvent::unmodifiedText):
- (WebKit::WebKeyboardEvent::keyIdentifier):
- (WebKit::WebKeyboardEvent::decode):
- * Shared/WebNavigationDataStore.h:
- * Shared/WebPreferencesStore.h:
- * Shared/WebString.h:
- (WebKit::WebString::create):
- (WebKit::WebString::string):
- (WebKit::WebString::WebString):
- * Shared/WebURL.h:
- (WebKit::WebURL::create):
- (WebKit::WebURL::string):
- (WebKit::WebURL::WebURL):
- * UIProcess/API/C/WKAPICast.h:
- (WebKit::toRef):
- (WebKit::toURLRef):
- (WebKit::toCopiedRef):
- (WebKit::toCopiedURLRef):
- (WebKit::toWTFString):
- * UIProcess/API/C/WKContext.cpp:
- (WKContextCreate):
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::nsStringFromWebCoreString):
- * UIProcess/PageClient.h:
- * UIProcess/Plugins/PluginInfoStore.cpp:
- (WebKit::PluginInfoStore::setAdditionalPluginsDirectories):
- * UIProcess/Plugins/PluginInfoStore.h:
- * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
- (WebKit::PluginInfoStore::getPluginInfo):
- (WebKit::PluginInfoStore::getMIMETypeForExtension):
- * UIProcess/WebBackForwardListItem.h:
- (WebKit::WebBackForwardListItem::create):
- (WebKit::WebBackForwardListItem::setOriginalURL):
- (WebKit::WebBackForwardListItem::originalURL):
- (WebKit::WebBackForwardListItem::setURL):
- (WebKit::WebBackForwardListItem::url):
- (WebKit::WebBackForwardListItem::setTitle):
- (WebKit::WebBackForwardListItem::title):
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- (WebKit::WebContext::setAdditionalPluginsDirectory):
- * UIProcess/WebContext.h:
- (WebKit::WebContext::injectedBundlePath):
- * UIProcess/WebContextInjectedBundleClient.h:
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::didReceiveTitle):
- * UIProcess/WebFrameProxy.h:
- (WebKit::WebFrameProxy::url):
- (WebKit::WebFrameProxy::provisionalURL):
- * UIProcess/WebHistoryClient.h:
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::didReceiveTitleForFrame):
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebNavigationData.h:
- (WebKit::WebNavigationData::title):
- (WebKit::WebNavigationData::url):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::pageTitle):
- (WebKit::WebPageProxy::toolTip):
- (WebKit::WebPageProxy::urlAtProcessExit):
- * UIProcess/WebPolicyClient.h:
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::getPluginHostConnection):
- * UIProcess/WebProcessProxy.h:
- * UIProcess/WebUIClient.h:
- * WebProcess/InjectedBundle/InjectedBundle.h:
- (WebKit::InjectedBundle::create):
- (WebKit::InjectedBundle::setSandboxToken):
- * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
- * WebProcess/Plugins/NPRuntimeObjectMap.h:
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::start):
- * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
- * WebProcess/Plugins/Plugin.h:
- * WebProcess/Plugins/PluginController.h:
- * WebProcess/Plugins/PluginView.h:
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- * WebProcess/WebCoreSupport/WebContextMenuClient.h:
- * WebProcess/WebCoreSupport/WebDragClient.h:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::showCorrectionPanel):
- * WebProcess/WebCoreSupport/WebEditorClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- * WebProcess/WebCoreSupport/WebInspectorClient.h:
- * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
- (WebKit::WebSearchPopupMenu::saveRecentSearches):
- (WebKit::WebSearchPopupMenu::loadRecentSearches):
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
- * WebProcess/WebPage/WebFrame.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::runJavaScriptInMainFrame):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::registerURLSchemeAsEmptyDocument):
- * WebProcess/WebProcess.h:
-
-2010-09-17 Sam Weinig <sam@webkit.org>
-
- Fix Windows and Qt builds.
-
- * Shared/qt/PlatformCertificateInfo.h:
- (WebKit::PlatformCertificateInfo::decode):
- * Shared/win/PlatformCertificateInfo.h:
- (WebKit::PlatformCertificateInfo::decode):
-
-2010-09-17 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
- https://bugs.webkit.org/show_bug.cgi?id=42863
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::textZoomFactor):
- (WebKit::WebPage::setTextZoomFactor):
- (WebKit::WebPage::pageZoomFactor):
- (WebKit::WebPage::setPageZoomFactor):
- (WebKit::WebPage::setPageAndTextZoomFactors):
- Call functions on Frame instead of FrameView.
-
-2010-09-17 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Resize corner jiggles when resizing slowly in WebKit2
- <rdar://problem/7897425>
- https://bugs.webkit.org/show_bug.cgi?id=45601
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::windowResizerRect):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::windowResizerRect):
- * WebProcess/WebPage/WebPage.h:
- Move resize corner logic to WebPage and use the FrameView's size instead of the WebPages
- stored size, which doesn't get updated at the right time. This is in line with all other
- scrollbar metrics which are in terms of the FrameView's size.
-
-2010-09-17 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Make certificate data available to the WKFrameRef after it is committed
- Part of <rdar://problem/8350189>
- https://bugs.webkit.org/show_bug.cgi?id=45998
-
- * Shared/APIObject.h:
- Add new type.
-
- * Shared/WebCertificateInfo.h: Added.
- (WebKit::WebCertificateInfo::create):
- (WebKit::WebCertificateInfo::platformCertificateInfo):
- (WebKit::WebCertificateInfo::WebCertificateInfo):
- (WebKit::WebCertificateInfo::type):
- Add API type for vending.
-
- * Shared/mac/PlatformCertificateInfo.h: Added.
- (WebKit::PlatformCertificateInfo::peerCertificates):
- * Shared/mac/PlatformCertificateInfo.mm: Added.
- (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
- (WebKit::PlatformCertificateInfo::encode):
- (WebKit::PlatformCertificateInfo::decode):
- (WebKit::PlatformCertificateInfo::dump):
- * Shared/qt/PlatformCertificateInfo.h: Added.
- (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
- (WebKit::PlatformCertificateInfo::encode):
- (WebKit::PlatformCertificateInfo::decode):
- * Shared/win/PlatformCertificateInfo.h: Added.
- (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
- (WebKit::PlatformCertificateInfo::encode):
- (WebKit::PlatformCertificateInfo::decode):
- Add platform specific holder for certificate data and encode/decode functions
- to send it over the wire. Right now, this only implemented for the mac.
-
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKBase.h:
- * UIProcess/API/C/WKCertificateInfo.cpp: Added.
- (WKCertificateInfoGetTypeID):
- * UIProcess/API/C/WKCertificateInfo.h: Added.
- Add wrapper for WebCertificateInfo.
-
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameGetCertificateInfo):
- * UIProcess/API/C/WKFrame.h:
- Add getter for a WKCertificateInfo.
-
- * UIProcess/API/C/mac/WKCertificateInfoMac.h: Added.
- * UIProcess/API/C/mac/WKCertificateInfoMac.mm: Added.
- (WKCertificateInfoGetPeerCertificates):
- Add mac specific getters for the platform specific certificate
- data.
-
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::setCertificateInfo):
- * UIProcess/WebFrameProxy.h:
- (WebKit::WebFrameProxy::certificateInfo):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::didCommitLoadForFrame):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- Pipe the certificate info through to the WebFrameProxy on
- commit.
-
* WebKit2.pro:
* WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
- Add new files.
-
-2010-09-17 Matthew Delaney <mdelaney@apple.com>
-
- Reviewed by Simon Fraser.
-
- Reduce minimum DOMTimer interval
- https://bugs.webkit.org/show_bug.cgi?id=45362
-
- * WebProcess/WebPage/WebPage.cpp: Added in a call to set the mimimum allowed DOMTimer to 4ms.
-
-2010-09-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- CoreIPC argument coder improvements
- https://bugs.webkit.org/show_bug.cgi?id=45999
-
- * Platform/CoreIPC/ArgumentCoders.h:
- Add explicit specialization for a vector of bytes.
-
- * Platform/CoreIPC/Arguments.h:
- (CoreIPC::Arguments1::decode):
- (CoreIPC::Arguments2::decode):
- (CoreIPC::Arguments3::decode):
- (CoreIPC::Arguments4::decode):
- (CoreIPC::Arguments5::decode):
- (CoreIPC::Arguments6::decode):
- Use the injected class name for less typing.
-
- (CoreIPC::Arguments7::Arguments7):
- (CoreIPC::Arguments7::encode):
- (CoreIPC::Arguments7::decode):
- (CoreIPC::In):
- (CoreIPC::Out):
- Add Arguments7 class.
-
-2010-09-17 Andy Estes <aestes@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/8440903> WK2: REGRESSION (r66156): Web sites using
- AppleConnect fail to log in: "HTTP Status 404 - /ssowebapp/scriptFrame"
- https://bugs.webkit.org/show_bug.cgi?id=45960
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
-
-2010-09-17 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Make WebNumbers immutable matching CF.
-
- * Shared/WebNumber.h:
- (WebKit::WebNumber::value):
- (WebKit::WebNumber::WebNumber):
- * UIProcess/API/C/WKNumber.cpp:
- (WKUInt64GetValue):
- * UIProcess/API/C/WKNumber.h:
-
-2010-09-17 Sam Weinig <sam@webkit.org>
-
- Reviewed by John Sullivan.
-
- Add bool wrapper for WebKit2 API
- https://bugs.webkit.org/show_bug.cgi?id=45985
+ WK2 build-system and API paperwork:
+ * DerivedSources.make:
+ * Platform/CoreIPC/MessageID.h:
+ * Shared/API/c/WKBase.h:
* Shared/APIObject.h:
- * Shared/WebNumber.h:
* UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKBase.h:
- * UIProcess/API/C/WKNumber.cpp:
- (WKBooleanGetTypeID):
- (WKBooleanCreate):
- (WKBooleanGetValue):
- (WKBooleanSetValue):
- * UIProcess/API/C/WKNumber.h:
-2010-09-16 Sam Weinig <sam@webkit.org>
+ Add a helper to perform an ArrayCallback with a Vector of SecurityOriginDatas:
+ * Shared/SecurityOriginData.cpp:
+ (WebKit::performAPICallbackWithSecurityOriginDataVector):
+ * Shared/SecurityOriginData.h:
+ * UIProcess/WebResourceCacheManagerProxy.cpp:
+ (WebKit::WebResourceCacheManagerProxy::didGetCacheOrigins): Use performAPICallbackWithSecurityOriginDataVector here.
- Reviewed by Anders Carlsson.
-
- Add support for sending synchronous messages from the InjectedBundle to the WKContext
- <rdar://problem/8365320>
- https://bugs.webkit.org/show_bug.cgi?id=44785
-
- * Shared/CoreIPCSupport/WebContextMessageKinds.h:
- * UIProcess/API/C/WKContext.h:
+ Add an ApplicationCacheManagerProxy to the context and invalidate it at the appropriate times:
* UIProcess/WebContext.cpp:
- (WebKit::WebContext::didReceiveSynchronousMessageFromInjectedBundle):
- (WebKit::WebContext::didReceiveMessage):
- (WebKit::WebContext::didReceiveSyncMessage):
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::~WebContext):
+ (WebKit::WebContext::processDidClose):
+ (WebKit::WebContext::didReceiveMessage): Route messages to the right proxy.
* UIProcess/WebContext.h:
- * UIProcess/WebContextInjectedBundleClient.cpp:
- (WebKit::WebContextInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle):
- * UIProcess/WebContextInjectedBundleClient.h:
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundlePostSynchronousMessage):
- * WebProcess/InjectedBundle/API/c/WKBundle.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::postSynchronousMessage):
- * WebProcess/InjectedBundle/InjectedBundle.h:
-
-2010-09-16 Balazs Kelemen <kbalazs@webkit.org>
-
- Unreviewed trivial typo fix.
-
- Remove old debug helper code inside |#if 0| from ConnectionQt.cpp
+ (WebKit::WebContext::applicationCacheManagerProxy):
+ (WebKit::WebContext::resourceCacheManagerProxy):
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- (CoreIPC::Connection::readyReadHandler):
+ Add API to get the ApplicationCacheManager for a context:
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextGetApplicationCacheManager):
+ (WKContextGetResourceCacheManager):
+ * UIProcess/API/C/WKContext.h:
-2010-09-15 Enrica Casucci <enrica@apple.com>
+ Route messages to the right place:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveMessage):
- Reviewed by Sam Weinig.
+ Add the API object, which wraps to WebApplicationCacheManagerProxy:
+ * UIProcess/API/C/WKApplicationCacheManager.cpp: Added.
+ (WKApplicationCacheManagerGetTypeID):
+ (WKApplicationCacheManagerGetApplicationCacheOrigins):
+ (WKApplicationCacheManagerDeleteEntriesForOrigin):
+ (WKApplicationCacheManagerDeleteAllEntries):
+ * UIProcess/API/C/WKApplicationCacheManager.h: Added.
+
+ The UIProcess implementation of the manager to send messages to the WebProcess and pipe a callback back up to the client:
+ * UIProcess/WebApplicationCacheManagerProxy.cpp: Added.
+ (WebKit::WebApplicationCacheManagerProxy::create):
+ (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
+ (WebKit::WebApplicationCacheManagerProxy::~WebApplicationCacheManagerProxy):
+ (WebKit::WebApplicationCacheManagerProxy::invalidate):
+ (WebKit::WebApplicationCacheManagerProxy::didReceiveMessage):
+ (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
+ (WebKit::WebApplicationCacheManagerProxy::didGetApplicationCacheOrigins): Use performAPICallbackWithSecurityOriginDataVector here.
+ (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
+ (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):
+ * UIProcess/WebApplicationCacheManagerProxy.h: Added.
+ (WebKit::WebApplicationCacheManagerProxy::clearContext):
+ (WebKit::WebApplicationCacheManagerProxy::type):
+ * UIProcess/WebApplicationCacheManagerProxy.messages.in: Added.
+
+ The WebProcess implementation to response to UIProcess messages and actually do the dirty-work in WebCore:
+ * WebProcess/ApplicationCache: Added.
+ * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: Added.
+ (WebKit::WebApplicationCacheManager::shared):
+ (WebKit::WebApplicationCacheManager::WebApplicationCacheManager):
+ (WebKit::WebApplicationCacheManager::didReceiveMessage):
+ (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
+ (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
+ (WebKit::WebApplicationCacheManager::deleteAllEntries):
+ * WebProcess/ApplicationCache/WebApplicationCacheManager.h: Added.
+ * WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in: Added.
+
+2011-02-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Get rid of WebProcessManager
+ https://bugs.webkit.org/show_bug.cgi?id=55001
+
+ WebProcessManager had become a stupid map of WebContext > WebProcess relations,
+ which isn't really useful since the WebContext already knows about its process.
- Pasteboard doesn't work in WebKit2.
- https://bugs.webkit.org/show_bug.cgi?id=42317
- <rdar://problem/7660537>
-
- Initial work to support cut, copy, paste and selectAll in WebKit2.
- It still does not support RTF and RTFD format for Mac and the selective
- enabling of the editing menu entries.
-
- * Shared/CoreIPCSupport/WebPageMessageKinds.h: Added messages to support the
- new editing commands.
+ * Shared/WebURLRequest.cpp:
* UIProcess/API/mac/WKView.mm:
- (-[WKView validateUserInterfaceItem:]): Added.
- (-[WKView copy:]): Added.
- (-[WKView cut:]): Added.
- (-[WKView paste:]): Addded.
- (-[WKView selectAll:]): Added.
- * UIProcess/WebPageProxy.cpp: Added all the proxy methods.
- (WebKit::WebPageProxy::selectAll):
- (WebKit::WebPageProxy::copy):
- (WebKit::WebPageProxy::cut):
- (WebKit::WebPageProxy::paste):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::documentFragmentFromAttributedString): Added but not
- implemented. This is needed to support RTF and RTFD.
- (WebKit::WebEditorClient::setInsertionPasteboard): Added but not implemented.
- This is needed only to support Mail on the Mac.
- * WebProcess/WebPage/WebPage.cpp: Added all the stub methods.
- (WebKit::WebPage::selectAll):
- (WebKit::WebPage::copy):
- (WebKit::WebPage::cut):
- (WebKit::WebPage::paste):
- (WebKit::WebPage::didReceiveMessage): Modified to handle the new messages from
- the UI process.
- * WebProcess/WebPage/WebPage.h:
-
-2010-09-16 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by Jian Li.
-
- Unify FILE_SYSTEM and FILE_WRITER enables under the name FILE_SYSTEM.
- https://bugs.webkit.org/show_bug.cgi?id=45798
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-09-15 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKit2 should be able to encode and decode objects of type APIObject::TypeURL.
- https://bugs.webkit.org/show_bug.cgi?id=45819
-
- * Shared/UserMessageCoders.h:
- Add the ability to encode and decode the URL type.
- (WebKit::UserMessageEncoder::baseEncode):
- (WebKit::UserMessageDecoder::baseDecode):
-
-2010-09-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Jon Honeycutt.
-
- Add user message coding for WebUInt64 type.
-
- * Shared/UserMessageCoders.h:
- (WebKit::UserMessageEncoder::baseEncode):
- (WebKit::UserMessageDecoder::baseDecode):
-
-2010-09-15 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- We should save messages that can't be sent when postMessageToInjectedBundle is called and
- send them in ensureWebProcess.
- https://bugs.webkit.org/show_bug.cgi?id=45822
-
* UIProcess/WebContext.cpp:
+ (WebKit::WebContext::~WebContext):
(WebKit::WebContext::ensureWebProcess):
- Post any messages to the Injected Bundle that couldn't be sent earlier because the
- WebProcess hadn't been initialized yet.
- (WebKit::WebContext::postMessageToInjectedBundle):
- * UIProcess/WebContext.h:
-
-2010-09-15 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/8214099> Mousewheel scrolling in WebKit2 is wonky
-
- Use floats so that fractional scrollwheel deltas don't get lost.
-
- * Shared/mac/WebEventFactory.mm:
- (WebKit::WebEventFactory::createWebWheelEvent):
-
-2010-09-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Jon Honeycutt.
-
- Add WKUInt64Ref wrapper for sending uint64_ts.
-
- * Shared/APIObject.h:
- * Shared/WebNumber.h:
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKBase.h:
- * UIProcess/API/C/WKNumber.cpp:
- (WKUInt64GetTypeID):
- (WKUInt64Create):
- (WKUInt64GetValue):
- (WKUInt64SetValue):
- * UIProcess/API/C/WKNumber.h:
-
-2010-09-15 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=44715
- maps.google.com flips upside down when zooming map using trackpad in WebKit2 on Mac
-
- Move geometry flipping to platform-specific code.
-
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- (WebKit::LayerBackedDrawingArea::platformInit):
-
-2010-09-14 Jia Pu <jpu@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Only intercept ESC key press when autocorrection UI is visible.
- https://bugs.webkit.org/show_bug.cgi?id=45071
-
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::isShowingCorrectionPanel): Dummy implementation.
-
- * WebProcess/WebCoreSupport/WebEditorClient.h: Adopt new method delcared in base class.
-
-2010-09-14 Sam Weinig <sam@webkit.org>
-
- Fix windows build.
-
- * win/WebKit2Generated.make:
-
-2010-09-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Remove WKBundleNodeRef, replacing uses with WKBundleNodeHandleRef.
- https://bugs.webkit.org/show_bug.cgi?id=45785
-
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Remove files.
-
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
- * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp: Removed.
- * WebProcess/InjectedBundle/API/c/WKBundleNode.h: Removed.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/API/c/WKBundleRange.cpp:
- (WKBundleRangeCopyStartContainer):
- (WKBundleRangeCopyEndContainer):
- * WebProcess/InjectedBundle/API/c/WKBundleRange.h:
- * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
- (WebKit::InjectedBundlePageEditorClient::shouldInsertNode):
- Change to be in terms of WKBundleNodeHandleRef.
-
-2010-09-14 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Adam Roben.
-
- Exceptions are getting ignored on 64-bit Windows in the Web Process
- https://bugs.webkit.org/show_bug.cgi?id=45779
-
- * WebProcess/WebKitMain.cpp:
- (disableProcessCallbackFilterForExceptions):
- Clear the PROCESS_CALLBACK_FILTER_ENABLED flag so that exceptions thrown in callback routines
- are not ignored, as described in http://support.microsoft.com/kb/976038 and
- http://blog.paulbetts.org/index.php/2010/07/20/the-case-of-the-disappearing-onload-exception-user-mode-callback-exceptions-in-x64/.
- (WebKitMain):
-
-2010-09-14 Brent Fulgham <bfulgham@webkit.org>
-
- Build correction, no review.
-
- * win/WebKit2.vcproj: Disable build for Cairo targets of
- the WebURLRequestWin.cpp and WebURLResponseWin.cpp files.
-
-2010-09-14 Eric Seidel <eric@webkit.org>
-
- Unreviewed, reverting changes r67451 and r67451.
- Broke lots of builders.
-
- Only intercept ESC key press when autocorrection UI is visible.
- https://bugs.webkit.org/show_bug.cgi?id=45071
-
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::dismissCorrectionPanel):
- * WebProcess/WebCoreSupport/WebEditorClient.h:
-
-2010-09-14 Jia Pu <jpu@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Only intercept ESC key press when autocorrection UI is visible.
- https://bugs.webkit.org/show_bug.cgi?id=45071
-
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::isShowingCorrectionPanel): Dummy implementation.
-
- * WebProcess/WebCoreSupport/WebEditorClient.h: Adopt new method delcared in base class.
-
-2010-09-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Jon Honeycutt.
-
- URL in address bar doesn't update when navigating to http://webkit.org/new-bug when using WebKit2
- <rdar://problem/8272775>
- https://bugs.webkit.org/show_bug.cgi?id=45729
-
- Pass an updated provisional url while notifying the UIProcess of
- didReceiveServerRedirectForProvisionalLoadForFrame.
-
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
- * UIProcess/WebFrameProxy.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
-
-2010-09-13 Sam Weinig <sam@webkit.org>
-
- Fix windows build.
-
- * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
-
-2010-09-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Jon Honeycutt.
-
- Threaded mode should work in WebKit2 MiniBrowser
- https://bugs.webkit.org/show_bug.cgi?id=45727
-
- - Make starting the web thread more like starting a new
- process (encapsulate it in a thread launcher class).
- - Make the call to didFinishLaunching asynchronous so that
- WebProcess is fully constructed before it is called.
-
- * Platform/WorkItem.h:
- (MemberFunctionWorkItem1::MemberFunctionWorkItem1):
- (MemberFunctionWorkItem1::~MemberFunctionWorkItem1):
- (MemberFunctionWorkItem1::execute):
- (WorkItem::create):
- * UIProcess/Launcher/ProcessLauncher.h:
- * UIProcess/Launcher/ThreadLauncher.cpp: Added.
- (WebKit::ThreadLauncher::ThreadLauncher):
- (WebKit::ThreadLauncher::launchThread):
- (WebKit::ThreadLauncher::didFinishLaunchingThread):
- (WebKit::ThreadLauncher::invalidate):
- * UIProcess/Launcher/ThreadLauncher.h: Added.
- (WebKit::ThreadLauncher::Client::~Client):
- (WebKit::ThreadLauncher::create):
- (WebKit::ThreadLauncher::isLaunching):
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::terminateProcess):
- * UIProcess/Launcher/mac/ThreadLauncherMac.mm: Added.
- (WebKit::webThreadBody):
- (WebKit::ThreadLauncher::createWebThread):
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Added.
- (WebKit::webThreadBody):
- (WebKit::ProcessLauncher::createWebThread):
- * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
- * UIProcess/Launcher/win/ThreadLauncherWin.cpp: Added.
- (WebKit::webThreadBody):
- (WebKit::ProcessLauncher::createWebThread):
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::~WebProcessProxy):
- (WebKit::WebProcessProxy::connect):
- (WebKit::WebProcessProxy::isLaunching):
- (WebKit::WebProcessProxy::didFinishLaunching):
- * UIProcess/WebProcessProxy.h:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
-2010-09-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- didFinishDocumentLoadForFrame() is not being sent by WebKit2
- <rdar://problem/8424171>
-
- Finish wiring up didFinishDocumentLoad to the UIProcess.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
-
-2010-09-13 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Sam Weinig.
-
- Paste should be implemented in WebCore like Copy and Cut for Mac also.
- https://bugs.webkit.org/show_bug.cgi?id=45494
- <rdar://problem/7660537>
-
- On the Mac platform, the implementation of the paste operation is all done
- at the WebKit level. In order to support it on WebKit2 it is necessary to
- refactor the code and move this functionality at the level of WebCore like
- we already have on Windows.
- The original code relies on some in AppKit functions that call back into
- WebKit causing problems in WebKit2. All this functionality has been moved
- at the level of the editor client where it can be dealt with appropriately.
-
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::documentFragmentFromAttributedString): Added.
- (WebKit::WebEditorClient::setInsertionPasteboard): Added.
- * WebProcess/WebCoreSupport/WebEditorClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::canShowMIMETypeAsHTML): Added.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
-
-2010-09-11 Daniel Bates <dbates@rim.com>
-
- Attempt to fix the Qt Linux Release build after changeset 67312 <http://trac.webkit.org/changeset/67312>.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage): Add missing ',' in WKPageUIClient initialization list.
-
-2010-09-11 Adam Barth <abarth@webkit.org>
-
- Reviewed by Sam Weinig.
-
- Make SecurityOrigin::canDisplay an instance function
- https://bugs.webkit.org/show_bug.cgi?id=45219
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::performFrameLoadURLRequest):
-
-2010-09-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Implement WebKit2 callback equivalent to - [WebUIDelegate webView:setStatusText:]
- <rdar://problem/8359252>
- https://bugs.webkit.org/show_bug.cgi?id=45605
-
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::setStatusText):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::setStatusText):
- * UIProcess/WebUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::setStatusbarText):
-
-2010-09-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Add callback mechanism for the getting the source of a frame
- <rdar://problem/8364681>
- https://bugs.webkit.org/show_bug.cgi?id=45604
-
- * Shared/CoreIPCSupport/WebPageMessageKinds.h:
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- * UIProcess/API/C/WKPage.cpp:
- (WKPageGetSourceForFrame):
- (callGetSourceForFrameBlockBlockAndDispose):
- (WKPageGetSourceForFrame_b):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::getSourceForFrame):
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::didGetSourceForFrame):
- (WebKit::WebPageProxy::processDidExit):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::source):
- * WebProcess/WebPage/WebFrame.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::getSourceForFrame):
- (WebKit::WebPage::didReceiveMessage):
- * WebProcess/WebPage/WebPage.h:
-
-2010-09-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Darin Adler.
-
- Add NetworkingContext to avoid layer violations
- https://bugs.webkit.org/show_bug.cgi?id=42292
-
- * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp:
- * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
- (WebFrameNetworkingContext::create):
-
-2010-09-10 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Add zoom support to WebKit2 API
- <rdar://problem/7660657>
- https://bugs.webkit.org/show_bug.cgi?id=45585
-
- - Add UIProcess API for setting zoom factors.
- - Change bundle zoom API to be in terms of doubles
- for consistency.
-
- * Shared/CoreIPCSupport/WebPageMessageKinds.h:
- * UIProcess/API/C/WKPage.cpp:
- (WKPageGetTextZoomFactor):
- (WKPageSetTextZoomFactor):
- (WKPageGetPageZoomFactor):
- (WKPageSetPageZoomFactor):
- (WKPageSetPageAndTextZoomFactors):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::setTextZoomFactor):
- (WebKit::WebPageProxy::setPageZoomFactor):
- (WebKit::WebPageProxy::setPageAndTextZoomFactors):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::textZoomFactor):
- (WebKit::WebPageProxy::pageZoomFactor):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageGetTextZoomFactor):
- (WKBundlePageSetTextZoomFactor):
- (WKBundlePageGetPageZoomFactor):
- (WKBundlePageSetPageZoomFactor):
- * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::textZoomFactor):
- (WebKit::WebPage::setTextZoomFactor):
- (WebKit::WebPage::pageZoomFactor):
- (WebKit::WebPage::setPageZoomFactor):
- (WebKit::WebPage::setPageAndTextZoomFactors):
- (WebKit::WebPage::didReceiveMessage):
- * WebProcess/WebPage/WebPage.h:
-
-2010-09-10 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Andreas Kling.
-
- Application cache directory should be checked before sending to the web process
- https://bugs.webkit.org/show_bug.cgi?id=45462
-
+ (WebKit::WebContext::processDidFinishLaunching):
+ * UIProcess/WebProcessManager.cpp: Removed.
+ * UIProcess/WebProcessManager.h: Removed.
* UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::WebProcessProxy): Check the return value of
- m_context->applicationCacheDirectoy() to avoid sending a null string
- to the web process what makes it asserting.
-
-2010-09-10 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom.
- Precursor to <rdar://problem/7660657>
- https://bugs.webkit.org/show_bug.cgi?id=45522
-
- Now that WebCore doesn't require a mode, change the bundle API for zoom to not
- require one either.
-
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageStopLoading):
- (WKBundlePageGetTextZoomFactor):
- (WKBundlePageSetTextZoomFactor):
- (WKBundlePageGetPageZoomFactor):
- (WKBundlePageSetPageZoomFactor):
- * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::textZoomFactor):
- (WebKit::WebPage::setTextZoomFactor):
- (WebKit::WebPage::pageZoomFactor):
- (WebKit::WebPage::setPageZoomFactor):
- * WebProcess/WebPage/WebPage.h:
-
-2010-09-10 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Andreas Kling.
-
- [Qt] Implement port specific part of WebKit::InjectedBundle
- https://bugs.webkit.org/show_bug.cgi?id=45541
-
- * WebProcess/InjectedBundle/InjectedBundle.h: Typedef PlatformBundle as QLibrary for qt.
- * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
- (WebKit::InjectedBundle::load): Implemented.
-
-2010-09-10 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Andreas Kling.
-
- [Qt] MiniBrowser crashes with multiply windows when closing one of them
- https://bugs.webkit.org/show_bug.cgi?id=45536
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::~QWKPage): Do not call WKPageTerminate since this is designed
- to terminate the web process. We are correctly detaching the page without
- this call anyway.
-
-2010-09-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Fisher.
-
- Move code from WebKit-layer to DocumentLoader
- https://bugs.webkit.org/show_bug.cgi?id=45569
-
- This code looks copy/pasted from Mac. It's unclear whether whether all
- the complexity is needed here, but I don't have a good way to find out.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::committedLoad):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
-
-2010-09-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark Rowe and Darin Adler.
-
- Set the visible name for the web process
- https://bugs.webkit.org/show_bug.cgi?id=45564
- <rdar://problem/8416970>
-
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::processName):
- Add a thread safe implementation of -[NSProcessInfo processName].
-
- (WebKit::ProcessLauncher::launchProcess):
- Pass the process name to the child process.
-
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain):
- Set the visible name.
-
-2010-09-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Main resource bytes shouldn't bounce through FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=45496
-
- Now return the bytes to the DocumentLoader.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::receivedData):
-
-2010-09-10 Adam Roben <aroben@apple.com>
-
- Don't crash when a frame is destroyed after the UI process has
- disconnected
-
- Fixes <http://webkit.org/b/45535> <rdar://problem/8412928> Crash in
- WebProcess::removeWebFrame on exit with WebKit2 (Release builds only)
-
- Reviewed by Darin Adler.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::removeWebFrame): Null-check m_connection before
- dereferencing it.
-
-2010-09-09 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Adam Roben.
-
- Scrollbars fail to render in composited iframes.
- https://bugs.webkit.org/show_bug.cgi?id=45335
-
- Use LocalWindowsContext when painting the plugin.
-
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- (WebKit::NetscapePlugin::platformPaint):
-
-2010-09-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Allow passing WebDoubles via postMessage.
-
- * Shared/UserMessageCoders.h:
- (WebKit::UserMessageEncoder::baseEncode):
- (WebKit::UserMessageDecoder::baseDecode):
-
-2010-09-08 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- WebKit2 needs a way to box numbers (for Array, Dictionary, etc.)
- <rdar://problem/8408844>
- https://bugs.webkit.org/show_bug.cgi?id=45429
-
- This adds a generic WebNumber class that can be used for any scalar
- numeric type. Right now, we are only exposing a double version, but it
- is designed to allow more.
-
- * Shared/APIObject.h:
- * Shared/WebNumber.h: Added.
- (WebKit::WebNumber::create):
- (WebKit::WebNumber::value):
- (WebKit::WebNumber::setValue):
- (WebKit::WebNumber::WebNumber):
- (WebKit::WebNumber::type):
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKBase.h:
- * UIProcess/API/C/WKNumber.cpp: Added.
- (WKDoubleGetTypeID):
- (WKDoubleCreate):
- (WKDoubleGetValue):
- (WKDoubleSetValue):
- * UIProcess/API/C/WKNumber.h: Added.
- * UIProcess/API/C/WebKit2.h:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
-
-2010-09-08 Anders Carlsson <andersca@apple.com>
-
- Don't include the std namespace in a header. This hopefully fixes the Windows build.
-
- * Shared/WebCoreArgumentCoders.h:
-
-2010-09-08 Anders Carlsson <andersca@apple.com>
-
- Suggested and reviewed by Darin Adler.
-
- Fix an overflow bug in bufferIsLargeEnoughToContain.
-
- * Platform/CoreIPC/ArgumentDecoder.h:
- (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
-
-2010-09-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Improve CoreIPC encoding of strings
- https://bugs.webkit.org/show_bug.cgi?id=45418
-
- Encode and decode null Strings. Check that the string length isn't bogus.
-
- * Platform/CoreIPC/ArgumentCoders.h:
- * Platform/CoreIPC/ArgumentDecoder.cpp:
- (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
- * Platform/CoreIPC/ArgumentDecoder.h:
- (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
- * Shared/WebCoreArgumentCoders.h:
-
-2010-09-08 Adam Roben <aroben@apple.com>
-
- Add a way to cause the web process to crash at a random time
-
- Setting the WEBKIT2_CRASH_WEB_PROCESS_RANDOMLY environment variable
- will cause the web process to crash at a random point up to 3 minutes
- after launching.
-
- Fixes <http://webkit.org/b/43058> <rdar://problem/8240150>
-
- Reviewed by Darin Adler.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::sleep): Added an implementation of this function for Windows.
- It just calls through to ::Sleep.
- (WebKit::randomCrashThread): Added. Sleeps for a random amount of time
- up to 3 minutes, then crashes.
- (WebKit::startRandomCrashThreadIfRequested): Added. Starts the crash
- thread if the WEBKIT2_CRASH_WEB_PROCESS_RANDOMLY environment variable
- is set.
- (WebKit::WebProcess::initialize): Added a call to
- startRandomCrashThreadIfRequested.
-
-2010-09-08 Adam Roben <aroben@apple.com>
-
- Fix potential ref-counting issues with WorkItemWin
-
- Reviewed by Anders Carlsson.
-
- * Platform/WorkQueue.h: Changed WorkItemWin to inherit from
- ThreadSafeShared instead of RefCounted so that its ref-count will stay
- consistent when used on multiple threads.
-
-2010-09-08 Adam Roben <aroben@apple.com>
-
- Teach WorkQueue how to stop waiting on objects on Windows
-
- WorkQueue now uses a subclass of WorkItemWin, HandleWorkItem, to hold
- the waited-upon HANDLE and its corresponding wait handle. When a
- HANDLE is unregistered, we use the HandleWorkItem to cancel the wait
- and destroy the HANDLE.
-
- Fixes <http://webkit.org/b/42826> <rdar://problem/8222253> Crash in
- thread pool because WorkQueue keeps waiting on closed HANDLEs
-
- Reviewed by Anders Carlsson.
-
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- (CoreIPC::Connection::platformInvalidate): Changed to call
- WorkQueue::unregisterAndCloseHandle instead of closing our handles
- manually.
-
- (CoreIPC::Connection::readEventHandler):
- (CoreIPC::Connection::writeEventHandler):
- Handle cases where the pipe has already closed by just bailing out.
- This can happen if a WorkItem to call one of these functions has
- already been scheduled before platformInvalidate is called.
-
- * Platform/WorkQueue.h: Gave WorkItemWin a virtual destructor, added
- HandleWorkItem, changed m_handles to hold HandleWorkItems, and added
- functions for unregistering waits.
-
- * Platform/win/WorkQueueWin.cpp:
- (WorkQueue::WorkItemWin::~WorkItemWin): Added. This virtual destructor
- ensures that HandleWorkItem's destructor gets called.
-
- (WorkQueue::HandleWorkItem::HandleWorkItem):
- (WorkQueue::HandleWorkItem::createByAdoptingHandle):
- Added simple constructor/creator.
-
- (WorkQueue::HandleWorkItem::~HandleWorkItem): Closes the handle we
- adopted.
- (WorkQueue::registerHandle): Changed to create a HandleWorkItemWin and
- to store the wait handle in it.
- (WorkQueue::unregisterAndCloseHandle): Added. Removes the
- HandleWorkItem for this HANDLE from m_handles and then schedules its
- wait to be unregistered and the item to be destroyed.
- (WorkQueue::platformInvalidate): Added an assertion and removed an
- obsolete FIXME.
- (WorkQueue::unregisterWaitAndDestroyItemSoon): Added. Calls
- unregisterWaitAndDestroyItemCallback on a worker thread, passing it
- ownership of the HandleWorkItem.
- (WorkQueue::unregisterWaitAndDestroyItemCallback): Added. Adopts the
- passed-in HandleWorkItem, then unregisters the handle's wait, then
- destroys the HandleWorkItem when the RefPtr holding it goes out of
- scope. Destroying the HandleWorkItem closes the handle.
-
-2010-09-08 Adam Roben <aroben@apple.com>
-
- Remove WKSerializedScriptValue.cpp/h from the Copy Files build phase
-
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-09-08 Adam Roben <aroben@apple.com>
-
- Get rid of WorkQueue::m_performWorkEvent
-
- We were signaling m_performWorkEvent to spawn a worker thread. We can
- use ::QueueUserWorkItem to spawn the thread instead.
-
- Fixes <http://webkit.org/b/45407> WorkQueue::m_performWorkEvent is
- unnecessary
-
- Reviewed by Anders Carlsson.
-
- * Platform/WorkQueue.h: Removed m_performWorkEvent.
-
- * Platform/win/WorkQueueWin.cpp:
- (WorkQueue::workThreadCallback): Replaced eventCallback with this
- function. Its functionality is unchanged.
-
- (WorkQueue::platformInitialize):
- (WorkQueue::platformInvalidate):
- Removed code to set up and clean up m_performWorkEvent.
-
- (WorkQueue::scheduleWork): Use ::QueueUserWorkItem instead of
- signaling m_performWorkEvent to spawn a worker thread.
-
-2010-09-08 Adam Roben <aroben@apple.com>
-
- Fix WebKit2Common.vsprops line-endings
-
- * win/WebKit2Common.vsprops: Made all line-endings be CRLF, as this is
- the format Visual Studio wants.
-
-2010-09-07 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Support SerializedScriptValue in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=45340
-
- Add wrappers and IPC serialization for SerializedScriptValue
-
- * Shared/APIObject.h:
- * Shared/UserMessageCoders.h:
- (WebKit::UserMessageEncoder::baseEncode):
- (WebKit::UserMessageDecoder::baseDecode):
- * Shared/WebSerializedScriptValue.h: Added.
- (WebKit::WebSerializedScriptValue::create):
- (WebKit::WebSerializedScriptValue::adopt):
- (WebKit::WebSerializedScriptValue::deserialize):
- (WebKit::WebSerializedScriptValue::data):
- (WebKit::WebSerializedScriptValue::WebSerializedScriptValue):
- (WebKit::WebSerializedScriptValue::type):
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKBase.h:
- * UIProcess/API/C/WKSerializedScriptValue.cpp: Added.
- (WKSerializedScriptValueGetTypeID):
- (WKSerializedScriptValueCreate):
- (WKSerializedScriptValueDeserialize):
- * UIProcess/API/C/WKSerializedScriptValue.h: Added.
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-09-08 Sam Weinig <sam@webkit.org>
-
- Reviewed by Jon Honeycutt.
-
- Would like WKBundleFrameRef to turn into WKFrameRef across postMessage boundary, a la PageRef
- <rdar://problem/8402804>
- https://bugs.webkit.org/show_bug.cgi?id=45370
-
- * UIProcess/WebContextUserMessageCoders.h:
- (WebKit::WebContextUserMessageEncoder::encode):
- (WebKit::WebContextUserMessageDecoder::decode):
- * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
- (WebKit::InjectedBundleUserMessageEncoder::encode):
- (WebKit::InjectedBundleUserMessageDecoder::decode):
-
-2010-09-07 Kinuko Yasuda <kinuko@chromium.org>
-
- Unreviewed, another Qt release build fix attempt.
-
- * UIProcess/API/cpp/qt/WKURLQt.cpp:
-
-2010-09-07 Kinuko Yasuda <kinuko@chromium.org>
-
- Unreviewed, attempt to fix Qt release build.
-
- * UIProcess/API/cpp/qt/WKStringQt.cpp:
-
-2010-09-07 Brent Fulgham <bfulgham@webkit.org>
-
- Build correction, no review.
-
- * win/WebKit2.vcproj: Disable two unused files for
- the WinCairo target.
-
-2010-09-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix clang++ build.
-
- * UIProcess/API/C/WKAPICast.h:
- Move all functions into the WebKit namespace.
-
- * UIProcess/API/C/cf/WKStringCF.cpp:
- Add using namespace WebKit.
-
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- Move all functions into the WebKit namespace.
-
-2010-09-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
-
- Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
-
- * Configurations/Base.xcconfig:
-
-2010-09-07 Sam Weinig <sam@webkit.org>
-
- Another windows fix.
-
- * UIProcess/win/WebView.cpp:
-
-2010-09-07 Sam Weinig <sam@webkit.org>
-
- Try and fix windows.
-
- * UIProcess/WebEditCommandProxy.h:
-
-2010-09-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Fix incorrect parameter name.
-
- * UIProcess/API/mac/PageClientImpl.mm:
-
-2010-09-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Add support for Undo/Redo
- <rdar://problem/7660519>
- https://bugs.webkit.org/show_bug.cgi?id=42781
-
- Adds platform independent parts of Undo/Redo support and the mac
- platform support.
-
- To work around the common assumption made by platforms, that a redo
- item will be added synchronously while an undo is in progress, we
- ignore the calls from WebCore to add redo items, and instead add add
- them after telling WebCore to unapply the EditCommand. We similarly
- need to ignore undos, that take place during a redo, and force the
- addition ourselves.
-
- * Shared/CoreIPCSupport/WebPageMessageKinds.h:
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- Add new messages.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (-[WebEditCommandObjC initWithWebEditCommandProxy:WebKit::]):
- (-[WebEditCommandObjC WebKit::]):
- (-[WebEditorUndoTargetObjC undoEditing:]):
- (-[WebEditorUndoTargetObjC redoEditing:]):
- (WebKit::PageClientImpl::PageClientImpl):
- (WebKit::nameForEditAction):
- (WebKit::PageClientImpl::registerEditCommand):
- (WebKit::PageClientImpl::clearAllEditCommands):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::registerEditCommand):
- (QWKPagePrivate::clearAllEditCommands):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::registerEditCommand):
- (WebKit::WebView::clearAllEditCommands):
- * UIProcess/win/WebView.h:
- Add platform specific hooks for undo/redo.
-
- * UIProcess/WebEditCommandProxy.cpp: Added.
- (WebKit::WebEditCommandProxy::WebEditCommandProxy):
- (WebKit::WebEditCommandProxy::~WebEditCommandProxy):
- (WebKit::WebEditCommandProxy::unapply):
- (WebKit::WebEditCommandProxy::reapply):
- * UIProcess/WebEditCommandProxy.h: Added.
- (WebKit::WebEditCommandProxy::create):
- (WebKit::WebEditCommandProxy::commandID):
- (WebKit::WebEditCommandProxy::editAction):
- (WebKit::WebEditCommandProxy::invalidate):
- A proxy for the WebEditCommands in the WebProcess. These are owned
- by the platform back/forward list, with a weak reference back to the
- WebPageProxy (which holds a weakset of live WebEditCommandProxys).
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::registerEditCommandForUndo):
- (WebKit::WebPageProxy::clearAllEditCommands):
- (WebKit::WebPageProxy::registerEditCommandForRedo):
- (WebKit::WebPageProxy::addEditCommand):
- (WebKit::WebPageProxy::removeEditCommand):
- (WebKit::WebPageProxy::processDidExit):
- * UIProcess/WebPageProxy.h:
- Forward messages.
-
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::registerCommandForUndo):
- (WebKit::WebEditorClient::registerCommandForRedo):
- (WebKit::WebEditorClient::clearUndoRedoOperations):
- Send undo/redo registration and clearing to the UIProcess.
-
- * WebProcess/WebPage/WebEditCommand.cpp: Added.
- (WebKit::generateCommandID):
- (WebKit::WebEditCommand::WebEditCommand):
- * WebProcess/WebPage/WebEditCommand.h: Added.
- (WebKit::WebEditCommand::create):
- (WebKit::WebEditCommand::command):
- (WebKit::WebEditCommand::commandID):
- Wrapper for WebCore::EditCommand, with an added unique ID.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::webEditCommand):
- (WebKit::WebPage::addWebEditCommand):
- (WebKit::WebPage::removeWebEditCommand):
- (WebKit::WebPage::unapplyEditCommand):
- (WebKit::WebPage::reapplyEditCommand):
- (WebKit::WebPage::didRemoveEditCommand):
- (WebKit::WebPage::didReceiveMessage):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::isInRedo):
- Forward messages.
-
+ (WebKit::WebProcessProxy::didClose):
* WebKit2.pro:
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:
- Add new files.
-2010-09-07 Jessie Berlin <jberlin@apple.com>
+2011-02-22 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
- Indicate which one of the ScriptWorlds for a Frame the Window Object has been cleared for
- https://bugs.webkit.org/show_bug.cgi?id=45217
+ Get rid of WebProcessManager::getAllWebProcessContexts
+ https://bugs.webkit.org/show_bug.cgi?id=55000
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
-
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
-
-2010-09-06 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Rename SecurityOrigin::canLoad to canDisplay
- https://bugs.webkit.org/show_bug.cgi?id=45214
+ * Shared/WebURLRequest.cpp:
+ (WebKit::WebURLRequest::setDefaultTimeoutInterval):
+ Call WebContext::allContexts instead.
- Propagate name change.
+ * UIProcess/WebContext.cpp:
+ * UIProcess/WebContext.h:
+ Add a vector of WebContext objects. Update it when creating and destroying contexts.
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::performFrameLoadURLRequest):
+ * UIProcess/WebProcessManager.cpp:
+ * UIProcess/WebProcessManager.h:
+ Remove WebProcessManager::getAllWebProcessContexts.
-2010-09-04 Sam Weinig <sam@webkit.org>
+2011-02-22 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
- Allow passing null to postMessage API functions
- https://bugs.webkit.org/show_bug.cgi?id=45234
-
- * Shared/APIObject.h: Add TypeNull to enum. This is only used
- for serialization purposes, and does not represent a concrete subclass
- of APIObject.
-
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Remove WillSubmitFormWithUserData
- now that it is not needed.
-
- * Shared/UserMessageCoders.h:
- (WebKit::UserMessageEncoder::baseEncode):
- (WebKit::UserMessageDecoder::baseDecode):
- Add explicit encoding/decoding of null for user messages.
+ Re-add early bail out in dispatchDecidePolicyForNavigationAction with prevents
+ a crash running fast/loader/empty-embed-src-attribute.html. This matches a
+ bail out in the default policy delegate in WebKit1.
- * UIProcess/WebContextUserMessageCoders.h:
- (WebKit::WebContextUserMessageEncoder::encode):
- (WebKit::WebContextUserMessageDecoder::decode):
- * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
- (WebKit::InjectedBundleUserMessageEncoder::encode):
- (WebKit::InjectedBundleUserMessageDecoder::decode):
- Update UserMessageCoders subclasses to call the base class in the correct
- way to work with null messages. This means moving the encoding/decoding
- of the type down to the base class, which is a nice cleanup.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- Remove now redundant WillSubmitFormWithUserData implementation.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
- Ditto.
-
-2010-09-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Darin Adler.
-
- Add NetworkingContext to avoid layer violations
- https://bugs.webkit.org/show_bug.cgi?id=42292
-
- Add FrameNetworkingContext implementation.
-
- * WebKit2.pro:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createNetworkingContext):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
- (WebKit::WebFrameNetworkingContext::needsSiteSpecificQuirks):
- (WebKit::WebFrameNetworkingContext::localFileContentSniffingEnabled):
- (WebKit::WebFrameNetworkingContext::scheduledRunLoopPairs):
- (WebKit::WebFrameNetworkingContext::blockedError):
- * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: Added.
- (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
- (WebCore::WebFrameNetworkingContext::create):
- (WebCore::WebFrameNetworkingContext::originatingObject):
- (WebCore::WebFrameNetworkingContext::networkAccessManager):
- * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: Added.
- * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp: Added.
- * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: Added.
- (WebFrameNetworkingContext::create):
- (WebFrameNetworkingContext::WebFrameNetworkingContext):
- * win/WebKit2.vcproj:
- * win/WebKit2Common.vsprops:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
-2010-09-03 Sam Weinig <sam@webkit.org>
+2011-02-22 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
- Add ability to send UserData to willSubmitForm
- https://bugs.webkit.org/show_bug.cgi?id=45222
+ Grammar correction from Spelling & Grammar window doesn't work
+ https://bugs.webkit.org/show_bug.cgi?id=54982
+ <rdar://problem/8940918>
- - Adds a willSubmitForm callback to the BundlePageFormClient with an out
- parameter WKTypeRef* parameter.
- - That out parameter gets serialized and then passed to the PageFormClient's
- willSubmitForm, which now has WKTypeRef parameter.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView isGrammarCheckingEnabled]):
+ (-[WKView setGrammarCheckingEnabled:]):
+ Call down to the text checker.
- - Temporarily adds a new WillSubmitFormWithUserData message kind. This will
- be replaced by the ability to explicitly serialize null as a UserMessage.
+ * UIProcess/TextChecker.h:
+ Add updateSpellingUIWithGrammarString.
- * Platform/CoreIPC/Arguments.h:
- (CoreIPC::Arguments6::Arguments6):
- (CoreIPC::Arguments6::encode):
- (CoreIPC::Arguments6::decode):
- (CoreIPC::In):
- (CoreIPC::Out):
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebFormClient.cpp:
- (WebKit::WebFormClient::willSubmitForm):
- * UIProcess/WebFormClient.h:
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::willSubmitForm):
- * UIProcess/WebPageProxy.h:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
- (WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing):
- (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
- (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
- (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
- (WebKit::InjectedBundlePageFormClient::willSubmitForm):
- * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
-
-2010-09-03 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Change WKDictionaryIsMutable to take a WKDictionaryRef instead of a WKMutableDictionaryRef.
- If the type is already states it is mutable, there would be no reason for the check.
-
- * UIProcess/API/C/WKMutableDictionary.cpp:
- (WKDictionaryIsMutable):
- * UIProcess/API/C/WKMutableDictionary.h:
-
-2010-09-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add ability to send WKDictionaryRefs via post message.
- https://bugs.webkit.org/show_bug.cgi?id=45151
-
- * Shared/ImmutableDictionary.cpp:
- (WebKit::ImmutableDictionary::ImmutableDictionary):
- * Shared/ImmutableDictionary.h:
- (WebKit::ImmutableDictionary::adopt): Remove tag, it wasn't doing anything.
- (WebKit::ImmutableDictionary::isMutable):
- (WebKit::ImmutableDictionary::map): Add accessor of internal
- map for encoder.
-
- * Shared/UserMessageCoders.h:
- (WebKit::UserMessageEncoder::baseEncode):
- (WebKit::UserMessageDecoder::baseDecode):
- Add encoder/decoder.
-
-2010-09-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Share the common parts of UserMessage coding between both processes.
- https://bugs.webkit.org/show_bug.cgi?id=45139
-
- Add base classes UserMessageEncoder and UserMessageDecoder which implement
- encoding/decoding of ImmutableArray and String (soon to be others as well, such
- as ImmutableDictionary, Data, etc.) and add derived classes which implement the
- process specific bits such as Page -> BundlePage conversion.
-
- * Shared/UserMessageCoders.h: Copied from WebProcess/InjectedBundle/InjectedBundle.cpp.
- (WebKit::UserMessageEncoder::baseEncode):
- (WebKit::UserMessageEncoder::UserMessageEncoder):
- (WebKit::UserMessageDecoder::baseDecode):
- (WebKit::UserMessageDecoder::UserMessageDecoder):
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::postMessageToInjectedBundle):
- (WebKit::WebContext::didReceiveMessage):
- * UIProcess/WebContextUserMessageCoders.h: Copied from UIProcess/WebContext.cpp.
- (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
- (WebKit::WebContextUserMessageEncoder::encode):
- (WebKit::WebContextUserMessageDecoder::WebContextUserMessageDecoder):
- (WebKit::WebContextUserMessageDecoder::decode):
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::postMessage):
- (WebKit::InjectedBundle::didReceiveMessage):
- * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: Copied from WebProcess/InjectedBundle/InjectedBundle.cpp.
- (WebKit::InjectedBundleUserMessageEncoder::InjectedBundleUserMessageEncoder):
- (WebKit::InjectedBundleUserMessageEncoder::encode):
- (WebKit::InjectedBundleUserMessageDecoder::InjectedBundleUserMessageDecoder):
- (WebKit::InjectedBundleUserMessageDecoder::decode):
- * win/WebKit2.vcproj:
-
-2010-09-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
+ (WebKit::WebPageProxy::updateSpellingUIWithGrammarString):
+ Call TextChecker::updateSpellingUIWithGrammarString.
- Simplify ownership semantics of some WebKit2 types
- https://bugs.webkit.org/show_bug.cgi?id=45120
-
- - Make ImmutableArray and MutableArray use a Vector<RefPtr<APIObject> > and
- therefore ref any items it takes in.
- - Make the PostMessageDecoder operate on a RefPtr<APIObject>& to avoid the odd
- leaking semantics.
-
- * Shared/ImmutableArray.cpp:
- (WebKit::ImmutableArray::ImmutableArray): This constructor now uses a for-loop
- instead of memcpy to ref each item.
- (WebKit::ImmutableArray::~ImmutableArray): No longer necessary to manually deref.
- * Shared/ImmutableArray.h:
- (WebKit::ImmutableArray::adopt):
- (WebKit::ImmutableArray::at):
- Changes to accommodate entries being changed to a Vector<RefPtr<APIObject> >.
-
- * Shared/ImmutableDictionary.cpp:
- (WebKit::ImmutableDictionary::keys):
- Build a Vector<RefPtr<APIObject> >.
-
- * UIProcess/WebBackForwardList.cpp:
- (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
- (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
- Ditto.
-
- * UIProcess/WebContext.cpp:
- (WebKit::PostMessageEncoder::PostMessageDecoder::PostMessageDecoder):
- (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
- (WebKit::WebContext::didReceiveMessage):
- APIObject>& to avoid the odd leaking semantics.
-
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::PostMessageEncoder::PostMessageDecoder::PostMessageDecoder):
- (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
- (WebKit::InjectedBundle::didReceiveMessage):
- Ditto.
-
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::childFrames):
- Build a Vector<RefPtr<APIObject> >.
-
-2010-09-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add WKMutableDictionary API for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=45117
-
- Add WKMutableDictionary API that inherits from WKDictionaryRef
- the same way WKMutableArrayRef inherits from WKArrayRef.
-
- * Shared/ImmutableDictionary.h:
- (WebKit::ImmutableDictionary::get):
- (WebKit::ImmutableDictionary::isMutable):
- * Shared/MutableDictionary.cpp: Added.
- (WebKit::MutableDictionary::MutableDictionary):
- (WebKit::MutableDictionary::~MutableDictionary):
- (WebKit::MutableDictionary::add):
- (WebKit::MutableDictionary::set):
- * Shared/MutableDictionary.h: Added.
- (WebKit::MutableDictionary::create):
- (WebKit::MutableDictionary::isMutable):
- * UIProcess/API/C/WKAPICast.h:
- (toWK):
- * UIProcess/API/C/WKBase.h:
- * UIProcess/API/C/WKMutableDictionary.cpp: Added.
- (WKMutableDictionaryCreate):
- (WKDictionaryIsMutable):
- (WKDictionaryAddItem):
- (WKDictionarySetItem):
- * UIProcess/API/C/WKMutableDictionary.h: Added.
- * UIProcess/API/C/WebKit2.h:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
-
-2010-09-02 Jessie Berlin <jberlin@apple.com>
-
- Windows build fix. Unreviewed.
-
- * UIProcess/API/win/WKAPICastWin.h:
- (toWK):
- * UIProcess/API/win/WKBaseWin.h:
-
-2010-09-01 Jia Pu <jpu@apple.com>
-
- Reviewed by Dan Bernstein.
+ * UIProcess/WebPageProxy.messages.in:
+ Add UpdateSpellingUIWithGrammarString message.
- Add support for autocorrection UI on Mac OS X.
- https://bugs.webkit.org/show_bug.cgi?id=44958
- <rdar://problem/7326847>
+ * UIProcess/gtk/TextCheckerGtk.cpp:
+ (WebKit::TextChecker::updateSpellingUIWithGrammarString):
+ * UIProcess/qt/TextCheckerQt.cpp:
+ (WebKit::TextChecker::updateSpellingUIWithGrammarString):
+ * UIProcess/win/TextCheckerWin.cpp:
+ (WebKit::TextChecker::updateSpellingUIWithGrammarString):
+ Add stubs.
- See detailed high level description in WebCore/ChangeLog.
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::updateSpellingUIWithGrammarString):
+ Update the spelling panel.
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::showCorrectionPanel): Dummy implementation.
- (WebKit::WebEditorClient::dismissCorrectionPanel): Ditto
-
- * WebProcess/WebCoreSupport/WebEditorClient.h: Added new methods declared in base class.
-
-2010-09-01 Sam Weinig <sam@webkit.org>
-
- Fix the build.
-
- As with CF, const struct OpaqueType* should be the default type
- so that const_casts are not necessary in user code.
-
- * UIProcess/API/C/WKArray.cpp:
- (WKArrayCreate):
- * UIProcess/API/C/WKBase.h:
- * UIProcess/API/C/WKType.cpp:
- (WKGetTypeID):
- (WKRetain):
- (WKRelease):
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- (toWK):
- * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
-
-2010-09-01 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- Add mutable array API to WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=45082
-
- Add a mutable API to WebKit2 called WKMutableArrayRef. Make it "inherit" from
- WKArrayRef in the same way JSObjectRef can inherit from JSValueRef in the JSC
- API, by abusing the c type system (WKArrayRef is defined as a const version of
- WKMutableArrayRef). Add very basic mutable API to go along with it.
-
- * Shared/ImmutableArray.h:
- (WebKit::ImmutableArray::isMutable):
- Add ability to ask it an array is mutable.
-
- * Shared/MutableArray.cpp: Added.
- (WebKit::MutableArray::MutableArray):
- (WebKit::MutableArray::~MutableArray):
- (WebKit::MutableArray::append):
- * Shared/MutableArray.h: Added.
- (WebKit::MutableArray::create):
- (WebKit::MutableArray::isMutable):
- Sketch out the mutable array interface.
-
- * UIProcess/API/C/WKAPICast.h:
- (toWK):
- Now that the opaque types can be const, use template magic to const_cast
- it away.
-
- * UIProcess/API/C/WKBase.h:
- Add new type and re-type WKArrayRef as const.
-
- * UIProcess/API/C/WKMutableArray.cpp: Added.
- (WKMutableArrayCreate):
- (WKArrayIsMutable):
- (WKArrayAppendItem):
- * UIProcess/API/C/WKMutableArray.h: Added.
- Fill in basic API.
-
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
- Add files.
-
-2010-09-01 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Implement PluginInfoStore for UNIX
- https://bugs.webkit.org/show_bug.cgi?id=45038
-
- This implementation is generally just reusing the logic in WebCore since
- there is no way to get informations from a UNIX plugin without loading it
- - in contrast to mac bundles and windows dll-s.
- * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
- (WebKit::PluginInfoStore::pluginsDirectories):
- (WebKit::PluginInfoStore::pluginPathsInDirectory):
- (WebKit::PluginInfoStore::getPluginInfo):
- (WebKit::PluginInfoStore::shouldUsePlugin):
-
-2010-09-01 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Allow the web process to load frameworks other than WebKit2.framework from the build directory
- when running engineering builds.
-
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain): Pass the path containing WebKit2.framework to the sandbox rather than
- the path of the WebKit2.framework itself.
-
-2010-09-01 Sam Weinig <sam@webkit.org>
-
- Reviewed by John Sullivan.
-
- Change ImmutableArray to be backed by a Vector
- https://bugs.webkit.org/show_bug.cgi?id=45064
-
- Change ImmutableArray to be backed by a Vector to work toward having
- a mutable subclass and to improve the API when working with it in WebKit2
- itself.
-
- - Also remove WKArrayCreateAdoptingValues which was confusing and unused.
-
- * Shared/ImmutableArray.cpp:
- (WebKit::ImmutableArray::ImmutableArray):
- (WebKit::ImmutableArray::~ImmutableArray):
- * Shared/ImmutableArray.h:
- (WebKit::ImmutableArray::adopt):
- (WebKit::ImmutableArray::at):
- (WebKit::ImmutableArray::size):
- * Shared/ImmutableDictionary.cpp:
- (WebKit::ImmutableDictionary::keys):
- * UIProcess/API/C/WKArray.cpp:
- * UIProcess/API/C/WKArray.h:
- * UIProcess/WebBackForwardList.cpp:
- (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
- (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
- * UIProcess/WebContext.cpp:
- (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::childFrames):
-
-2010-09-01 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add URLResponse API for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=45062
-
- Add WebURLResponse class and WKURLResponseRef C API to go with it. Right now,
- instance of WKURLResponseRef are manipulated via platform types just like
- WKURLRequestRef.
-
- This just adds the type and conversion functions, no uses yet.
-
- * Shared/APIObject.h:
- * Shared/WebCoreArgumentCoders.h:
- * Shared/WebURLResponse.cpp: Added.
- (WebKit::WebURLResponse::WebURLResponse):
- * Shared/WebURLResponse.h: Added.
- (WebKit::WebURLResponse::create):
- (WebKit::WebURLResponse::resourceResponse):
- (WebKit::WebURLResponse::type):
- * Shared/mac/WebCoreArgumentCodersMac.mm:
- (CoreIPC::encodeWithNSKeyedArchiver):
- (CoreIPC::decodeWithNSKeyedArchiver):
- (CoreIPC::encodeResourceRequest):
- (CoreIPC::decodeResourceRequest):
- * Shared/mac/WebURLResponseMac.mm: Added.
- (WebKit::WebURLResponse::WebURLResponse):
- (WebKit::WebURLResponse::platformResponse):
- * Shared/qt/WebURLResponseQt.cpp: Added.
- (WebKit::WebURLResponse::WebURLResponse):
- (WebKit::WebURLResponse::platformResponse):
- * Shared/win/WebURLResponseWin.cpp: Added.
- (WebKit::WebURLResponse::WebURLResponse):
- (WebKit::WebURLResponse::platformResponse):
- * UIProcess/API/C/WKURLResponse.cpp: Added.
- (WKURLResponseGetTypeID):
- * UIProcess/API/C/WKURLResponse.h: Added.
- * UIProcess/API/C/cf/WKURLResponseCF.cpp: Added.
- (WKURLResponseCreateWithCFURLResponse):
- (WKURLResponseCopyCFURLResponse):
- * UIProcess/API/C/cf/WKURLResponseCF.h: Added.
- * UIProcess/API/C/mac/WKURLResponseNS.h: Added.
- * UIProcess/API/C/mac/WKURLResponseNS.mm: Added.
- (WKURLResponseCreateWithNSURLResponse):
- (WKURLResponseCopyNSURLResponse):
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
-
-2010-09-01 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Antti Koivisto.
-
- [Qt] Auto-generate WebKit2 forwarding headers
- https://bugs.webkit.org/show_bug.cgi?id=44692
-
- * DerivedSources.pro: let the generate-forwarding-headers.pl
- script generate forwarding headers.
- * generate-forwarding-headers.pl: Added.
-
-2010-08-31 Dave Hyatt <hyatt@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=44863
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::layoutIfNeeded):
-
-2010-08-31 Jon Honeycutt <jhoneycutt@apple.com>
+ (WebKit::WebEditorClient::updateSpellingUIWithGrammarString):
+ Send an UpdateSpellingUIWithGrammarString message to the UI process.
- Fix some copy/paste errors.
-
- Reviewed by Steve Falkenburg.
-
- * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
- (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
- Null check the correct callback.
- (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
- Ditto.
- (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
- Ditto.
-
-2010-08-31 Jon Honeycutt <jhoneycutt@apple.com>
-
- Crash when closing a page with a form field when using WebKit2.
+2011-02-22 Balazs Kelemen <kbalazs@webkit.org>
Reviewed by Anders Carlsson.
- The crash came from accessing a BundlePageFormClient that had been
- destroyed. The client was intended to be cleared by a call to
- WKBundlePageSetFormClient, but a null check there caused it not to be
- cleared.
-
- I fixed this and all of the other WK "set client" functions.
-
- * UIProcess/API/C/WKContext.cpp:
- (WKContextSetInjectedBundleClient):
- Return early if the caller passed a client with a version not equal to
- 0.
- (WKContextSetHistoryClient):
- Ditto.
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageSetPageLoaderClient):
- Ditto.
- (WKPageSetPagePolicyClient):
- Ditto.
- (WKPageSetPageFormClient):
- Ditto.
- (WKPageSetPageUIClient):
- Ditto.
-
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleSetClient):
- Ditto.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageSetEditorClient):
- Ditto.
- (WKBundlePageSetFormClient):
- Ditto.
- (WKBundlePageSetLoaderClient):
- Ditto.
- (WKBundlePageSetUIClient):
- Ditto.
-
-2010-08-31 Alexey Proskuryakov <ap@apple.com>
-
- Build fix.
-
- * Shared/WebPreferencesStore.h: Actually remove encode(), which has been moved to WebPreferencesStore.cpp.
-
-2010-08-31 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=42195
- <rdar://problem/8186761> WebKitTestRunner needs to support layoutTestController.setXSSAuditorEnabled
-
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::WebPreferencesStore): Initialize xssAuditorEnabled.
- (WebKit::WebPreferencesStore::decode): Moved from header, added xssAuditorEnabled.
- (WebKit::WebPreferencesStore::encode): Ditto.
- (WebKit::WebPreferencesStore::overrideXSSAuditorEnabledForTestRunner): Set an override, so
- that decoding a WebPreferencesStore in the process will give the override result. WebProcess
- doesn't hold to WebPreferencesStore, so there are no existing ones to patch.
- (WebKit::WebPreferencesStore::removeTestRunnerOverrides): Remove the override.
-
- * Shared/WebPreferencesStore.h: Added xssAuditorEnabled.
-
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetXSSAuditorEnabled):
- (WKPreferencesGetXSSAuditorEnabled):
- * UIProcess/API/C/WKPreferences.h:
- Added an API method to change xssAuditorEnabled preference.
-
- * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::preferencesDidChange): Added a comment
- explaining how making this method smarter could affect WebKitTestRunner.
-
- * UIProcess/WebPreferences.cpp:
- (WebKit::WebPreferences::setXSSAuditorEnabled):
- (WebKit::WebPreferences::xssAuditorEnabled):
- * UIProcess/WebPreferences.h:
- Implemented xssAuditorEnabled preference accessors.
-
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleOverrideXSSAuditorEnabledForTestRunner):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- Added a private methods to temporarily change xssAuditor setting from an injected bundle,
- not notifying UIProcess about the change.
-
- * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideXSSAuditorEnabledForTestRunner):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- Change the setting in existing pages, and override it for future ones.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage): Take xssAuditorEnabled from preferences store.
- (WebKit::WebPage::preferencesDidChange): If preferences change, forget our override. This only
- happens in WKRT when the next test begins.
-
-2010-08-31 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- WebKitTestRunner needs layoutTestController.addUserStyleSheet
- https://bugs.webkit.org/show_bug.cgi?id=42680
-
- WebKitTestRunner needs layoutTestController.addUserScript
- https://bugs.webkit.org/show_bug.cgi?id=42681
-
- Improve UserContent APIs to allow passing null in the same places
- the WebKit1 API allowed. Add convenience function toWTFString to do
- WKStringRef conversion with correct null string behavior.
-
- * UIProcess/API/C/WKAPICast.h:
- (toWTFString):
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleAddUserScript):
- (WKBundleAddUserStyleSheet):
- (WKBundleRemoveUserScript):
- (WKBundleRemoveUserStyleSheet):
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::toStringVector):
-
-2010-08-31 Steve Falkenburg <sfalken@apple.com>
-
- Rubber stamped by Sam Weinig.
-
- Remove library directive from def file to fix Debug_All build.
-
- * win/WebKit2.def:
-
-2010-08-31 Adam Roben <aroben@apple.com>
-
- Handle WM_PRINTCLIENT in WebKit2 on Windows
+ notImplemented() should behave identical in WebCore and WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=54449
- Reviewed by Sam Weinig.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::wndProc): Call through to onPrintClientEvent when we
- get a WM_PRINTCLIENT message.
- (WebKit::WebView::onPrintClientEvent): Added. Paints the entire view
- into the HDC provided by Windows.
-
- * UIProcess/win/WebView.h: Added onPrintClientEvent.
-
-2010-08-27 Adam Roben <aroben@apple.com>
-
- Don't send messages to the injected bundle if the web process has
- exited
-
- Fixes <http://webkit.org/b/43046> <rdar://problem/8239455> Crash in
- WKContextPostMessageToInjectedBundle if the web process has exited
-
- Reviewed by Sam Weinig.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::postMessageToInjectedBundle): Only send messages
- when we have a valid web process.
-
-2010-08-27 Adam Roben <aroben@apple.com>
-
- Use the Windows thread pool instead of a dedicated thread for
- WorkQueue on Windows
-
- WorkQueue now uses ::RegisterWaitForSingleObject to find out when work
- items need to be executed. This causes Windows to wait on the objects
- on a thread pool wait thread, and then to spawn a thread pool worker
- thread when an object is signaled. This is more efficient than using
- our own dedicated thread to perform the wait and the work because
- multiple WorkQueues (and even other parts of WebKit or other modules)
- can all share the same wait thread and worker thread pool.
-
- Each time WorkQueue::m_performWorkEvent or any handle in
- WorkQueue::m_handles is signaled, a worker thread will be spawned.
- To maintain WorkQueue's serial nature, only one worker thread is
- allowed to perform work items at a time. (The worker thread that is
- actually performing work items is called the queue's "work thread".)
- To accomplish this, worker threads must register as the queue's work
- thread before performing work items.
- WorkQueue::m_isWorkThreadRegistered is used as an atomic guard to make
- sure that only one worker thread is registered at a time.
-
- Fixes <http://webkit.org/b/43150> <rdar://problem/8247280>.
-
- Reviewed by Anders Carlsson.
-
- * Platform/WorkQueue.h:
- - Added the WorkItemWin class, which is used to wrap WorkItems for
- WorkQueue's Windows implementation
- - Changed m_workItemQueue and m_handles to hold
- RefPtr<WorkItemWin>s
- - Replaced "work queue thread"-related members with new members that
- handle our thread pool code
+ Use NotImplemented.h from WebCore. Initialize logging channels.
+ Remove the WebKit2 concept of notImplemented().
+ * Platform/gtk/SharedMemoryGtk.cpp:
+ * Platform/gtk/WorkQueueGtk.cpp:
+ * Platform/qt/WorkQueueQt.cpp:
* Platform/win/WorkQueueWin.cpp:
- (WorkQueue::WorkItemWin::WorkItemWin):
- (WorkQueue::WorkItemWin::create):
- Added simple constructor/creator.
-
- (WorkQueue::handleCallback): Added. This function is called whenever a
- handle in WorkQueue::m_handles is signaled. We add the WorkItemWin
- that corresponds to the handle (passed via the context parameter) to
- the work item queue, then try to register as the work thread and
- perform any queued work. If another thread is already registered as
- the work thread, we just exit and let that thread handle the work we
- queued.
- (WorkQueue::registerHandle): Changed to wrap the WorkItem in a
- WorkItemWin, and to use ::RegisterWaitForSingleObject to wait on the
- handle.
- (WorkQueue::eventCallback): Added. This function is called whenever
- m_performWorkEvent is signaled. We try to register as the work thread
- and perfom any queued work. If another thread is already registered as
- the work thread, we just exit and let that thread handle the work.
- (WorkQueue::performWorkOnRegisteredWorkThread): Added. Performs any
- queued work in a loop until either the queue becomes invalid or no
- work is left to perform. Unregisters as the work thread before exiting
- so that other threads can perform work in the future.
- (WorkQueue::platformInitialize): Added initialization of
- m_isWorkThreadRegistered. Replaced code to spawn the old work queue
- thread with a call to ::RegisterWaitForSingleObject so that a worker
- thread from the thread pool will be spawned when m_performWorkEvent is
- signaled.
- (WorkQueue::tryRegisterAsWorkThread): Added. Attempts an atomic
- compare-and-swap to change m_isWorkThreadRegistered from 0 to 1. If
- sucessful, we return true to indicate that this thread is now
- registered as the work thread.
- (WorkQueue::unregisterAsWorkThread): Added. Uses an atomic
- compare-and-swap to change m_isWorkThreadRegistered back from 1 to 0.
- (WorkQueue::scheduleWork): Changed to wrap the WorkItem in a
- WorkItemWin. Also added an optimization to avoid signaling
- m_performWorkEvent when a work thread is already performing work, as
- it will pick up the item we just queued without us having to do
- anything.
-
-2010-08-31 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Fix warnings in WebKit2 directory
- https://bugs.webkit.org/show_bug.cgi?id=44593
-
- * Platform/CoreIPC/qt/ConnectionQt.cpp: Mark unused variables for compiler.
- (CoreIPC::Connection::readyReadHandler):
- (CoreIPC::Connection::sendOutgoingMessage):
- * Shared/qt/WebEventFactoryQt.cpp:
- (WebKit::WebEventFactory::createWebTouchEvent): Initialize state variable. Default case added.
- * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
- (WebKit::toNP): Return initialized NPEvent.
-
-2010-08-31 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Determine application path of MiniBrowser at runtime and use that path
- for QtWebProcess if the executable exists in that path.
-
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- (WebKit::ProcessLauncherHelper::launch):
-
-2010-08-31 Zoltan Horvath <zoltan@webkit.org>
-
- Build fix after r66448 on WebKit2.
-
- [Qt] qt_wk_didFinishDocumentLoadForFrame needs to be implemented
- https://bugs.webkit.org/show_bug.cgi?id=44934
-
- * UIProcess/API/qt/ClientImpl.cpp:
- (qt_wk_didFinishDocumentLoadForFrame):
- * UIProcess/API/qt/ClientImpl.h:
-
-2010-08-30 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Darin Adler.
-
- Add missing parts of didFinishDocumentLoadForFrame
- https://bugs.webkit.org/show_bug.cgi?id=44913
-
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added new kind
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage): Updated struct
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame): Added
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage): Added case for WebPageProxyMessage::DidFinishDocumentLoadForFrame
- (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): Added
- * UIProcess/WebPageProxy.h:
-
- Just rearranging existing code in these:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
-
-2010-08-30 Sam Weinig <sam@webkit.org>
-
- Try and fix the WebKit2 buildbot.
-
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Add missing initialization of QTMovieDisableComponent.
-
-2010-08-30 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add URLRequest API for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=44910
-
- Add WebURLRequest class and WKURLRequestRef C API to go with it. Right now,
- instance of WKURLRequestRef are manipulated via platform types, a la the
- WKStringRef and WKURLRef types.
-
- - Pipes WKPageLoadURLRequest through to the WebProcess.
-
- * Shared/APIObject.h:
- * Shared/CoreIPCSupport/WebPageMessageKinds.h:
- * Shared/WebCoreArgumentCoders.h:
- * Shared/WebURLRequest.cpp: Added.
- (WebKit::WebURLRequest::WebURLRequest):
- * Shared/WebURLRequest.h: Added.
- (WebKit::WebURLRequest::create):
- (WebKit::WebURLRequest::resourceRequest):
- (WebKit::WebURLRequest::type):
- * Shared/mac/WebCoreArgumentCodersMac.mm: Added.
- (CoreIPC::encodeResourceRequest):
- (CoreIPC::decodeResourceRequest):
- * Shared/mac/WebURLRequestMac.mm: Added.
- (WebKit::WebURLRequest::WebURLRequest):
- (WebKit::WebURLRequest::platformRequest):
- * Shared/qt/WebCoreArgumentCodersQt.cpp: Added.
- (CoreIPC::encodeResourceRequest):
- (CoreIPC::decodeResourceRequest):
- * Shared/qt/WebURLRequestQt.cpp: Added.
- (WebKit::WebURLRequest::WebURLRequest):
- (WebKit::WebURLRequest::platformRequest):
- * Shared/win/WebCoreArgumentCodersWin.cpp: Added.
- (CoreIPC::encodeResourceRequest):
- (CoreIPC::decodeResourceRequest):
- * Shared/win/WebURLRequestWin.cpp: Added.
- (WebKit::WebURLRequest::WebURLRequest):
- (WebKit::WebURLRequest::platformRequest):
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKBase.h:
- * UIProcess/API/C/WKPage.cpp:
- (WKPageLoadURLRequest):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/C/WKURLRequest.cpp: Added.
- (WKURLRequestGetTypeID):
- * UIProcess/API/C/WKURLRequest.h: Added.
- * UIProcess/API/C/WebKit2.h:
- * UIProcess/API/C/cf/WKURLRequestCF.cpp: Added.
- (WKURLRequestCreateWithCFURLRequest):
- (WKURLRequestCopyCFURLRequest):
- * UIProcess/API/C/cf/WKURLRequestCF.h: Added.
- * UIProcess/API/C/mac: Added.
- * UIProcess/API/C/mac/WKURLRequestNS.h: Added.
- * UIProcess/API/C/mac/WKURLRequestNS.mm: Added.
- (WKURLRequestCreateWithNSURLRequest):
- (WKURLRequestCopyNSURLRequest):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::loadURL):
- (WebKit::WebPageProxy::loadURLRequest):
- * UIProcess/WebPageProxy.h:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::loadURL):
- (WebKit::WebPage::loadURLRequest):
- (WebKit::WebPage::didReceiveMessage):
- * WebProcess/WebPage/WebPage.h:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
-
-2010-08-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- WorkQueue leaks its dispatch queue
- <rdar://problem/8358509>
- https://bugs.webkit.org/show_bug.cgi?id=44689
-
- * Platform/mac/WorkQueueMac.cpp:
- (WorkQueue::platformInvalidate):
-
-2010-08-27 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Add UserContent API to WebKit2 InjectedBundle
- <rdar://problem/8367587>
- https://bugs.webkit.org/show_bug.cgi?id=44810
-
- The new API differs from the version in WebKit1 in that the function do not take
- a group name since we currently do not expose a way to make multiple PageGroups in
- the API.
-
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- (toUserScriptInjectionTime):
- (toUserContentInjectedFrames):
- Add conversion functions for enums.
-
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleAddUserScript):
- (WKBundleAddUserStyleSheet):
- (WKBundleRemoveUserScript):
- (WKBundleRemoveUserStyleSheet):
- (WKBundleRemoveUserScripts):
- (WKBundleRemoveUserStyleSheets):
- (WKBundleRemoveAllUserContent):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::toStringVector):
- (WebKit::InjectedBundle::addUserScript):
- (WebKit::InjectedBundle::addUserStyleSheet):
- (WebKit::InjectedBundle::removeUserScript):
- (WebKit::InjectedBundle::removeUserStyleSheet):
- (WebKit::InjectedBundle::removeUserScripts):
- (WebKit::InjectedBundle::removeUserStyleSheets):
- (WebKit::InjectedBundle::removeAllUserContent):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- Forward API to PageGroup.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::sharedPageGroup):
- (WebKit::WebProcess::visitedLinkStateChanged):
- (WebKit::WebProcess::allVisitedLinkStateChanged):
- * WebProcess/WebProcess.h: Ad accessor for global PageGroup.
-
-2010-08-27 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Move WKBundle didCreatePage callback to outside the WebPage
- constructor to avoid adoptRef errors.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::create):
- (WebKit::WebPage::WebPage):
-
-2010-08-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/8147879> - Null URL passed to WebKit2 HistoryDelegate
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): WK2 now loads initial about:blank document's synchronously,
- without consulting the policy delegate.
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto.
-
-2010-08-27 Adam Roben <aroben@apple.com>
-
- Handle ERROR_IO_INCOMPLETE more correctly in Connection
-
- We still don't know exactly why we're getting this error, but at least
- we can do something sensible when we do.
-
- Fixes <http://webkit.org/b/44776> Occasional crash in
- Connection::readEventHandler or assertion failure in
- Connection::writeEventHandler due to ERROR_IO_INCOMPLETE
-
- Reviewed by Sam Weinig.
-
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- (CoreIPC::Connection::readEventHandler): Bail out of this function
- entirely when we get ERROR_IO_INCOMPLETE. We'll get called back later
- when the read completes. Continuing in the function at this point
- would cause us to treat an incomplete read as a complete one, leading
- to a crash. Added an assertion to make the crash more understandable
- in the future.
- (CoreIPC::Connection::writeEventHandler): Bail out when we get
- ERROR_IO_INCOMPLETE. We'll get called back later when the write
- completes.
-
-2010-08-27 Adam Roben <aroben@apple.com>
-
- Make the web process pause on launch when the
- WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable is set
-
- This is a bit easier to use than holding Ctrl-Alt-Shift during launch,
- since the process can sometimes take a long time to launch under the
- debugger. Ctrl-Alt-Shift still works, however.
-
- Fixes <http://webkit.org/b/44774> Would like an easier way to pause
- the web process on launch
-
- Reviewed by Sam Weinig.
-
- * WebProcess/WebKitMain.cpp:
- (WebKitMain):
-
-2010-08-27 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Adam Roben.
-
- * WebKit2.xcodeproj/project.pbxproj: Make WKBundleScriptWorld.h public.
-
-2010-08-26 Daniel Bates <dbates@rim.com>
-
- Attempt to fix the Qt WebKit2 build.
-
- * WebProcess/WebPage/qt/WebPageQt.cpp:
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent): Pass m_page.get() to WebKit::scroll()
- instead of m_page since it expects a raw pointer.
-
-2010-08-26 Gavin Barraclough <barraclough@apple.com>
-
- Speculative windows build fix.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
-
-2010-08-26 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Adopt more uses OwnPtr/OwnArray in WebKit2.
- https://bugs.webkit.org/show_bug.cgi?id=44728
-
- Also clears up weird create vs. adoption semantics. Now both create
- and adopt both don't ref their pointers, adoption is just about the
- buffer.
-
- * Shared/ImmutableArray.cpp:
- (WebKit::ImmutableArray::ImmutableArray):
- (WebKit::ImmutableArray::~ImmutableArray):
- * Shared/ImmutableArray.h:
- (WebKit::ImmutableArray::adopt):
- * Shared/ImmutableDictionary.cpp:
- (WebKit::ImmutableDictionary::keys):
- * Shared/WebData.h:
- * UIProcess/API/mac/PageClientImpl.h:
+ * Shared/NotImplemented.h: Removed.
+ * Shared/Plugins/NPIdentifierData.cpp:
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ * Shared/Plugins/NPVariantData.cpp:
+ * Shared/cairo/ShareableBitmapCairo.cpp:
+ * Shared/gtk/ShareableBitmapGtk.cpp:
+ * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
+ * Shared/qt/WebCoreArgumentCodersQt.cpp:
+ * Shared/win/LayerTreeContextWin.cpp:
* UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::create):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:pageNamespaceRef:]):
- (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaProxy::]):
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::QGraphicsWKView):
* UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::init):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::create):
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- (WebKit::LayerBackedDrawingAreaProxy::create):
- * UIProcess/LayerBackedDrawingAreaProxy.h:
- * UIProcess/WebBackForwardList.cpp:
- (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
- (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
+ * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
* UIProcess/WebContext.cpp:
- (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ (WebKit::WebContext::WebContext):
+ * UIProcess/WebInspectorProxy.cpp:
+ * UIProcess/gtk/TextCheckerGtk.cpp:
+ * UIProcess/gtk/WebInspectorGtk.cpp:
+ * UIProcess/gtk/WebPreferencesGtk.cpp:
+ * UIProcess/qt/TextCheckerQt.cpp:
+ * UIProcess/qt/WebInspectorProxyQt.cpp:
+ * UIProcess/win/TextCheckerWin.cpp:
+ * UIProcess/win/WebContextMenuProxyWin.cpp:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ * WebProcess/Downloads/curl/DownloadCurl.cpp:
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
+ * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
+ * WebProcess/Plugins/Netscape/NPJSObject.cpp:
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::createPopupMenu):
- (WebKit::WebChromeClient::createSearchPopupMenu):
- * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
- (WebKit::WebPopupMenu::create):
- * WebProcess/WebCoreSupport/WebPopupMenu.h:
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
- (WebKit::WebSearchPopupMenu::create):
- (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::childFrames):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::close):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::corePage):
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
-
-2010-08-26 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=44726
- <rdar://problem/7935518> WebFrameProxies aren't destroyed until a page is destroyed
-
- Since frames can be moved across documents, they are not really a Page level concept.
- Moved frame tracking to WebProcess/WebProcessProxy.
-
- * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
- (WebProcessProxyMessage::):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::getStatistics):
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::didReceiveSyncMessage):
- (WebKit::WebPageProxy::didCreateMainFrame):
- (WebKit::WebPageProxy::didCreateSubFrame):
- (WebKit::WebPageProxy::processDidExit):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveMessage):
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
- (WebKit::WebProcessProxy::didClose):
- (WebKit::WebProcessProxy::webFrame):
- (WebKit::WebProcessProxy::frameCreated):
- (WebKit::WebProcessProxy::frameDestroyed):
- (WebKit::WebProcessProxy::disconnectFramesFromPage):
- (WebKit::WebProcessProxy::frameCountInPage):
- * UIProcess/WebProcessProxy.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::WebFrame):
- (WebKit::WebFrame::invalidate):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didReceiveMessage):
- * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ * WebProcess/WebCoreSupport/WebDragClient.cpp:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
+ * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
+ * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
+ * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
+ * WebProcess/WebPage/qt/WebInspectorQt.cpp:
* WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::webFrame):
- (WebKit::WebProcess::addWebFrame):
- (WebKit::WebProcess::removeWebFrame):
- * WebProcess/WebProcess.h:
+ (WebKit::WebProcess::WebProcess):
+ * WebProcess/gtk/WebProcessGtk.cpp:
+ * config.h:
+ * win/WebKit2.vcproj:
-2010-08-26 Sam Weinig <sam@webkit.org>
+2011-02-22 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Darin Adler.
+ Rubber-stamped by Brady Eidson.
- Add PassOwnArrayPtr
- https://bugs.webkit.org/show_bug.cgi?id=44627
+ Invalidate the WebResourceCacheManagerProxy in WebContext::processDidClose.
* UIProcess/WebContext.cpp:
- (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
-
-2010-08-26 Peter Kasting <pkasting@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Misc. cleanup split off from bug 32356.
- https://bugs.webkit.org/show_bug.cgi?id=44696
-
- * WebProcess/WebPage/qt/WebPageQt.cpp:
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
-
-2010-08-25 Brent Fulgham <bfulgham@webkit.org>
-
- Build fix, no review.
+ (WebKit::WebContext::processDidClose):
- Add conditional guards around Safari-specific
- include files.
+2011-02-21 Adam Roben <aroben@apple.com>
- * WebProcess/WebPage/win/WebPageWin.cpp:
+ Make DrawingAreaProxyImpl keep track of the most recent state ID it sent to the web process
-2010-08-25 Adam Roben <aroben@apple.com>
+ This will be useful for sending repeated messages for the same state ID to the web process.
+ We don't do this currently, but will need to if we're asked to paint after we've thrown away
+ our backing store to save memory.
- Clean up Connection::open on Windows
+ Fixes <http://webkit.org/b/54916> DrawingAreaProxyImpl should keep track of the state ID it
+ last sent to the web process
- Fixes <http://webkit.org/b/44185>.
+ Reviewed by Anders Carlsson.
- Reviewed by Steve Falkenburg.
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): Initialize m_requestedStateID, and
+ reordered member initialization to match the new declaration order.
+ (WebKit::DrawingAreaProxyImpl::didUpdateState): Added an assertion that the stateID we got
+ from the web process is no newer than the most recent one we requested.
+ (WebKit::DrawingAreaProxyImpl::sendUpdateState): Changed to increment and send
+ m_requestedStateID instead of a new global stateID.
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- (CoreIPC::Connection::platformInitialize): Set m_isConnected to true
- since the pipe got connected before it was even given to us.
- (CoreIPC::Connection::readEventHandler): Removed code that will never
- run now that m_isConnected is always true when this function is
- called. Since no outgoing messages will have been queued before
- m_isConnected is set to true, there's no need to send them explicitly
- here; they'll get sent as they're queued.
- (CoreIPC::Connection::open): Removed the call to ::ConnectNamedPipe,
- since the pipe is already connected by this point. Changed to schedule
- a read in the server and client the same way (rather than using
- ::SetEvent in the server).
+ * UIProcess/DrawingAreaProxyImpl.h: Added m_requestedStateID, and moved the state IDs before
+ other data members. Also beefed the comment explaining m_currentStateID.
-2010-08-19 Adam Roben <aroben@apple.com>
+2011-02-22 Andras Becsi <abecsi@webkit.org>
- Call NP_GetEntryPoints before NP_Initialize on Windows
+ Reviewed by Laszlo Gombos.
- Doing otherwise will cause Flash and QuickTime to crash inside
- NP_Initialize.
+ [Qt] Redesign the build system
+ https://bugs.webkit.org/show_bug.cgi?id=51339
- Fixes <http://webkit.org/b/44270> <rdar://problem/8330393> Crash in
- NP_Initialize when loading QuickTime when running
- plugins/embed-attributes-setting.html in WebKit2 on Windows
+ Part 2.
- Reviewed by John Sullivan.
+ Build WebCore as a static library, compile the WebKit API and WebKit2 API
+ in a final step and link to WebKit2, WebCore and JSC libraries to fix
+ linking issues resulting from stripped away symbols.
- * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
- (WebKit::NetscapePluginModule::tryLoad): On Windows, first call
- NP_GetEntryPoints, then NP_Initialize. Do the reverse on Mac to
- prevent Silverlight (e.g.) from crashing (see r38858).
+ * WebKit2.pri: Add include paths.
+ * WebKit2.pro: Move include paths to WebKit2.pri and move
+ the API source to WebKit/qt/QtWebKit.pro
-2010-08-25 Balazs Kelemen <kb@inf.u-szeged.hu>
+2011-02-22 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
- [Qt] Implement WebKit::Module for qt
- https://bugs.webkit.org/show_bug.cgi?id=44527
-
- * Platform/Module.h:
- * Platform/qt/ModuleQt.cpp:
- (WebKit::Module::load):
- (WebKit::Module::unload):
- (WebKit::Module::platformFunctionPointer):
-
-2010-08-24 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- WebKit2 should launch the WebProcess in 32-bit mode if the UIProcess is in 32-bit mode
- <rdar://problem/8348100>
- https://bugs.webkit.org/show_bug.cgi?id=44537
-
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess): Use posix_spawnattr_setbinpref_np
- to tell posix_spawn to launch the WebProcess in 32-bit mode when the UIProcess
- is running in 32-bit mode.
-
-2010-08-24 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Sam Weinig.
-
- Set the install path of WebKit2.framework to the build directory for debug and release builds
- to match our other frameworks.
-
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-08-24 Sam Weinig <sam@webkit.org>
-
- Reviewed by John Sullivan.
-
- Update profile.
-
- * WebProcess/com.apple.WebProcess.sb:
-
-2010-08-23 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff Garen.
-
- * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp:
- (WKBundleNodeGetParent): Update since parent now returns a
- ContainerNode*. The toRef function is a bit too picky to convert
- it without a bit of help.
-
-2010-08-23 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r65703.
- http://trac.webkit.org/changeset/65703
- https://bugs.webkit.org/show_bug.cgi?id=44460
-
- "Causing lots of crashes on Snow Leopard when running the
- layout tests" (Requested by eseidel2 on #webkit).
-
- * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
- (WebKit::NetscapePluginModule::tryLoad):
-
-2010-08-23 Jon Honeycutt <jhoneycutt@apple.com>
-
- Layout tests do not run when using WebKitTestRunner in a Debug build.
- https://bugs.webkit.org/show_bug.cgi?id=44409
-
- Reviewed by Dan Bernstein.
-
- * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
- (WebKit::ProcessLauncher::launchProcess):
- Use WebKit2WebProcess_debug.exe when building Debug.
-
-2010-08-23 Daniel Bates <dbates@rim.com>
-
- Rubber-stamped by Adam Roben.
-
- Substitute "sizeof("javascript:") - 1" for the hardcoded constant 11 when
- extracting the JavaScript code portion of a JavaScript URL so as to make
- it clearer that the 11 represents the length of the scheme portion of
- a JavaScript URL.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::performJavaScriptURLRequest):
+ [Qt] [WK2] Improve the memory handling of the context menu for WebKit 2
+ https://bugs.webkit.org/show_bug.cgi?id=54902
-2010-08-23 Balazs Kelemen <kb@inf.u-szeged.hu>
+ Refactor the context menu handling of Qt to make it simpler to manage memory.
- Reviewed by Ariya Hidayat.
+ WebContextMenuProxyQt uses smart pointer for all the references to menu so
+ there is no need to delete it explicitely.
- [Qt] Find needed forwarding headers for WebKit2 automatically
- https://bugs.webkit.org/show_bug.cgi?id=44336
+ Passing the QMenu from QWKPage to the client of the signal now uses a QSharedPointer so
+ the client can choose to handle the memory, but there is no leak if it does not.
- * DerivedSources.pro: Use the new enumerate-included-framework-headers script for generating
- the list of forwarding headers we want to create.
-
-2010-08-23 Zoltan Horvath <zoltan@webkit.org>
-
- [Qt] Build fix.
-
- * DerivedSources.pro:
- * WebKit2.pro:
- * WebProcess/Plugins/Netscape/qt: Added.
- * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: Added.
- (WebKit::NetscapePlugin::platformPostInitialize):
- (WebKit::NetscapePlugin::platformPaint):
- (WebKit::toNP):
- (WebKit::NetscapePlugin::platformHandleMouseEvent):
- (WebKit::NetscapePlugin::platformHandleWheelEvent):
- (WebKit::NetscapePlugin::platformSetFocus):
- (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
- (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
-
-2010-08-22 Juha Savolainen <juha.savolainen@weego.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Add QTouchEvents support for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=44330
-
- This patch adds support for QTouchEvents in WebKit2. A new WebEvent-class
- is created for touchevents, WebTouchEvent. Also touchpoints needed a new
- class, WebPlatformTouchPoint. This is similar solution like in other
- events(like MouseEvent) on WebKit2. These classes are introduced in WebEvent.h
- Also there was a need to create an empty constructor to PlatformTouchPoint-class.
-
- * DerivedSources.pro:
- * Shared/CoreIPCSupport/WebPageMessageKinds.h:
- (WebPageMessage::):
- * Shared/WebEvent.h:
- (WebKit::WebEvent::):
- (WebKit::WebTouchPoint::):
- (WebKit::WebTouchPoint::WebTouchPoint):
- (WebKit::WebTouchPoint::id):
- (WebKit::WebTouchPoint::state):
- (WebKit::WebTouchPoint::screenPosX):
- (WebKit::WebTouchPoint::screenPosY):
- (WebKit::WebTouchPoint::posX):
- (WebKit::WebTouchPoint::posY):
- (WebKit::WebTouchPoint::setState):
- (WebKit::WebTouchPoint::encode):
- (WebKit::WebTouchPoint::decode):
- (WebKit::WebTouchEvent::WebTouchEvent):
- (WebKit::WebTouchEvent::type):
- (WebKit::WebTouchEvent::touchPoints):
- (WebKit::WebTouchEvent::encode):
- (WebKit::WebTouchEvent::decode):
- (WebKit::WebTouchEvent::isTouchEventType):
- * Shared/WebEventConversion.cpp:
- (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
- (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
- (WebKit::platform):
- * Shared/WebEventConversion.h:
- * Shared/qt/WebEventFactoryQt.cpp:
- (WebKit::webEventTypeForEvent):
- (WebKit::WebEventFactory::createWebTouchEvent):
- * Shared/qt/WebEventFactoryQt.h:
* UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::event):
- (QGraphicsWKView::touchEvent):
- * UIProcess/API/qt/qgraphicswkview.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::touchEvent):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::touchEvent):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::touchEvent):
- (WebKit::WebPage::didReceiveMessage):
- * WebProcess/WebPage/WebPage.h:
-
-2010-08-21 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Remove specialized retain/release functions in favor of a single one for WKTypeRefs
- https://bugs.webkit.org/show_bug.cgi?id=44386
-
- * UIProcess/API/C/WKArray.cpp:
- (WKArrayGetSize):
- * UIProcess/API/C/WKArray.h:
- * UIProcess/API/C/WKBackForwardList.cpp:
- (WKBackForwardListCopyForwardListWithLimit):
- * UIProcess/API/C/WKBackForwardList.h:
- * UIProcess/API/C/WKBackForwardListItem.cpp:
- (WKBackForwardListItemCopyTitle):
- * UIProcess/API/C/WKBackForwardListItem.h:
- * UIProcess/API/C/WKBase.h:
- * UIProcess/API/C/WKContext.cpp:
- * UIProcess/API/C/WKContext.h:
- * UIProcess/API/C/WKData.cpp:
- (WKDataGetSize):
- * UIProcess/API/C/WKData.h:
- * UIProcess/API/C/WKDictionary.cpp:
- (WKDictionaryCopyKeys):
- * UIProcess/API/C/WKDictionary.h:
- * UIProcess/API/C/WKError.h:
- * UIProcess/API/C/WKFormSubmissionListener.cpp:
- (WKFormSubmissionListenerContinue):
- * UIProcess/API/C/WKFormSubmissionListener.h:
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameGetPage):
- * UIProcess/API/C/WKFrame.h:
- * UIProcess/API/C/WKFramePolicyListener.cpp:
- (WKFramePolicyListenerIgnore):
- * UIProcess/API/C/WKFramePolicyListener.h:
- * UIProcess/API/C/WKNavigationData.cpp:
- (WKNavigationDataCopyURL):
- * UIProcess/API/C/WKNavigationData.h:
- * UIProcess/API/C/WKPage.cpp:
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/C/WKPageNamespace.cpp:
- (WKPageNamespaceGetContext):
- * UIProcess/API/C/WKPageNamespace.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesCreate):
- (WKPreferencesGetLocalStorageEnabled):
- * UIProcess/API/C/WKPreferences.h:
- * UIProcess/API/C/WKString.cpp:
- * UIProcess/API/C/WKString.h:
- * UIProcess/API/C/WKType.cpp:
- (WKRetain):
- (WKRelease):
- * UIProcess/API/C/WKType.h:
- * UIProcess/API/C/WKURL.cpp:
- (WKURLGetTypeID):
- * UIProcess/API/C/WKURL.h:
- * UIProcess/API/cpp/WKRetainPtr.h:
- * UIProcess/API/win/WKView.cpp:
- * UIProcess/API/win/WKView.h:
- * UIProcess/WebPreferences.cpp:
- (WebKit::WebPreferences::shared):
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
- (WKBundleNodeHandleGetTypeID):
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h:
- * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
- (WKBundleScriptWorldNormalWorld):
- * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
-
-2010-08-20 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Implement cursor change in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=44263
-
- Implemented PageClient::setCursor.
- * UIProcess/API/qt/qgraphicswkview.cpp: Added updateCursor slot to be connected to the QWKPage::setCursor signal.
(QGraphicsWKView::QGraphicsWKView):
- (QGraphicsWKView::updateCursor): Sets the cursor of the widget.
+ (QGraphicsWKView::showContextMenu):
* UIProcess/API/qt/qgraphicswkview.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::setCursor): Added implementation for PageClient::setCursor. Emitting singal through the QWKPage.
- * UIProcess/API/qt/qwkpage.h: Added setCursor signal.
- * UIProcess/API/qt/qwkpage_p.h:
-
-2010-08-19 David Kilzer <ddkilzer@apple.com>
-
- BUILD FIX: Fix Mac build after Windows WebKit2 changes for Netscape Plug-ins
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformPaint): Changed frameRect() to
- m_frameRect.
-
-2010-08-19 Adam Roben <aroben@apple.com>
-
- Send mouse events to windowless plugins on Windows
-
- This seems to have been the last issue blocking us from playing videos
- on vimeo.com.
-
- Fixes <http://webkit.org/b/44276> <rdar://problem/8330398> Can't click
- play button in vimeo.com Flash video player in WebKit2 on Windows
-
- Reviewed by Sam Weinig.
-
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- (WebKit::toNP): Added. Converts a WebMouseEvent to an NPEvent. Code
- was adapted from WebCore's PluginViewWin.cpp.
-
- (WebKit::NetscapePlugin::platformHandleMouseEvent):
- (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
- (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
- Convert the WebMouseEvent to an NPEvent and send it to the plugin.
-
-2010-08-19 Adam Roben <aroben@apple.com>
-
- Add support for painting windowless plugins on Windows
-
- This gets the video on the front page of vimeo.com painting (though
- you can't make it play because we don't support mouse events yet).
-
- Fixes <http://webkit.org/b/44274> <rdar://problem/8330395> Windowless
- plugins don't paint in WebKit2 on Windows
-
- Reviewed by Sam Weinig.
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetValue): Tell the plugin that we support windowless
- mode on Windows.
- (WebKit::NPN_SetValue): Implemented handling of NPPVpluginWindowBool
- by calling through to NetscapePlugin::setIsWindowed.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin): Added initialization of
- m_isWindowed. It defaults to false on Mac and true on other platforms,
- matching WebCore's PluginView.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added m_isWindowed.
- (WebKit::NetscapePlugin::setIsWindowed): Added standard setter.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformPaint): Moved Mac-specific context
- translation code here from PluginView::paint.
-
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- (WebKit::NetscapePlugin::platformPaint): Implemented. Code was ported
- from WebCore's PluginViewWin.cpp.
-
- * WebProcess/Plugins/Plugin.h: Updated the comment for Plugin::paint
- to explain the coordinate system of the context.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::paint): Changed to translate the context from
- document to window coordinates. We were previously trying to translate
- to plugin-local coordinates, but this only worked for documents whose
- origin was the same as the window's origin (i.e., the main frame). The
- plugin takes care of any further translations needed. (Mac translates
- the context into plugin-local coordinates, and Windows leaves it in
- window coordinates.)
-
-2010-08-19 Adam Roben <aroben@apple.com>
-
- Implement PluginInfoStore::pluginsDirectories
-
- This makes WebKit2 able to find and load Flash on Windows.
-
- Note that we aren't yet respecting the MozillaPlugins registry key.
- That's covered by <http://webkit.org/b/44271>.
-
- Fixes <http://webkit.org/b/43510> <rdar://problem/8273827> WebKit2
- should load plugins from the same directories as old-WebKit
-
- Reviewed by Jon Honeycutt and Ada Chan.
-
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- (WebKit::parseVersionString):
- (WebKit::compareVersions):
- (WebKit::safariPluginsDirectory):
- (WebKit::addMozillaPluginDirectories):
- (WebKit::addWindowsMediaPlayerPluginDirectory):
- (WebKit::addQuickTimePluginDirectory):
- (WebKit::addAdobeAcrobatPluginDirectory):
- (WebKit::addMacromediaPluginDirectories):
- (WebKit::PluginInfoStore::pluginsDirectories):
- Ported (and ever-so-slightly cleaned up) code from WebCore's
- PluginDatabaseWin.cpp.
-
-2010-08-19 Adam Roben <aroben@apple.com>
-
- Call NP_GetEntryPoints before NP_Initialize on Windows
-
- Doing otherwise will cause Flash and QuickTime to crash inside
- NP_Initialize.
-
- Fixes <http://webkit.org/b/44270> <rdar://problem/8330393> Crash in
- NP_Initialize when loading QuickTime when running
- plugins/embed-attributes-setting.html in WebKit2 on Windows
-
- Reviewed by Sam Weinig.
-
- * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
- (WebKit::NetscapePluginModule::tryLoad): On Windows, first call
- NP_GetEntryPoints, then NP_Initialize. Do the reverse on Mac to
- prevent Silverlight (e.g.) from crashing (see r38858).
-
-2010-08-19 Adam Roben <aroben@apple.com>
-
- Add NetscapePluginWin.cpp
-
- Fixes <http://webkit.org/b/44269> <rdar://problem/8330391>
- NetscapePlugin.h contains functions that should be in
- NetscapePluginWin.cpp
-
- Reviewed by Sam Weinig.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h: Moved functions from
- here...
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: ...to here.
-
- * win/WebKit2.vcproj: Added NetscapePluginWin.cpp and let VS reorder
- the file list.
-
-2010-08-19 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- Add modifier key info to policy client functions in WebKit2
- <rdar://problem/8185298>
- https://bugs.webkit.org/show_bug.cgi?id=44280
-
- * UIProcess/API/C/WKAPICast.h:
- Add conversion function for modifiers and rename an incorrectly named
- toWK to toRef.
-
- * UIProcess/API/C/WKPage.h:
- Add WKEventModifiers enum.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::decidePolicyForNavigationAction):
- (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPolicyClient.cpp:
- (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
- (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
- * UIProcess/WebPolicyClient.h:
- Pipe through modifier info.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::modifiersForNavigationAction):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- Get modifier info out of the NavigationInfo class in the same manner as
- WebKit1.
-
-2010-08-18 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- Add ability to get all the keys from a WKDictionaryRef
- https://bugs.webkit.org/show_bug.cgi?id=44221
-
- * Shared/ImmutableDictionary.cpp:
- (WebKit::ImmutableDictionary::keys):
- * Shared/ImmutableDictionary.h:
- Add keys function.
-
- * UIProcess/API/C/WKDictionary.cpp:
- (WKDictionaryCopyKeys):
- * UIProcess/API/C/WKDictionary.h:
- Wrap keys function.
-
-2010-08-18 Sam Weinig <sam@webkit.org>
-
- Reviewed by Jon Honeycutt.
-
- Add ability to set custom userAgent for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=44215
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/qt/WebContextMenuProxyQt.cpp:
+ (WebKit::WebContextMenuProxyQt::showContextMenu):
+ (WebKit::WebContextMenuProxyQt::createContextMenu):
+ * UIProcess/qt/WebContextMenuProxyQt.h:
- * Shared/CoreIPCSupport/WebPageMessageKinds.h:
- (WebPageMessage::):
- * UIProcess/API/C/WKPage.cpp:
- (WKPageSetCustomUserAgent):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setCustomUserAgent):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::userAgent):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setCustomUserAgent):
- (WebKit::WebPage::userAgent):
- (WebKit::WebPage::didReceiveMessage):
- * WebProcess/WebPage/WebPage.h:
+2011-02-22 Philippe Normand <pnormand@igalia.com>
-2010-08-18 Sam Weinig <sam@webkit.org>
+ Reviewed by Xan Lopez.
- Rubber-stamped by John Sullivan.
+ [GTK] make distcheck fails
+ https://bugs.webkit.org/show_bug.cgi?id=54943
- Make WKBundleNodeHandleRef usable from WKRetainPtr.
+ Removed reference to NotImplemented.h which was removed.
- * WebKit2.xcodeproj/project.pbxproj: Make WKBundleNodeHandle.h public.
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h: Add WKRetain/WKRelease overloads.
+ * GNUmakefile.am:
-2010-08-18 Zoltan Horvath <zoltan@webkit.org>
+2011-02-22 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
- [Qt] Forwards QtWebProcess' stdout, stderr onto the UI process
- https://bugs.webkit.org/show_bug.cgi?id=44159
-
- For debugging purposes forwards stdout and stderr of QtWebProcess onto the UI process.
-
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- (WebKit::ProcessLauncherHelper::launch):
-
-2010-08-17 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Darin Adler.
+ [Qt] QtWebProcess should be installed with 'make install'
+ https://bugs.webkit.org/show_bug.cgi?id=44100
- Add NetworkingContext to avoid layer violations
- https://bugs.webkit.org/show_bug.cgi?id=42292
+ Follow the standard in other project files and allow install
+ location to be changed with INSTALL_BINS variable.
- Preparation: Just add the files to the build system.
+ * WebProcess.pro: Install QtWebProcess.
- * WebKit2.xcodeproj/project.pbxproj: Added new files.
- * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: Added.
- Placeholder with tentative code that might be changed when landing
- the rest of it.
- * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: Added.
- Empty placeholder for now.
+2011-02-22 Sheriff Bot <webkit.review.bot@gmail.com>
-2010-08-16 Jon Honeycutt <jhoneycutt@apple.com>
+ Unreviewed, rolling out r79296.
+ http://trac.webkit.org/changeset/79296
+ https://bugs.webkit.org/show_bug.cgi?id=54941
- Allow some tests to pass in WebKitTestRunner before SharedMemory and
- PluginInfoStore are implemented on Windows.
+ Breaks compilation on SnowLeapard Intel Release (Requested by
+ kbalazs_ on #webkit).
- Reviewed by Sam Weinig.
-
- * Platform/win/SharedMemoryWin.cpp:
- Disable not implemented warnings.
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- Ditto.
-
-2010-08-16 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig
-
- Remove unnecessary includes from UString.h, add new includes as necessary.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
-
-2010-08-16 Sam Weinig <sam@webkit.org>
-
- Fix windows build.
-
- * Shared/win/CommandLineWin.cpp:
-
-2010-08-16 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Remove #includes of <WebCore/PlatformString.h> in favor of <wtf/text/WTFString.h>
-
- * Platform/Module.cpp:
- * Platform/Module.h:
- * Shared/CommandLine.h:
- * Shared/WebCoreArgumentCoders.h:
- * Shared/WebEvent.h:
- * Shared/WebNavigationDataStore.h:
- * Shared/WebPreferencesStore.h:
- * Shared/WebString.h:
- * Shared/WebURL.h:
- * Shared/mac/CommandLineMac.cpp:
- * Shared/qt/UpdateChunk.cpp:
- * UIProcess/API/C/WKContext.cpp:
- * UIProcess/API/C/cf/WKStringCF.cpp:
- * UIProcess/API/C/cf/WKURLCF.cpp:
- * UIProcess/API/cpp/qt/WKStringQt.cpp:
- * UIProcess/API/cpp/qt/WKURLQt.cpp:
+ * Platform/gtk/SharedMemoryGtk.cpp:
+ * Platform/gtk/WorkQueueGtk.cpp:
+ * Platform/qt/WorkQueueQt.cpp:
+ * Platform/win/WorkQueueWin.cpp:
+ * Shared/NotImplemented.h: Copied from Source/WebKit2/WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp.
+ * Shared/Plugins/NPIdentifierData.cpp:
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ * Shared/Plugins/NPVariantData.cpp:
+ * Shared/cairo/ShareableBitmapCairo.cpp:
+ * Shared/gtk/ShareableBitmapGtk.cpp:
+ * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
+ * Shared/qt/WebCoreArgumentCodersQt.cpp:
+ * Shared/win/LayerTreeContextWin.cpp:
* UIProcess/API/mac/PageClientImpl.mm:
- * UIProcess/API/qt/qgraphicswkview.cpp:
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
- * UIProcess/WebBackForwardListItem.cpp:
- * UIProcess/WebBackForwardListItem.h:
- * UIProcess/WebContext.h:
- * UIProcess/WebContextInjectedBundleClient.cpp:
- * UIProcess/WebFrameProxy.cpp:
- * UIProcess/WebFrameProxy.h:
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPolicyClient.cpp:
- * UIProcess/WebProcessProxy.cpp:
- * UIProcess/WebUIClient.cpp:
- * UIProcess/win/WebView.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- * WebProcess/InjectedBundle/InjectedBundle.h:
- * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
- * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
- * WebProcess/Plugins/JSNPObject.cpp:
- * WebProcess/Plugins/NPJSObject.cpp:
- * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
- * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- * WebProcess/WebKitMain.cpp:
- * WebProcess/win/WebProcessMainWin.cpp:
-
-2010-08-16 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Null CFURLRef returned from provisionalURL after searching on zillow.com
- <rdar://problem/8261812>
- https://bugs.webkit.org/show_bug.cgi?id=44072
-
- Conversion from WKURLRef to CFRURLRef was breaking on URLs using characters
- such as '{'.
-
- * UIProcess/API/C/cf/WKURLCF.cpp:
- (WKURLCopyCFURL): Use code similar to that found in KURLCFNet.cpp for conversion.
-
-2010-08-16 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Remove unnecessary copy constructor, assignment operator and swap function.
- The defaults (for all except swap) should do just fine.
-
- * Shared/WebPreferencesStore.cpp:
- * Shared/WebPreferencesStore.h:
-
-2010-08-16 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Handle content size change in WebKit2
- Re-landing after fix.
-
- https://bugs.webkit.org/show_bug.cgi?id=43198
-
- Based on the work of Antti Koivisto.
- Send message to the UI client when the contents size has changed through the WebChromeClient
- and propagate it to the WKPageUIClient.
-
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- (WebPageProxyMessage::): Added ContentsSizeChanged message kind.
- * UIProcess/API/C/WKPage.h: Added WKPageContentsSizeChangedCallback callback to the WKPageUIClient.
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage): Initialize the new callback to 0.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage): Handle ContentsSizeChanged message. Calls contetsSizeChanged.
- (WebKit::WebPageProxy::contentsSizeChanged): Added. Propagate the event to the the UI client.
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::contentsSizeChanged): Added. Propagate the event forward to the WKPageUIClient.
- * UIProcess/WebUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::contentsSizeChanged): Implemented.
-
-2010-08-16 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r65419.
- http://trac.webkit.org/changeset/65419
- https://bugs.webkit.org/show_bug.cgi?id=44053
-
- Broke the Windows build (Requested by bbandix on #webkit).
-
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- (WebPageProxyMessage::):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebUIClient.cpp:
- * UIProcess/WebUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::contentsSizeChanged):
-
-2010-08-16 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Handle content size change in WebKit2
-
- https://bugs.webkit.org/show_bug.cgi?id=43198
-
- Based on the work of Antti Koivisto.
- Send message to the UI client when the contents size has changed through the WebChromeClient
- and propagate it to the WKPageUIClient.
-
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- (WebPageProxyMessage::): Added ContentsSizeChanged message kind.
- * UIProcess/API/C/WKPage.h: Added WKPageContentsSizeChangedCallback callback to the WKPageUIClient.
* UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage): Initialize the new callback to 0.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage): Handle ContentsSizeChanged message. Calls contetsSizeChanged.
- (WebKit::WebPageProxy::contentsSizeChanged): Added. Propagate the event to the the UI client.
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::contentsSizeChanged): Added. Propagate the event forward to the WKPageUIClient.
- * UIProcess/WebUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::contentsSizeChanged): Implemented.
-
-2010-08-16 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Unreviewed Qt WebKit2 build fix.
-
- * UIProcess/qt/WebContextQt.cpp:
- (WebKit::WebContext::platformSetUpWebProcess): Added empty stub implementation.
- * WebKit2.pro: Enumerate new files, include WebKit.pri for correct define macro set.
-
-2010-08-15 Dan Bernstein <mitz@apple.com>
-
- Revised build fix from r65363 based on suggestion from Darin Adler.
-
- * UIProcess/API/C/WKArray.h: Include stddef.h.
- * UIProcess/API/C/WKBase.h: Uninclude ctype.h.
- * UIProcess/API/C/WKData.h: Include stddef.h.
- * UIProcess/API/C/WKDictionary.h: Ditto.
-
-2010-08-14 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson in Sweden.
-
- Clean build of WebKitTestRunner fails with “'size_t' has not been declared” in WKArray.h
- https://bugs.webkit.org/show_bug.cgi?id=44005
-
- * UIProcess/API/C/WKBase.h: Include ctype.h.
-
-2010-08-13 Sam Weinig <sam@webkit.org>
-
- Fix build.
-
- * WebKit2.xcodeproj/project.pbxproj: Make WKDictionary.h public.
-
-2010-08-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Brady Eidson.
-
- Pass values map to willSubmitForm in WebKit2 API
- Part of <rdar://problem/8255932>
- https://bugs.webkit.org/show_bug.cgi?id=43995
-
- * Platform/CoreIPC/ArgumentCoders.h:
- (CoreIPC::):
- Add overload for std::pair.
-
- * Shared/ImmutableDictionary.h:
- (WebKit::ImmutableDictionary::adopt):
- Fix function signature by removing size parameter.
-
- * UIProcess/API/C/WKPage.h:
- Add dictionary parameter to callback.
-
- * UIProcess/WebFormClient.cpp:
- (WebKit::WebFormClient::willSubmitForm):
- Create an ImmutableDictionary from the vector of string pairs.
-
- * UIProcess/WebFormClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::willSubmitForm):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
- Plumb through the values vector.
-
-2010-08-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Brady Eidson.
-
- Add dictionary API type
- https://bugs.webkit.org/show_bug.cgi?id=43990
-
- Add an immutable dictionary type (WKStringRef -> WKTypeRef).
-
- * Shared/APIObject.h:
- (WebKit::APIObject::):
- Add new APIType.
-
- * Shared/ImmutableDictionary.cpp: Added.
- (WebKit::ImmutableDictionary::ImmutableDictionary):
- (WebKit::ImmutableDictionary::~ImmutableDictionary):
- * Shared/ImmutableDictionary.h: Added.
- (WebKit::ImmutableDictionary::create):
- (WebKit::ImmutableDictionary::adopt):
- (WebKit::ImmutableDictionary::get):
- (WebKit::ImmutableDictionary::size):
- (WebKit::ImmutableDictionary::):
- (WebKit::ImmutableDictionary::type):
- Add basic implementation
-
- * UIProcess/API/C/WKAPICast.h:
- (WebKit::):
- Add new mappings.
-
- * UIProcess/API/C/WKBase.h:
- Add new opaque type.
-
- * UIProcess/API/C/WKDictionary.cpp: Added.
- (WKDictionaryGetTypeID):
- (WKDictionaryGetItemForKey):
- (WKDictionaryGetSize):
- (WKDictionaryRetain):
- (WKDictionaryRelease):
- * UIProcess/API/C/WKDictionary.h: Added.
- Add API wrappings.
-
- * UIProcess/API/C/WebKit2.h:
- Add missing public headers.
-
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
- Add new files.
-
-2010-08-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Jon Honeycutt.
-
- Add form submission listener to WebKit2
- Part of <rdar://problem/8255932>
- https://bugs.webkit.org/show_bug.cgi?id=43947
-
- * Shared/APIObject.h:
- Add TypeFormSubmissionListener APIType.
-
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- Add WillSubmitForm message kind.
-
- * UIProcess/API/C/WKAPICast.h:
- Add new mappings for WKFormSubmissionListenerRef -> WebFormSubmissionListener
-
- * UIProcess/API/C/WKBase.h:
- Add OpaqueWKFormSubmissionListener and rename the other opaque types to match.
-
- * UIProcess/API/C/WKFormSubmissionListener.cpp: Added.
- (WKFormSubmissionListenerGetTypeID):
- (WKFormSubmissionListenerContinue):
- (WKFormSubmissionListenerRetain):
- (WKFormSubmissionListenerRelease):
- * UIProcess/API/C/WKFormSubmissionListener.h: Added.
- Add C wrapper for WebFormSubmissionListener.
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageSetPageFormClient):
- * UIProcess/API/C/WKPage.h:
- Add WKPageFormClient with willSubmitForm callback. Additional callbacks will be added as
- needed.
-
- * UIProcess/API/C/WebKit2.h:
- Add include for WKFormSubmissionListener.h
-
- * UIProcess/WebFormClient.cpp: Added.
- (WebKit::WebFormClient::WebFormClient):
- (WebKit::WebFormClient::initialize):
- (WebKit::WebFormClient::willSubmitForm):
- * UIProcess/WebFormClient.h: Added.
- Add client for form related delagations.
-
- * UIProcess/WebFormSubmissionListenerProxy.cpp: Added.
- (WebKit::WebFormSubmissionListenerProxy::WebFormSubmissionListenerProxy):
- (WebKit::WebFormSubmissionListenerProxy::continueSubmission):
- * UIProcess/WebFormSubmissionListenerProxy.h: Added.
- (WebKit::WebFormSubmissionListenerProxy::create):
- (WebKit::WebFormSubmissionListenerProxy::type):
- * UIProcess/WebFrameListenerProxy.cpp: Copied from UIProcess/WebFramePolicyListenerProxy.cpp.
- Add new type of listener for form submissions. It inherits from the new base class
- for listeners, WebFrameListenerProxy.
-
- (WebKit::WebFrameListenerProxy::WebFrameListenerProxy):
- (WebKit::WebFrameListenerProxy::~WebFrameListenerProxy):
- (WebKit::WebFrameListenerProxy::invalidate):
- (WebKit::WebFrameListenerProxy::receivedPolicyDecision):
- * UIProcess/WebFrameListenerProxy.h: Copied from UIProcess/WebFramePolicyListenerProxy.h.
- Move logic that would have to be shared between WebFramePolicyListenerProxy and
- WebFormSubmissionListenerProxy into shared base class.
-
- * UIProcess/WebFramePolicyListenerProxy.cpp:
- (WebKit::WebFramePolicyListenerProxy::WebFramePolicyListenerProxy):
- * UIProcess/WebFramePolicyListenerProxy.h:
- (WebKit::WebFramePolicyListenerProxy::create):
- (WebKit::WebFramePolicyListenerProxy::type):
- Move to inheriting from WebFrameListenerProxy.
-
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::disconnect):
- (WebKit::WebFrameProxy::receivedPolicyDecision):
- (WebKit::WebFrameProxy::setUpPolicyListenerProxy):
- (WebKit::WebFrameProxy::setUpFormSubmissionListenerProxy):
- * UIProcess/WebFrameProxy.h:
- Change listener functions to act on WebFrameListenerProxys and add setUpFormSubmissionListenerProxy.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeFormClient):
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::willSubmitForm):
- * UIProcess/WebPageProxy.h:
- Plumb through willSubmitForm call as we do with the other listeners.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
- Ditto.
-
- * WebKit2.xcodeproj/project.pbxproj: Add new files.
- * win/WebKit2.vcproj: Add new files.
- * win/WebKit2Generated.make: Ditto.
-
-2010-08-13 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig
-
- Unify UString::UTF8String() & String::utf8() methods,
- remove UString::cost() & make atArrayIndex a free function.
-
- * WebProcess/Plugins/JSNPObject.cpp:
- (WebKit::npIdentifierFromIdentifier):
- * WebProcess/Plugins/NPJSObject.cpp:
- (WebKit::NPJSObject::enumerate):
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
-
-2010-08-12 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r65295.
- http://trac.webkit.org/changeset/65295
- https://bugs.webkit.org/show_bug.cgi?id=43950
-
- It broke 4 sputnik tests (Requested by Ossy on #webkit).
-
- * WebProcess/Plugins/JSNPObject.cpp:
- (WebKit::npIdentifierFromIdentifier):
- * WebProcess/Plugins/NPJSObject.cpp:
- (WebKit::NPJSObject::enumerate):
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
-
-2010-08-12 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig
-
- Unify UString::UTF8String() & String::utf8() methods,
- remove UString::cost() & make atArrayIndex a free function.
-
- * WebProcess/Plugins/JSNPObject.cpp:
- (WebKit::npIdentifierFromIdentifier):
- * WebProcess/Plugins/NPJSObject.cpp:
- (WebKit::NPJSObject::enumerate):
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
-
-2010-08-12 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKit2 crashes when WebFrame outlives WebPage
- https://bugs.webkit.org/show_bug.cgi?id=43939
-
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- (WebKit::WebChromeClient::page): Add this method, to allow
- WebFrame to retrieve its WebPage following WebCore pointers.
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::WebFrame): Do not initialize m_page (it's gone).
- (WebKit::WebFrame::page): Don't use the data member, get it from
- WebCore.
- (WebKit::WebFrame::invalidate): Use method to get page() and null check.
- (WebKit::WebFrame::isMainFrame): ditto
- * WebProcess/WebPage/WebFrame.h:
-
-2010-08-12 Jon Honeycutt <jhoneycutt@apple.com>
-
- WebKit2 needs to initialize SafariTheme
- https://bugs.webkit.org/show_bug.cgi?id=43901
-
- Reviewed by Sam Weinig.
-
- * WebProcess/win/WebProcessMainWin.cpp:
- (WebKit::initializeSafariTheme):
- Copied from old WebKit.
- (WebKit::WebProcessMain):
- If we're using SafariTheme, initialize it.
-
-2010-08-12 Jon Honeycutt <jhoneycutt@apple.com>
-
- WebKitTestRunner needs to run tests without using native controls
- https://bugs.webkit.org/show_bug.cgi?id=43772
-
- Reviewed by Sam Weinig.
-
- * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
- (WebProcessMessage::):
- Add a new message.
-
- * UIProcess/API/C/win/WKContextPrivateWin.h: Added.
- Declare WKContextSetShouldPaintNativeControls().
-
- * UIProcess/API/C/win/WKContextWin.cpp: Added.
- (WKContextSetShouldPaintNativeControls):
- Call the WebContext's setShouldPaintNativeControls().
-
+ * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
- Initialize m_shouldPaintNativeControls.
- (WebKit::WebContext::ensureWebProcess):
- If we created a web process, call platformSetUpWebProcess().
-
- * UIProcess/WebContext.h:
- Declare new functions and a member to store whether we should paint
- native controls.
-
- * UIProcess/mac/WebContextMac.mm:
- (WebKit::WebContext::platformSetUpWebProcess):
- Stubbed.
-
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::setShouldPaintNativeControls):
- Set m_shouldPaintNativeControls. If we have a valid web process, send a
- SetShouldPaintNativeControls message.
- (WebKit::WebContext::platformSetUpWebProcess):
- Send a SetShouldPaintNativeControls message.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::didReceiveMessage):
- If this is a SetShouldPaintNativeControls message, decode the argument,
- and call Settings::setShouldPaintNativeControls().
-
- * win/WebKit2.vcproj:
- Add WKContextPrivateWin.h and WKContextWin.cpp to project.
-
- * win/WebKit2Generated.make:
- Copy WKContextPrivateWin.h.
-
-2010-08-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Add SPI to stop loading from the InjectedBundle.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageStopLoading):
- * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
- * WebProcess/WebPage/WebPage.h:
-
-2010-08-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- WKPageStopLoading always asserts
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didReceiveMessage): Switch break to return, break made us
- hit the ASSERT_NOT_REACHED at the end of the function.
-
-2010-08-11 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Unreviewed build fix.
-
- [Qt] Update WebKit2 build environment, add stub implementation of SharedMemory.
-
- * DerivedSources.pro:
- * Platform/qt/SharedMemoryQt.cpp: Added.
- (WebKit::SharedMemory::Handle::Handle):
- (WebKit::SharedMemory::Handle::~Handle):
- (WebKit::SharedMemory::Handle::encode):
- (WebKit::SharedMemory::Handle::decode):
- (WebKit::SharedMemory::create):
- (WebKit::SharedMemory::~SharedMemory):
- (WebKit::SharedMemory::createHandle):
- (WebKit::SharedMemory::systemPageSize):
- * WebKit2.pro:
- * WebKit2Prefix.h:
-
-2010-08-11 Mark Rowe <mrowe@apple.com>
-
- Build fix. Update references to StringHash.h.
-
- * Shared/CommandLine.h:
- * UIProcess/WebContext.h:
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- * WebProcess/win/WebProcessMainWin.cpp:
-
-2010-08-10 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add leakRef and clear to all RefPtr variants
- https://bugs.webkit.org/show_bug.cgi?id=42389
-
- * UIProcess/API/cpp/WKRetainPtr.h: Changed all uses of "template <...>" to
- "template<...>". Defined many of the inlined functions outside the class
- definition, to avoid style checker warnings about multiple statements on
- a single line and for slightly better clarity of the class definition itself.
- Renamed releaseRef to leakRef. Added a releaseRef that calls leakRef so we
- don't have to rename all callers at once. Added a clear function.
-
-2010-08-10 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Build WebKit2 into a static lib
-
- https://bugs.webkit.org/show_bug.cgi?id=43621
-
- * WebKit2.pri: Added. Defined addWebKit2Lib function that defines how to link against the static lib.
- * WebKit2.pro: Build specification for the WebKit2 framework.
- * WebProcess.pro: Copied from WebKit2/WebKit2.pro. Build specification for the WebProcess binary.
-
-2010-08-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Add zoom support for injected bundle
- https://bugs.webkit.org/show_bug.cgi?id=43759
-
- Add SPI to change the zoom factor for a page.
-
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- (toZoomMode):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageGetZoomFactor):
- (WKBundlePageSetZoomFactor):
- (WKBundlePageSetZoomMode):
- * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::zoomFactor):
- (WebKit::WebPage::setZoomFactor):
- (WebKit::WebPage::setZoomMode):
- * WebProcess/WebPage/WebPage.h:
-
-2010-08-06 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig
-
- Bug 43594 - Add string forwards to Forward.h
- This allows us to remove forward declarations for these classes from
- WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
-
- * UIProcess/PageClient.h:
- * UIProcess/VisitedLinkProvider.h:
- * UIProcess/WebContextInjectedBundleClient.h:
- * UIProcess/WebFrameProxy.h:
- * UIProcess/WebHistoryClient.h:
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPolicyClient.h:
- * UIProcess/WebProcessProxy.h:
- * UIProcess/WebUIClient.h:
- * UIProcess/win/WebView.h:
- * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
- * WebProcess/Plugins/NPRuntimeObjectMap.h:
- * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
- * WebProcess/Plugins/PluginController.h:
- * WebProcess/WebPage/WebFrame.h:
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebProcess.h:
-
-2010-08-09 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] No need for PageClientImpl
-
- https://bugs.webkit.org/show_bug.cgi?id=43728
-
- Remove PageClientImpl, take the implementation of WebKit::PageClient into QWKPagePrivate.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::QWKPagePrivate):
- (QWKPagePrivate::toolTipChanged):
- * UIProcess/API/qt/qwkpage_p.h:
- (QWKPagePrivate::pageDidEnterAcceleratedCompositing):
- (QWKPagePrivate::pageDidLeaveAcceleratedCompositing):
- (QWKPagePrivate::processDidExit):
- (QWKPagePrivate::processDidRevive):
- (QWKPagePrivate::setCursor):
- (QWKPagePrivate::takeFocus):
-
-2010-08-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- WebKitTestRunner needs to print onunload handler information
- <rdar://problem/8213831>
- https://bugs.webkit.org/show_bug.cgi?id=42703
-
- Add SPI to get the number of pending unload events.
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameGetPendingUnloadCount):
- * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::pendingUnloadCount):
- * WebProcess/WebPage/WebFrame.h:
-
-2010-08-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add additional loader client functions need to complete WebKitTestRunner
- https://bugs.webkit.org/show_bug.cgi?id=43684
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- (WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame):
- (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didChangeLocationWithinPageForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
- (WebKit::WebFrameLoaderClient::dispatchDidCancelClientRedirect):
- (WebKit::WebFrameLoaderClient::dispatchWillPerformClientRedirect):
- (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
- (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
- (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
- (WebKit::WebFrameLoaderClient::didRunInsecureContent):
-
-2010-08-07 Sam Weinig <sam@webkit.org>
-
- Another fix for the windows build.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
-
-2010-08-07 Sam Weinig <sam@webkit.org>
-
- Fix windows build.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::platformLayer):
- * WebProcess/Plugins/PluginView.h:
-
-2010-08-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- WebKitTestRunner needs GCController
- <rdar://problem/8213834>
- https://bugs.webkit.org/show_bug.cgi?id=42701
-
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleGarbageCollectJavaScriptObjects):
- (WKBundleGarbageCollectJavaScriptObjectsOnAlternateThreadForDebugging):
- (WKBundleGetJavaScriptObjectsCount):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::garbageCollectJavaScriptObjects):
- (WebKit::InjectedBundle::garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging):
- (WebKit::InjectedBundle::javaScriptObjectsCount):
- * WebProcess/InjectedBundle/InjectedBundle.h:
-
-2010-08-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- CA drawing model support for Mac Plugins
- https://bugs.webkit.org/show_bug.cgi?id=43678
- <rdar://problem/7929701>
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetValue):
- Handle WKNVSupportsCompositingCoreAnimationPluginsBool and
- NPNVsupportsCoreAnimationBool and return true if accelerated compositing is enabled.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
- Call PluginController::isAcceleratedCompositingEnabled.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformPostInitialize):
- If the plug-in uses the Core Animation drawing model, ask it for its layer.
-
- (WebKit::NetscapePlugin::platformPaint):
- Don't send draw events if the Core Animation drawing model is used.
-
- (WebKit::NetscapePlugin::pluginLayer):
- Return the plug-in layer.
-
- * WebProcess/Plugins/Plugin.h:
- Add a pluginLayer pure virtual member function.
-
- * WebProcess/Plugins/PluginController.h:
- Add an isAcceleratedCompositingEnabled pure virtual member function.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::initializePlugin):
- If the plug-in has a layer, enter compositing mode.
-
- (WebKit::PluginView::platformLayer):
- Ask the plug-in for its layer.
-
- (WebKit::PluginView::isAcceleratedCompositingEnabled):
- Call Settings::acceleratedCompositingEnabled.
-
- * WebProcess/Plugins/PluginView.h:
-
-2010-08-06 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Delete key doesn't go Back in WebKit2
- <rdar://problem/8272978>
- https://bugs.webkit.org/show_bug.cgi?id=43665
-
- - Adds support for delete key going back (mac only for now)
- - Adds support for command-left/command right going back/forward
- - Flesh out scrolling due to arrow keys on the mac to match old webkit.
- - Made performDefaultBehaviorForKeyEvent platform specific and added
- a boolean return value which will be used later to inform the UI process
- about what events have been processed.
-
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- (WebPageProxyMessage::):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _wantsKeyDownForEvent:]):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveSyncMessage):
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- (WebKit::WebBackForwardListProxy::backItem):
- (WebKit::WebBackForwardListProxy::forwardItem):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::keyEvent):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::scroll):
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
- * WebProcess/WebPage/qt/WebPageQt.cpp:
- (WebKit::scroll):
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::scroll):
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
-
-2010-08-07 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r64904.
- http://trac.webkit.org/changeset/64904
- https://bugs.webkit.org/show_bug.cgi?id=43671
-
- Broke the Qt Windows builders. (Requested by bbandix on
- #webkit).
-
- * WebKit2.pri: Removed.
+ * UIProcess/WebInspectorProxy.cpp:
+ * UIProcess/gtk/TextCheckerGtk.cpp:
+ * UIProcess/gtk/WebInspectorGtk.cpp:
+ * UIProcess/gtk/WebPreferencesGtk.cpp:
+ * UIProcess/qt/TextCheckerQt.cpp:
+ * UIProcess/qt/WebInspectorProxyQt.cpp:
+ * UIProcess/win/TextCheckerWin.cpp:
+ * UIProcess/win/WebContextMenuProxyWin.cpp:
* WebKit2.pro:
- * WebProcess.pro: Removed.
-
-2010-08-07 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Eric Seidel.
-
- NPAPI headers should be included through npruntime_internal.h
-
- https://bugs.webkit.org/show_bug.cgi?id=43620
-
- * DerivedSources.pro:
- * WebProcess/Plugins/NPJSObject.h:
- * WebProcess/Plugins/NPRuntimeUtilities.h:
- * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
-
-2010-08-07 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Eric Seidel.
-
- [Qt] Build WebKit2 into a static lib
-
- https://bugs.webkit.org/show_bug.cgi?id=43621
-
- * WebKit2.pri: Added. Defined addWebKit2Lib function that defines how to link against the static lib.
- * WebKit2.pro: Build specification for the WebKit2 framework.
- * WebProcess.pro: Copied from WebKit2/WebKit2.pro. Build specification for the WebProcess binary.
-
-2010-08-05 Jon Honeycutt <jhoneycutt@apple.com>
-
- WebKitTestRunner needs to be able to set the font smoothing type
- https://bugs.webkit.org/show_bug.cgi?id=43406
-
- Reviewed by Adam Roben.
-
- * Shared/FontSmoothingLevel.h: Added.
- (WebKit::):
-
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::WebPreferencesStore):
- Initialize fontSmoothingLevel.
- (WebKit::WebPreferencesStore::swap):
- Copy fontSmoothingLevel.
-
- * Shared/WebPreferencesStore.h:
- (WebKit::WebPreferencesStore::encode):
- Encode fontSmoothingLevel.
- (WebKit::WebPreferencesStore::decode):
- Decode it.
-
- * UIProcess/API/C/WKPreferencesPrivate.cpp: Added.
- (WKPreferencesSetFontSmoothingLevel):
- Get the font smoothing level from the WKFontSmoothingLevel, and call
- WebPreferences::setFontSmoothingLevel().
- (WKPreferencesGetFontSmoothingLevel):
- Get the font smoothing level from WebPreferences, and translate it to a
- WKFontSmoothingLevel.
-
- * UIProcess/API/C/WKPreferencesPrivate.h: Added.
- Declare the font smoothing levels, and declare functions to get and set
- the level.
-
- * UIProcess/WebPreferences.cpp:
- (WebKit::WebPreferences::setFontSmoothingLevel):
- Set fontSmoothingLevel and call update().
- (WebKit::WebPreferences::fontSmoothingLevel):
- Return the level.
-
- * UIProcess/WebPreferences.h:
- Declare getter and setter for fontSmoothingLevel.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files to project.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::preferencesDidChange):
- Call platformPreferencesDidChange().
-
- * WebProcess/WebPage/WebPage.h:
- Declare platformPreferencesDidChange().
-
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::platformPreferencesDidChange):
- Stubbed.
-
- * WebProcess/WebPage/qt/WebPageQt.cpp:
- (WebKit::WebPage::platformPreferencesDidChange):
- Stubbed.
-
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::platformPreferencesDidChange):
- On CG platforms, call wkSetFontSmoothingLevel(). This matches the code
- in old WebKit's WebPreferences. Set the font rendering mode to either
- normal (CG) or alternative (GDI) based on the font smoothing level. This
- matches what was done in old WebKit's WebView.
-
- * win/WebKit2.vcproj:
- Add FontSmoothingLevel.h and WKPreferencesPrivate.{h,cpp} to project.
-
- * win/WebKit2Generated.make:
- Copy WKPreferencesPrivate.h.
-
-2010-08-06 Anders Carlsson <andersca@apple.com>
-
- Build fixes.
-
- * Platform/win/SharedMemoryWin.cpp:
- (WebKit::SharedMemory::Handle::encode):
- (WebKit::SharedMemory::Handle::decode):
- * Shared/qt/UpdateChunk.cpp:
- (WebKit::UpdateChunk::encode):
- (WebKit::UpdateChunk::decode):
- * Shared/qt/UpdateChunk.h:
- * Shared/win/UpdateChunk.cpp:
- (WebKit::UpdateChunk::encode):
- (WebKit::UpdateChunk::decode):
- * Shared/win/UpdateChunk.h:
-
-2010-08-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Change all ArgumentEncoder and ArgumentDecoder references to pointers
- https://bugs.webkit.org/show_bug.cgi?id=43651
-
- * Platform/CoreIPC/ArgumentCoder.h:
- * Platform/CoreIPC/ArgumentDecoder.h:
- * Platform/CoreIPC/Arguments.h:
- * Platform/CoreIPC/Attachment.cpp:
- * Platform/CoreIPC/Attachment.h:
- * Platform/CoreIPC/mac/MachPort.h:
- * Platform/SharedMemory.h:
- * Platform/mac/SharedMemoryMac.cpp:
- * Shared/DrawingAreaBase.cpp:
- * Shared/DrawingAreaBase.h:
- * Shared/WebEvent.h:
- * Shared/WebNavigationDataStore.h:
- * Shared/WebPreferencesStore.h:
- * Shared/mac/UpdateChunk.cpp:
- * Shared/mac/UpdateChunk.h:
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
- * UIProcess/DrawingAreaProxy.h:
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- * UIProcess/LayerBackedDrawingAreaProxy.h:
- * UIProcess/WebContext.cpp:
- * UIProcess/WebContext.h:
- * UIProcess/WebPageProxy.cpp:
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebProcessProxy.cpp:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- * WebProcess/InjectedBundle/InjectedBundle.h:
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
- * WebProcess/WebPage/DrawingArea.h:
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- * WebProcess/WebPage/LayerBackedDrawingArea.h:
- * WebProcess/WebPage/WebPage.cpp:
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebProcess.cpp:
-
-2010-08-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Don't try to allocate a vector unless we know the buffer can contain it
- https://bugs.webkit.org/show_bug.cgi?id=43647
-
- * Platform/CoreIPC/ArgumentCoders.h:
- (CoreIPC::):
- Check that the argument decoder buffer actually can hold all the vector elements.
-
- * Platform/CoreIPC/ArgumentDecoder.cpp:
- (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughtToContain):
- Align the current position to the given alignment, add the size and check if the position is
- past the end of the buffer.
-
- * Platform/CoreIPC/ArgumentDecoder.h:
- (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughtToContain):
- Get the size and alignment and call the other bufferIsLargeEnoughtToContain overload.
-
-2010-08-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Detect invalid CoreIPC messages and call didReceiveInvalidMessage
- https://bugs.webkit.org/show_bug.cgi?id=43643
- <rdar://problem/7891069>
-
- * Platform/CoreIPC/ArgumentDecoder.cpp:
- (CoreIPC::ArgumentDecoder::alignBufferPosition):
- If we can't correctly align the buffer position, mark the decoder as invalid.
-
- * Platform/CoreIPC/ArgumentDecoder.h:
- (CoreIPC::ArgumentDecoder::isInvalid):
- Check if the argument decoder is valid.
-
- (CoreIPC::ArgumentDecoder::markInvalid):
- Mark the argument decoder as invalid, by setting its buffer position past its end position.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::dispatchMessages):
- Check if m_client is null before dispatching messages. If an argument decoder was marked invalid, call
- Connection::Client::didReceiveInvalidMessage.
-
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::Message::releaseArguments):
- Rename destroy to releaseArguments and make it return a PassOwnPtr.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::~WebProcessProxy):
- Call releaseArguments instead of destroy.
-
- (WebKit::WebProcessProxy::didReceiveInvalidMessage):
- Kill the web process and invalidate its connection.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::didReceiveInvalidMessage):
- Don't do anything, if the UI process is sending invalid messages there's not much we can do.
-
- * WebProcess/WebProcess.h:
-
-2010-08-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add CoreIPC::MessageReceiver class
- https://bugs.webkit.org/show_bug.cgi?id=43637
-
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::MessageReceiver::~MessageReceiver):
- Add MessageReceiver class and make Client inherit from it.
-
- (CoreIPC::Connection::MessageReceiver::didReceiveSyncMessage):
- Change didReceiveSyncMessage from being a pure virtual member function and make it
- assert by default instead.
-
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
- Remove ChunkedUpdateDrawingAreaProxy::didReceiveSyncMessage.
-
- * Shared/DrawingAreaBase.h:
- Include "Connection.h" instead.
-
- * UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::didReceiveSyncMessage):
- Change didReceiveSyncMessage from being a pure virtual member function and make it
- assert by default instead.
-
- * WebProcess/WebProcess.cpp:
- * WebProcess/WebProcess.h:
- Remove didReceiveSyncMessage.
-
-2010-08-06 Jessie Berlin <jberlin@apple.com>
-
- Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
- Unreviewed.
-
- * UIProcess/PageClient.h:
- * UIProcess/VisitedLinkProvider.h:
- * UIProcess/WebContextInjectedBundleClient.h:
- * UIProcess/WebFrameProxy.h:
- * UIProcess/WebHistoryClient.h:
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPolicyClient.h:
- * UIProcess/WebProcessProxy.h:
- * UIProcess/WebUIClient.h:
- * UIProcess/win/WebView.h:
- * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
- * WebProcess/Plugins/NPRuntimeObjectMap.h:
- * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
- * WebProcess/Plugins/PluginController.h:
- * WebProcess/WebPage/WebFrame.h:
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebProcess.h:
-
-2010-08-05 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add form client for injected bundle code
- https://bugs.webkit.org/show_bug.cgi?id=43603
-
* WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageSetFormClient):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: Added.
- (WebKit::InjectedBundlePageFormClient::InjectedBundlePageFormClient):
- (WebKit::InjectedBundlePageFormClient::initialize):
- (WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing):
- (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
- (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
- (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
- * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: Added.
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ * WebProcess/Downloads/curl/DownloadCurl.cpp:
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
+ * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
+ * WebProcess/Plugins/Netscape/NPJSObject.cpp:
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ * WebProcess/WebCoreSupport/WebDragClient.cpp:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::textFieldDidBeginEditing):
- (WebKit::WebEditorClient::textFieldDidEndEditing):
- (WebKit::WebEditorClient::textDidChangeInTextField):
- (WebKit::WebEditorClient::textDidChangeInTextArea):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::initializeInjectedBundleFormClient):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::injectedBundleFormClient):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
+ * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
+ * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
+ * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
+ * WebProcess/WebPage/qt/WebInspectorQt.cpp:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ * WebProcess/gtk/WebProcessGtk.cpp:
+ * config.h:
* win/WebKit2.vcproj:
-2010-08-05 Sam Weinig <sam@webkit.org>
+2011-02-16 Balazs Kelemen <kbalazs@webkit.org>
Reviewed by Anders Carlsson.
- Add ability to get a JSValueRef for a node handle and a world
- https://bugs.webkit.org/show_bug.cgi?id=43591
+ notImplemented() should behave identical in WebCore and WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=54449
- - Add API to get a JSValueRef for a world, node and frame (the
- frame is currently necessary to pick the right globalObject for
- the node wrapper).
- - Add API to a JSGlobalContextRef for a world and a frame.
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameGetJavaScriptContextForWorld):
- (WKBundleFrameGetJavaScriptWrapperForNodeForWorld):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h:
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
- (WebKit::InjectedBundleNodeHandle::coreNode):
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
- * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
- (WebKit::InjectedBundleScriptWorld::coreWorld):
- * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::jsContext):
- (WebKit::WebFrame::jsContextForWorld):
- (WebKit::WebFrame::jsWrapperForWorld):
- * WebProcess/WebPage/WebFrame.h:
-
-2010-08-05 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig
-
- Bug 43594 - Add string forwards to Forward.h
- This allows us to remove forward declarations for these classes from
- WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
-
- * UIProcess/PageClient.h:
- * UIProcess/VisitedLinkProvider.h:
- * UIProcess/WebContextInjectedBundleClient.h:
- * UIProcess/WebFrameProxy.h:
- * UIProcess/WebHistoryClient.h:
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPolicyClient.h:
- * UIProcess/WebProcessProxy.h:
- * UIProcess/WebUIClient.h:
- * UIProcess/win/WebView.h:
- * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
- * WebProcess/Plugins/NPRuntimeObjectMap.h:
- * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
- * WebProcess/Plugins/PluginController.h:
- * WebProcess/WebPage/WebFrame.h:
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebProcess.h:
-
-2010-08-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Use the visited link provider for visited links
- https://bugs.webkit.org/show_bug.cgi?id=43583
-
- * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
- (WebProcessMessage::):
- Remove AddVisitedLink.
-
- * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
- (WebProcessProxyMessage::):
- Remove PopulateVisitedLinks and add AddVisitedLink.
+ Use NotImplemented.h from WebCore. Initialize logging channels.
+ Remove the WebKit2 concept of notImplemented().
+ * Platform/gtk/SharedMemoryGtk.cpp:
+ * Platform/gtk/WorkQueueGtk.cpp:
+ * Platform/qt/WorkQueueQt.cpp:
+ * Platform/win/WorkQueueWin.cpp:
+ * Shared/NotImplemented.h: Removed.
+ * Shared/Plugins/NPIdentifierData.cpp:
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ * Shared/Plugins/NPVariantData.cpp:
+ * Shared/cairo/ShareableBitmapCairo.cpp:
+ * Shared/gtk/ShareableBitmapGtk.cpp:
+ * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
+ * Shared/qt/WebCoreArgumentCodersQt.cpp:
+ * Shared/win/LayerTreeContextWin.cpp:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
* UIProcess/WebContext.cpp:
- (WebKit::WebContext::sharedProcessContext):
- Initialize the main run loop before creating the context.
-
- (WebKit::WebContext::sharedThreadContext):
- Ditto.
-
- (WebKit::WebContext::create):
- Ditto.
-
(WebKit::WebContext::WebContext):
- Initialize the visited link provider.
-
- (WebKit::WebContext::processDidFinishLaunching):
- Ask the visited link provider to populate visited links.
-
- (WebKit::WebContext::addVisitedLink):
- Ask the visited link provider to add the visited link.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::addVisitedLink):
- Call WebContext::addVisitedLink.
-
- (WebKit::WebProcessProxy::didReceiveMessage):
- Handle AddVisitedLink.
-
- (WebKit::WebProcessProxy::didFinishLaunching):
- Call WebContext::processdidFinishLaunching.
-
- * UIProcess/WebProcessProxy.h:
+ * UIProcess/WebInspectorProxy.cpp:
+ * UIProcess/gtk/TextCheckerGtk.cpp:
+ * UIProcess/gtk/WebInspectorGtk.cpp:
+ * UIProcess/gtk/WebPreferencesGtk.cpp:
+ * UIProcess/qt/TextCheckerQt.cpp:
+ * UIProcess/qt/WebInspectorProxyQt.cpp:
+ * UIProcess/win/TextCheckerWin.cpp:
+ * UIProcess/win/WebContextMenuProxyWin.cpp:
+ * WebKit2.pro:
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ * WebProcess/Downloads/curl/DownloadCurl.cpp:
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
+ * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
+ * WebProcess/Plugins/Netscape/NPJSObject.cpp:
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::populateVisitedLinks):
- Don't send the WebProcessProxyMessage::PopulateVisitedLinks message.
-
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ * WebProcess/WebCoreSupport/WebDragClient.cpp:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::WebPlatformStrategies::isLinkVisited):
- Call WebProcess::isLinkVisited.
-
- (WebKit::WebPlatformStrategies::addVisitedLink):
- Call WebProcess::addVisitedLink.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::setVisitedLinkTable):
- Create a shared memory object and tell the visited link table about it.
-
- (WebKit::WebProcess::visitedLinkStateChanged):
- Go through the link hashes and call Page::visitedStateChanged.
-
- (WebKit::WebProcess::allVisitedLinkStateChanged):
- Call Page::allVisitedStateChanged.
-
- (WebKit::WebProcess::isLinkVisited):
- Call VisitedLinkTable::isLinkVisited.
-
- (WebKit::WebProcess::addVisitedLink):
- Inform the UI process about the added link.
-
- (WebKit::WebProcess::didReceiveMessage):
- Handle new messages.
-
-2010-08-05 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
- Add missing include path.
-
- * win/WebKit2Common.vsprops:
-
-2010-08-05 Brady Eidson <beidson@apple.com>
-
- Rubberstamped by Sam Weinig.
-
- Export WKError.h
-
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-08-05 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
- Correct vcproj nesting.
-
- * win/WebKit2.vcproj:
-
-2010-08-05 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Add script world API for injected bundles
- https://bugs.webkit.org/show_bug.cgi?id=43577
-
- * Shared/APIObject.h:
- (WebKit::APIObject::):
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- (WebKit::):
- * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
- * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: Added.
- (WKBundleScriptWorldGetTypeID):
- (WKBundleScriptWorldCreateWorld):
- (WKBundleScriptWorldNormalWorld):
- (WKBundleScriptWorldRetain):
- (WKBundleScriptWorldRelease):
- * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h: Added.
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
- * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp: Added.
- (WebKit::allWorlds):
- (WebKit::InjectedBundleScriptWorld::create):
- (WebKit::InjectedBundleScriptWorld::getOrCreate):
- (WebKit::InjectedBundleScriptWorld::normalWorld):
- (WebKit::InjectedBundleScriptWorld::InjectedBundleScriptWorld):
- (WebKit::InjectedBundleScriptWorld::~InjectedBundleScriptWorld):
- * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: Added.
- (WebKit::InjectedBundleScriptWorld::type):
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
-
-2010-08-05 Sam Weinig <sam@webkit.org>
-
- Reviewed Anders Carlsson.
-
- Add DOM Node wrapper class for injected bundle
- https://bugs.webkit.org/show_bug.cgi?id=43524
-
- - This class should not expose any DOM APIs, but just be a handle that can be used to get a JS
- wrapper for the node in a specific world.
-
- * Shared/APIObject.h:
- (WebKit::APIObject::):
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- (WebKit::):
- * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
- * WebProcess/InjectedBundle/API/c/WKBundleNode.h:
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: Added.
- (WKBundleNodeHandleGetTypeID):
- (WKBundleNodeHandleRetain):
- (WKBundleNodeHandleRelease):
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h: Added.
- * WebProcess/InjectedBundle/DOM: Added.
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: Added.
- (WebKit::domHandleCache):
- (WebKit::getDOMHandle):
- (WebKit::setDOMHandle):
- (WebKit::removeDOMHandle):
- (WebKit::InjectedBundleNodeHandle::getOrCreate):
- (WebKit::InjectedBundleNodeHandle::create):
- (WebKit::InjectedBundleNodeHandle::InjectedBundleNodeHandle):
- (WebKit::InjectedBundleNodeHandle::~InjectedBundleNodeHandle):
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Added.
- (WebKit::InjectedBundleNodeHandle::type):
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
-
-2010-08-05 Anders Carlsson <andersca@apple.com>
-
- Build fix.
-
- * Platform/mac/SharedMemoryMac.cpp:
-
-2010-08-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add VisitedLinkProvider class
- https://bugs.webkit.org/show_bug.cgi?id=43570
-
- * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
- (WebProcessMessage::):
- Add SetVisitedLinkTable, VisitedLinkStateChanged and AllVisitedLinkStateChanged.
-
- * UIProcess/VisitedLinkProvider.cpp: Added.
- (WebKit::VisitedLinkProvider::VisitedLinkProvider):
- Initialize table.
-
- (WebKit::VisitedLinkProvider::populateVisitedLinksIfNeeded):
- Ask the context to populate visited links.
-
- (WebKit::VisitedLinkProvider::addVisitedLink):
- Add the link hash to the set of pending visited links and start the timer.
-
- (WebKit::nextPowerOf2):
- Add helper function.
-
- (WebKit::tableSizeForKeyCount):
- Given a key count, returns a table size. The table size is always a power of two, and
- is chosen so that the table is always at least half empty.
-
- (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
- First, check if we need to resize the hash table and allocate new shared memory for it if that is the case.
- Then, go through the pending link hash vector and insert all the elements in the table. Finally, notify the web
- process about visited links whose state have changed.
-
+ * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
+ * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
+ * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
+ * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
+ * WebProcess/WebPage/qt/WebInspectorQt.cpp:
* WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::didReceiveMessage):
- Add case statements.
-
- * win/WebKit2.vcproj:
- * WebKit2.xcodeproj/project.pbxproj:
- Add VisitedLinkProvider.cpp and VisitedLinkProvider.h.
-
-2010-08-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add VisitedLinkTable class
- https://bugs.webkit.org/show_bug.cgi?id=43566
-
- * Shared/VisitedLinkTable.cpp: Added.
- (WebKit::VisitedLinkTable::VisitedLinkTable):
- (WebKit::VisitedLinkTable::~VisitedLinkTable):
- Add out of line constructors so we won't have to include SharedMemory.h in the
- VisitedLinkTable.h header.
-
- (WebKit::isPowerOf2):
- Add helper function.
-
- (WebKit::VisitedLinkTable::setSharedMemory):
- Set the new shared memory and update the table size and hash.
-
- (WebKit::doubleHash):
- Add helper function from the WTF HashTable.
-
- (WebKit::VisitedLinkTable::addLinkHash):
- Add a link hash to the table.
+ (WebKit::WebProcess::WebProcess):
+ * WebProcess/gtk/WebProcessGtk.cpp:
- (WebKit::VisitedLinkTable::isLinkVisited):
- See if there is an entry for the given link hash.
+2011-02-21 Timothy Hatcher <timothy@apple.com>
- * Shared/VisitedLinkTable.h: Added.
- (WebKit::VisitedLinkTable::sharedMemory):
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add VisitedLinkTable.cpp and VisitedLinkTable.h
+ Set and update the window title for the Web Inspector in WebKit2.
-2010-08-04 Anders Carlsson <andersca@apple.com>
+ https://webkit.org/b/50945
+ rdar://problem/8762410
Reviewed by Adam Roben.
- Add shared memory abstraction
- https://bugs.webkit.org/show_bug.cgi?id=43535
- <rdar://problem/8275295>
-
- * Platform/SharedMemory.h: Added.
- (WebKit::SharedMemory::):
- (WebKit::SharedMemory::size):
- Return the size, in bytes, of the shared memory object.
-
- (WebKit::SharedMemory::data):
- Return a pointer to the shared memory object.
-
- * Platform/mac/SharedMemoryMac.cpp: Added.
- (WebKit::SharedMemory::Handle):
- A shared memory handle, which can be passed in a CoreIPC Connection.
-
- (WebKit::SharedMemory::create):
- Allocate the shared memory.
-
- (WebKit::SharedMemory::~SharedMemory):
- Deallocate the shared memory.
-
- (WebKit::SharedMemory::createHandle):
- Create a mach port and pass it to the handle.
-
- (WebKit::SharedMemory::systemPageSize):
- Return the system page size, in bytes.
-
- * Platform/win/SharedMemoryWin.cpp: Added.
- Add stubbed out version.
-
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add files.
-
-2010-08-05 Jian Li <jianli@chromium.org>
-
- Reviewed by David Levin.
-
- Unify blob related feature defines to ENABLE(BLOB).
- https://bugs.webkit.org/show_bug.cgi?id=43081
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-08-05 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Rubber-stamped by Kenneth Rohde Christiansen.
-
- [Qt] Remove redundant include paths from WebKit2.pro.
-
- * WebKit2.pro:
-
-2010-08-04 Adam Roben <aroben@apple.com>
-
- Teach WebKit2 how to load the TestNetscapePlugin
-
- Fixes <http://webkit.org/b/43513> WebKitTestRunner on Windows fails to
- load TestNetscapePlugin
-
- Reviewed by Jon Honeycutt.
-
- * Platform/Module.cpp:
- (WebKit::Module::Module): Initialize m_module on Windows.
-
- * Platform/Module.h: Added m_module on Windows.
-
- * Platform/win/ModuleWin.cpp:
- (WebKit::Module::load): Implemented using ::LoadLibraryExW.
- (WebKit::Module::unload): Implemented using ::FreeLibrary.
- (WebKit::Module::platformFunctionPointer): Implemented using
- ::GetProcAddress.
-
- * Platform/win/RunLoopWin.cpp:
- (RunLoop::TimerBase::timerFired): Kill the native timer before calling
- the fired callback. This makes all our timers non-repeating, but
- that's all we need currently.
- (RunLoop::TimerBase::start): Added an assertion to help us figure out
- when we need to implement repeating timers. Also fixed a typo.
-
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- (WebKit::PluginInfoStore::pluginsDirectories): Added a FIXME.
-
- (WebKit::PathWalker::PathWalker):
- (WebKit::PathWalker::~PathWalker):
- (WebKit::PathWalker::isValid):
- (WebKit::PathWalker::data):
- (WebKit::PathWalker::step):
- Added. This class wraps the ::FindFirstFile/::FindNextFile APIs.
-
- (WebKit::PluginInfoStore::pluginPathsInDirectory): Implemented by
- porting logic from
- WebCore::PluginDatabase::getPluginPathsInDirectories.
- (WebKit::getVersionInfo): Copied from PluginDatabaseWin.cpp.
- (WebKit::PluginInfoStore::getPluginInfo): Implemented by porting logic
- from WebCore::PluginPackage::fetchInfo.
- (WebKit::PluginInfoStore::shouldUsePlugin): Changed to always return
- true for now. Added a FIXME about implementing this for real.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
- Removed PLATFORM(MAC) guards around plugin code.
-
- * win/WebKit2.vcproj: Let VS sort the file.
-
-2010-08-05 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Use toCopiedRef for making WK objects
- https://bugs.webkit.org/show_bug.cgi?id=43552
-
- * UIProcess/API/cpp/qt/WKStringQt.cpp:
- (WKStringCreateWithQString):
- * UIProcess/API/cpp/qt/WKURLQt.cpp:
- (WKURLCreateWithQUrl):
-
-2010-08-04 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Change callback APIs to include an Error object in one callback, instead of having a second callback for failure.
- https://bugs.webkit.org/show_bug.cgi?id=43522
-
- This includes adding a WKErrorRef object which - for now - either exists or doesn't.
- In the future, it may contain useful information about the error.
-
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
-
- * Shared/APIObject.h:
- (WebKit::APIObject::):
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKBase.h:
-
- * Shared/WebError.h: Added.
- (WebKit::WebError::create):
- (WebKit::WebError::WebError):
- (WebKit::WebError::type):
-
- * UIProcess/API/C/WKError.cpp: Added.
- (WKErrorGetTypeID):
- * UIProcess/API/C/WKError.h: Added.
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageRunJavaScriptInMainFrame):
- (callRunJavaScriptBlockAndRelease):
- (WKPageRunJavaScriptInMainFrame_b):
- (WKPageRenderTreeExternalRepresentation):
- (callRenderTreeExternalRepresentationBlockAndDispose):
- (WKPageRenderTreeExternalRepresentation_b):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/C/WKPagePrivate.h:
-
- * UIProcess/GenericCallback.h:
- (WebKit::GenericCallback::create):
- (WebKit::GenericCallback::performCallbackWithReturnValue):
- (WebKit::GenericCallback::invalidate):
- (WebKit::GenericCallback::GenericCallback):
-
-2010-08-04 Ada Chan <adachan@apple.com>
-
- Windows build fix
-
- * win/WebKit2Generated.make:
-
-2010-08-04 John Sullivan <sullivan@apple.com>
-
- Build fix, rubber-stamped by Brady Eidson.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Made WKData.h a public header.
-
-2010-08-04 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_SetValue): Removed unreachable code.
-
-2010-08-04 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_SetValue): Added some case statements that are compiled
- on Windows to avoid a warning about having default but not cases.
-
-2010-08-04 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * win/WebKit2.vcproj: Added NetscapeBrowserFuncs.
-
-2010-08-04 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- The functions in NetscapePluginModuleWin.cpp have been moved to
- NetscapePluginModule.cpp.
-
- * WebProcess/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Removed.
- * win/WebKit2.vcproj: Removed NetscapePluginModuleWin.
-
-2010-08-04 Adam Roben <aroben@apple.com>
-
- Move bundle-loading code from NetscapePluginModule to a new Module
- class
-
- This allows more NetscapePluginModule code to be cross-platform.
-
- Fixes <http://webkit.org/b/43497> NetscapePluginModule::try/unload
- should be cross-platform
-
- Reviewed by Anders Carlsson.
-
- * Platform/Module.cpp: Added.
- (WebKit::Module::Module): Store our path.
- (WebKit::Module::~Module): Unload our native module.
-
- * Platform/Module.h: Added.
- (WebKit::Module::leakBundle): Does what it says.
- (WebKit::Module::functionPointer): Returns a pointer to the named
- function, with the right type.
-
- * Platform/mac/ModuleMac.mm: Added.
- (WebKit::Module::load): Code was moved here from
- NetscapePluginModule::tryLoad.
- (WebKit::Module::unload): Just clears our bundle.
- (WebKit::Module::platformFunctionPointer): Code was moved here from
- NetscapePluginModuleMac.cpp.
-
- * Platform/qt/ModuleQt.cpp: Added.
- (WebKit::Module::load):
- (WebKit::Module::unload):
- (WebKit::Module::platformFunctionPointer):
- * Platform/win/ModuleWin.cpp: Added.
- (WebKit::Module::load):
- (WebKit::Module::unload):
- (WebKit::Module::platformFunctionPointer):
- Just stubbed out these functions.
-
- * WebKit2.xcodeproj/project.pbxproj: Added Module.
-
- * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
- (WebKit::NetscapePluginModule::tryLoad):
- (WebKit::NetscapePluginModule::unload):
- Moved here from NetscapePluginModuleMac.cpp. Now uses the
- cross-platform m_module member.
-
- * WebProcess/Plugins/Netscape/NetscapePluginModule.h: Replaced
- m_bundle with m_module.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp: Removed.
-
- * win/WebKit2.vcproj: Added Module.
-
-2010-08-04 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Lay the groundwork for saving/restoring page session state to WK2
- https://bugs.webkit.org/show_bug.cgi?id=43495
-
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
- * Shared/APIObject.h:
- (WebKit::APIObject::):
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKBase.h:
-
- Arbitrary byte buffer:
- * Shared/WebData.h: Added.
- (WebKit::WebData::create):
- (WebKit::WebData::bytes):
- (WebKit::WebData::size):
- (WebKit::WebData::WebData):
- (WebKit::WebData::type):
-
- API facing object to act as a byte buffer:
- * UIProcess/API/C/WKData.cpp: Added.
- (WKDataGetTypeID):
- (WKDataCreate):
- (WKDataGetBytes):
- (WKDataGetSize):
- (WKDataRetain):
- (WKDataRelease):
- * UIProcess/API/C/WKData.h: Added.
-
- API for saving/restoring state:
- * UIProcess/API/C/WKPage.cpp:
- (WKPageCopySessionState):
- (WKPageRestoreFromSessionState):
- * UIProcess/API/C/WKPage.h:
-
- These will be filled in later:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::sessionState):
- (WebKit::WebPageProxy::restoreFromSessionState):
- * UIProcess/WebPageProxy.h:
-
-
-2010-08-04 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Set correct default minimumFontSize.
-
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::WebPreferencesStore):
-
-2010-08-03 Adam Roben <aroben@apple.com>
-
- Turn on PLATFORM_STRATEGIES on Windows
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::inspectedURLChanged): Added. Call platformInspectedURLChanged.
+ * UIProcess/WebInspectorProxy.h:
+ * UIProcess/WebInspectorProxy.messages.in: Added InspectedURLChanged.
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Set the window title.
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Set the window title.
+ * UIProcess/gtk/WebInspectorGtk.cpp:
+ (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Not implemented.
+ * UIProcess/qt/WebInspectorProxyQt.cpp:
+ (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Not implemented.
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ (WebKit::WebInspectorFrontendClient::inspectedURLChanged): Call WebInspector::inspectedURLChanged.
+ * WebProcess/WebPage/WebInspector.cpp:
+ (WebKit::WebInspector::inspectedURLChanged): Added. Send the InspectedURLChanged message.
+ * WebProcess/WebPage/WebInspector.h:
- Fixes <http://webkit.org/b/43431>.
+2011-02-21 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
- * win/WebKit2.vcproj: Added WebPlatformStrategies. Also let VS reorder
- this file as it saw fit.
-
-2010-08-03 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Close the WebProcess
+ Can't paste from 3rd party text editor into WebKit2 window.
+ <rdar://problem/8978624>
- https://bugs.webkit.org/show_bug.cgi?id=41690
-
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- (CoreIPC::Connection::open): Registered connectionDidClose to be called when the client disconnected.
- * Platform/qt/RunLoopQt.cpp:
- (RunLoop::stop): Implemented by calling QCoreApplication::exit.
-
-2010-08-03 Jon Honeycutt <jhoneycutt@apple.com>
-
- WebKitTestRunner needs to activate the Mac font ascent hack
- https://bugs.webkit.org/show_bug.cgi?id=43404
+ * WebProcess/com.apple.WebProcess.sb:
- Reviewed by Darin Adler.
+2011-02-21 Anders Carlsson <andersca@apple.com>
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleActivateMacFontAscentHack):
- Get the InjectedBundle, and calls its activateMacFontAscentHack().
+ Reviewed by Dan Bernstein.
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- Declare WKBundleActivateMacFontAscentHack().
+ Initialize DrawingAreaProxy::m_size
+ https://bugs.webkit.org/show_bug.cgi?id=54913
- * WebProcess/InjectedBundle/InjectedBundle.h:
- Declare activateMacFontAscentHack().
+ This was removed in r76962 since it caused flashes when switching drawing areas due to
+ entering and exiting composited mode, but since we no longer switch drawing areas we can
+ put it back.
- * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
- (WebKit::InjectedBundle::activateMacFontAscentHack):
- Stubbed.
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::DrawingAreaProxy):
- * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
- (WebKit::InjectedBundle::activateMacFontAscentHack):
- Stubbed.
+2011-02-21 Adam Roben <aroben@apple.com>
- * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
- (WebKit::InjectedBundle::activateMacFontAscentHack):
- Activate the ascent hack.
+ Add some assertions about the state IDs we receive from the web process
-2010-08-03 Simon Fraser <simon.fraser@apple.com>
+ Rubber-stamped by Anders Carlsson.
- Fix typo in typo fix.
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::update):
+ (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+ Assert that the state ID the web process sent us is no newer than our own state ID.
- * Shared/DrawingAreaBase.h:
- (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
- (WebKit::DrawingAreaBase::DrawingAreaBase):
+2011-02-21 Adam Roben <aroben@apple.com>
-2010-08-03 Simon Fraser <simon.fraser@apple.com>
+ Rename DrawingArea[Proxy]Impl's "sequence number" concept to "state ID".
- Fix typo in previous commit.
+ As explained in r79251, DrawingAreaProxyImpl has some state that, when it changes, causes
+ all operations performed before that state change to become invalid. Currently, this state
+ consists of a single piece of data: the view's size. Eventually it will encompass more data
+ (e.g., the backing store we're drawing into; when we start throwing away the backing store
+ to save memory, our state will have changed, and any operations that were intended for the
+ old backing store will have become invalid). r79251 effectively transformed
+ DrawingArea[Proxy]Impl's "sequence number," which incremented every time DrawingAreaImpl
+ sent DrawingAreaProxyImpl a message, to a "state ID," which only increments when the view's
+ size changes.
- * Shared/DrawingAreaBase.h:
- (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
- (WebKit::DrawingAreaBase::DrawingAreaBase):
+ This patch is just a set of simple renames to reflect the transformation that r79251
+ effected. It should not introduce any changes in behavior. The renames are:
+ - Messages::DrawingArea::SetSize -> UpdateState
+ - Messages::DrawingAreaProxy::DidSetSize -> DidUpdateState
+ - DrawingAreaProxyImpl::m_lastDidSetSizeSequenceNumber -> m_currentStateID
+ - DrawingAreaProxyImpl::m_isWaitingForDidSetSize -> m_isWaitingForDidUpdateState
+ - DrawingAreaProxyImpl::waitForAndDispatchDidSetSize -> waitForAndDispatchDidUpdateState
+ - DrawingAreaImpl::m_inSetSize -> m_inUpdateState
+ - generateSequenceNumber -> generateStateID
+ - sequenceNumber -> stateID
-2010-08-03 Simon Fraser <simon.fraser@apple.com>
+ Fixes <http://webkit.org/b/54911> DrawingArea[Proxy]Impl's "sequence number" concept should
+ be renamed to "state ID"
Reviewed by Anders Carlsson.
- Compositing iframe layout test crashes in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42860
-
- Fix assertion caused by a DrawingArea handling a message that was targetted at an older DrawingArea
- that it has replaced.
-
- This was done by assigning a unique ID to each DrawingAreaProxy that gets created, and passing
- this ID, along with the type, to the WebProcess via an encoded DrawingAreaInfo. Each message
- also includes this ID. Messages with an ID that doesn't match that of the current DrawingArea are ignored.
-
- Refactored some common code and data into a DrawingAreaBase class which is shared, and adding
- encode/decode of DrawingAreaInfo.
-
- * Shared/DrawingAreaBase.cpp: Added.
- (WebKit::DrawingAreaBase::encode):
- (WebKit::DrawingAreaBase::decode):
- * Shared/DrawingAreaBase.h: Added.
- (WebKit::DrawingAreaBase::):
- (WebKit::DrawingAreaBase::~DrawingAreaBase):
- (WebKit::DrawingAreaBase::type):
- (WebKit::DrawingAreaBase::id):
- (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
- (WebKit::DrawingAreaBase::DrawingAreaBase):
- (CoreIPC::):
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
- (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
- (WebKit::ChunkedUpdateDrawingAreaProxy::update):
- * UIProcess/DrawingAreaProxy.cpp:
- (WebKit::DrawingAreaProxy::DrawingAreaProxy):
- (WebKit::DrawingAreaProxy::nextDrawingAreaID):
* UIProcess/DrawingAreaProxy.h:
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- (WebKit::LayerBackedDrawingAreaProxy::setSize):
- (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
- (WebKit::LayerBackedDrawingAreaProxy::update):
- * UIProcess/LayerBackedDrawingAreaProxy.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveSyncMessage):
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::createWindow):
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
- (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
- * WebProcess/WebPage/DrawingArea.cpp:
- (WebKit::DrawingArea::create):
- (WebKit::DrawingArea::DrawingArea):
- * WebProcess/WebPage/DrawingArea.h:
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
- (WebKit::LayerBackedDrawingArea::didReceiveMessage):
- * WebProcess/WebPage/LayerBackedDrawingArea.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::create):
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::changeAcceleratedCompositingMode):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::createWebPage):
- (WebKit::WebProcess::didReceiveMessage):
- * WebProcess/WebProcess.h:
- * win/WebKit2.vcproj:
-
-2010-08-03 Alex Milowski <alex@milowski.com>
-
- Reviewed by Beth Dakin.
-
- Changed the ENABLE_MATHML value to enable MathML by default.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-08-03 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Sam Weinig.
-
- Compositing iframe layout test crashes in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42860
-
- Part one of the fix: make DrawingArea ref-counted, so that the object
- can survide a swap in drawing areas inside the run loop observer callback.
-
- * WebProcess/WebPage/DrawingArea.cpp:
- (WebKit::DrawingArea::create):
+ * UIProcess/DrawingAreaProxy.messages.in:
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ * UIProcess/DrawingAreaProxyImpl.h:
* WebProcess/WebPage/DrawingArea.h:
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- (WebKit::LayerBackedDrawingArea::platformClear):
- (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverCallback):
- (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverFired):
+ * WebProcess/WebPage/DrawingArea.messages.in:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ Performed the renames described above.
-2010-08-03 Anders Carlsson <andersca@apple.com>
+2011-02-21 Alexey Proskuryakov <ap@apple.com>
Reviewed by Adam Roben.
- Frequent ASSERT_NOT_REACHED in Connection::processIncomingMessage when running regression tests
- https://bugs.webkit.org/show_bug.cgi?id=42926
- <rdar://problem/8237329>
-
- Remove this assert, it's bogus. It would fire when a reply came in on the connection queue before
- waitForReply was called on the client thread, but that case is already covered.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::processIncomingMessage):
-
-2010-08-03 Adam Roben <aroben@apple.com>
-
- Compile out two Mac-only localized strings on non-Mac platforms
-
- Fixes <http://webkit.org/b/43433> copyImageUnknownFileLabel and
- AXARIAContentGroupText should only be compiled on Mac
-
- Reviewed by Anders Carlsson.
-
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- Wrapped copyImageUnknownFileLabel and AXARIAContentGroupText in
- PLATFORM(MAC).
-
-2010-08-03 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- [Qt] Unreviewed typo fix in the WebKit2/DerivedSources.pro project file.
-
- Use QMAKE_MKDIR as the command for directory creation.
-
- * DerivedSources.pro:
-
-2010-08-02 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Add VisitedLinkStrategy for each platform to implement
- https://bugs.webkit.org/show_bug.cgi?id=43393
-
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::WebPlatformStrategies::createVisitedLinkStrategy):
- (WebKit::WebPlatformStrategies::isLinkVisited): Call back into PageGroup's visited links, for now.
- (WebKit::WebPlatformStrategies::addVisitedLink): Ditto.
- * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
-
-2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Darin Fisher.
-
- PopupMenu refactoring in preparation to WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42592
-
- Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
- SearchPopupMenu respectively. At this point they are just empty implementations.
-
- * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added.
- (WebKit::WebPopupMenu::WebPopupMenu):
- (WebKit::WebPopupMenu::~WebPopupMenu):
- (WebKit::WebPopupMenu::disconnectClient):
- (WebKit::WebPopupMenu::show):
- (WebKit::WebPopupMenu::hide):
- (WebKit::WebPopupMenu::updateFromElement):
- * WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added.
- (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
- (WebKit::WebSearchPopupMenu::popupMenu):
- (WebKit::WebSearchPopupMenu::saveRecentSearches):
- (WebKit::WebSearchPopupMenu::loadRecentSearches):
- (WebKit::WebSearchPopupMenu::enabled):
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.
-
- As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
- instances, concrete classes that inherit from ChromeClient needed to be changed to
- implement the new methods.
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
- (WebKit::WebChromeClient::createPopupMenu):
- (WebKit::WebChromeClient::createSearchPopupMenu):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
-
- build issues:
-
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
-2010-08-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix plug-in test failures and remove tests from the Skipped list
- https://bugs.webkit.org/show_bug.cgi?id=43389
-
- * WebProcess/Plugins/JSNPMethod.cpp:
- JSNPMethod::s_info should specify InternalFunction::info as its parent.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::cancelStreamLoad):
- Special-case the manual stream and call PluginController::cancelManualStreamLoad.
-
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::stop):
- It's OK to call stop on a stream that hasn't been started. Remove assertion and return early.
-
- * WebProcess/Plugins/PluginController.h:
- Add cancelManualStreamLoad.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::cancelManualStreamLoad):
- Tell the document loader to cancel the main resource load.
-
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::innerText):
- Check for a null document element.
-
-2010-08-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add support for loading manual streams
- https://bugs.webkit.org/show_bug.cgi?id=43380
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin):
- Initialize m_loadManually to false.
-
- (WebKit::NetscapePlugin::removePluginStream):
- Special case the manual stream.
-
- (WebKit::NetscapePlugin::initialize):
- Don't request the stream if we're already loading.
-
- (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
- Create the manual stream and pass the response to it.
-
- (WebKit::NetscapePlugin::manualStreamDidReceiveData):
- Pass the data to the manual stream.
-
- (WebKit::NetscapePlugin::manualStreamDidFinishLoading):
- Call the manual stream.
-
- (WebKit::NetscapePlugin::manualStreamDidFail):
- Ditto.
-
- * WebProcess/Plugins/Plugin.h:
- Add pure virtual member functions for manual stream loading.
+ REGRESSION (WebKit2): HTTP requests time out after 60 seconds
+ https://bugs.webkit.org/show_bug.cgi?id=54755
+ <rdar://problem/9006592>
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::buildHTTPHeaders):
- Put code in a function so both PluginView::Stream::didReceiveResponse and
- manualLoadDidReceiveResponse can call it.
-
- (WebKit::PluginView::Stream::didReceiveResponse):
- Call buildHTTPHeaders.
-
- (WebKit::PluginView::Stream::didFinishLoading):
- Protect the plug-in when calling destroyStream.
-
- (WebKit::PluginView::manualLoadDidReceiveResponse):
- Call Plugin::manualStreamDidReceiveResponse.
-
- (WebKit::PluginView::manualLoadDidReceiveData):
- Call Plugin::manualStreamDidReceiveData.
-
- (WebKit::PluginView::manualLoadDidFinishLoading):
- Call Plugin::manualStreamDidFinishLoading.
-
- (WebKit::PluginView::manualLoadDidFail):
- Call Plugin::manualStreamDidFail.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
- Initialize m_hasSentResponseToPluginView to false.
-
- (WebKit::WebFrameLoaderClient::setMainDocumentError):
- Call PluginView::manualLoadDidFail.
-
- (WebKit::WebFrameLoaderClient::committedLoad):
- Call PluginView::manualLoadDidReceiveResponse.
-
- (WebKit::WebFrameLoaderClient::finishedLoading):
- Call PluginView::manualLoadDidFinishLoading.
-
- (WebKit::WebFrameLoaderClient::redirectDataToPlugin):
- Keep track of the plug-in view.
-
-2010-08-02 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Basic WK2 visited link coloring
- https://bugs.webkit.org/show_bug.cgi?id=43377
+ * Shared/API/c/WKURLRequest.cpp:
+ (WKURLRequestSetDefaultTimeoutInterval):
+ * Shared/API/c/WKURLRequest.h:
+ Added an API to set a default timeout interval for requests created from URLs. The API
+ affects both the UI process and requests created internally by the Web process. Requests
+ created from NSURLRequest or CFURLRequest take timeout from those.
- Add simple API that allows the WK2 app to add 1 visited link at a time.
- For now, this just pipes each individual LinkHash down to WebCore.
-
- * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
- (WebProcessMessage::):
+ * Shared/WebURLRequest.cpp: (WebKit::WebURLRequest::setDefaultTimeoutInterval):
+ * Shared/WebURLRequest.h:
+ Pipe the default timeout interval from WKURLRequest down to actual implementation. Since
+ WebURLRequest is currently implemented with WebCore::ResourceRequest, it automatically respects
+ NSURLRequest default timeout interval.
- * UIProcess/API/C/WKContext.cpp:
- (WKContextAddVisitedLink):
- * UIProcess/API/C/WKContext.h:
+ * UIProcess/WebProcessManager.cpp: (WebKit::WebProcessManager::getAllWebProcessContexts):
+ * UIProcess/WebProcessManager.h:
+ Added a way to enumerate all contexts running in separate processes.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::addVisitedLink):
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ (WebKit::WebContext::ensureWebProcess):
+ (WebKit::WebContext::setDefaultRequestTimeoutInterval):
* UIProcess/WebContext.h:
-
* WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::addVisitedLinkHash):
- (WebKit::WebProcess::didReceiveMessage):
+ (WebKit::WebProcess::initializeWebProcess):
+ (WebKit::WebProcess::setDefaultRequestTimeoutInterval):
* WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in:
+ Use UI process default timeout interval in separate process contexts, too.
-2010-08-02 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKitTestRunner needs layoutTestController.setCanOpenWindows
- https://bugs.webkit.org/show_bug.cgi?id=42321
-
- WebKitTestRunner needs layoutTestController.setCloseRemainingWindowsWhenComplete
- https://bugs.webkit.org/show_bug.cgi?id=42779
-
- Implemented window.close, added a function that does a similar operation on behalf
- of injected bundle code named WKBundlePageClose, and fixed the reference counting of
- the result of the createNewPage client function.
-
- * UIProcess/API/cpp/WKRetainPtr.h: Added clear. Tweaked formatting. Renamed
- releaseRef to leakRef.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _updateVisibility]): Handle the case where drawing area is 0. This
- came up in WebKitTestRunner and other functions handle drawing area of 0.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveSyncMessage): Update now that createNewPage
- returns a PassRefPtr.
- (WebKit::WebPageProxy::createNewPage): Changed to return a PassRefPtr.
- * UIProcess/WebPageProxy.h: Ditto.
-
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::createNewPage): Changed to return a PassRefPtr and adopt
- the WKPageRef passed from the client. This follows the "create rule".
- * UIProcess/WebUIClient.h: Ditto.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageClose): Added.
- * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added WKBundlePageClose
- and re-sorted the other functions in this file.
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::closeWindowSoon): Implemented this.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage): Called setJavaScriptCanOpenWindowsAutomatically(true).
- I suppose we will need to revisit this later when we implement pop-up blocking.
- (WebKit::WebPage::tryClose): Factored out the part of this that sends a message
- to the other process.
- (WebKit::WebPage::sendClose): This is where the part that sends a message went.
- * WebProcess/WebPage/WebPage.h: Added sendClose, used by both closeWindowSoon
- and WKBundlePageClose.
-
-2010-08-02 John Sullivan <sullivan@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=43369
- WebBackForwardList::forwardListAsImmutableArrayWithLimit can return partly-uninitialized array
-
- Reviewed by Ada Chan.
-
- * UIProcess/WebBackForwardList.cpp:
- (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
- Use a simpler and correct expression to determine "last".
-
-2010-08-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Protect the plug-in from being destroyed while in plug-in code
- https://bugs.webkit.org/show_bug.cgi?id=43370
-
- Add a PluginProtector to NPRuntimeObjectMap and use it in JSNPObject.
-
- * WebProcess/Plugins/JSNPObject.cpp:
- (WebKit::JSNPObject::callMethod):
- (WebKit::JSNPObject::callObject):
- (WebKit::JSNPObject::callConstructor):
- (WebKit::JSNPObject::put):
- (WebKit::JSNPObject::getOwnPropertyNames):
- (WebKit::JSNPObject::propertyGetter):
- Add PluginProtector declarations.
-
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::PluginProtector::PluginProtector):
- Ref the plug-in view (unless it's being destroyed).
-
- (WebKit::NPRuntimeObjectMap::PluginProtector::~PluginProtector):
- * WebProcess/Plugins/NPRuntimeObjectMap.h:
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::PluginView):
- Initialize m_isBeingDestroyed.
-
- (WebKit::PluginView::~PluginView):
- Set m_isBeingDestroyed to true.
-
- (WebKit::PluginView::scriptObject):
- Don't crash if the plug-in failed to initialize.
-
- (WebKit::PluginView::evaluate):
- Remove comment.
-
- * WebProcess/Plugins/PluginView.h:
- (WebKit::PluginView::isBeingDestroyed):
-
-2010-08-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Cache JSNPObjects and fix bugs in the object map
- https://bugs.webkit.org/show_bug.cgi?id=43368
-
- * WebProcess/Plugins/JSNPObject.cpp:
- (WebKit::JSNPObject::JSNPObject):
- Assert that we're not trying to wrap an NPJSObject.
-
- (WebKit::JSNPObject::~JSNPObject):
- Tell the object map that we're gone.
-
- (WebKit::JSNPObject::invalidate):
- Release the NPObject and null out the pointer.
-
- * WebProcess/Plugins/NPJSObject.cpp:
- (WebKit::NPJSObject::create):
- Assert that we're not trying to wrap a JSNPObject.
-
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
- If we're passed a JSNPObject, just extract its NPObject.
-
- (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
- If we're passed an NPJSObject, just extract its JSObject. Otherwise, check if we already have
- a JSObject for this NPObject and return it.
-
- (WebKit::NPRuntimeObjectMap::jsNPObjectDestroyed):
- Remove the object from the map.
-
- (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
- getOrCreateJSObject now checks for wrapped objects.
-
- (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
- getOrCreateNPObject now checks for wrapped objects.
-
- (WebKit::NPRuntimeObjectMap::invalidate):
- Invalidate JSNPObjects as well.
-
-2010-08-02 Jeremy Orlow <jorlow@chromium.org>
-
- Speculative revert of 64425 due to Chromium instability
- https://bugs.webkit.org/show_bug.cgi?id=43347
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Removed.
- * WebProcess/WebCoreSupport/WebPopupMenu.h: Removed.
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Removed.
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Removed.
- * win/WebKit2.vcproj:
-
-2010-08-02 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Generate forwarding headers for WebKit2
-
- https://bugs.webkit.org/show_bug.cgi?id=43336
+2011-02-18 Brian Weinstein <bweinstein@apple.com>
- * DerivedSources.pro: Added.
+ Reviewed by Adam Roben.
-2010-08-01 Anders Carlsson <andersca@apple.com>
+ WebResourceCacheManager should be responsible for managing the CFURLCache as well
+ as the WebCore memory cache.
+ https://bugs.webkit.org/show_bug.cgi?id=54886
+ Part of <rdar://problem/8971738>
- Reviewed by Sam Weinig.
+ * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
+ (WebKit::WebResourceCacheManager::getCacheOrigins): Call through to cFURLCacheHostNames, and add
+ create SecurityOrigin's for them and add them to the set of SecurityOrigins with cache.
+ (WebKit::WebResourceCacheManager::clearCacheForOrigin): Call through to clear the CFURLCache for
+ the origin's hostname.
+ * WebProcess/ResourceCache/WebResourceCacheManager.h:
- Implement NPN_SetException
- https://bugs.webkit.org/show_bug.cgi?id=43320
+ * WebProcess/ResourceCache/cf: Added.
+ * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp: Added.
+ (WebKit::WebResourceCacheManager::cfURLCacheHostNames): Call through to WebKitSystemInterface.
+ (WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames): Ditto.
- * WebProcess/Plugins/JSNPObject.cpp:
- (WebKit::JSNPObject::callConstructor):
- (WebKit::JSNPObject::put):
- (WebKit::JSNPObject::getOwnPropertyNames):
- (WebKit::JSNPObject::propertyGetter):
- Call NPRuntimeObjectMap::moveGlobalExceptionToExecState.
+ * win/WebKit2.vcproj: Added new file.
+ * WebKit2.xcodeproj/project.pbxproj: Ditto.
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
- (WebKit::globalExceptionString):
- Add static global.
+2011-02-21 Adam Roben <aroben@apple.com>
- (WebKit::NPRuntimeObjectMap::setGlobalException):
- Set the global exception string.
+ Move control of the sequence number from DrawingAreaImpl to DrawingAreaProxyImpl
- (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
- Create an error from the exception string.
+ DrawingAreaProxyImpl has some state that, when it changes, causes all operations performed
+ before that state change to become invalid. When painting, we need to have performed at
+ least one Update for the most recent state; otherwise, we'll be painting old/incorrect bits
+ into the view.
- * WebProcess/Plugins/NPRuntimeObjectMap.h:
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_SetException):
- Call NetscapePlugin::setException.
+ Currently, this state consists of a single piece of data: the view's size. Whenever the
+ state (i.e., size) changes, we tell the web process via the SetSize message, and the web
+ process lets us know that it has updated to match the new state (i.e., size) via the
+ DidSetSize message.
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::setException):
- Call NPRuntimeObjectMap::setGlobalException.
+ When it's time to paint, if we're waiting for the web process to update to match our current
+ state (i.e., size), we block for a little while hoping to receive a DidSetSize message so
+ that we can paint up-to-date bits into the window. This can cause us to receive messages
+ out-of-order; the DidSetSize message will be processed immediately, and any messages that
+ were sent before the DidSetSize message will be processed later. Since the messages from
+ before the DidSetSize message correspond to an old state (i.e., size), they are no longer
+ useful (e.g., they contain bits of the page that are drawn at the wrong size/location), so
+ we discard them.
-2010-08-01 Sam Weinig <sam@webkit.org>
+ The way we identify and discard these messages is by keeping track of a sequence number.
+ Currently, DrawingAreaImpl sends a monotonically-increasing sequence number to
+ DrawingAreaProxyImpl with every message. Whenever DrawingAreaProxyImpl receives a DidSetSize
+ message, it records the sequence number that came along with it. If we then later receive
+ any messages that have a lower sequence number, we know they correspond to an old state
+ (i.e., size) and can discard them.
- Roll r64446 out. It broke the test runner.
+ This patch moves control of the sequence number to DrawingAreaProxyImpl.
+ DrawingAreaProxyImpl now sends a monotonically-increasing sequence number in the SetSize
+ message. DrawingAreaImpl records this sequence number when it receives the SetSize message,
+ and sends it back to DrawingAreaProxyImpl in every message. Otherwise the logic is the same
+ as before.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::postMessageToInjectedBundle):
+ This should cause no changes in behavior, but will allow DrawingAreaProxyImpl to request a
+ full backing store update (by incrementing the sequence number) at times other than when the
+ view's size changes (e.g., after it has thrown away its backing store in order to save
+ memory).
-2010-08-01 Sam Weinig <sam@webkit.org>
+ Fixes <http://webkit.org/b/54907> DrawingAreaProxyImpl should tell DrawingAreaImpl what
+ sequence number to use
Reviewed by Anders Carlsson.
- Don't send user messages to the injected bundle if the process is not active
- https://bugs.webkit.org/show_bug.cgi?id=43317
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::generateSequenceNumber): Moved here from DrawingAreaImpl.cpp.
+ (WebKit::DrawingAreaProxyImpl::sendSetSize): Changed to pass a new sequence number in the
+ SetSize message.
+ (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidSetSize): Added a FIXME about a
+ potential improvement.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::postMessageToInjectedBundle):
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::setSize): Updated to match the message's new parameters.
-2010-08-01 Sam Weinig <sam@webkit.org>
+ * WebProcess/WebPage/DrawingArea.messages.in: Added a sequenceNumber parameter to SetSize.
- Reviewed by Anders Carlsson.
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::DrawingAreaImpl): Initialize m_sequenceNumber.
+ (WebKit::DrawingAreaImpl::setSize): Record the new sequence number from the UI process.
- Add ability to reset frame names for WebKitTestRunner
- https://bugs.webkit.org/show_bug.cgi?id=43316
+ (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
+ (WebKit::DrawingAreaImpl::display):
+ Send m_sequenceNumber, instead of a new sequence number, back to the UI process.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageClearMainFrameName):
- * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::clearMainFrameName):
- * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/DrawingAreaImpl.h: Added m_sequenceNumber, updated setSize function to
+ match the base class.
-2010-08-01 Anders Carlsson <andersca@apple.com>
+2011-02-21 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig.
- Minor NPRuntime fixes
- https://bugs.webkit.org/show_bug.cgi?id=43318
+ Bug 54894 - Make inheritance structure described by ClassInfo match C++ class hierarchy.
- * WebProcess/Plugins/JSNPObject.h:
- (WebKit::JSNPObject::npObject):
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
- If we see an JSNPObject, extract the NPObject.
+ The ClassInfo objects describe an inheritance hierarchy, with each ClassInfo instance
+ containing a pointer to its parent class. These links should reflect the inheritance
+ hierarchy of C++ classes below JSObject. For the large part it does, but in some cases
+ entries in the C++ hierarchy are skipped over. This presently likely doesn't matter,
+ since intervening C++ classes may not have ClassInfo - but would be a potential bug
+ were ClassInfo were to be added.
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetProperty):
- Don't check for whether the property exists before getting it.
-
-2010-08-01 Anders Carlsson <andersca@apple.com>
+ * WebProcess/Plugins/Netscape/JSNPObject.cpp:
- Reviewed by Sam Weinig.
+2011-02-21 Balazs Kelemen <kbalazs@webkit.org>
- Implement NPN_RemoveProperty
- https://bugs.webkit.org/show_bug.cgi?id=43315
+ Reviewed by Kenneth Rohde Christiansen.
- * WebProcess/Plugins/NPJSObject.cpp:
- (WebKit::NPJSObject::removeProperty):
- Try to remove the property.
+ [Qt] Implement WorkQueue::sheduleWorkAfterDelay
+ https://bugs.webkit.org/show_bug.cgi?id=54878
- (WebKit::NPJSObject::npClass):
- Add NP_RemoveProperty.
+ * Platform/qt/WorkQueueQt.cpp:
+ (WorkQueue::scheduleWorkAfterDelay):
- (WebKit::NPJSObject::NP_RemoveProperty):
- Call NPJSObject::removeProperty.
+2011-02-20 Alejandro G. Castro <alex@igalia.com>
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_RemoveProperty):
- Call the NPClass::removeProperty function.
+ Reviewed by Martin Robinson.
-2010-07-31 Sam Weinig <sam@webkit.org>
+ [GTK] Add WebResourceCacheDataManager to the compilation after r78848
+ https://bugs.webkit.org/show_bug.cgi?id=54732
- Reviewed by Darin Adler.
+ Added resource cache manager API to GTK+ compilation after r78848.
- Crash due to calling StringImpl::createCFString() from non-main thread in plug-in code
- https://bugs.webkit.org/show_bug.cgi?id=43306
- <rdar://problem/8259687>
-
- * UIProcess/Plugins/PluginInfoStore.cpp:
- (WebKit::PluginInfoStore::getMIMETypeForExtension):
- (WebKit::PluginInfoStore::findPlugin):
- * UIProcess/Plugins/PluginInfoStore.h:
- * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
- (WebKit::safeCreateCFString):
- (WebKit::PluginInfoStore::getMIMETypeForExtension):
- Bypass MIMETypeRegistry in the UIProcess until we can safely convert Strings
- to CFStringRefs.
+ * GNUmakefile.am:
-2010-07-31 Sam Weinig <sam@webkit.org>
+2011-02-20 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
- Patch for https://bugs.webkit.org/show_bug.cgi?id=43305
- Add back WKBundleFrameCopyInnerText to fix ~50 test failures
- due to SVGElements not having the innerText function.
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameCopyInnerText):
- * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::innerText):
- * WebProcess/WebPage/WebFrame.h:
-
-2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Darin Fisher.
-
- PopupMenu refactoring in preparation to WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42592
-
- Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
- SearchPopupMenu respectively. At this point they are just empty implementations.
-
- * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added.
- (WebKit::WebPopupMenu::WebPopupMenu):
- (WebKit::WebPopupMenu::~WebPopupMenu):
- (WebKit::WebPopupMenu::disconnectClient):
- (WebKit::WebPopupMenu::show):
- (WebKit::WebPopupMenu::hide):
- (WebKit::WebPopupMenu::updateFromElement):
- * WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added.
- (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
- (WebKit::WebSearchPopupMenu::popupMenu):
- (WebKit::WebSearchPopupMenu::saveRecentSearches):
- (WebKit::WebSearchPopupMenu::loadRecentSearches):
- (WebKit::WebSearchPopupMenu::enabled):
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.
-
- As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
- instances, concrete classes that inherit from ChromeClient needed to be changed to
- implement the new methods.
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
- (WebKit::WebChromeClient::createPopupMenu):
- (WebKit::WebChromeClient::createSearchPopupMenu):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
-
- build issues:
-
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
-2010-07-31 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r64422.
- http://trac.webkit.org/changeset/64422
- https://bugs.webkit.org/show_bug.cgi?id=43304
+ Crash in WebProcess at com.apple.WebCore: WebCore::Page::goToItem + 46
+ <rdar://problem/8942726>
- Build fixes are needed for Snow Leopard and Windows.
- (Requested by lca on #webkit).
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Removed.
- * WebProcess/WebCoreSupport/WebPopupMenu.h: Removed.
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Removed.
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Removed.
- * win/WebKit2.vcproj:
-
-2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Darin Fisher.
-
- PopupMenu refactoring in preparation to WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42592
-
- Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
- SearchPopupMenu respectively. At this point they are just empty implementations.
-
- * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added.
- (WebKit::WebPopupMenu::WebPopupMenu):
- (WebKit::WebPopupMenu::~WebPopupMenu):
- (WebKit::WebPopupMenu::disconnectClient):
- (WebKit::WebPopupMenu::show):
- (WebKit::WebPopupMenu::hide):
- (WebKit::WebPopupMenu::updateFromElement):
- * WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added.
- (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
- (WebKit::WebSearchPopupMenu::popupMenu):
- (WebKit::WebSearchPopupMenu::saveRecentSearches):
- (WebKit::WebSearchPopupMenu::loadRecentSearches):
- (WebKit::WebSearchPopupMenu::enabled):
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.
-
- As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
- instances, concrete classes that inherit from ChromeClient needed to be changed to
- implement the new methods.
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
- (WebKit::WebChromeClient::createPopupMenu):
- (WebKit::WebChromeClient::createSearchPopupMenu):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
-
- build issues:
-
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
-2010-07-30 Darin Fisher <darin@chromium.org>
-
- Reviewed by Darin Adler.
-
- Eliminate BackForwardList::pushStateItem
- https://bugs.webkit.org/show_bug.cgi?id=43282
-
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- * WebProcess/WebPage/WebBackForwardListProxy.h:
-
-2010-07-30 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
- https://bugs.webkit.org/show_bug.cgi?id=40627
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::goForward):
+ (WebKit::WebPage::goBack):
+ (WebKit::WebPage::goToBackForwardItem):
+ Defend agains null HistoryItems.
-2010-07-30 Sam Weinig <sam@webkit.org>
+2011-02-20 Anders Carlsson <andersca@apple.com>
Reviewed by Maciej Stachowiak.
- Patch for https://bugs.webkit.org/show_bug.cgi?id=43290
- Add structured message passing from the injected bundle to UIProcess
+ Crash when a plug-in requests a javascript: url that destroys the plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=54837
+ <rdar://problem/9005475>
- * Platform/CoreIPC/MessageID.h:
- * Shared/CoreIPCSupport/WebContextMessageKinds.h: Added.
- * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
- (WebProcessProxyMessage::):
- * UIProcess/API/C/WKContext.h:
- * UIProcess/WebContext.cpp:
- (WebKit::):
- (WebKit::PostMessageEncoder::PostMessageDecoder::PostMessageDecoder):
- (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
- (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
- (WebKit::WebContext::didReceiveMessage):
- * UIProcess/WebContext.h:
- * UIProcess/WebContextInjectedBundleClient.cpp:
- (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle):
- * UIProcess/WebContextInjectedBundleClient.h:
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveMessage):
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
- * UIProcess/WebProcessProxy.h:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundlePostMessage):
- * WebProcess/InjectedBundle/API/c/WKBundle.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::):
- (WebKit::InjectedBundle::InjectedBundle):
- (WebKit::InjectedBundle::~InjectedBundle):
- (WebKit::InjectedBundle::initializeClient):
- (WebKit::InjectedBundle::postMessage):
- (WebKit::InjectedBundle::setShouldTrackVisitedLinks):
- (WebKit::InjectedBundle::removeAllVisitedLinks):
- (WebKit::InjectedBundle::didCreatePage):
- (WebKit::InjectedBundle::willDestroyPage):
- (WebKit::InjectedBundle::didReceiveMessage):
- * WebProcess/InjectedBundle/InjectedBundle.h:
-
-2010-07-30 Andy Estes <aestes@apple.com>
-
- Reviewed by David Kilzer.
-
- Add support to Xcode for compiling WebKit against iOS SDKs.
- https://bugs.webkit.org/show_bug.cgi?id=42796
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-07-30 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Cast the return value for the templated ImmutableArray::at().
-
- * Shared/ImmutableArray.h:
- (WebKit::ImmutableArray::at):
-
-2010-07-30 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=43283
- Add APIObject template introspection support.
-
- Add a way to get the type the APIObject::Type from the APIObject subclass typenames
- for template fun. Use this to make a type checking version of ImmutableArray::at.
-
- * Shared/ImmutableArray.h:
- (WebKit::ImmutableArray::at):
- (WebKit::ImmutableArray::type):
- * Shared/WebString.h:
- (WebKit::WebString::type):
- * Shared/WebURL.h:
- (WebKit::WebURL::type):
- * UIProcess/API/C/WKArray.cpp:
- (WKArrayGetTypeID):
- * UIProcess/API/C/WKBackForwardList.cpp:
- (WKBackForwardListGetTypeID):
- * UIProcess/API/C/WKBackForwardListItem.cpp:
- (WKBackForwardListItemGetTypeID):
- * UIProcess/API/C/WKContext.cpp:
- (WKContextGetTypeID):
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameGetTypeID):
- * UIProcess/API/C/WKFramePolicyListener.cpp:
- (WKFramePolicyListenerGetTypeID):
- * UIProcess/API/C/WKNavigationData.cpp:
- (WKNavigationDataGetTypeID):
- * UIProcess/API/C/WKPage.cpp:
- (WKPageGetTypeID):
- * UIProcess/API/C/WKPageNamespace.cpp:
- (WKPageNamespaceGetTypeID):
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesGetTypeID):
- * UIProcess/API/C/WKString.cpp:
- (WKStringGetTypeID):
- * UIProcess/API/C/WKURL.cpp:
- (WKURLGetTypeID):
- * UIProcess/WebBackForwardList.h:
- (WebKit::WebBackForwardList::type):
- * UIProcess/WebBackForwardListItem.h:
- (WebKit::WebBackForwardListItem::type):
- * UIProcess/WebContext.h:
- (WebKit::WebContext::type):
- * UIProcess/WebFramePolicyListenerProxy.h:
- (WebKit::WebFramePolicyListenerProxy::type):
- * UIProcess/WebFrameProxy.h:
- (WebKit::WebFrameProxy::type):
- * UIProcess/WebNavigationData.h:
- (WebKit::WebNavigationData::type):
- * UIProcess/WebPageNamespace.h:
- (WebKit::WebPageNamespace::type):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::type):
- * UIProcess/WebPreferences.h:
- (WebKit::WebPreferences::type):
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleGetTypeID):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameGetTypeID):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageGetTypeID):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- (WebKit::InjectedBundle::type):
- * WebProcess/WebPage/WebFrame.h:
- (WebKit::WebFrame::type):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::type):
-
-2010-07-30 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=43275
- Make WKArrayRef more usable.
-
- - Add Create functions.
- - Make WKArrayGetItemAtIndex return a WKTypeRef.
-
- * UIProcess/API/C/WKArray.cpp:
- (WKArrayCreate):
- (WKArrayCreateAdoptingValues):
- (WKArrayGetItemAtIndex):
- * UIProcess/API/C/WKArray.h:
-
-2010-07-30 Ada Chan <adachan@apple.com>
-
- Reviewed by John Sullivan.
-
- Fix issue with populating the back list when limit is a huge number.
- https://bugs.webkit.org/show_bug.cgi?id=43270
-
- * UIProcess/WebBackForwardList.cpp:
- (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
-
-2010-07-29 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=43274
- Add first pass of structured message passing.
-
- - Only supports passing messages from the UIProcess -> InjectedBundle
- - Only supports passing Strings, Arrays, and WebPage references (NOTE: There
- currently isn't a way to make an array).
- - Changed ImmutableArray to operate on APIObjects instead of void*'s and
- removed the retain/release abstraction.
-
- * Platform/CoreIPC/MessageID.h:
- (CoreIPC::):
- * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h: Added.
- (InjectedBundleMessage::):
- (CoreIPC::):
- * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
- (WebProcessMessage::):
- * Shared/ImmutableArray.cpp:
- (WebKit::ImmutableArray::ImmutableArray):
- (WebKit::ImmutableArray::~ImmutableArray):
- * Shared/ImmutableArray.h:
- (WebKit::ImmutableArray::create):
- (WebKit::ImmutableArray::adopt):
- (WebKit::ImmutableArray::at):
- * UIProcess/API/C/WKBase.h:
- * UIProcess/API/C/WKContext.cpp:
- (WKContextPostMessageToInjectedBundle):
- * UIProcess/API/C/WKContext.h:
- * UIProcess/API/C/WKType.cpp:
- (WKGetTypeID):
- * UIProcess/API/C/WebKit2.h:
- * UIProcess/WebBackForwardList.cpp:
- (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
- (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::postMessageToInjectedBundle):
- (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
- * UIProcess/WebContext.h:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundle.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::didReceiveMessage):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::childFrames):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::didReceiveMessage):
- * WebProcess/WebProcess.h:
- * win/WebKit2.vcproj:
-
-2010-07-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement NPN_Evaluate
- https://bugs.webkit.org/show_bug.cgi?id=43268
-
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::evaluate):
- Evaluate the passed in string.
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_Evaluate):
- Call NetscapePlugin::evaluate.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::evaluate):
- Call PluginController::evaluate.
-
- * WebProcess/Plugins/PluginController.h:
- Add evaluate pure virtual member function.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::evaluate):
- Update the popup window state and call NPRuntimeObjectMap::evaluate.
-
-2010-07-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement NPN_InvokeDefault
- https://bugs.webkit.org/show_bug.cgi?id=43266
-
- * WebProcess/Plugins/JSNPObject.cpp:
- (WebKit::JSNPObject::JSNPObject):
- Remove ExecState parameter.
-
- (WebKit::JSNPObject::callObject):
- Call the NPClass::invokeDefault function.
-
- (WebKit::callNPJSObject):
- Call JSNPObject::callObject.
-
- (WebKit::JSNPObject::getCallData):
- Check if the NPClass has an invokeDefault function.
-
- * WebProcess/Plugins/JSNPObject.h:
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
- Remove ExecState parameter.
-
- (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
- Remove ExecState parameter.
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::destroy):
+ Null out m_pluginController.
* WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::scriptObject):
- Remove ExecState parameter.
-
-2010-07-30 Adam Roben <aroben@apple.com>
-
- Roll our r64361 and r64363
-
- We can't make these changes until QuartzCore.lib is included in
- WebKitSupportLibrary.
-
-2010-07-30 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * win/WebKit2Apple.vsprops: Always link against QuartzCore, since
- WebKitSystemInterface requires it.
-
-2010-07-30 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Unreviewed build fix.
-
- [Qt] Build fix for recent API changes in WebKit2.
-
- * UIProcess/API/cpp/qt/WKStringQt.cpp:
- (WKStringCopyQString):
- * UIProcess/API/cpp/qt/WKURLQt.cpp:
- (WKURLCopyQUrl):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
-
-2010-07-29 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Setting empty document schemes on the WKContext shouldn't start the WebProcess
- <rdar://problem/8253734> and https://bugs.webkit.org/show_bug.cgi?id=43222
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::ensureWebProcess):
- (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
- * UIProcess/WebContext.h:
+ (WebKit::PluginView::performJavaScriptURLRequest):
+ Don't access the frame through m_pluginElement since it will be nulled out
+ when the plug-in is destroyed.
-2010-07-29 Brady Eidson <beidson@apple.com>
+2011-02-20 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- Make all public facing client setters take const pointers
- https://bugs.webkit.org/show_bug.cgi?id=43219
+ Fix another crash when a plug-in is destroyed when evaluating JavaScript
+ https://bugs.webkit.org/show_bug.cgi?id=54834
+ <rdar://problem/9005475>
- * UIProcess/API/C/WKContext.cpp:
- (WKContextSetInjectedBundleClient):
- (WKContextSetHistoryClient):
- * UIProcess/API/C/WKContext.h:
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageSetPageLoaderClient):
- (WKPageSetPagePolicyClient):
- (WKPageSetPageUIClient):
- * UIProcess/API/C/WKPage.h:
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::initializeInjectedBundleClient):
- (WebKit::WebContext::initializeHistoryClient):
- * UIProcess/WebContext.h:
-
- * UIProcess/WebContextInjectedBundleClient.cpp:
- (WebKit::WebContextInjectedBundleClient::initialize):
- * UIProcess/WebContextInjectedBundleClient.h:
+ This contains three separate fixes:
- * UIProcess/WebHistoryClient.cpp:
- (WebKit::WebHistoryClient::initialize):
- * UIProcess/WebHistoryClient.h:
+ - In unprotectPluginFromDestruction we can't just destroy the plug-in once
+ the count reaches zero, because the plug-in might still have code executing
+ on the stack. To fix this we use a zero-delay timer to defer destruction
+ of the plug-in.
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::initialize):
- * UIProcess/WebLoaderClient.h:
+ - Trying to get the NPObject for the window using NPN_GetValue would return
+ NPERR_NO_ERROR, even if the returned NPObject was null. Fix this to return
+ NPERR_GENERIC_ERROR instead.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeLoaderClient):
- (WebKit::WebPageProxy::initializePolicyClient):
- (WebKit::WebPageProxy::initializeUIClient):
- * UIProcess/WebPageProxy.h:
-
- * UIProcess/WebPolicyClient.cpp:
- (WebKit::WebPolicyClient::initialize):
- * UIProcess/WebPolicyClient.h:
-
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::initialize):
- * UIProcess/WebUIClient.h:
-
-2010-07-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement NPN_SetProperty
- https://bugs.webkit.org/show_bug.cgi?id=43217
-
- * WebProcess/Plugins/NPJSObject.cpp:
- (WebKit::NPJSObject::setProperty):
- Convert the NPVariant to a JSValue and set it on the underlying JSObject.
-
- (WebKit::NPJSObject::NP_SetProperty):
- Call NPJSObject::setProperty.
+ - Protect the plug-in from destruction anytime an NPAPI call that sends a
+ synchronous IPC message is made.
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ (WebKit::PluginControllerProxy::destroy):
+ (WebKit::PluginControllerProxy::unprotectPluginFromDestruction):
+ * PluginProcess/PluginControllerProxy.h:
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::PluginDestructionProtector::PluginDestructionProtector):
+ (WebKit::NPN_GetValue):
+ (WebKit::NPN_Evaluate):
(WebKit::NPN_GetProperty):
- Remove unused parameter name.
-
(WebKit::NPN_SetProperty):
- Call the NPClass::setProperty function.
-
-2010-07-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement NPN_Enumerate
- https://bugs.webkit.org/show_bug.cgi?id=43215
-
- * WebProcess/Plugins/JSNPObject.cpp:
- (WebKit::npIdentifierFromIdentifier):
- Get the UTF-8 string representation instead of the lossy ASCII representation.
-
- (WebKit::JSNPObject::getOwnPropertyNames):
- Implement by calling the NPClass::enumerate function.
-
- * WebProcess/Plugins/JSNPObject.h:
- * WebProcess/Plugins/NPJSObject.cpp:
- (WebKit::NPJSObject::enumerate):
- Implement by calling JSObject::getPropertyNames.
-
- (WebKit::NPJSObject::npClass):
- (WebKit::NPJSObject::NP_Enumerate):
- Call NPJSObject::enumerate.
-
- * WebProcess/Plugins/NPJSObject.h:
- * WebProcess/Plugins/NPRuntimeUtilities.cpp:
- (WebKit::createNPObject):
- Fix a comment.
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_RemoveProperty):
+ (WebKit::NPN_HasProperty):
+ (WebKit::NPN_HasMethod):
(WebKit::NPN_Enumerate):
- Call the NPClass::enumerate function.
-
-2010-07-29 John Sullivan <sullivan@apple.com>
-
- <https://bugs.webkit.org/show_bug.cgi?id=43203>
- WebBackForwardList::back/ForwardListWithLimit() crashes if passed a limit larger than max int
-
- Reviewed by Sam Weinig.
-
- * UIProcess/WebBackForwardList.cpp:
- (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
- Fixed casting so that a large unsigned won't become a negative int.
- (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
- Ditto.
-
-2010-07-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement NPN_Status
- https://bugs.webkit.org/show_bug.cgi?id=43205
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_Status):
- Convert the message char* to a String and call NetscapePlugin::setStatusbarText.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::setStatusbarText):
- Call PluginController::setStatusbarText.
-
- * WebProcess/Plugins/PluginController.h:
- Add setStatusbarText.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::setStatusbarText):
- Call the Chrome member function.
-
-2010-07-29 Adam Roben <aroben@apple.com>
-
- Always say "plugins directory" when referring to a directory
- containing one or more plugins
-
- Fixes <http://webkit.org/b/43197> WebKit2 often says "plugin
- directory" when it means "plugins directory"
-
- Reviewed by John Sullivan.
-
- * UIProcess/API/C/WKContext.cpp:
- (_WKContextSetAdditionalPluginsDirectory):
- * UIProcess/API/C/WKContextPrivate.h:
- Renamed from _WKContextSetAdditionalPluginDirectory.
-
- * UIProcess/Plugins/PluginInfoStore.cpp:
- (WebKit::PluginInfoStore::setAdditionalPluginsDirectories): Renamed
- from setAdditionalPluginDirectories.
- (WebKit::PluginInfoStore::loadPluginsIfNecessary): Updated for rename.
-
- * UIProcess/Plugins/PluginInfoStore.h: Renamed
- m_additionalPluginDirectories to m_additionalPluginsDirectories.
-
- * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
- (WebKit::PluginInfoStore::pluginsDirectories):
- * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
- (WebKit::PluginInfoStore::pluginsDirectories):
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- (WebKit::PluginInfoStore::pluginsDirectories):
- Renamed from pluginDirectories.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::setAdditionalPluginsDirectory):
- * UIProcess/WebContext.h:
- Renamed from setAdditionalPluginDirectory.
-
-2010-07-29 Adam Roben <aroben@apple.com>
-
- Always say "directory" when referring to a plugin directory
-
- Fixes <http://webkit.org/b/43195> WebKit2 often says "plugin path"
- when it means "plugin directory"
-
- Reviewed by John Sullivan.
-
- * UIProcess/API/C/WKContext.cpp:
- (_WKContextSetAdditionalPluginDirectory):
- * UIProcess/API/C/WKContextPrivate.h:
- Renamed from _WKContextSetAdditionalPluginPath.
-
- * UIProcess/Plugins/PluginInfoStore.cpp:
- (WebKit::PluginInfoStore::setAdditionalPluginDirectories): Renamed
- from setAdditionalPluginPaths.
- (WebKit::PluginInfoStore::loadPluginsIfNecessary): Updated for rename.
-
- * UIProcess/Plugins/PluginInfoStore.h: Renamed m_additionalPluginPaths
- to m_additionalPluginDirectories.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::setAdditionalPluginDirectory):
- * UIProcess/WebContext.h:
- Renamed from setAdditionalPluginPath, and updated for PluginInfoStore
- rename.
-
-2010-07-29 Adam Roben <aroben@apple.com>
-
- Remove PluginInfoStore::mimeTypeFromExtension
-
- WebCore::MIMETypeRegistry already provides a cross-platform interface
- for this.
-
- Fixes <http://webkit.org/b/43188>
- PluginInfoStore::mimeTypeFromExtension is unnecessary
-
- Reviewed by Nikolas Zimmermann.
-
- * UIProcess/Plugins/PluginInfoStore.cpp:
- (WebKit::PluginInfoStore::findPlugin): Changed to use
- MIMETypeRegistry.
-
- * UIProcess/Plugins/PluginInfoStore.h:
- * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
- * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- Removed mimeTypeFromExtension.
-
-2010-07-28 Sam Weinig <sam@webkit.org>
-
- Another Windows build fix.
-
- * UIProcess/API/C/WKBase.h:
- * win/WebKit2Generated.make:
-
-2010-07-28 Sam Weinig <sam@webkit.org>
-
- Fix builds.
-
- * UIProcess/API/C/WKAPICast.h:
- (WebKit::ProxyingRefPtr::operator APIType):
- (toURLRef):
- (toCopiedRef):
- (toCopiedURLRef):
- * UIProcess/win/WebView.h:
- (WebKit::WebView::type):
-
-2010-07-28 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=43163
- Add a CF-style base type (WKTypeRef) as a base for polymorphic functions.
-
- - Add first polymorphic function, WKGetTypeID.
- - Add functions to each WK type to get their respective TypeIDs.
- - Adds WebURL to complement WebString.
-
- * Shared/APIObject.h:
- (WebKit::APIObject::):
- (WebKit::APIObject::~APIObject):
- * Shared/ImmutableArray.h:
- (WebKit::ImmutableArray::type):
- * Shared/WebString.h:
- (WebKit::WebString::type):
- * Shared/WebURL.h: Added.
- (WebKit::WebURL::create):
- (WebKit::WebURL::type):
- (WebKit::WebURL::isNull):
- (WebKit::WebURL::isEmpty):
- (WebKit::WebURL::string):
- (WebKit::WebURL::WebURL):
- * UIProcess/API/C/WKAPICast.h:
- (WebKit::ProxyingRefPtr::ProxyingRefPtr):
- (WebKit::ProxyingRefPtr::operator APIType):
- (toRef):
- (toURLRef):
- (toCopiedURLRef):
- * UIProcess/API/C/WKArray.cpp:
- (WKArrayGetTypeID):
- * UIProcess/API/C/WKArray.h:
- * UIProcess/API/C/WKBackForwardList.cpp:
- (WKBackForwardListGetTypeID):
- * UIProcess/API/C/WKBackForwardList.h:
- * UIProcess/API/C/WKBackForwardListItem.cpp:
- (WKBackForwardListItemGetTypeID):
- * UIProcess/API/C/WKBackForwardListItem.h:
- * UIProcess/API/C/WKBase.h:
- * UIProcess/API/C/WKContext.cpp:
- (WKContextGetTypeID):
- * UIProcess/API/C/WKContext.h:
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameGetTypeID):
- * UIProcess/API/C/WKFrame.h:
- * UIProcess/API/C/WKFramePolicyListener.cpp:
- (WKFramePolicyListenerGetTypeID):
- * UIProcess/API/C/WKFramePolicyListener.h:
- * UIProcess/API/C/WKNavigationData.cpp:
- (WKNavigationDataGetTypeID):
- * UIProcess/API/C/WKNavigationData.h:
- * UIProcess/API/C/WKPage.cpp:
- (WKPageGetTypeID):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/C/WKPageNamespace.cpp:
- (WKPageNamespaceGetTypeID):
- * UIProcess/API/C/WKPageNamespace.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesGetTypeID):
- * UIProcess/API/C/WKPreferences.h:
- * UIProcess/API/C/WKString.cpp:
- (WKStringGetTypeID):
- * UIProcess/API/C/WKString.h:
- * UIProcess/API/C/WKType.cpp: Added.
- (WKGetTypeID):
- * UIProcess/API/C/WKType.h: Added.
- * UIProcess/API/C/WKURL.cpp:
- (WKURLGetTypeID):
- * UIProcess/API/C/WKURL.h:
- * UIProcess/API/win/WKView.cpp:
- (WKViewGetTypeID):
- * UIProcess/API/win/WKView.h:
- * UIProcess/WebBackForwardList.h:
- (WebKit::WebBackForwardList::type):
- * UIProcess/WebBackForwardListItem.h:
- (WebKit::WebBackForwardListItem::type):
- * UIProcess/WebContext.h:
- (WebKit::WebContext::type):
- * UIProcess/WebFramePolicyListenerProxy.h:
- (WebKit::WebFramePolicyListenerProxy::type):
- * UIProcess/WebFrameProxy.h:
- (WebKit::WebFrameProxy::type):
- * UIProcess/WebNavigationData.h:
- (WebKit::WebNavigationData::type):
- * UIProcess/WebPageNamespace.h:
- (WebKit::WebPageNamespace::type):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::type):
- * UIProcess/WebPreferences.h:
- (WebKit::WebPreferences::type):
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleGetTypeID):
- * WebProcess/InjectedBundle/API/c/WKBundle.h:
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameGetTypeID):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageGetTypeID):
- (WKBundlePageSetEditorClient):
- (WKBundlePageSetLoaderClient):
- (WKBundlePageSetUIClient):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/WebPage/WebFrame.h:
- (WebKit::WebFrame::type):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::type):
- * win/WebKit2.vcproj:
-
-2010-07-28 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKitTestRunner needs to support layoutTestController.execCommand
- <https://bugs.webkit.org/show_bug.cgi?id=42538>
-
- WebKitTestRunner needs layoutTestController.isCommandEnabled
- <https://bugs.webkit.org/show_bug.cgi?id=42671>
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageExecuteEditingCommand): Added.
- (WKBundlePageIsEditingCommandEnabled): Added.
- * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Ditto.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::executeEditingCommand): Added.
- (WebKit::WebPage::isEditingCommandEnabled): Added.
- * WebProcess/WebPage/WebPage.h: Ditto.
-
-2010-07-28 Anders Carlsson <andersca@apple.com>
-
- Fix 64-bit build.
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetValue):
-
-2010-07-28 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- First pass at visited link support for WK2
- https://bugs.webkit.org/show_bug.cgi?id=43157
-
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- (WebPageProxyMessage::):
- * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
- (WebProcessMessage::):
- * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
- (WebProcessProxyMessage::):
-
- Move HistoryClient support from the page...:
- * UIProcess/API/C/WKPage.cpp:
- * UIProcess/API/C/WKPage.h:
-
- ...to the Context
- * UIProcess/API/C/WKContext.cpp:
- (WKContextSetHistoryClient):
- * UIProcess/API/C/WKContext.h:
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::initializeHistoryClient):
- (WebKit::WebContext::ensureWebProcess): When a new WebProcess is created, set its "should track visited links" mode.
- (WebKit::WebContext::didNavigateWithNavigationData):
- (WebKit::WebContext::didPerformClientRedirect):
- (WebKit::WebContext::didPerformServerRedirect):
- (WebKit::WebContext::didUpdateHistoryTitle):
- (WebKit::WebContext::populateVisitedLinks):
- * UIProcess/WebContext.h:
- (WebKit::WebContext::hasValidProcess):
-
- * UIProcess/WebHistoryClient.cpp:
- (WebKit::WebHistoryClient::initialize):
- (WebKit::WebHistoryClient::didNavigateWithNavigationData):
- (WebKit::WebHistoryClient::didPerformClientRedirect):
- (WebKit::WebHistoryClient::didPerformServerRedirect):
- (WebKit::WebHistoryClient::didUpdateHistoryTitle):
- (WebKit::WebHistoryClient::populateVisitedLinks):
- * UIProcess/WebHistoryClient.h:
- (WebKit::WebHistoryClient::shouldTrackVisitedLinks):
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- * UIProcess/WebPageProxy.h:
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveMessage):
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::populateVisitedLinks):
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::updateGlobalHistory):
- (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
- (WebKit::WebFrameLoaderClient::setTitle):
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::didReceiveMessage):
-
-2010-07-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add JSNPObject::getConstructData
- https://bugs.webkit.org/show_bug.cgi?id=43165
-
- * WebProcess/Plugins/JSNPObject.cpp:
- (WebKit::JSNPObject::callMethod):
- Add a null check for m_npObject.
-
- (WebKit::JSNPObject::callConstructor):
- Call NPClass::construct.
-
- (WebKit::JSNPObject::getConstructData):
- Set up the construct data.
-
- (WebKit::JSNPObject::propertyGetter):
- convertNPVariantToJSValue now takes a JSGlobalObject as well.
-
- * WebProcess/Plugins/NPJSObject.cpp:
- (WebKit::NPJSObject::invoke):
- (WebKit::NPJSObject::invokeDefault):
- (WebKit::NPJSObject::construct):
- convertNPVariantToJSValue now takes a JSGlobalObject as well.
-
- * WebProcess/Plugins/NPJSObject.h:
- Make isNPJSObject and toNPJSObject public.
-
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
- Convert NPObjects correctly.
-
- (WebKit::NPRuntimeObjectMap::globalObject):
- Get the globalObject from the frame.
-
- (WebKit::NPRuntimeObjectMap::globalExec):
- Call globalObject.
-
- * WebProcess/Plugins/NPRuntimeObjectMap.h:
-
-2010-07-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement NPN_InvokeDefault and NPN_Construct
- https://bugs.webkit.org/show_bug.cgi?id=43160
-
- * WebProcess/Plugins/NPJSObject.cpp:
- (WebKit::NPJSObject::invoke):
- Just call invoke directly.
-
- (WebKit::NPJSObject::invokeDefault):
- Call invoke.
-
- (WebKit::NPJSObject::construct):
- Implement this.
-
- (WebKit::NPJSObject::invoke):
- Add new invoke overload that takes the function as a JSValue.
-
- (WebKit::NPJSObject::npClass):
- Add NP_Construct.
-
- (WebKit::NPJSObject::NP_InvokeDefault):
- Call NPJSObject::invokeDefault.
-
- (WebKit::NPJSObject::NP_Construct):
- Call NPJSObject::construct.
-
- * WebProcess/Plugins/NPJSObject.h:
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetValue):
- Handle the Core Animation drawing model and the Carbon event model.
-
- (WebKit::NPN_InvokeDefault):
- Call the NPClass::invokeDefault function.
-
(WebKit::NPN_Construct):
- Call the NPClass::construct function.
-
-2010-07-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement NPN_Invoke
- https://bugs.webkit.org/show_bug.cgi?id=43158
-
- * WebProcess/Plugins/NPJSObject.cpp:
- (WebKit::NPJSObject::hasMethod):
- Use the free getCallData function.
-
- (WebKit::NPJSObject::invoke):
- Get the JavaScript function and call it.
-
- (WebKit::NPJSObject::NP_Invoke):
- Call NPJSObject::invoke.
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_Invoke):
- Call the NPClass::invoke function.
-
-2010-07-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement NPN_HasMethod
- https://bugs.webkit.org/show_bug.cgi?id=43155
-
- * WebProcess/Plugins/NPJSObject.cpp:
- (WebKit::NPJSObject::hasMethod):
- Check if the JSObject has a property with the given name. If it does, check that the value is a function.
-
- (WebKit::NPJSObject::hasProperty):
- Add a JSLock.
-
- (WebKit::NPJSObject::npClass):
- Add some stubbed out functions.
-
- (WebKit::NPJSObject::NP_HasMethod):
- Call NPJSObject::hasMethod.
-
- (WebKit::NPJSObject::NP_Invoke):
- (WebKit::NPJSObject::NP_InvokeDefault):
- (WebKit::NPJSObject::NP_SetProperty):
- Stub out functions.
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_HasMethod):
- Call the NPClass::hasMethod function.
-
-2010-07-28 Brady Eidson <beidson@apple.com>
-
- Rubberstamped by Sam Weinig.
-
- Make sure new pages are always added to the same PageGroup (for now).
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
-
-2010-07-28 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=43097
- Make all objects in the WebKit2 API inherit from a single base class
-
- - Adds an APIObject base class for all objects which one can get through
- the C API to inherit from.
- - Adds a WebString class which wraps WebCore::String for now. I am not too fond of
- this solution, so we should continue to iterate on it.
- - This is a first step toward make a CF-style base type (eg. CFTypeRef) for the C-API.
-
- * Shared/APIObject.h: Added.
- (WebKit::APIObject::APIObject):
- Base class for API objects.
-
- * Shared/ImmutableArray.h:
- Make inherit from APIObject.
-
- * Shared/WebString.h: Added.
- (WebKit::WebString::create):
- (WebKit::WebString::isNull):
- (WebKit::WebString::isEmpty):
- (WebKit::WebString::string):
- (WebKit::WebString::WebString):
- Wraps a WebCore::String so that it can be passed out to the API
- and still inherit from APIObject.
-
- * UIProcess/API/C/WKAPICast.h:
- (WebKit::WebStringAdaptor::WebStringAdaptor):
- (WebKit::WebStringAdaptor::operator WKStringRef):
- (WebKit::WebStringAdaptor::operator WKURLRef):
- Update conversion methods to deal in terms of WebStrings. Added WebStringAdaptor
- to ease passing strings to client functions.
-
- * UIProcess/API/C/WKContext.cpp:
- (WKContextCreateWithInjectedBundlePath):
- (WKContextPostMessageToInjectedBundle):
- (_WKContextSetAdditionalPluginPath):
- (_WKContextRegisterURLSchemeAsEmptyDocument):
- Get the WebCore::String from the WebString.
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageLoadURL):
- Ditto.
-
- * UIProcess/API/C/WKString.cpp:
- (WKStringIsEmpty):
- Implement in terms of WebString.
-
- * UIProcess/API/C/WKURL.cpp:
- * UIProcess/API/C/cf/WKStringCF.cpp:
- (WKStringCreateWithCFString):
- (WKStringCopyCFString):
- Ditto.
-
- * UIProcess/API/C/cf/WKURLCF.cpp:
- (WKURLCreateWithCFURL):
- (WKURLCopyCFURL):
- Ditto.
-
- * UIProcess/WebBackForwardList.h:
- Make inherit from APIObject.
-
- * UIProcess/WebBackForwardListItem.h:
- Ditto.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
- (WebKit::WebContext::postMessageToInjectedBundle):
- (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
- Use String instead of StringImpl to be consistent.
-
- * UIProcess/WebContext.h:
- Make inherit from APIObject.
-
- * UIProcess/WebFramePolicyListenerProxy.h:
- Ditto.
-
- * UIProcess/WebFrameProxy.h:
- Ditto.
-
- * UIProcess/WebNavigationData.h:
- Ditto.
-
- * UIProcess/WebPageNamespace.h:
- Ditto.
-
- * UIProcess/WebPageProxy.h:
- Ditto.
-
- * UIProcess/WebPreferences.h:
- Ditto.
-
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::runJavaScriptPrompt):
- Implement in terms of WebString.
-
- * UIProcess/win/WebView.h:
- Make inherit from APIObject.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
-
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundlePostMessage):
- Get the WebCore::String from the WebString.
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFramePauseAnimationOnElementWithId):
- Ditto.
-
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::postMessage):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- Use String instead of StringImpl to be consistent.
-
- * WebProcess/WebPage/WebFrame.h:
- Make inherit from APIObject.
-
- * WebProcess/WebPage/WebPage.h:
- Make inherit from APIObject.
-
- * win/WebKit2.vcproj:
- Add new files.
-
-2010-07-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement JSNPObject::put
- https://bugs.webkit.org/show_bug.cgi?id=43149
-
- * WebProcess/Plugins/JSNPObject.cpp:
- (WebKit::JSNPObject::getOwnPropertySlot):
- Fix a typo.
-
- (WebKit::JSNPObject::getOwnPropertyDescriptor):
- Implement this in the same way as it's implemented in RuntimeObject.
-
- (WebKit::JSNPObject::put):
- Implement this, call NPClass::setProperty.
-
- * WebProcess/Plugins/JSNPObject.h:
-
-2010-07-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add support for calling NPObject methods
- https://bugs.webkit.org/show_bug.cgi?id=43145
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add JSNPMethod.cpp and JSNPMethod.h
-
- * WebProcess/Plugins/JSNPMethod.cpp: Added.
- * WebProcess/Plugins/JSNPMethod.h: Added.
- * WebProcess/Plugins/JSNPObject.cpp:
- (WebKit::):
- Add a ClassInfo static variable for JSNPObject.
-
- (WebKit::JSNPObject::callMethod):
- Convert the passed in arguments, call the method and convert the result back.
-
- (WebKit::JSNPObject::getOwnPropertySlot):
- Check if the NPObject has a method.
-
- (WebKit::JSNPObject::methodGetter):
- Return a new JSNPMethod.
-
- * WebProcess/Plugins/JSNPObject.h:
- (WebKit::JSNPObject::classInfo):
- Return the s_info.
-
- * WebProcess/Plugins/NPJSObject.cpp:
- (WebKit::NPJSObject::getProperty):
- Get the property from the JSObject.
-
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
- Convert the given JSValue to an NPVariant.
-
- * win/WebKit2.vcproj:
- Add JSNPMethod.cpp and JSNPMethod.h
-
-2010-07-28 Adam Roben <aroben@apple.com>
-
- Teach CoreIPC how to handle with a pipe closing during a write
-
- Fixes <http://webkit.org/b/43131> Assertion failure in
- Connection::sendOutgoingMessage if the other process exits at just the
- wrong time
-
- Reviewed by Darin Adler.
-
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- (CoreIPC::Connection::sendOutgoingMessage): If ::WriteFile fails with
- ERROR_NO_DATA, the pipe (and thus the connection) has closed.
-
-2010-07-28 Adam Roben <aroben@apple.com>
-
- Teach CoreIPC the right way to send large messages on Windows
-
- r63776 added support for ::WriteFile failing with ERROR_IO_PENDING,
- but it had a major flaw: we didn't ensure that the data being sent
- (which is owned by the ArgumentEncoder) stayed around until the write
- finished. We'd destroy the data immediately, leading to ::WriteFile
- accessing that freed memory later. This seemed to always manifest
- itself as a crash in ::WaitForMultipleObjects.
-
- The correct solution (as hinted above) is to make sure that the data
- being written is not destroyed until the write completes. When
- ::WriteFile fails with ERROR_IO_PENDING, we store the data being sent
- in Connection::m_pendingWriteArguments, and don't send any more
- messages until that write completes. We use an event in the OVERLAPPED
- structure passed to ::WriteFile to detect when the write has completed
- (similar to what we do for reads).
-
- Fixes <http://webkit.org/b/42785> <rdar://problem/8218522> Crash in
- WebKit2WebProcess in WaitForMultipleObjects beneath
- WorkQueue::workQueueThreadBody when running tests that produce a lot
- of output
-
- Reviewed by Anders Carlsson.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::canSendOutgoingMessages): Added. This calls out
- to a platform-specific function to allow each platform to have its own
- policy for when messages can and can't be sent.
- (CoreIPC::Connection::sendOutgoingMessages): Use the new
- canSendOutgoingMessages to determine whether we can send any messages
- right now. We now remove one message at a time from m_outgoingMessages
- and send it. We stop sending messages when sendOutgoingMessage returns
- false.
-
- * Platform/CoreIPC/Connection.h: Added m_pendingWriteArguments and
- m_writeState on Windows.
- (CoreIPC::Connection::Message::Message): Added this default
- constructor.
-
- * Platform/CoreIPC/MessageID.h:
- (CoreIPC::MessageID::MessageID): Made the default constructor public
- for Message's benefit.
-
- * Platform/CoreIPC/mac/ConnectionMac.cpp:
- (CoreIPC::Connection::platformCanSendOutgoingMessages): Added. Always
- returns true.
- (CoreIPC::Connection::sendOutgoingMessage): Changed to return a
- boolean indicating whether more messages can be sent at this time.
-
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- (CoreIPC::Connection::platformCanSendOutgoingMessages): Added. Returns
- true if we have a socket.
- (CoreIPC::Connection::sendOutgoingMessage): Changed a null-check of
- m_socket to an assertion since it should be checked for null in
- platformCanSendOutgoingMessages. Changed to return a boolean
- indicating whether more messages can be sent at this time.
-
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- (CoreIPC::Connection::platformInitialize): Added initialization of
- m_writeState.
- (CoreIPC::Connection::platformInvalidate): Close m_writeState's event
- handle.
- (CoreIPC::Connection::writeEventHandler): Added. Checks if the pending
- write has completed, cleans up our pending write state, and sends any
- remaining messages.
- (CoreIPC::Connection::open): Register our write event with the
- WorkQueue so that writeEventHandler will be called when the event is
- signaled.
- (CoreIPC::Connection::platformCanSendOutgoingMessages): Added. We can
- only send messages if there isn't a write pending.
- (CoreIPC::Connection::sendOutgoingMessage): Changed to return a
- boolean indicating whether more messages can be sent at this time. We
- now pass m_writeState to ::WriteFile instead of an empty OVERLAPPED
- struct so that our write event will be signaled when the write
- completes. We also no longer pass a pointer to receive how many bytes
- were written, as recommended by MSDN. If ::WriteFile fails with
- ERROR_IO_PENDING, we save the ArgumentEncoder for this message and
- return false to indicate that no more messages can be sent at this
- time.
-
-2010-07-28 Adam Roben <aroben@apple.com>
-
- Stop leaking Connection::m_readState.hEvent on Windows
-
- Fixes <http://webkit.org/b/43129> CoreIPC::Connection leaks its read
- event on Windows
-
- Reviewed by Darin Adler.
-
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- (CoreIPC::Connection::platformInvalidate): Close the event handle.
-
-2010-07-26 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Page clients should be passed to Page constructor via structure of pointers
- https://bugs.webkit.org/show_bug.cgi?id=42834
-
- * WebKit2/WebProcess/WebPage/WebPage.cpp:
- (WebPage::WebPage):
-
-2010-07-28 Andras Becsi <abecsi@webkit.org>
-
- Unreviewed trivial build fix.
-
- [Qt] Follow the API changes after r64172.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::url):
- (QWKPage::title):
-
-2010-07-27 Anders Carlsson <andersca@apple.com>
-
- Fix Windows build.
-
- * WebProcess/Plugins/JSNPObject.cpp:
- (WebKit::JSNPObject::propertyGetter):
- Remove unreachable code.
-
-2010-07-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement JSNPObject::propertyGetter
- https://bugs.webkit.org/show_bug.cgi?id=43091
-
- * WebProcess/Plugins/JSNPObject.cpp:
- (WebKit::JSNPObject::propertyGetter):
- Ask the NPObject for its property.
-
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::jsNPObjectDestroyed):
- Add a stub.
-
- (WebKit::NPRuntimeObjectMap::convertNPVariantToValue):
- Implement this for everything except objects.
-
-2010-07-27 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=43087
- Clean up handling of strings at the WebKit2 API layer.
-
- - Always use the "copy" rule for functions that return WKStringRefs or WKURLRefs.
- - Never return a null WKStringRef or WKURLRef.
-
- * UIProcess/API/C/WKAPICast.h:
- (toRef):
- (toURLRef):
- (toCopiedRef):
- (toCopiedURLRef):
- * UIProcess/API/C/WKBackForwardListItem.cpp:
- (WKBackForwardListItemCopyOriginalURL):
- (WKBackForwardListItemCopyURL):
- (WKBackForwardListItemCopyTitle):
- * UIProcess/API/C/WKBackForwardListItem.h:
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameIsMainFrame):
- (WKFrameCopyProvisionalURL):
- (WKFrameCopyURL):
- (WKFrameGetPage):
- (WKFrameRetain):
- (WKFrameRelease):
- * UIProcess/API/C/WKFrame.h:
- * UIProcess/API/C/WKNavigationData.cpp:
- (WKNavigationDataCopyTitle):
- (WKNavigationDataCopyURL):
- * UIProcess/API/C/WKNavigationData.h:
- * UIProcess/API/C/WKPage.cpp:
- (WKPageCopyTitle):
- * UIProcess/API/C/WKPage.h:
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameCopyURL):
- (WKBundleFrameCopyName):
- (WKBundleFrameCopyCounterValue):
- (WKBundleFrameCopyMarkerText):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp:
- (WKBundleNodeCopyNodeName):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageCopyRenderTreeExternalRepresentation):
-
-2010-07-27 Adam Roben <aroben@apple.com>
-
- Fix PageClient ownership in WebPageProxy
-
- WKView now owns the PageClient, similar to how things work on Windows
- (where the WebView is the PageClient).
-
- Fixes <http://webkit.org/b/40185> WebPageProxy should keep a weak
- reference to the PageClient
-
- Reviewed by Anders Carlsson.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:pageNamespaceRef:]): Store the PageClientImpl
- on our WKViewData object and pass it to the WebPageProxy.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setPageClient):
- * UIProcess/WebPageProxy.h:
- Removed Mac-specific code that put the PageClient in an OwnPtr. We now
- store it in a bare pointer just like on Windows.
-
-2010-07-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add JSNPObject, a JSObject that wraps an NPObject
- https://bugs.webkit.org/show_bug.cgi?id=43079
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add JSNPObject.cpp and JSNPObject.h
-
- * WebProcess/Plugins/JSNPObject.cpp: Added.
- (WebKit::npIdentifierFromIdentifier):
- (WebKit::JSNPObject::JSNPObject):
- (WebKit::JSNPObject::~JSNPObject):
- (WebKit::JSNPObject::getOwnPropertySlot):
- Check if the NPObject has the given property.
-
- (WebKit::JSNPObject::propertyGetter):
- (WebKit::JSNPObject::throwInvalidAccessError):
- * WebProcess/Plugins/JSNPObject.h: Added.
- (WebKit::JSNPObject::createStructure):
- * WebProcess/Plugins/NPJSObject.h:
-
- * win/WebKit2.vcproj:
- Add JSNPObject.cpp and JSNPObject.h
-
-2010-07-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Expose interface for returning the plug-in script JSObject
- https://bugs.webkit.org/show_bug.cgi?id=43074
-
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
- Add empty stub.
-
- * WebProcess/Plugins/NPRuntimeObjectMap.h:
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::pluginScriptableNPObject):
- Ask the plug-in for it's scriptable NPObject.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- * WebProcess/Plugins/Plugin.h:
- Add pluginScritableNPObject.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::PluginView):
- Call PluginViewBase constructor.
-
- (WebKit::PluginView::scriptObject):
- Ask the plug-in for its scriptable object and wrap it.
-
- * WebProcess/Plugins/PluginView.h:
- PluginView now inherits from PluginViewBase.
-
-2010-07-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Move NPJSObject out into separate files
- https://bugs.webkit.org/show_bug.cgi?id=43068
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Plugins/NPJSObject.cpp: Added.
- (WebKit::NPJSObject::create):
- (WebKit::NPJSObject::NPJSObject):
- (WebKit::NPJSObject::~NPJSObject):
- (WebKit::NPJSObject::isNPJSObject):
- (WebKit::NPJSObject::initialize):
- (WebKit::identifierFromIdentifierRep):
- (WebKit::NPJSObject::hasProperty):
- (WebKit::NPJSObject::getProperty):
- (WebKit::NPJSObject::npClass):
- (WebKit::NPJSObject::NP_Allocate):
- (WebKit::NPJSObject::NP_Deallocate):
- (WebKit::NPJSObject::NP_HasProperty):
- (WebKit::NPJSObject::NP_GetProperty):
- * WebProcess/Plugins/NPJSObject.h: Added.
- (WebKit::NPJSObject::jsObject):
- (WebKit::NPJSObject::toNPJSObject):
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::npJSObjectDestroyed):
- (WebKit::NPRuntimeObjectMap::globalExec):
- * WebProcess/Plugins/NPRuntimeObjectMap.h:
- * win/WebKit2.vcproj:
-
-2010-07-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Rename NPJSObjectMap to NPRuntimeObjectMap
- https://bugs.webkit.org/show_bug.cgi?id=43066
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Plugins/NPJSObjectMap.cpp: Removed.
- * WebProcess/Plugins/NPJSObjectMap.h: Removed.
- * WebProcess/Plugins/NPRuntimeObjectMap.cpp: Added.
- (WebKit::NPJSObject::NPJSObject):
- (WebKit::NPJSObject::~NPJSObject):
- (WebKit::NPJSObject::toNPJSObject):
- (WebKit::NPJSObject::create):
- (WebKit::NPJSObject::isNPJSObject):
- (WebKit::NPJSObject::initialize):
- (WebKit::identifierFromIdentifierRep):
- (WebKit::NPJSObject::hasProperty):
- (WebKit::NPJSObject::getProperty):
- (WebKit::NPJSObject::npClass):
- (WebKit::NPJSObject::NP_Allocate):
- (WebKit::NPJSObject::NP_Deallocate):
- (WebKit::NPJSObject::NP_HasProperty):
- (WebKit::NPJSObject::NP_GetProperty):
- (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
- (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
- (WebKit::NPRuntimeObjectMap::invalidate):
- * WebProcess/Plugins/NPRuntimeObjectMap.h: Added.
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::PluginView):
- (WebKit::PluginView::~PluginView):
- (WebKit::PluginView::windowScriptNPObject):
- (WebKit::PluginView::pluginElementNPObject):
- * WebProcess/Plugins/PluginView.h:
- * win/WebKit2.vcproj:
-
-2010-07-27 Adam Roben <aroben@apple.com>
-
- Make preferences APIs robust against web process crashes
-
- Fixes <http://webkit.org/b/43049> Crash in
- WebPageNamespace::preferencesDidChange if preferences are changed
- after the web process crashes
-
- Reviewed by Anders Carlsson.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::preferencesDidChange): Bail out if we don't have
- a web process. The new preference values will get propogated to the
- web process if and when it launches.
-
-2010-07-27 Adam Roben <aroben@apple.com>
-
- Add a ProcessDidExit callback to the WKPageLoaderClient
-
- Fixes <http://webkit.org/b/43048> UI process needs a way to find out
- when the web process crashes
-
- Reviewed by Anders Carlsson.
-
- * UIProcess/API/C/WKPage.h: Added WKPageProcessDidExitCallback, and a
- processDidExit member of that type to WKPageLoaderClient.
-
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::processDidExit): Added. Calls through to the
- WKPageLoaderClient.
-
- * UIProcess/WebLoaderClient.h: Added processDidExit.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::processDidExit): Tell the loader client the
- process exited.
-
-2010-07-27 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] WebEventFactory::createWebMouseEvent should follow WebKit2 API changes
- https://bugs.webkit.org/show_bug.cgi?id=43042
-
- * Shared/qt/WebEventFactoryQt.cpp:
- (WebKit::WebEventFactory::createWebMouseEvent):
- Set deltaX, deltaY and deltaZ arguments.
-
-2010-07-27 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] WebKit::PageClient implementation needs a dedicated class
-
- https://bugs.webkit.org/show_bug.cgi?id=42974
-
- * UIProcess/API/qt/qwkpage.cpp:
- (PageClientImpl::PageClientImpl): Added.
- (PageClientImpl::pageDidEnterAcceleratedCompositing): Moved from QWKPagePrivate.
- (PageClientImpl::pageDidLeaveAcceleratedCompositing): Ditto.
- (PageClientImpl::processDidExit): Ditto.
- (PageClientImpl::processDidRevive): Ditto.
- (PageClientImpl::setCursor): Ditto.
- (PageClientImpl::takeFocus): Ditto.
- (PageClientImpl::toolTipChanged): Ditto.
- (QWKPagePrivate::QWKPagePrivate): Set a new instance of the PageClientImpl as PageClient rather than 'this'.
- * UIProcess/API/qt/qwkpage_p.h: Removed PageClient implementation methods from QWKPagePrivate.
-
-2010-07-26 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKitTestRunner needs to support layoutTestController.counterValueForElementById
- https://bugs.webkit.org/show_bug.cgi?id=42537
-
- WebKitTestRunner needs layoutTestController.markerTextForListItem
- https://bugs.webkit.org/show_bug.cgi?id=42549
-
- * UIProcess/API/C/WKString.cpp:
- (WKStringIsEmpty): Added.
- * UIProcess/API/C/WKString.h: Added WKStringIsEmpty.
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (copiedString): Added. Helper for functions that return a
- WKStringRef that follows the copy rule.
- (WKBundleFrameCopyName): Use copiedString.
- (WKBundleFrameCopyCounterValue): Added. Calls counterValue.
- (WKBundleFrameCopyMarkerText): Added. Calls markerText.
- * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
- Added WKBundleFrameCopyCounterValue and WKBundleFrameCopyMarkerText.
-
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::computedStyleIncludingVisitedInfo):
- Renamed argument to streamline function a bit.
- (WebKit::WebFrame::counterValue): Added.
- (WebKit::WebFrame::markerText): Added.
- * WebProcess/WebPage/WebFrame.h: Added counterValue and markerText.
-
-2010-07-26 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Part 2 of https://bugs.webkit.org/show_bug.cgi?id=43013
- <rdar://problem/8152434>
- Add support for scrolling using the keyboard in WebKit2
-
- Add support for scrolling with the space bar and ensure that we don't scroll
- if WebCore is handling the event in another way.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::keyEvent):
- (WebKit::getScrollMapping):
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
- * WebProcess/WebPage/WebPage.h:
-
-2010-07-26 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=43013
- Part of <rdar://problem/8152434>
- Add support for scrolling using the keyboard in WebKit2
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::getScrollMapping):
- (WebKit::WebPage::keyEvent):
- Scroll the page in response to keyDown.
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/mac/WebPageMac.mm:
- Use WindowsKeyboardCodes.h instead of redefining the constants.
-
-2010-07-26 Ada Chan <adachan@apple.com>
-
- Fix Windows build.
-
- * win/WebKit2Generated.make:
-
-2010-07-26 Anders Carlsson <andersca@apple.com>
-
- Fix Windows build.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
- (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
-
-2010-07-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Handle mouseenter/mouseleave + focus events
- https://bugs.webkit.org/show_bug.cgi?id=42997
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::handleMouseEnterEvent):
- Call platformHandleMouseEnterEvent.
-
- (WebKit::NetscapePlugin::handleMouseLeaveEvent):
- Call platformHandleMouseExitEvent.
-
- (WebKit::NetscapePlugin::setFocus):
- Call platformSetFocus.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::fillInCocoaEventFromMouseEvent):
- Factor out code that fills in an NPCocoaEvent from a WebMouseEvent.
-
- (WebKit::initializeMouseEvent):
- Call fillInCocoaEventFromMouseEvent.
-
- (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
- Send an NPCocoaEventMouseEntered event.
-
- (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
- Send an NPCocoaEventMouseExited event.
-
- (WebKit::NetscapePlugin::platformSetFocus):
- Send an NPCocoaEventFocusChanged.
-
- * WebProcess/Plugins/Plugin.h:
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::handleEvent):
- Dispatch mouse enter and mouse leave events. Call focusPluginElement on mousedown.
-
- (WebKit::PluginView::focusPluginElement):
- Focus the plug-in's containing frame and its element.
-
- (WebKit::PluginView::setFocus):
- Call Plugin::setFocus.
-
-2010-07-26 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add ability for WK2 to register a scheme to always be displayed as an empty document
- https://bugs.webkit.org/show_bug.cgi?id=42995
-
- * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
- (WebProcessMessage::):
-
- * UIProcess/API/C/WKContext.cpp:
- (_WKContextRegisterURLSchemeAsEmptyDocument):
- * UIProcess/API/C/WKContextPrivate.h:
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
- * UIProcess/WebContext.h:
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::registerURLSchemeAsEmptyDocument):
- (WebKit::WebProcess::didReceiveMessage):
- * WebProcess/WebProcess.h:
-
-2010-07-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Get rid of the dummy plug-in.
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Plugins/DummyPlugin.cpp: Removed.
- * WebProcess/Plugins/DummyPlugin.h: Removed.
- * win/WebKit2.vcproj:
-
-2010-07-26 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Move some non-APIish functions into private headers.
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundle.h:
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Copied from WebProcess/InjectedBundle/API/c/WKBundleFrame.h.
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Copied from WebProcess/InjectedBundle/API/c/WKBundle.h.
- * win/WebKit2.vcproj:
-
-2010-07-26 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=42986
- Add prompt and confirm client functions to WebKit2
-
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- (WebPageProxyMessage::):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveSyncMessage):
- (WebKit::WebPageProxy::runJavaScriptAlert):
- (WebKit::WebPageProxy::runJavaScriptConfirm):
- (WebKit::WebPageProxy::runJavaScriptPrompt):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::runJavaScriptAlert):
- (WebKit::WebUIClient::runJavaScriptConfirm):
- (WebKit::WebUIClient::runJavaScriptPrompt):
- * UIProcess/WebUIClient.h:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::runJavaScriptConfirm):
- (WebKit::WebChromeClient::runJavaScriptPrompt):
-
-2010-07-26 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * win/WebKit2.vcproj:
- * win/WebKit2WebProcess.vcproj:
- Removed empty attributes so the values will be picked up from the
- vsprops files. (Also removed a couple of attributes that accidentally
- duplicated values from the vsprops files.)
+ (WebKit::NPN_GetValueForURL):
+ (WebKit::NPN_SetValueForURL):
-2010-07-26 Simon Fraser <simon.fraser@apple.com>
+2011-02-19 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
- Composited layers don't scroll in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42771
-
- In WebKit2, do the compositing layer geometry flipping on the drawing area's main
- backing layer. This both avoids us having to flip the layer contents, and also avoids issues
- with the positioning of the root platform layer, which we want top-left. Doing the flipping
- lower down would require that the root platform layer know where the scrollbar is.
+ Add phase in addition to momentumPhase to platform wheel events
+ Part of <rdar://problem/8945362>
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
-
-2010-07-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Deliver mouse and wheel events to plug-ins
- https://bugs.webkit.org/show_bug.cgi?id=42988
+ Rename existing phase to momentumPhase.
* Shared/WebEvent.h:
- (WebKit::WebMouseEvent::WebMouseEvent):
- (WebKit::WebMouseEvent::deltaX):
- (WebKit::WebMouseEvent::deltaY):
- (WebKit::WebMouseEvent::deltaZ):
+ (WebKit::WebWheelEvent::momentumPhase):
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
+ * Shared/WebWheelEvent.cpp:
+ (WebKit::WebWheelEvent::WebWheelEvent):
+ (WebKit::WebWheelEvent::encode):
+ (WebKit::WebWheelEvent::decode):
* Shared/mac/WebEventFactory.mm:
- (WebKit::WebEventFactory::createWebMouseEvent):
- Add deltaX, deltaY and deltaZ member variables to WebMosueEvent.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Rename NetscapePluginMac.cpp to NetscapePluginMac.mm.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NPP_HandleEvent):
- Add NPP_ wrapper.
-
- (WebKit::NetscapePlugin::handleMouseEvent):
- (WebKit::NetscapePlugin::handleWheelEvent):
- Call the platform variants.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Added.
- (WebKit::modifierFlags):
- (WebKit::buttonNumber):
- (WebKit::initializeMouseEvent):
- (WebKit::NetscapePlugin::platformHandleMouseEvent):
- Create an NPCocoaEvent and send it to the plug-in.
-
- (WebKit::NetscapePlugin::platformHandleWheelEvent):
- Ditto.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::handleEvent):
- Get the current WebEvent and send it to the plug-in if necessary.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::currentEvent):
- (WebKit::CurrentEvent::CurrentEvent):
- (WebKit::CurrentEvent::~CurrentEvent):
- (WebKit::WebPage::mouseEvent):
- (WebKit::WebPage::wheelEvent):
- (WebKit::WebPage::keyEvent):
- * WebProcess/WebPage/WebPage.h:
- Add RAII object for keeping track of the current event.
-
-2010-07-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Clean up event handling functions
- https://bugs.webkit.org/show_bug.cgi?id=42977
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::mouseEvent):
- (WebKit::WebPage::wheelEvent):
- (WebKit::WebPage::keyEvent):
- (WebKit::WebPage::didReceiveMessage):
- * WebProcess/WebPage/WebPage.h:
-
-2010-07-25 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- WebKitTestRunner needs to support layoutTestController.keepWebHistory
- https://bugs.webkit.org/show_bug.cgi?id=42323
-
- Added WKBundleSetShouldTrackVisitedLinks, WKBundleRemoveAllVisitedLinks,
- and WKBundleFrameGetComputedStyleIncludingVisitedInfo.
-
- Also fixed misspellings of the word "receive".
-
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleSetShouldTrackVisitedLinks): Added.
- (WKBundleRemoveAllVisitedLinks): Added.
- * WebProcess/InjectedBundle/API/c/WKBundle.h: Added functions and
- fixed mispellings of receive.
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameGetJavaScriptContext): Moved the code from here into WebFrame,
- to be consistent with the rest of the functions in this file.
- (WKBundleFrameGetComputedStyleIncludingVisitedInfo): Added.
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Added
- WKBundleFrameGetComputedStyleIncludingVisitedInfo and tried to rearrange the
- file to be more logically ordered and grouped.
-
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::setShouldTrackVisitedLinks): Added.
- (WebKit::InjectedBundle::removeAllVisitedLinks): Added.
- (WebKit::InjectedBundle::didReceiveMessage): Fixed mispellings of receive.
- * WebProcess/InjectedBundle/InjectedBundle.h: Ditto.
-
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::jsContext): Added. Contains the code that used to be in
- WKBundleFrameGetJavaScriptContext.
- (WebKit::WebFrame::computedStyleIncludingVisitedInfo): Added.
- * WebProcess/WebPage/WebFrame.h: Ditto.
-
- * UIProcess/API/C/WKContext.h: Fixed misspellings of receive.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::didReceiveMessageFromInjectedBundle): Ditto.
- * UIProcess/WebContext.h: Ditto.
- * UIProcess/WebContextInjectedBundleClient.cpp:
- (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle): Ditto.
- * UIProcess/WebContextInjectedBundleClient.h: Ditto.
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::forwardMessageToWebContext): Ditto.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::forwardMessageToInjectedBundle): Ditto.
-
-2010-07-25 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=42193
- Support layoutTestController.dumpEditingDelegates in WebKitTestRunner
-
- Step 2 - add the rest of editing delegates.
-
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
- Added enums for EditorInsertAction and EAffinity. Also added a dummy type for
- CSSStyleDeclaration - neither DumpRenderTree not WebKitTestRunner actually use that.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
- (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing):
- (WebKit::InjectedBundlePageEditorClient::shouldEndEditing):
- (WebKit::InjectedBundlePageEditorClient::shouldInsertNode):
- (WebKit::InjectedBundlePageEditorClient::shouldInsertText):
- (WebKit::InjectedBundlePageEditorClient::shouldDeleteRange):
- (WebKit::InjectedBundlePageEditorClient::shouldChangeSelectedRange):
- (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle):
- (WebKit::InjectedBundlePageEditorClient::didBeginEditing):
- (WebKit::InjectedBundlePageEditorClient::didEndEditing):
- (WebKit::InjectedBundlePageEditorClient::didChange):
- (WebKit::InjectedBundlePageEditorClient::didChangeSelection):
- * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::shouldDeleteRange):
- (WebKit::WebEditorClient::shouldEndEditing):
- (WebKit::WebEditorClient::shouldInsertNode):
- (WebKit::WebEditorClient::shouldInsertText):
- (WebKit::WebEditorClient::shouldChangeSelectedRange):
- (WebKit::WebEditorClient::shouldApplyStyle):
- (WebKit::WebEditorClient::didBeginEditing):
- (WebKit::WebEditorClient::respondToChangedContents):
- (WebKit::WebEditorClient::respondToChangedSelection):
- (WebKit::WebEditorClient::didEndEditing):
- Added remaining delagates that are needed for WebKitTestRunner.
-
-2010-07-19 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Setup the QtWebProcess
-
- https://bugs.webkit.org/show_bug.cgi?id=42623
-
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- Remove the framework entry point from here to WebProcess/qt/WebProcessMainQt.cpp to match with with the mac and the win port.
- * WebKit2.pro: Added.
- * WebProcess/qt/WebProcessMainQt.cpp: Added.
- (WebKit::WebProcessMainQt): Framework entry point for Qt.
- * qt/MainQt.cpp: Added.
- (main):
-
-2010-07-22 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Eliminate unneeded WKBundleFrameCopyInnerText function from WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42847
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Removed WKBundleFrameCopyInnerText.
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Ditto.
- * WebProcess/WebPage/WebFrame.cpp: Removed innerText.
- * WebProcess/WebPage/WebFrame.h: Ditto.
-
-2010-07-22 Alexey Proskuryakov <ap@apple.com>
-
- More Windows build fixing.
-
- * win/WebKit2Generated.make: Copy the new public headers to $(WEBKITOUTPUTDIR)\include\WebKit2.
-
-2010-07-22 Alexey Proskuryakov <ap@apple.com>
-
- Windows build fix.
-
- * win/WebKit2.vcproj: Added new files.
-
-2010-07-22 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Sam Weinig and Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=42193
- Support layoutTestController.dumpEditingDelegates in WebKitTestRunner
-
- Step 1: Add the method, and implement one actual delegate call as proof of concept. No tests
- fixed, but this makes difference one line smaller on many editing tests.
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
- * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
- * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp: Added.
- (WKBundleNodeCopyNodeName):
- (WKBundleNodeGetParent):
- * WebProcess/InjectedBundle/API/c/WKBundleNode.h: Added.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageSetEditorClient):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/API/c/WKBundleRange.cpp: Added.
- (WKBundleRangeGetStartOffset):
- (WKBundleRangeGetStartContainer):
- (WKBundleRangeGetEndOffset):
- (WKBundleRangeGetEndContainer):
- * WebProcess/InjectedBundle/API/c/WKBundleRange.h: Added.
- Added WKBundleRangeRef and WKBundleNodeRef types for injected bundles. These are just pointers
- to respective WebCore objects, without any WebKit2 wrappers.
-
- * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: Added.
- (WebKit::InjectedBundlePageEditorClient::InjectedBundlePageEditorClient):
- (WebKit::InjectedBundlePageEditorClient::initialize):
- (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing):
- * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: Added.
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::shouldBeginEditing):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::initializeInjectedBundleEditorClient):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::injectedBundleEditorClient):
- Added the plumbing for invoking injected bundle code for editor client. There is no real API
- for editor client yet.
-
-2010-07-22 Ivan Krstić <ike@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Adapt sandbox for new WebProcess bootstrap service naming scheme.
- <rdar://problem/8225000>
-
- * WebProcess/com.apple.WebProcess.sb:
-
-2010-07-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- It should be possible to attach to the WebProcess in gdb during startup
- https://bugs.webkit.org/show_bug.cgi?id=42853
-
- Create an unique bootstrap service name and pass it to the web process, instead of registering a per process
- name (which was incorrect anyway). This lets us get rid of the requirement that the UI process always should be
- the parent process of the web process, something which is false when running under the debugger.
-
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess):
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain):
-
-2010-07-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Don't assert when Connection::invalidate is called before Connection::dispatchConnectionDidClose
- https://bugs.webkit.org/show_bug.cgi?id=42851
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::dispatchConnectionDidClose):
- Just return early if m_client is 0.
-
-2010-07-22 Adam Roben <aroben@apple.com>
-
- Use ::MessageBox instead of ::DebugBreak to make the web process wait
- for a debugger
-
- While ::DebugBreak can make it easier to attach a debugger (because it
- brings up the Just-in-Time debugger window), using ::MessageBox has
- two advantages:
- 1) It explains to the user what's going on, so it's harder to
- mistake this debugging aid for a bug.
- 2) It allows you to debug the UI process and the web process using
- the same debugger, if desired.
-
- Special thanks to John Sullivan for help with the text that's shown in
- the alert.
-
- Fixes <http://webkit.org/b/42848> WebKit2's wait-for-debugger
- debugging aid should explain to the user what's happening
-
- Reviewed by John Sullivan and Anders Carlsson.
-
- * WebProcess/WebKitMain.cpp:
- (WebKitMain): Use a ::MessageBox instead of a ::DebugBreak to wait for
- the debugger. The alert explains to the user what's going on.
-
-2010-07-22 Adam Roben <aroben@apple.com>
-
- Make WorkQueue aware of potential errors with ::WaitForMultipleObjects
-
- Fixes <http://webkit.org/b/42846> WorkQueue should detect
- ::WaitForMultipleObject failures
-
- Reviewed by Anders Carlsson.
-
- * Platform/win/WorkQueueWin.cpp:
- (WorkQueue::workQueueThreadBody): Added some assertions about the
- various things that can fail with ::WaitForMultipleObjects,
- specifically:
- - Passing too many objects
- - Timeouts (which shouldn't happen since we pass a timeout interval
- of INFINITE)
- - Abandoned mutexes (which shouldn't happen since we don't wait on
- any mutexes currently)
- - Miscellaneous failures
-
-2010-07-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=42836
- Add localized strings stubs for WebKit2.
-
- Gets us below 200 tests failing in WebKitTestRunner.
-
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
-
-2010-07-22 Andras Becsi <abecsi@webkit.org>
-
- Unreviewed trivial build fix.
-
- [Qt] Mend remaining issues to fix the WebKit2 build.
-
- * Shared/qt/UpdateChunk.h: add missing function
- (WebKit::UpdateChunk::isEmpty):
- * UIProcess/API/qt/qwkpage_p.h: Add stub implementation
- (QWKPagePrivate::pageDidEnterAcceleratedCompositing):
- (QWKPagePrivate::pageDidLeaveAcceleratedCompositing):
-
-2010-07-22 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Implement WebContext::applicationCacheDirectory() for the Qt port of WebKit2.
- https://bugs.webkit.org/show_bug.cgi?id=42830
-
- * UIProcess/qt/WebContextQt.cpp: Added.
- (WebKit::WebContext::applicationCacheDirectory):
-
-2010-07-22 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Unreviewed build fix.
-
- [Qt] Fix WebKit2 build
-
- https://bugs.webkit.org/show_bug.cgi?id=42638
-
- * UIProcess/API/qt/qwkpage_p.h:
- (QWKPagePrivate::setCursor): Added empty implementation.
-
-2010-07-22 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Antonio Gomes.
-
- Lazy cursor creation should be guarded by #if USE(LAZY_NATIVE_CURSOR) in WebKit2
-
- https://bugs.webkit.org/show_bug.cgi?id=42622
-
- * Shared/WebCoreArgumentCoders.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::setCursor):
-
-2010-07-22 Jon Honeycutt <jhoneycutt@apple.com>
-
- Build fix. Unreviewed.
-
- * win/WebKit2WebProcess.vcproj:
- Remove the pre- and post-build events, so that they will use the value
- inherited from the vsprops.
-
-2010-07-21 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKitTestRunner needs layoutTestController.dumpChildFrameScrollPositions
- https://bugs.webkit.org/show_bug.cgi?id=42548
-
- Added WKBundleFrameCopyName.
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameCopyName): Added.
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Ditto.
-
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::name): Added.
- * WebProcess/WebPage/WebFrame.h: Ditto.
-
-2010-07-21 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKitTestRunner needs to support dumping of scroll position
- https://bugs.webkit.org/show_bug.cgi?id=42514
-
- Added WKBundleFrameGetJavaScriptContext function.
-
- * WebKit2.xcodeproj: Added property svn:ignore.
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameGetJavaScriptContext): Added.
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Ditto.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
- Use JSGlobalContextRef instead of JSContextRef and context instead of ct.
-
-2010-07-21 Adam Roben <aroben@apple.com>
-
- Handle broken pipes in more places in CoreIPC
-
- Fixes <http://webkit.org/b/42784> Assertion failure in
- Connection::readEventHandler when WebKitTestRunner exits
-
- Reviewed by Anders Carlsson.
-
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- (CoreIPC::Connection::readEventHandler): Check for a broken pipe
- whenever we call ::PeekNamedPipe.
-
-2010-07-21 Adam Roben <aroben@apple.com>
-
- Teach CoreIPC how to handle messages that are larger than the pipe's
- buffer
-
- ::GetOverlappedResult and ::ReadFile can fail with ERROR_MORE_DATA
- when there is more data available on the pipe than was requested in
- the read operation. In those cases, the appropriate response is to
- perform another read operation to read the extra data. We now do this.
-
- Also, MSDN says that, because we are doing asynchronous read
- operations, we should not pass a pointer to ::ReadFile to find out how
- many bytes were read. Instead we should always call
- ::GetOverlappedResult to find this out. I've changed
- Connection::readEventHandler to have a single loop that calls
- ::GetOverlappedResult and ::ReadFile in alternation, rather than
- sometimes calling ::ReadFile multiple times in a row, to satisfy this
- requirement.
-
- In order to simplify the logic in this function, I've made us request
- only a single byte from the pipe when there are no messages already in
- the pipe. (Previously we were requesting 4096 bytes in this case.)
- This allows us not to have to consider the case where the received
- message is smaller than our read buffer. If we decide that this has a
- negative impact on performance, we can of course change it. I've
- mitigated this somewhat by using ::PeekNamedMessage to find out the
- size of the next message in the pipe (if any), so that we can read it
- all in one read operation.
-
- Fixes <http://webkit.org/b/42710> <rdar://problem/8197571> Assertion
- in Connection::readEventHandler when launching WebKitTestRunner
-
- Reviewed by Anders Carlsson.
-
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- (CoreIPC::Connection::readEventHandler): Put the call to
- ::GetOverlappedResult in the same loop as ::ReadFile so that we will
- call them alternately. If ::GetOverlappedResult fails with
- ERROR_MORE_DATA, use ::PeekNamedPipe to determine the size of the rest
- of the message, then read it from the pipe. After dispatching the
- message, use ::PeekNamedPipe to find out the size of the next message
- in the pipe so we can read it all in one operation. If there's no
- message in the pipe, we'll request just a single byte of the next
- message that becomes available, and Windows will tell us when the rest
- of the message is ready. If ::ReadFile fails with ERROR_MORE_DATA it
- means there is data available now even though we didn't think there
- was any. We go back to the top of the loop in this case and call
- ::GetOverlappedResult again to retrieve the available data.
-
-2010-07-21 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=42539
- WebKitTestRunner needs to support printing ALERT, PROMPT and CONFIRM messages
-
- - Convert injected bundle UIClient functions to will-style, at least until we establish
- more concrete use cases for them past the TestRunner.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
- (WebKit::InjectedBundlePageUIClient::willAddMessageToConsole):
- (WebKit::InjectedBundlePageUIClient::willSetStatusbarText):
- (WebKit::InjectedBundlePageUIClient::willRunJavaScriptAlert):
- (WebKit::InjectedBundlePageUIClient::willRunJavaScriptConfirm):
- (WebKit::InjectedBundlePageUIClient::willRunJavaScriptPrompt):
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::addMessageToConsole):
- (WebKit::WebChromeClient::runJavaScriptAlert):
- (WebKit::WebChromeClient::runJavaScriptConfirm):
- (WebKit::WebChromeClient::runJavaScriptPrompt):
- (WebKit::WebChromeClient::setStatusbarText):
-
-2010-07-21 Simon Fraser <simon.fraser@apple.com>
-
- Windows build fix.
-
- Need to supply implementations of PageClient::pageDidEnterAcceleratedCompositing()
- and pageDidLeaveAcceleratedCompositing() for WebView on Windows.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::pageDidEnterAcceleratedCompositing):
- (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
- * UIProcess/win/WebView.h:
-
-2010-07-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Don't assert when clicking on a plug-in in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42762
-
- Add stub for PluginView::handleEvent.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::handleEvent):
- * WebProcess/Plugins/PluginView.h:
-
-2010-07-21 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Get accelerated compositing working with webkit2
- https://bugs.webkit.org/show_bug.cgi?id=41084
-
- Hook up dynamic DrawingArea switching, so that when the WebProcess hits a page
- that requires accelerated compositing, we switch to the LayerBackedDrawingArea.
-
- * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
- (DrawingAreaProxyMessage::):
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- (WebPageProxyMessage::):
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::pageDidEnterAcceleratedCompositing):
- (WebKit::PageClientImpl::pageDidLeaveAcceleratedCompositing):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _startAcceleratedCompositing:]):
- (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaProxy::]):
- (-[WKView _pageDidEnterAcceleratedCompositing]):
- (-[WKView _pageDidLeaveAcceleratedCompositing]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveSyncMessage):
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
- * UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::):
- (WebKit::DrawingAreaProxy::type):
- * UIProcess/LayerBackedDrawingAreaProxy.cpp:
- (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
- (WebKit::LayerBackedDrawingAreaProxy::didReceiveMessage):
- (WebKit::LayerBackedDrawingAreaProxy::didReceiveSyncMessage):
- * UIProcess/LayerBackedDrawingAreaProxy.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setDrawingArea):
- (WebKit::WebPageProxy::didReceiveSyncMessage):
- (WebKit::WebPageProxy::didEnterAcceleratedCompositing):
- (WebKit::WebPageProxy::didLeaveAcceleratedCompositing):
- * UIProcess/WebPageProxy.h:
- * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
- (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::attachRootGraphicsLayer):
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
- (WebKit::ChunkedUpdateDrawingArea::attachCompositingContext):
- (WebKit::ChunkedUpdateDrawingArea::setRootCompositingLayer):
- * WebProcess/WebPage/DrawingArea.cpp:
- (WebKit::DrawingArea::create):
- * WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::):
- (WebKit::DrawingArea::type):
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
- (WebKit::LayerBackedDrawingArea::setNeedsDisplay):
- (WebKit::LayerBackedDrawingArea::setSize):
- (WebKit::LayerBackedDrawingArea::didUpdate):
- (WebKit::LayerBackedDrawingArea::setRootCompositingLayer):
- * WebProcess/WebPage/LayerBackedDrawingArea.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::changeAcceleratedCompositingMode):
- (WebKit::WebPage::enterAcceleratedCompositingMode):
- (WebKit::WebPage::exitAcceleratedCompositingMode):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- (WebKit::LayerBackedDrawingArea::platformInit):
- (WebKit::LayerBackedDrawingArea::attachCompositingContext):
- (WebKit::LayerBackedDrawingArea::detachCompositingContext):
- (WebKit::LayerBackedDrawingArea::setRootCompositingLayer):
-
-2010-07-20 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- WebKit on Windows should build optionally with an unversioned ICU DLL
- https://bugs.webkit.org/show_bug.cgi?id=42722
- <rdar://problem/8211767> WebKit needs to link against unversioned ICU
-
- To get the proper value for U_DISABLE_RENAMING into all source files, we force
- the include of ICUVersion.h (our generated header) via the compiler options.
-
- Since the versioned and unversioned ICU have different filenames (libicuuc.lib vs icuuc.lib)
- we copy the ICU lib to an intermediate location under obj with a common name. This
- allows us to link properly with either without adding a new build configuration.
-
- * win/WebKit2Common.vsprops:
- Copy ICU libs into a common location with a common name.
- Add additional library search path to pick up icu lib.
- Change ICU library filename specified to linker.
- Add forced include of ICUVersion.h.
-
-2010-07-21 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * Shared/win/UpdateChunk.h:
- (WebKit::UpdateChunk::isEmpty): Added to match the Mac definition.
-
-2010-07-21 Anders Carlsson <andersca@apple.com>
-
- Land file I forgot to add.
-
- * WebProcess/com.apple.WebProcess.sb: Added.
-
-2010-07-21 Adam Roben <aroben@apple.com>
-
- Move WebKit2WebProcess's settings to a vsprops file
-
- Fixes <http://webkit.org/b/42751> WebKit2WebProcess should use vsprops
- files
-
- Reviewed by Darin Adler.
-
- * win/WebKit2WebProcess.vcproj: Moved settings from here...
- * win/WebKit2WebProcessCommon.vsprops: ...to here.
-
-2010-07-20 Ivan Krstić <ike@apple.com>
-
- Reviewed and tweaked by Anders Carlsson and Sam Weinig.
-
- Put WebProcess in a sandbox. All of the following changes are
- Mac-only.
- <rdar://problem/7865269>
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::WebProcessProxy):
- Send Sandbox extension for injected bundle to WebProcess.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add Sandbox profile to Resources for WebProcess.
-
- * WebProcess/InjectedBundle/InjectedBundle.h:
- New function InjectedBundle::setSandboxToken.
-
- * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
- (WebKit::InjectedBundle::load):
- Consume Sandbox token for the bundle if present.
-
- (WebKit::InjectedBundle::setSandboxToken):
- Set Sandbox token for the bundle.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::loadInjectedBundle):
- Extra function parameter for Sandbox token.
-
- (WebKit::WebProcess::didReceiveMessage):
- Pass Sandbox token to loadInjectedBundle().
-
- * WebProcess/WebProcess.h:
- Extra function parameter for Sandbox token in loadInjectedBundle().
-
- * WebProcess/com.apple.WebProcess.sb: Added.
- Sandbox profile for WebProcess.
-
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain):
- Initialize Sandbox, exit on failure.
-
-2010-07-20 Sam Weinig <sam@webkit.org>
-
- Reviewed by Brady Eidson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=42719
- Make Acid2 pass in WebKit2
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::objectContentType): Check for supported image mimetypes
- before falling back to plugins.
-
-2010-07-20 Adam Roben <aroben@apple.com>
-
- Remove WebKit2.sln
-
- WebKit.sln builds all the same projects.
-
- Rubber-stamped in advance by Steve Falkenburg.
-
- * WebKit2.sln: Removed.
-
-2010-07-20 Adam Roben <aroben@apple.com>
-
- Make the web process break into the debugger when Ctrl-Alt-Shift is
- held during launch
-
- Fixes <http://webkit.org/b/42670> Would like a way to break into the
- debugger when the web process launches
-
- Reviewed by Anders Carlsson.
-
- * WebProcess/WebKitMain.cpp:
- (WebKitMain): If the Control, Alt, and Shift keys are held down in a
- Debug build, call DebugBreak() so that we will break into the
- debugger.
-
-2010-07-20 Adam Roben <aroben@apple.com>
-
- Teach Connection how to handle a slow receiver
-
- Fixes <http://webkit.org/b/42667> Assertion in
- Connection::sendOutgoingMessage when browser or web process is paused
-
- Reviewed by Anders Carlsson.
-
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- (CoreIPC::Connection::sendOutgoingMessage): If WriteFile returns FALSE
- and the last error is ERROR_IO_PENDING, Windows will write the data as
- soon as the current write operation is completed. We don't need to do
- anything special in this case, so there's no need to assert about it.
-
-2010-07-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Handle WKView visibility changes
- <rdar://problem/7891077>
-
- * Shared/mac/UpdateChunk.h:
- (WebKit::UpdateChunk::isEmpty):
- Add convenience getter.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView viewDidMoveToWindow]):
- Reorder the calls to _updateActiveState and _updateVisibility based on whether the view is moved to
- a window or away from a window.
-
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
- Initialize m_forceRepaintWhenResumingPainting to false.
-
- (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
- Pass the m_forceRepaintWhenResumingPainting along to the DrawingAreaMessage::ResumePainting message.
-
- (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
- Don't try to paint empty update chunks.
-
- (WebKit::ChunkedUpdateDrawingAreaProxy::update):
- Don't paint the update chunk if we're not visible. Instead, make sure that the entire page is being redrawn
- when its shown again.
-
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
- (WebKit::ChunkedUpdateDrawingArea::display):
- (WebKit::ChunkedUpdateDrawingArea::suspendPainting):
- Rename m_shouldPaint to m_isPaintingSuspended and invert its logic.
-
- (WebKit::ChunkedUpdateDrawingArea::scheduleDisplay):
- Don't schedule a display timer if the dirty rect is empty.
-
- (WebKit::ChunkedUpdateDrawingArea::setSize):
- If painting is suspended, just send back an empty update chunk in the DidSetSize message.
-
- (WebKit::ChunkedUpdateDrawingArea::resumePainting):
- If forceRepaint is true, repaint the entire drawing area.
+ (WebKit::phaseForEvent):
+ (WebKit::momentumPhaseForEvent):
+ (WebKit::WebEventFactory::createWebWheelEvent):
-2010-07-20 Anders Carlsson <andersca@apple.com>
+2011-02-19 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
- Implement NPN_GetURL and NPN_PostURL
- https://bugs.webkit.org/show_bug.cgi?id=42650
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::parsePostBuffer):
- Add a FIXME about deleting the file.
-
- (WebKit::makeURLString):
- Move this static method before NPN_GetURL.
-
- (WebKit::NPN_GetURL):
- Call NetscapePLugin::LoadURL.
-
- (WebKit::NPN_PostURL):
- Ditto.
-
- (WebKit::NPN_PostURLNotify):
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- Remove unreached code.
-
- (WebKit::NetscapePluginStream::deliverDataToPlugin):
- Stop the stream if the plug-in returns -1 from NPP_Write.
-
-2010-07-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKitTestRunner and WebProcess simultaneously stall in CoreIPC::Connection::sendOutgoingMessage
- https://bugs.webkit.org/show_bug.cgi?id=42356
-
- Up the port queue length from 5 to 1024. While this does solve the problem, we should still try to
- make sendOutgoingMessage not block. I've filed https://bugs.webkit.org/show_bug.cgi?id=42611 to track
- doing this on Mac and Windows.
-
- * Platform/CoreIPC/mac/ConnectionMac.cpp:
- (CoreIPC::Connection::open):
- Call setMachPortQueueLength.
-
- * Platform/mac/MachUtilities.cpp: Added.
- (setMachPortQueueLength):
- Given a mach port receive right, sets the port queue length.
-
- * Platform/mac/MachUtilities.h: Added.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add MachUtilities.cpp and MachUtilities.h
-
-2010-07-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler, Adam Roben, Dan Bernstein and Sam Weinig.
-
- Handle NP_ASFILE and NP_ASFILEONLY transfer modes
- https://bugs.webkit.org/show_bug.cgi?id=42587
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NPP_StreamAsFile):
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- Add NPP_ wrapper.
-
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::NetscapePluginStream):
- Initialize m_fileHandle.
-
- (WebKit::isSupportedTransferMode):
- NP_ASFILE and NP_ASFILEONLY is now supported.
-
- (WebKit::NetscapePluginStream::deliverData):
- Call deliverDataToFile if necessary.
-
- (WebKit::NetscapePluginStream::deliverDataToFile):
- Create a temporary file and write the data into it.
-
- (WebKit::NetscapePluginStream::stop):
- If the transfer mode is either NP_ASFILE or NP_ASFILEONLY, make sure to
- call NPP_StreamAsFile and close the file and delete it.
+ Crash when trying to take a snapshot of an uninitialized plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=54812
* WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::cancelStreamLoad):
- Keep a reference to the Stream since cancelling it will remove it from the map.
+ (WebKit::PluginView::notifyWidget):
+ Don't try to create a snapshot of the plug-in if it hasn't been initialized.
-2010-07-19 Anders Carlsson <andersca@apple.com>
+2011-02-18 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig.
- Implement NPN_PostURLNotify
- https://bugs.webkit.org/show_bug.cgi?id=42602
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::parsePostBuffer):
- Read the buffer from a file if necessary and parse it.
-
- (WebKit::NPN_GetURLNotify):
- Add extra arguments.
-
- (WebKit::NPN_PostURLNotify):
- Parse the post buffer, then call NetscapePlugin::loadURL.
+ Bug 54786 - Devirtualize JSCell::classInfo()
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::loadURL):
- Pass the method, the header fields and form data along.
-
- (WebKit::NetscapePlugin::allowPopups):
- Just return false for now.
-
- (WebKit::NetscapePlugin::initialize):
- Pass extra arguments to loadURL.
+ Instead of making a virtual function call, add a pointer to the ClassInfo
+ onto Structure.
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- * WebProcess/Plugins/PluginController.h:
- Add method, header fields and form data.
+ This removes a virtual function call, and paves the way towards removing all
+ the createStructure methods, and StructureFlags/AnonymousSlotCount properties
+ (these should be able to move onto ClassInfo).
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::loadURL):
- Set the method, add the header fields and set the body.
-
-2010-07-19 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
+ Calls to Structure::create must now pass a pointer to the ClassInfo for the
+ structure. All objects now have a ClassInfo pointer, non-object cell types
+ still do not.
- Add local storage support for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42584
+ Changes are most mechanical, involving three steps:
+ * Remove virtual classInfo() methods.
+ * Add &s_info parameter to calls to Structure::create.
+ * Rename ClassInfo static members on classes from 'info' to 's_info',
+ for consistency.
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::WebPreferencesStore):
- (WebKit::WebPreferencesStore::swap):
- * Shared/WebPreferencesStore.h:
- (WebKit::WebPreferencesStore::encode):
- (WebKit::WebPreferencesStore::decode):
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetLocalStorageEnabled):
- (WKPreferencesGetLocalStorageEnabled):
- * UIProcess/API/C/WKPreferences.h:
- * UIProcess/WebPreferences.cpp:
- (WebKit::WebPreferences::setLocalStorageEnabled):
- (WebKit::WebPreferences::localStorageEnabled):
- * UIProcess/WebPreferences.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::preferencesDidChange):
+ * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
+ (WebKit::JSNPMethod::JSNPMethod):
+ * WebProcess/Plugins/Netscape/JSNPMethod.h:
+ (WebKit::JSNPMethod::createStructure):
+ * WebProcess/Plugins/Netscape/JSNPObject.cpp:
+ (WebKit::JSNPObject::JSNPObject):
+ * WebProcess/Plugins/Netscape/JSNPObject.h:
+ (WebKit::JSNPObject::createStructure):
-2010-07-19 Simon Fraser <simon.fraser@apple.com>
+2011-02-19 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
- Uae an OwnPtr for the drawing area in WebPage (fixes a leak!).
+ Rename performLookupAtCurrentMouseLocation to performDictionaryLookupAtCurrentMouseLocation
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::drawingArea):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView performDictionaryLookupAtCurrentMouseLocation]):
+ * UIProcess/API/mac/WKViewPrivate.h:
-2010-07-19 Anders carlsson <andersca@apple.com>
+2011-02-19 Charlie Reis <creis@chromium.org>
- Reviewed by Adam Roben.
+ Reviewed by Mihai Parparita.
- WebKit2 does not have application cache
- https://bugs.webkit.org/show_bug.cgi?id=42552
+ Ensure loading has stopped in HistoryController::goToItem
+ https://bugs.webkit.org/show_bug.cgi?id=54517
- * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
- (WebProcessMessage::):
- Add SetApplicationCacheDirectory.
+ Add a FrameLoaderClient callback for whether to stop loading before goToItem.
- * Shared/WebPreferencesStore.h:
- (WebKit::WebPreferencesStore::encode):
- (WebKit::WebPreferencesStore::decode):
- add offlineWebApplicationCacheEnabled.
+ Test: http/tests/navigation/forward-to-fragment-fires-onload.html
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetOfflineWebApplicationCacheEnabled):
- (WKPreferencesGetOfflineWebApplicationCacheEnabled):
- * UIProcess/API/C/WKPreferences.h:
- Add getters/setters for whether the application cache is enabled.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebFrameLoaderClient::shouldStopLoadingForHistoryItem): Added.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- * UIProcess/WebContext.h:
- * UIProcess/WebPreferences.cpp:
- (WebKit::WebPreferences::setOfflineWebApplicationCacheEnabled):
- Update the store and call update().
-
- * UIProcess/WebPreferences.h:
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::WebProcessProxy):
- Ask the web process to set the application cache directory.
+2011-02-18 Sam Weinig <sam@webkit.org>
- * UIProcess/mac/WebContextMac.mm: Added.
- (WebKit::WebContext::applicationCacheDirectory):
- Return the application cache directory.
+ Reviewed by Adele Peterson.
- * UIProcess/win/WebContextWin.cpp: Added.
- (WebKit::WebContext::applicationCacheDirectory):
- Ditto.
+ Real fix for <rdar://problem/9025723> CrashTracer: [USER]
+ 1 crash in WebProcess at com.apple.WebKit2:
+ WebKit::WebPage::didChangeScrollOffsetForMainFrame + 31
- * WebKit2.xcodeproj/project.pbxproj:
- Add WebContextMac.mm
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::didChangeScrollOffset):
+ Add null check for the FrameView. This function can be called when the
+ FrameView is being torn down during a transition to a new FrameView.
* WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::preferencesDidChange):
-
- (WebKit::WebPage::didReceiveMessage):
- Handle PreferencesDidChange. Get rid of the default: case statement so we'll
- get warnings if we have unhandled message kinds.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::setApplicationCacheDirectory):
- Set the application cache directory.
-
- (WebKit::WebProcess::didReceiveMessage):
- Handle SetApplicationCacheDirectory.
-
- win/WebKit2.vcproj:
- Add WebContextWin.cpp
-
-2010-07-18 Anders Carlsson <andersca@apple.com>
-
- Another attempt at fixing the Windows build.
-
- * WebProcess/Plugins/NPJSObjectMap.h:
-
-2010-07-18 Anders Carlsson <andersca@apple.com>
-
- Try to fix Windows build.
-
- * win/WebKit2.vcproj:
-
-2010-07-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- More NPRuntime work
- https://bugs.webkit.org/show_bug.cgi?id=42526
-
- * WebProcess/Plugins/NPJSObjectMap.cpp:
- (WebKit::identifierFromIdentifierRep):
- (WebKit::NPJSObject::hasProperty):
- Check if the JSObject has the given property.
-
- (WebKit::NPJSObject::getProperty):
- Add stubbed out function.
-
- (WebKit::NPJSObject::npClass):
- Add NP_HasProperty and NP_GetProperty.
-
- (WebKit::NPJSObject::NP_HasProperty):
- Call NPJSObject::hasProperty.
-
- (WebKit::NPJSObject::NP_GetProperty):
- Call NPJSObject::getProperty.
-
- * WebProcess/Plugins/NPRuntimeUtilities.cpp:
- (WebKit::releaseNPVariantValue):
- Release the given NPVariant.
-
- * WebProcess/Plugins/NPRuntimeUtilities.h:
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetProperty):
- Call the NPClass GetProperty function.
-
- (WebKit::NPN_HasProperty):
- Call the NPClass HasProperty function.
-
- (WebKit::NPN_ReleaseVariantValue):
- Call releaseNPVariantValue.
-
-2010-07-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add NPJSObjectMap class
- https://bugs.webkit.org/show_bug.cgi?id=42524
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add files.
-
- * WebProcess/Plugins/NPJSObjectMap.cpp: Added.
- * WebProcess/Plugins/NPJSObjectMap.h: Added.
- Add NPJSObjectMap, a map which contains NPObjects that wrap JavaScript objects.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::PluginView):
- Initialize the map.
-
- (WebKit::PluginView::~PluginView):
- Invalidate the map.
-
- (WebKit::PluginView::frame):
- Add frame getter.
-
- (WebKit::PluginView::windowScriptNPObject):
- Wrap the window object.
-
- (WebKit::PluginView::pluginElementNPObject):
- Wrap the plug-in element object.
-
- * WebProcess/Plugins/PluginView.h:
-
-2010-07-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement more NPRuntime related NPN_ functions
- https://bugs.webkit.org/show_bug.cgi?id=42520
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Plugins/NPRuntimeUtilities.cpp: Added.
- * WebProcess/Plugins/NPRuntimeUtilities.h: Added.
- Add new file with NPRuntime related utility functions.
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_CreateObject):
- (WebKit::NPN_RetainObject):
- (WebKit::NPN_ReleaseObject):
- Call the corresponding NPRuntimeUtilities functions.
-
-2010-07-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Begin work on NPRuntime support
- https://bugs.webkit.org/show_bug.cgi?id=42519
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetValue):
- Handle NPNVWindowNPObject and NPNVPluginElementNPObject.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::windowScriptNPObject):
- (WebKit::NetscapePlugin::pluginElementNPObject):
- Call the plug-in controller.
-
- * WebProcess/Plugins/PluginController.h:
- Add new windowScriptNPObject and pluginElementNPObject functions.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::windowScriptNPObject):
- (WebKit::PluginView::pluginElementNPObject):
- Add stubbed out functions.
-
-2010-07-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Implement some NPRuntime related NPN_ functions
- https://bugs.webkit.org/show_bug.cgi?id=42518
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetStringIdentifier):
- (WebKit::NPN_GetStringIdentifiers):
- (WebKit::NPN_GetIntIdentifier):
- (WebKit::NPN_IdentifierIsString):
- (WebKit::NPN_UTF8FromIdentifier):
- (WebKit::NPN_IntFromIdentifier):
- (WebKit::NPN_CreateObject):
-
-2010-07-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add dumping of statusbar text to WebKitTestRunner
- https://bugs.webkit.org/show_bug.cgi?id=42516
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- Add setStatusbarText callback to WKBundlePageUIClient.
-
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
- (WebKit::InjectedBundlePageUIClient::setStatusbarText):
- Call setStatusbarText.
-
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::setStatusbarText):
- Call the bundle page UI client.
-
-2010-07-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- WebKitTestRunner should load the test plug-in
- https://bugs.webkit.org/show_bug.cgi?id=42509
-
- * UIProcess/API/C/WKContext.cpp:
- (_WKContextSetAdditionalPluginPath):
- Add a private function for setting a single additional plug-in path. the WebKit1 SPI that does the
- same thing takes an array of paths, but this is good enough for now.
-
- * UIProcess/Plugins/PluginInfoStore.cpp:
- (WebKit::PluginInfoStore::setAdditionalPluginPaths):
- Set the additional plug-in paths vector and refresh the database.
-
- (WebKit::PluginInfoStore::loadPluginsIfNecessary):
- First try to load plug-ins in the additional plug-in paths.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::setAdditionalPluginPath):
- Call PluginInfoStore::setAdditionalPluginPaths.
-
- * UIProcess/WebContext.h:
- (WebKit::WebContext::pluginInfoStore):
- Make the plug-in info store per context instead of having a single shared info store.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::getPlugins):
- (WebKit::WebProcessProxy::getPluginHostConnection):
- * UIProcess/WebProcessProxy.h:
- Get the plug-in info store from the context.
-
-2010-07-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Stop all NPStreams before destroying a plug-in
- https://bugs.webkit.org/show_bug.cgi?id=42504
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::stopAllStreams):
- Go through all streams and stop them.
-
- (WebKit::NetscapePlugin::destroy):
- Call stopAllStreams.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- Add stopAllStreams.
-
- * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
- Make stop public.
-
-2010-07-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Open streams should not keep a plug-in view alive
- https://bugs.webkit.org/show_bug.cgi?id=42503
-
- PluginView::Stream now has a weak reference to its PluginView.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::Stream::~Stream):
- Assert that the plug-in view is null.
-
- (WebKit::PluginView::Stream::didFail):
- After calling removeStream, set the plug-in view member variable to 0. This is OK to do
- since we keep a reference to the Stream, so we're sure that the call to removeStream does not
- destroy the stream.
-
- (WebKit::PluginView::Stream::didFinishLoading):
- Ditto .
-
- (WebKit::PluginView::~PluginView):
- Cancel all streams.
-
- (WebKit::PluginView::cancelAllStreams):
- Cancel all streams.
-
-2010-07-16 Zhe Su <suzhe@chromium.org>
-
- Reviewed by Darin Adler.
-
- REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
- https://bugs.webkit.org/show_bug.cgi?id=42253
-
- Dummy implementation of EditorClient::willSetInputMethodState.
-
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::willSetInputMethodState):
- * WebProcess/WebCoreSupport/WebEditorClient.h:
-
-2010-07-16 Alice Liu <alice.liu@apple.com>
-
- Build fix, not reviewed.
-
- Reverted http://trac.webkit.org/changeset/63585 because getopt isn't
- available in the OpenSource support libraries
-
- * WebKit2.sln:
-
-2010-07-16 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=42482
- <rdar://problem/8197701>
- Add notification of when the BackForwardList changes
- to aid invalidation of Back/Forward related UI elements.
-
- * UIProcess/API/C/WKPage.h:
- Add didChangeBackForwardList to the WKPageLoaderClient. This
- fires whenever an item is added or removed from the back forward
- list or when the cursor changes position.
-
- * UIProcess/WebBackForwardList.cpp:
- (WebKit::WebBackForwardList::addItem):
- (WebKit::WebBackForwardList::goToItem):
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::didChangeBackForwardList):
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didChangeBackForwardList):
- * UIProcess/WebPageProxy.h:
- Pipe changes to the WebBackForwardList up to the page load client.
-
-2010-07-16 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add WebKitTestRunner to the WebKit2 solution
-
- * WebKit2.sln: Add InjectedBundle and WebKitTestRunner projects. Also change the build dependency order from
- DumpRunderTree --> WebKitAPITest to
- DumpRenderTree --> InjectedBundle --> WebKitTestRunner --> WebKitAPITest
-
-2010-07-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Set notifyData to the stream's notification data
- https://bugs.webkit.org/show_bug.cgi?id=42429
-
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::start):
-
-2010-07-15 Brent Fulgham <bfulgham@webkit.org>
-
- Build fix. Don't include CoreGraphics.h on non-CG builds.
-
- * WebKit2Prefix.h: Conditionalize include of CoreGraphics.h
- to avoid build break on WinCairo.
-
-2010-07-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- If needed, NPN_GetURL the src URL
- https://bugs.webkit.org/show_bug.cgi?id=42424
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NPP_GetValue):
- Add NPP_GetValue wrapper.
-
- (WebKit::NetscapePlugin::shouldLoadSrcURL):
- Check whether the src url should be cancelled.
-
- (WebKit::NetscapePlugin::initialize):
- If the src URL should be loaded, then load it.
-
-2010-07-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Stop the plug-in stream when it's finished loading
- https://bugs.webkit.org/show_bug.cgi?id=42423
-
- * WebProcess/Plugins/DummyPlugin.cpp:
- (WebKit::DummyPlugin::streamDidFinishLoading):
- * WebProcess/Plugins/DummyPlugin.h:
- Add empty stub.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::streamDidFinishLoading):
- Call NetscapePluginStream::didFinishLoading.
-
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::didFinishLoading):
- Stop the stream with NPRES_DONE.
-
- * WebProcess/Plugins/Plugin.h:
- Add streamDidFinishLoading.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::Stream::didFinishLoading):
- Call Plugin::streamDidFinishLoading.
-
-2010-07-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Pass URL stream data to the plug-in
- https://bugs.webkit.org/show_bug.cgi?id=42420
-
- * WebProcess/Plugins/DummyPlugin.cpp:
- (WebKit::DummyPlugin::streamDidReceiveData):
- * WebProcess/Plugins/DummyPlugin.h:
- Add empty stub.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::streamDidReceiveData):
- Call NetscapePluginStream::didReceiveData.
-
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::didReceiveData):
- Deliver the data to the plug-in.
-
- * WebProcess/Plugins/Plugin.h:
- Add pure virtual streamDidReceiveData member function.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::Stream::didReceiveData):
- Call Plugin::streamDidReceiveData.
-
-2010-07-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Handle failed loads correctly
- https://bugs.webkit.org/show_bug.cgi?id=42418
-
- * WebProcess/Plugins/DummyPlugin.cpp:
- (WebKit::DummyPlugin::streamDidFail):
- * WebProcess/Plugins/DummyPlugin.h:
- Add empty stub.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::streamDidFail):
- Call NetscapePluginStream::didFail.
-
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::didReceiveResponse):
- Take a reference to the plug-in stream in case starting it causes it to be destroyed.
-
- (WebKit::NetscapePluginStream::didFail):
- Take a reference to the plug-in stream in case stopping it causes it to be destroyed.
-
- (WebKit::NetscapePluginStream::destroy):
- Cancel the stream.
-
- (WebKit::NetscapePluginStream::start):
- If we fail to start the stream, cancel the load.
-
- (WebKit::NetscapePluginStream::cancel):
- Call NetscapePlugin::cancelStreamLoad.
-
- (WebKit::NetscapePluginStream::notifyAndDestroyStream):
- Don't call cancel here. notifyAndDestroyStream can be called when we don't want to cancel the
- load, such as when it's already failed to load.
-
- * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
- Add didFail.
-
- * WebProcess/Plugins/Plugin.h:
- Add pure virtual streamDidFail member function.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::Stream::Stream):
- Initialize m_streamWasCancelled to false.
-
- (WebKit::PluginView::Stream::cancel):
- Set m_streamWasCancelled to true.
-
- (WebKit::PluginView::Stream::didFail):
- Call Plugin::streamDidFail.
-
-2010-07-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=42358
- <rdar://problem/8194512>
- Hyphenation tests crash the Web process
-
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Add missing initializer.
-
-2010-07-15 Anders Carlsson <andersca@apple.com>
-
- Attempt to fix the Windows build.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::Stream::didReceiveResponse):
- expectedContentLength should be a signed long long.
+ (WebKit::WebPage::didChangeScrollOffsetForMainFrame):
+ Revert last attempt.
-2010-07-15 Anders Carlsson <andersca@apple.com>
+2011-02-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- Cancel stream loads when destroying NetscapePluginStreams
- https://bugs.webkit.org/show_bug.cgi?id=42413
+ Hang trying to load nytimes.com with Flash installed
+ <rdar://problem/9018113>
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::cancelStreamLoad):
- Call PluginController::cancelStreamLoad.
-
- (WebKit::NetscapePlugin::streamDidReceiveResponse):
- Call NetscapePluginStream::didReceiveResponse.
-
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::didReceiveResponse):
- Try to start the stream.
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendSyncMessage):
+ Call beginWaitForSyncReply() before sending the message. Otherwise, in some cases we could
+ have gotten back a synchronous request before calling beginWaitForSyncReply(), and then we wouldn't
+ process it correctly. (Which would lead to the hang).
- (WebKit::NetscapePluginStream::sendJavaScriptStream):
- Don't stop the stream if it can't be started. start handles that now.
+2011-02-18 Simon Fraser <simon.fraser@apple.com>
- (WebKit::isSupportedTransferMode):
- Return whether the given transfer mode is supported.
+ Reviewed by Kevin Decker.
- (WebKit::NetscapePluginStream::start):
- If the stream fails to start, call notifyAndDestroyStream. If it starts successfully but has
- an unsupported transfer mode, call stop.
+ <rdar://problem/9021296> Some plug-ins are the wrong size after zooming
- (WebKit::NetscapePluginStream::notifyAndDestroyStream):
- Cancel the stream load unless it's being destroyed because it has finished loading.
-
- * WebProcess/Plugins/PluginController.h:
- Add cancelStreamLoad pure virtual member function.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::Stream::cancel):
- Tell the stream loader to cancel and null it out.
-
- (WebKit::PluginView::cancelStreamLoad):
- Get the stream and cancel it.
-
- * WebProcess/Plugins/PluginView.h:
-
-2010-07-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Start loading plug-in streams
- https://bugs.webkit.org/show_bug.cgi?id=42407
-
- * WebProcess/Plugins/DummyPlugin.cpp:
- (WebKit::DummyPlugin::streamDidReceiveResponse):
- * WebProcess/Plugins/DummyPlugin.h:
- Add empty stub.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::streamDidReceiveResponse):
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- Add empty stub.
-
- * WebProcess/Plugins/Plugin.h:
- Add streamDidReceiveResponse pure virtual member function.
-
- * WebProcess/Plugins/PluginView.cpp:
- Make PluginView::Stream a NetscapePlugInStreamLoaderClient.
-
- (WebKit::PluginView::Stream::start):
- Create a plug-in loader and start loading.
-
- (WebKit::PluginView::Stream::didReceiveResponse):
- Get the necessary data out of the resource response and call streamDidReceiveResponse.
-
- (WebKit::PluginView::Stream::didReceiveData):
- (WebKit::PluginView::Stream::didFail):
- (WebKit::PluginView::Stream::didFinishLoading):
- Add empty stubs.
-
-2010-07-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=42396
- Give the navigation type in the policy client callbacks meaning.
-
- - Use the new WKFrameNavigationType instead of just uint32_t.
-
- * UIProcess/API/C/WKAPICast.h:
- (toWK):
- Add conversion method from WebCore::NavigationType to WKFrameNavigationType.
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::decidePolicyForNavigationAction):
- (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPolicyClient.cpp:
- (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
- (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
- * UIProcess/WebPolicyClient.h:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
-
-2010-07-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a PluginView::Stream class
- https://bugs.webkit.org/show_bug.cgi?id=42398
+ Use the same frame/bounds adjustment that we use for NSView-based
+ plugins in WebKit2, which allows plug-ins and their snapshots to
+ render with the correct size after scaling.
* WebProcess/Plugins/PluginView.cpp:
- Add the Stream class.
-
- (WebKit::PluginView::performURLRequest):
- Create the stream and start it.
-
- (WebKit::PluginView::addStream):
- Add the stream to the map.
-
- (WebKit::PluginView::removeStream):
- Remove the stream from the map.
-
+ (WebKit::PluginView::setBoundsSize):
+ (WebKit::PluginView::viewGeometryDidChange):
+ (WebKit::PluginView::clipRectInWindowCoordinates):
* WebProcess/Plugins/PluginView.h:
- Add Stream forward declaration and the m_streams map.
-
-2010-07-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Don't allow multiple calls to NetscapePluginStream::stop
- https://bugs.webkit.org/show_bug.cgi?id=42395
-
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::NetscapePluginStream):
- Initialize m_urlNotifyHasBeenCalled.
-
- (WebKit::NetscapePluginStream::~NetscapePluginStream):
- Assert that the stream didn't need a URL notification or that one was sent.
-
- (WebKit::NetscapePluginStream::sendJavaScriptStream):
- Don't call stop in the JS failure case because the stream won't be started.
-
- (WebKit::NetscapePluginStream::stop):
- Remove m_isStarted check and add an assertion instead. Move code that calls NPP_URLNotify and
- destroys the stream out to a separate function.
-
- (WebKit::NetscapePluginStream::notifyAndDestroyStream):
- Call NPP_URLNotify if necessary and destroy the stream.
-
- * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
-
-2010-07-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement NPN_DestroyStream
- https://bugs.webkit.org/show_bug.cgi?id=42393
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_DestroyStream):
- Call NetscapePlugin::destroyStream.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::destroyStream):
- Check if the stream is valid, and if it is call NetscapePluginStream::destroy.
-
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::sendJavaScriptStream):
- Keep a reference to the stream in case it's destroyed by an NPP_ call.
-
- (WebKit::NetscapePluginStream::destroy):
- Verify that the stream can be destroyed and stop it.
-
- (WebKit::NetscapePluginStream::deliverDataToPlugin):
- Add m_isStarted checks after any calls to NPP_ functions.
-
- (WebKit::NetscapePluginStream::stop):
- Set m_isStarted to false before calling NPP_DestroyStream.
-
- * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
- (WebKit::NetscapePluginStream::npStream):
- Add NPStream getter.
-
-2010-07-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKitTestRunner goes off the deep end, spinning in a dispatch queue thread
- https://bugs.webkit.org/show_bug.cgi?id=42355
-
- Sometimes, when receiving a message whose size is very close to the inlineMessageMaxSize,
- mach_msg would return with MACH_RCV_TOO_LARGE. In debug builds we would assert, but in release
- builds we would just bail and the receiveSourceEventHandler would be run again shortly since we didn't
- actually pull the message off the mach message queue.
-
- Fix this by setting the receive source buffer size to include the maximum message trailer size, which
- mach_msg requires. Also, handle mach_msg returning MACH_RCV_TOO_LARGE (even though in theory it would never happen
- now that the receivedBufferSize always includes the maximum message trailer size.
-
- * Platform/CoreIPC/mac/ConnectionMac.cpp:
- (CoreIPC::Connection::receiveSourceEventHandler):
- Use a Vector with inline data instead of a char array. This way we can resize the Vector if the message received
- is too big.
-
-2010-07-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Send JavaScript stream data to plug-ins
- https://bugs.webkit.org/show_bug.cgi?id=42384
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NPP_WriteReady):
- (WebKit::NetscapePlugin::NPP_Write):
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- Add NPP_ wrappers.
-
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::NetscapePluginStream):
- Initialize m_deliveryDataTimer and m_stopstreamWhenDoneDelivering.
-
- (WebKit::NetscapePluginStream::sendJavaScriptStream):
- Call deliverData and stop.
-
- (WebKit::NetscapePluginStream::deliverData):
- Add the data to m_deliveryData and call deliverDataToPlugin.
-
- (WebKit::NetscapePluginStream::deliverDataToPlugin):
- Deliver the data in m_deliveryData to the plug-in. Call NPP_WriteReady to see how much
- data the plug-in can handle right now. If the plug-in returns zero or a negative value, delay the
- delivery using the delivery data timer. Otherwise, call NPP_Write in chunks until all the data has been
- delivered, then stop the stream if needed.
-
- (WebKit::NetscapePluginStream::stop):
- If the reason for stopping the stream is that it's finished and the plug-in hasn't processed all the data,
- don't close the stream now. Instead, set m_stopStreamWhenDoneDelivering to true which will cause the stream to be
- closed once all data has been delivered.
-
- * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
- Add member functions and member variables.
-
-2010-07-14 Brent Fulgham <bfulgham@webkit.org>
-
- Reviewed by Steve Falkenburg.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=42299
- Correct WinCairo build for new WebKit2 project structure.
-
- * win/WebKit2Apple.vsprops: Put WebKit2.def here.
- * win/WebKit2CFLite.def: Added CFLite version of def file.
- * win/WebKit2CFLite.vsprops: Add new WebKit2CFLite.def here.
- * win/WebKit2Common.vsprops: Remove WebKit2.def definition as
- WinCairo and Apple need different versions of this.
- * win/WebKit2WebProcess.vcproj: Add a new Debug_Cairo target
- for the WebKit2WebProcess project.
-
-2010-07-15 Mark Rowe <mrowe@apple.com>
-
- Update the sorting in the Xcode project files.
-
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-07-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=42315
- <rdar://problem/8185281>
- All text in WebKit2 draws with no subpixel antialiasing
-
- - Change CGBitmapInfo passed to CGBitmapContextCreate and CGImageCreate
- from kCGImageAlphaPremultipliedLast to kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host.
-
- * Shared/mac/UpdateChunk.cpp:
- (WebKit::UpdateChunk::createImage):
- * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
- (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
- * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
- (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
-
-2010-07-14 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Mark Rowe.
-
- - Fix WebKitTestRunner build
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add stdint.h include.
-
-2010-07-14 Anders Carlsson <andersca@apple.com>
-
- Try to fix Windows build.
-
- * win/WebKit2.vcproj:
-
-2010-07-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- More work on plug-in streams
- https://bugs.webkit.org/show_bug.cgi?id=42308
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::loadURL):
- If the target is null, create a NetscapePluginStream and add it to the m_streams map.
-
- (WebKit::NetscapePlugin::removePluginStream):
- Remove the given NetscapePluginStream from the m_streams map.
-
- (WebKit::NetscapePlugin::NPP_NewStream):
- (WebKit::NetscapePlugin::NPP_DestroyStream):
- Add NPP_ wrappers.
-
- (WebKit::NetscapePlugin::streamFromID):
- Return the plug-in stream given a stream ID.
-
- (WebKit::NetscapePlugin::didEvaluateJavaScript):
- Find the plug-in stream and call sendJavaScriptStream.
-
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::NetscapePluginStream):
- Initialize member variables.
-
- (WebKit::NetscapePluginStream::~NetscapePluginStream):
- Assert that we aren't started.
-
- (WebKit::NetscapePluginStream::sendJavaScriptStream):
- If the JavaScript request was successful, start the stream. Otherwise call stop() which just
- ends up calling NPP_URLNotify when the stream isn't started.
-
- (WebKit::NetscapePluginStream::start):
- Set up the NPStream object. Call NPP_NewStream. Return false if the call was not successful, or if
- the requested stream type is one that we don't yet support.
-
- (WebKit::NetscapePluginStream::stop):
- Call NPP_DestroyStream if the stream is started. Call NPP_URLNotify if necessary.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::performJavaScriptURLRequest):
- Remove unneeded comment.
-
-2010-07-14 Sam Weinig <sam@webkit.org>
+2011-02-18 Beth Dakin <bdakin@apple.com>
- Reviewed by John Sullivan.
+ Rubber-stamped by Adele Peterson.
- Make Back/Forward work.
+ Fix for <rdar://problem/9025723> CrashTracer: [USER]
+ 1 crash in WebProcess at com.apple.WebKit2:
+ WebKit::WebPage::didChangeScrollOffsetForMainFrame + 31
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::goForward): Pass the item ID to avoid roundtrip.
- (WebKit::WebPageProxy::goBack): Ditto.
- (WebKit::WebPageProxy::didReceiveMessage): Implement WebPageProxyMessage::BackForwardGoToItem.
+ Simple null-check.
* WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::goForward): Use m_page->goToItem with the correct type instead of the Page shortcut.
- (WebKit::WebPage::goBack): Ditto.
- (WebKit::WebPage::didReceiveMessage):
- * WebProcess/WebPage/WebPage.h:
- Remove unused m_canGoBack and m_canGoForward.
-
-2010-07-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Add NetscapePluginStream class
- https://bugs.webkit.org/show_bug.cgi?id=42296
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: Added.
- (WebKit::NetscapePluginStream::NetscapePluginStream):
- (WebKit::NetscapePluginStream::~NetscapePluginStream):
- * WebProcess/Plugins/Netscape/NetscapePluginStream.h: Added.
- (WebKit::NetscapePluginStream::create):
-
-2010-07-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=42297
- <rdar://problem/8187355>
- Make titles in WebBackForwardListItems work.
-
- - Make WebBackForwardListItemMap per WebProcessProxy to allow updating
- them separate from a page. They are conceptually per process anyway.
- - Add a message to add or update a WebBackForwardListItemMap triggered
- by the WebCore::notifyHistoryItemChanged mechanism.
-
- * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
- (WebProcessProxyMessage::):
- Add AddOrUpdateBackForwardItem message.
-
- * UIProcess/WebBackForwardListItem.h:
- (WebKit::WebBackForwardListItem::setOriginalURL):
- (WebKit::WebBackForwardListItem::setURL):
- (WebKit::WebBackForwardListItem::setTitle):
- Add setters.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- BackForwardAddItem now assumes the item has already been created, so
- now just forwards the add message onto the WebBackForwardList.
-
- (WebKit::WebPageProxy::addItemToBackForwardList): Take a WebBackForwardList instead of an ID.
- (WebKit::WebPageProxy::goToItemInBackForwardList): Ditto.
- * UIProcess/WebPageProxy.h: Ditto.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::webBackForwardItem):
- (WebKit::WebProcessProxy::addOrUpdateBackForwardListItem):
- (WebKit::WebProcessProxy::didReceiveMessage):
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
- * UIProcess/WebProcessProxy.h:
- Have the WebProcessProxy manage the WebBackForwardListItems.
-
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- (WebKit::updateBackForwardItem):
- (WebKit::WK2NotifyHistoryItemChanged): Use this to notify UIProcess
- of HistoryItem changes (such as the title being added).
- (WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
- Register the notifyHistoryItemChanged function.
- (WebKit::WebBackForwardListProxy::addItem):
- Just send the ID as the updateBackForwardItem is already going to have
- been called by this time.
-
-2010-07-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Call NPN_URLNotify for frame loads initiated by plug-ins
- https://bugs.webkit.org/show_bug.cgi?id=42291
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::loadURL):
- If needed, keep track of the request ID and URL so we can call NPP_URLNotify at a later point.
-
- (WebKit::NetscapePlugin::frameDidFinishLoading):
- Get the notification data and the URL from the map and call NPP_URLNotify.
-
- (WebKit::NetscapePlugin::frameDidFail):
- Get the notification data and the URL from the map and call NPP_URLNotify.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
-
-2010-07-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add NetscapePlugin::NPP_ member functions for calling into the plug-in
- https://bugs.webkit.org/show_bug.cgi?id=42287
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NPP_New):
- (WebKit::NetscapePlugin::NPP_Destroy):
- (WebKit::NetscapePlugin::NPP_SetWindow):
- (WebKit::NetscapePlugin::NPP_URLNotify):
- (WebKit::NetscapePlugin::callSetWindow):
- (WebKit::NetscapePlugin::initialize):
- (WebKit::NetscapePlugin::destroy):
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
-
-2010-07-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Send JavaScript url request results back to the plug-in
- https://bugs.webkit.org/show_bug.cgi?id=42277
-
- * WebProcess/Plugins/DummyPlugin.cpp:
- (WebKit::DummyPlugin::didEvaluateJavaScript):
- * WebProcess/Plugins/DummyPlugin.h:
- Add empty stub.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::didEvaluateJavaScript):
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- Add Empty stub.
-
- * WebProcess/Plugins/Plugin.h:
- Add didEvaluateJavaScript pure virtual member function.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::performJavaScriptURLRequest):
- If target is not null, Call Plugin::frameDidFail or Plugin::frameDidFinishLoading.
- If target is null, call didEvaluateJavaScript with the result string.
-
-2010-07-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
- Make changing Cursors work in WebKit2.
-
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- Add SetCursor message.
-
- * Shared/WebCoreArgumentCoders.h:
- Add encoding/decoding of Cursors. For now we don't support Custom
- cursors.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::setCursor):
- * UIProcess/PageClient.h:
- Add pass through functions to get the cursor from the WebPageProxy
- to the WKView.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _setCursor:]):
- * UIProcess/API/mac/WKViewInternal.h:
- Implement changing the cursor.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::setCursor):
- * UIProcess/WebPageProxy.h:
- Decode the cursor.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::wndProc):
- (WebKit::WebView::WebView):
- (WebKit::WebView::onSetCursor):
- (WebKit::WebView::setCursor):
- * UIProcess/win/WebView.h:
- Implement changing the cursor.
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::setCursor):
- (WebKit::WebChromeClient::setLastSetCursorToCurrentCursor):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- Encode the cursor when setCursor is called.
-
-2010-07-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add support for loading javascript: URLs
- https://bugs.webkit.org/show_bug.cgi?id=42221
-
- * WebProcess/Plugins/DummyPlugin.cpp:
- (WebKit::DummyPlugin::controller):
- * WebProcess/Plugins/DummyPlugin.h:
- Add stub function.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::destroy):
- Set the plug-in controller to 0.
-
- (WebKit::NetscapePlugin::controller):
- Return the plug-in controller.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- Add controller() member function.
-
- * WebProcess/Plugins/Plugin.h:
- Add controller() pure virtual member function.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::performURLRequest):
- If the given URL request has a javascript: protocol, call
- performJavaScriptURLRequest.
-
- (WebKit::PluginView::performFrameLoadURLRequest):
- Add a security origin check.
-
- (WebKit::PluginView::performJavaScriptURLRequest):
- Evaluate the JavaScript code, Get the resulting string.
-
- * WebProcess/Plugins/PluginView.h:
- Add performJavaScriptURLRequest.
-
-2010-07-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add support for URL frame loading using NPN_GetURLNotify
- https://bugs.webkit.org/show_bug.cgi?id=42192
-
- * WebProcess/Plugins/DummyPlugin.cpp:
- (WebKit::DummyPlugin::frameDidFinishLoading):
- (WebKit::DummyPlugin::frameDidFail):
- * WebProcess/Plugins/DummyPlugin.h:
- Add empty stubs.
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- Implement NPN_GetURLNotify and have it call NetscapePlugin::loadURL.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin):
- Initialize m_nextRequestID to 0.
-
- (WebKit::NetscapePlugin::loadURL):
- Ask the plug-in controller to load the URL.
-
- (WebKit::NetscapePlugin::frameDidFinishLoading):
- (WebKit::NetscapePlugin::frameDidFail):
- Add empty stubs for now.
-
- * WebProcess/Plugins/Plugin.h:
- Add new member functions for frame load notifications.
-
- * WebProcess/Plugins/PluginController.h:
- Add loadURL.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::URLRequest::URLRequest):
- Add class that represents an URL request.
-
- (WebKit::PluginView::PluginView):
- Initialize m_pendingURLRequestsTimer.
-
- (WebKit::PluginView::~PluginView):
- Unset all active load listeners.
-
- (WebKit::PluginView::pendingURLRequestsTimerFired):
- Take the first request in the queue and process it.
-
- (WebKit::PluginView::performURLRequest):
- Call performFrameLoadURLRequest if necessary.
-
- (WebKit::PluginView::performFrameLoadURLRequest):
- Find a frame to load the request in. If a frame doesn't exist try to create a new frame.
-
- (WebKit::PluginView::loadURL):
- Create a URLRequest and add it to the queue.
-
- (WebKit::PluginView::didFinishLoad):
- Get the pending frame load request and call Plugin::frameDidFinishLoading.
-
- (WebKit::PluginView::didFailLoad):
- Get the pending frame load request and call Plugin::frameDidFail.
-
- * WebProcess/Plugins/PluginView.h:
- Inherit from WebFrame::LoadListener.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
- (WebKit::WebFrameLoaderClient::didFinishLoad):
- Call the WebFrame's load listener if needed.
-
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::WebFrame):
- Initialize m_loadListener to 0.
-
- * WebProcess/WebPage/WebFrame.h:
- Add a LoadListener class that the plug-in view can use to track frame loads.
-
- (WebKit::WebFrame::LoadListener::~LoadListener):
- (WebKit::WebFrame::setLoadListener):
- (WebKit::WebFrame::loadListener):
-
-2010-07-13 Diego Gonzalez <diegohcg@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] [WebKit2] Hook up navigation actions
- https://bugs.webkit.org/show_bug.cgi?id=42183
-
- Make Back, Forward, Stop and Reload being enable/disabled according
- page loading.
-
- * UIProcess/API/qt/ClientImpl.cpp:
- (qt_wk_didStartProvisionalLoadForFrame):
- (qt_wk_didCommitLoadForFrame):
- (qt_wk_didFinishLoadForFrame):
- (qt_wk_didFailLoadWithErrorForFrame):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::updateAction):
-
-2010-07-13 John Sullivan <sullivan@apple.com>
-
- Written by Simon Fraser, reviewed by me.
-
- Cleaner fix for previous check-in.
-
- * UIProcess/WebBackForwardList.cpp:
- (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
- Use std::max<int> for int-casting brevity.
-
-2010-07-13 John Sullivan <sullivan@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fixed signed/unsigned problem that led to bogus contents in the array
- returned by WKBackForwardListCopyBackListWithLimit().
-
- * UIProcess/WebBackForwardList.cpp:
- (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
- Cast m_current and limit to signed values in std::max call.
-
-2010-07-13 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Ada Chan.
-
- Fix missing resources causing layout test failures
- https://bugs.webkit.org/show_bug.cgi?id=42179
-
- Quick fix to get the layout tests going again.
- I'll work on getting resource.h from WebKit into a cross-project
- propagated header after this lands.
-
- * win/WebKit2.rc:
- * win/resource.h: Copied from WebKit/win/WebKit.vcproj/resource.h.
-
-2010-07-13 Anders Carlsson <andersca@apple.com>
+ (WebKit::WebPage::didChangeScrollOffsetForMainFrame):
- Reviewed by Adam Roben.
-
- Make all NPN_ functions static.
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
-
-2010-07-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Document the member functions of the abstract Plugin and PluginController classes.
-
- * WebProcess/Plugins/Plugin.h:
- * WebProcess/Plugins/PluginController.h:
-
-2010-07-13 Simon Hausmann <simon.hausmann@nokia.com>
-
- [Qt] Trivial build fix.
-
- Provide a stub for mimeTypeFromExtension() that uses notImplemented().
-
- * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
- (WebKit::PluginInfoStore::mimeTypeFromExtension):
-
-2010-07-13 Simon Hausmann <simon.hausmann@nokia.com>
+2011-02-18 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
- [Qt] Tweaks needed to compile WebKit2 with Qt
- https://bugs.webkit.org/show_bug.cgi?id=41604
-
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- (WebKit::ProcessLauncherHelper::launch): Adjust to PassOwnPtr API changes.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Don't include JavaScriptCore.h,
- as it unconditionally includes JSStringRefCF. Instead include JavaScript.h.
-
-2010-07-12 Steve Falkenburg <sfalken@apple.com>
+ Tiled backing store area is too big.
+ Error in area calculcation causes size of backing store
+ up to 8 times bigger than viewport with default multipliers.
+ https://bugs.webkit.org/show_bug.cgi?id=54587
- Windows build fix.
- Don't build MiniBrowser except for Debug_Internal.
-
- * WebKit2.sln:
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::calculateKeepRect):
+ (WebKit::TiledDrawingAreaProxy::calculateCoverRect):
-2010-07-12 Steve Falkenburg <sfalken@apple.com>
+2011-02-18 John Sullivan <sullivan@apple.com>
Reviewed by Maciej Stachowiak.
- Make WebKit2 be built by build-webkit (so it will be built by build.webkit.org bots)
- https://bugs.webkit.org/show_bug.cgi?id=40922
-
- Add additional dependent projects. Necessary since our WebKit build on
- Windows is packaged into a DLL with WebKit2.
-
- * WebKit2.sln:
-
-2010-07-12 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Maciej Stachowiak.
-
- Fix WebKit2 to use the same compiler-selection logic as the other projects.
-
- * WebKit2.xcodeproj/project.pbxproj: Don't hard-code WebKit2 to build with GCC 4.2.
-
-2010-07-12 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders Carlsson.
-
- WKView should override setFrameSize: instead of setFrame:
- https://bugs.webkit.org/show_bug.cgi?id=42127
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView setFrameSize:]): Override this method instead of setFrame:,
- since that is the right way to do it.
-
-2010-07-12 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Alice Liu.
-
- <rdar://problem/8113038> WebKit1 and WebKit2 should build as a single DLL
- https://bugs.webkit.org/show_bug.cgi?id=40921
-
- Pre-WebKit2 WebKit now builds into a static library named WebKitLib.lib.
- WebKit.dll now links in WebCore.lib, WebKitLib.lib and WebKit2 code.
-
- This is a first step. We'll likely want to migrate the remainder of
- the non-deprecated WebKit code (strings, DLLMain, resources) into WebKit2.
-
- * UIProcess/API/C/WKBase.h: Updated to new BUILDING_ name.
- * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Updated to new BUILDING_ name.
- * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp: Removed.
- * WebProcess/win/DllMain.cpp: Removed. Overlaps with implementation in WebKitLib.lib.
- * WebProcess/win/WebLocalizableStrings.cpp: Removed. Overlaps with implementation in WebKitLib.lib.
- * WebProcess/win/WebLocalizableStrings.h: Removed. Overlaps with implementation in WebKitLib.lib.
- * win/WebKit2.def: Added. Copied from WebKit project.
- * win/WebKit2.rc: Added resources previously in WebKit.
- * win/WebKit2.vcproj: Changed project name to WebKit so we will link output to WebKit.dll.
- Removed implementations overlapping with WebKitLib (WebCoreLocalizedStrings, DllMain, WebLocalizableStrings, WebProcessMain).
- * win/WebKit2Common.vsprops: Use a framework name of WebKit instead of WebKit2 to reflect project name.
- Renamed BUILDING_WEBKIT2 to BUILDING_WEBKIT since there is now just a single WebKit.dll.
- * win/WebKit2WebProcess.vcproj: Link against WebKit instead of WebKit2 due to renaming.
- * win/deleteButton.png: Copied from ../WebKit/win/WebKit.vcproj/deleteButton.png.
- * win/deleteButtonPressed.png: Copied from ../WebKit/win/WebKit.vcproj/deleteButtonPressed.png.
- * win/fsVideoAudioVolumeHigh.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoAudioVolumeHigh.png.
- * win/fsVideoAudioVolumeLow.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoAudioVolumeLow.png.
- * win/fsVideoExitFullscreen.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoExitFullscreen.png.
- * win/fsVideoPause.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoPause.png.
- * win/fsVideoPlay.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoPlay.png.
- * win/missingImage.png: Copied from ../WebKit/win/WebKit.vcproj/missingImage.png.
- * win/nullplugin.png: Copied from ../WebKit/win/WebKit.vcproj/nullplugin.png.
- * win/panEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panEastCursor.png.
- * win/panIcon.png: Copied from ../WebKit/win/WebKit.vcproj/panIcon.png.
- * win/panNorthCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthCursor.png.
- * win/panNorthEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthEastCursor.png.
- * win/panNorthWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthWestCursor.png.
- * win/panSouthCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthCursor.png.
- * win/panSouthEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthEastCursor.png.
- * win/panSouthWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthWestCursor.png.
- * win/panWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panWestCursor.png.
- * win/searchCancel.png: Copied from ../WebKit/win/WebKit.vcproj/searchCancel.png.
- * win/searchCancelPressed.png: Copied from ../WebKit/win/WebKit.vcproj/searchCancelPressed.png.
- * win/searchMagnifier.png: Copied from ../WebKit/win/WebKit.vcproj/searchMagnifier.png.
- * win/searchMagnifierResults.png: Copied from ../WebKit/win/WebKit.vcproj/searchMagnifierResults.png.
- * win/textAreaResizeCorner.png: Copied from ../WebKit/win/WebKit.vcproj/textAreaResizeCorner.png.
- * win/verticalTextCursor.png: Copied from ../WebKit/win/WebKit.vcproj/verticalTextCursor.png.
- * win/zoomInCursor.png: Copied from ../WebKit/win/WebKit.vcproj/zoomInCursor.png.
- * win/zoomOutCursor.png: Copied from ../WebKit/win/WebKit.vcproj/zoomOutCursor.png.
-
-2010-07-12 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Get rid of auto_ptr use in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42119
-
- Replace all use of auto_ptr with OwnPtr/PassOwnPtr.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::sendMessage):
- (CoreIPC::Connection::waitForMessage):
- (CoreIPC::Connection::sendSyncMessage):
- (CoreIPC::Connection::processIncomingMessage):
- (CoreIPC::Connection::sendOutgoingMessages):
- (CoreIPC::Connection::dispatchMessages):
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::Message::Message):
- (CoreIPC::Connection::send):
- (CoreIPC::Connection::sendSync):
- (CoreIPC::Connection::waitFor):
- * Platform/CoreIPC/mac/ConnectionMac.cpp:
- (CoreIPC::Connection::sendOutgoingMessage):
- (CoreIPC::createArgumentDecoder):
- (CoreIPC::Connection::receiveSourceEventHandler):
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- (CoreIPC::Connection::readyReadHandler):
- (CoreIPC::Connection::sendOutgoingMessage):
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- (CoreIPC::Connection::readEventHandler):
- (CoreIPC::Connection::sendOutgoingMessage):
- * Platform/RunLoop.cpp:
- (RunLoop::performWork):
- (RunLoop::scheduleWork):
- * Platform/RunLoop.h:
- * Platform/WorkItem.h:
- (WorkItem::create):
- * Platform/WorkQueue.h:
- * Platform/mac/WorkQueueMac.cpp:
- (WorkQueue::executeWorkItem):
- (WorkQueue::scheduleWork):
- (WorkQueue::EventSource::EventSource):
- (WorkQueue::registerMachPortEventHandler):
- * Platform/qt/WorkQueueQt.cpp:
- (WorkQueue::connectSignal):
- (WorkQueue::scheduleWork):
- * Platform/win/WorkQueueWin.cpp:
- (WorkQueue::registerHandle):
- (WorkQueue::scheduleWork):
- (WorkQueue::performWork):
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::sendMessage):
- (WebKit::WebProcessProxy::didFinishLaunching):
- * UIProcess/WebProcessProxy.h:
- (WebKit::WebProcessProxy::send):
-
-2010-07-12 Ada Chan <adachan@apple.com>
-
- Build fix. Copy WKArray.h to the include directory.
-
- * win/WebKit2Generated.make:
-
-2010-07-12 Mark Rowe <mrowe@apple.com>
-
- Re-do an Xcode project change that Xcode decided not to save.
-
- * WebKit2.xcodeproj/project.pbxproj: Remove WebKit2.exp from the project.
- For some reason it was being copied in to the framework wrapper.
-
-2010-07-12 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove the exports file from WebKit2.
+ <rdar://problem/9026169>
+ https://bugs.webkit.org/show_bug.cgi?id=54780
+ pendingAPIRequestURL isn't updated for WKPageGoToBackForwardListItem
- * Configurations/Base.xcconfig: Have symbols default to hidden visibility.
- * Configurations/WebKit2.xcconfig: Remove the export file.
- * UIProcess/API/mac/WKView.h: Export the WKView class.
- * WebProcess/WebKitMain.cpp: Export the WebKitMain function.
- * mac/WebKit2.exp: Removed.
-
-2010-07-12 Adam Roben <aroben@apple.com>
-
- Move WebKit2.vcproj's settings into .vsprops files
-
- This makes it easier to make changes that affect all configurations.
-
- Fixes <http://webkit.org/b/42097> WebKit2 should use .vsprops files
-
- Reviewed by Steve Falkenburg.
-
- * win/WebKit2.vcproj: Moved settings from here to the files below.
- * win/WebKit2Apple.vsprops: Added. Links against Apple-specific
- libraries.
- * win/WebKit2CFLite.vsprops: Added. Links against CFLite.
- * win/WebKit2Common.vsprops: Added. Contains settings shared by all
- configurations.
- * win/WebKit2DirectX.vsprops: Added. Contains settings to help with
- linking against DirectX.
-
-2010-07-12 Adam Roben <aroben@apple.com>
-
- Stop generating stripped symbols for Release builds
-
- It turns out we can strip the symbols after-the-fact using PDBCopy.
-
- Fixes <http://webkit.org/b/42085>.
-
- Reviewed by Steve Falkenburg.
-
- * win/WebKit2.vcproj: Removed the no-longer-needed Release override of
- the StripPrivateSymbols attribute. (This attribute is no longer set in
- release.vsprops, so doesn't need to be overridden.)
-
-2010-07-12 Brian Weinstein <bweinstein@apple.com>
-
- WebKit2 build fix for Windows.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Remove some stub function definitions.
- * win/WebKit2.vcproj: Add PluginController.h to the vcproj.
-
-2010-07-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add a PluginController class, use it for invalidation and getting the user agent
- https://bugs.webkit.org/show_bug.cgi?id=42084
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add PluginController.h
-
- * WebProcess/Plugins/DummyPlugin.cpp:
- (WebKit::DummyPlugin::initialize):
- * WebProcess/Plugins/DummyPlugin.h:
- Pass the PluginController to initialize.
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- Implement NPN_UserAgent, NPN_MemAlloc, NPN_MemFree, NPN_InvalidateRect and NPN_InvalidateRegion.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin):
- Initialize m_pluginController to null.
-
- (WebKit::NetscapePlugin::invalidate):
- Ask the plug-in controller to invalidate.
-
- (WebKit::NetscapePlugin::userAgent):´
- Ask the plug-in controller for the user agent.
-
- (WebKit::NetscapePlugin::initialize):
- Set the m_pluginController member variable.
-
- * WebProcess/Plugins/Plugin.h:
- Make initialize take a PluginController.
-
- * WebProcess/Plugins/PluginController.h: Added.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::initializePlugin):
- Pass the PluginController to initialize.
-
- (WebKit::PluginView::invalidateRect):
- Tell the host window to invalidate the given rect.
-
- (WebKit::PluginView::invalidate):
- Call invalidateRect.
-
- (WebKit::PluginView::userAgent):
- Ask the frame loader client for the user agent.
-
- * WebProcess/Plugins/PluginView.h:
-
-2010-07-12 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * WebProcess/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Added.
- (WebKit::NetscapePluginModule::tryLoad):
- (WebKit::NetscapePluginModule::unload):
- Stubbed these out.
-
- * win/WebKit2.vcproj: Added a Netscape filter beneath
- WebProcess/Plugins, and moved NetscapePlugin into it. Added
- NetscapePluginModule to the new Netscape filter. Added
- WebProcess/Plugins to the include path for all configurations (it was
- only added to Release and Debug_Internal previously) and added
- WebProcess/Plugins/Netscape to the include path for all
- configurations.
-
-2010-07-11 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Implement animation-related methods for WebKitTestRunner
- https://bugs.webkit.org/show_bug.cgi?id=42053
-
- Implemented some helpers for WebKitTestRunner;
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameGetNumberOfActiveAnimations):
- (WKBundleFramePauseAnimationOnElementWithId):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::numberOfActiveAnimations):
- (WebKit::WebFrame::pauseAnimationOnElementWithId):
- * WebProcess/WebPage/WebFrame.h:
- * mac/WebKit2.exp:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::goToBackForwardItem):
+ Update the pending API URL.
-2010-07-10 Anders Carlsson <andersca@apple.com>
+2011-02-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- Don't initialize plug-ins until allowed by the page
- https://bugs.webkit.org/show_bug.cgi?id=42033
+ Accelerated content fades in when using a layer backed WKView
+ <rdar://problem/9021586>
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::paint):
- (WebKit::NetscapePlugin::geometryDidChange):
- Assert that the plug-in is started.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::PluginView):
- Initialize m_isWaitingUntilMediaCanStart.
-
- (WebKit::PluginView::~PluginView):
- If necessary, remove the plug-in view as a MediaCanStartListener.
-
- (WebKit::PluginView::initializePlugin):
- If we're not allowed to initialize the plug-in, add the plug-in view as a MediaCanStartListener.
-
- (WebKit::PluginView::paint):
- Check that the plug-in is initialized.
-
- (WebKit::PluginView::viewGeometryDidChange):
- Ditto.
-
- (WebKit::PluginView::mediaCanStart):
- Initialize the plug-in.
-
- * WebProcess/Plugins/PluginView.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _enterAcceleratedCompositingMode:]):
+ Make a new nested CATransaction and disable animations when adding the layer
+ hosting subview. This avoids an implicit fade animation that would otherwise occur.
-2010-07-10 Anders Carlsson <andersca@apple.com>
+2011-02-18 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
- Have the plug-in view initialize the plug-in
- https://bugs.webkit.org/show_bug.cgi?id=42030
-
- * WebProcess/Plugins/DummyPlugin.cpp:
- (WebKit::DummyPlugin::initialize):
- * WebProcess/Plugins/DummyPlugin.h:
- Plugin::initialize now takes a struct.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::initialize):
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- Plugin::initialize now takes a struct.
+ Plugin snapshot location is wrong for subframes
+ https://bugs.webkit.org/show_bug.cgi?id=54776
- * WebProcess/Plugins/Plugin.h:
- Add Parameters struct.
+ Only change the CTM to the way that the plugin expects it
+ when painting the plugin, not when drawing the snapshot.
+ This fixes the snapshot location when painting flattened
+ frames.
* WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::PluginView):
- Add Parameters parameter.
-
- (WebKit::PluginView::~PluginView):
- Add m_plugin null check.
-
- (WebKit::PluginView::initializePlugin):
- Try to initialize the plug-in and zero out the plug-in if initialization fails.
-
(WebKit::PluginView::paint):
- Add m_plugin null check.
-
- (WebKit::PluginView::setParent):
- Initialize the plug-in.
-
- * WebProcess/Plugins/PluginView.h:
- (WebKit::PluginView::create):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
- Don't initialize the plug-in here.
-
-2010-07-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Call Page::canStartMedia when the WKView is added to/removed from a window
- https://bugs.webkit.org/show_bug.cgi?id=42029
-
- * Shared/CoreIPCSupport/WebPageMessageKinds.h:
- (WebPageMessage::):
- Add SetIsInWindow.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:pageNamespaceRef:]):
- Call setIsInWindow.
-
- (-[WKView _updateVisibility]):
- Call setIsInWindow.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- Initialize m_isInWindow.
-
- (WebKit::WebPageProxy::setIsInWindow):
- Send WebPageMessage::SetIsInWindow.
-
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setIsInWindow):
- Call Page::canStartMedia.
-
- (WebKit::WebPage::didReceiveMessage):
- Handle the SetIsInWindow message.
-
- * WebProcess/WebPage/WebPage.h:
-
-2010-07-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Reuse initialized NetscapePluginModules, pass parameters to NPP_New
- https://bugs.webkit.org/show_bug.cgi?id=42028
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin):
- Let the plug-in module know that a plug-in has been created.
-
- (WebKit::NetscapePlugin::~NetscapePlugin):
- Let the plug-in module know that a plug-in has been destroyed.
-
- (WebKit::NetscapePlugin::initialize):
- Pass the MIME type and parameters to the plug-in.
-
- * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
- (WebKit::initializedNetscapePluginModules):
- Add list of initialized plug-in modules.
- (WebKit::NetscapePluginModule::NetscapePluginModule):
- Initialize m_pluginCount to 0.
+2011-02-18 Anders Carlsson <andersca@apple.com>
- (WebKit::NetscapePluginModule::~NetscapePluginModule):
- Assert that we're not in the list of initialized plug-ins.
-
- (WebKit::NetscapePluginModule::pluginCreated):
- Increment the plug-in count.
-
- (WebKit::NetscapePluginModule::pluginDestroyed):
- Decrement the plug-in count and call shutdown if it's 0.
-
- (WebKit::NetscapePluginModule::shutdown):
- Call NP_Shutdown and remove the plug-in from the list of initialized plug-ins.
-
- (WebKit::NetscapePluginModule::getOrCreate):
- Look for an already initialized plug-in module before creating one.
-
- (WebKit::NetscapePluginModule::load):
- Set m_isInitialized to true.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp:
- (WebKit::NetscapePluginModule::unload):
- Leak the CFBundleRef to avoid possible crashes.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
- Call getOrCreate instead of create.
-
-2010-07-09 Leon Clarke <leonclarke@google.com>
-
- Reviewed by Adam Barth.
-
- add support for link prefetching
- https://bugs.webkit.org/show_bug.cgi?id=3652
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-07-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig and Dan Bernstein.
-
- Handle setting of drawing and event models
- https://bugs.webkit.org/show_bug.cgi?id=41994
-
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- Handle NPPVpluginDrawingModel and NPPVpluginEventModel.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin):
- Initialize m_inNPPNew.
-
- (WebKit::NetscapePlugin::~NetscapePlugin):
- Assert that we aren't still running.
-
- (WebKit::NetscapePlugin::fromNPP):
- New function that returns a NetscapePlugin object given a NPP pointer.
-
- (WebKit::NetscapePlugin::initialize):
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.cpp:
- (WebKit::NetscapePlugin::setDrawingModel):
- Set the drawing model.
-
- (WebKit::NetscapePlugin::setEventModel):
- Set the event model.
-
- (WebKit::initializeEvent):
- (WebKit::NetscapePlugin::platformPaint):
- Only send the Cocoa event when using the Cocoa event model.
+ Reviewed by Simon Fraser.
-2010-07-09 Sam Weinig <sam@webkit.org>
+ Implement NetscapePlugin::pluginComplexTextInputIdentifier
+ https://bugs.webkit.org/show_bug.cgi?id=54770
- Reviewed by Anders Carlsson.
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::pluginComplexTextInputIdentifier):
- Patch for https://bugs.webkit.org/show_bug.cgi?id=41971
- Add really basic BackForwardList support.
+2011-02-18 Sam Weinig <sam@webkit.org>
- * Shared/CoreIPCSupport/WebPageMessageKinds.h:
- (WebPageMessage::):
- Add new message kind.
+ Reviewed by Maciej Stachowiak.
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- (WebPageProxyMessage::):
- Add new message kinds. Remove DidChangeCanGoBack and DidChangeCanGoForward.
+ Add the ability to ask the WKPage if the main frame is pinned
+ to the right or left hand side.
+ Part of <rdar://problem/9017043>.
* UIProcess/API/C/WKPage.cpp:
- (WKPageGoToBackForwardListItem):
+ (WKPageIsPinnedToLeftSide):
+ (WKPageIsPinnedToRightSide):
* UIProcess/API/C/WKPage.h:
- Add function to initiate a navigation to a BackForward item. The
- BackForward list will be updated to use this as the current item
- asynchronously.
-
- * UIProcess/WebBackForwardList.cpp:
- (WebKit::WebBackForwardList::WebBackForwardList):
- (WebKit::WebBackForwardList::addItem): Added.
- (WebKit::WebBackForwardList::goToItem): Added.
- (WebKit::WebBackForwardList::itemAtIndex): Added.
- (WebKit::WebBackForwardList::backListCount): Changed to return int matching WebCore.
- (WebKit::WebBackForwardList::forwardListCount): Ditto.
- (WebKit::WebBackForwardList::backListWithLimit): Add cast to int.
- (WebKit::WebBackForwardList::forwardListWithLimit): Ditto.
- (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): Ditto.
- (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): Ditto.
- * UIProcess/WebBackForwardList.h:
-
- * UIProcess/WebBackForwardListItem.cpp:
- (WebKit::WebBackForwardListItem::WebBackForwardListItem):
- * UIProcess/WebBackForwardListItem.h:
- (WebKit::WebBackForwardListItem::create):
- (WebKit::WebBackForwardListItem::itemID):
- Added itemID.
+ Add new API calls.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::canGoForward):
- (WebKit::WebPageProxy::canGoBack):
- (WebKit::WebPageProxy::goToBackForwardItem):
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::didReceiveSyncMessage):
- (WebKit::WebPageProxy::addItemToBackForwardList):
- (WebKit::WebPageProxy::goToItemInBackForwardList):
- (WebKit::WebPageProxy::processDidExit):
+ (WebKit::WebPageProxy::processDidCrash):
+ (WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame):
* UIProcess/WebPageProxy.h:
- - Removed m_canGoBack and m_canGoForward booleans and instead use the BackForwardList.
- - Forward goToBackForwardItem to the WebProcess.
- - Respond to messages from the WebBackForwardListProxy in the WebProcess,
- forwarding to the WebBackForwardList.
+ (WebKit::WebPageProxy::isPinnedToLeftSide):
+ (WebKit::WebPageProxy::isPinnedToRightSide):
+ Initialize, reset and update the pinned state.
- * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp:
- (WebKit::WebBackForwardControllerClient::createBackForwardList):
- Start using a WebBackForwardListProxy instead of a BackForwardListImpl.
+ * UIProcess/WebPageProxy.messages.in:
+ Add message to update the pinned state.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidAddBackForwardItem):
- (WebKit::WebFrameLoaderClient::dispatchDidRemoveBackForwardItem):
- (WebKit::WebFrameLoaderClient::dispatchDidChangeBackForwardIndex):
- Remove calls backForwardListDidChange() now that we communicate much more
- information than just this state.
-
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- (WebKit::idToHistoryItemMap):
- (WebKit::historyItemToIDMap):
- (WebKit::generateHistoryItemID):
- (WebKit::getIDForHistoryItem):
- (WebKit::WebBackForwardListProxy::itemForID):
- Add leaking cached maps of HistoryItems to IDs, the life time of these
- objects will be improved in a subsequent patch.
-
- (WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
- (WebKit::WebBackForwardListProxy::addItem):
- (WebKit::WebBackForwardListProxy::goBack):
- (WebKit::WebBackForwardListProxy::goForward):
- (WebKit::WebBackForwardListProxy::goToItem):
- (WebKit::WebBackForwardListProxy::backItem):
- (WebKit::WebBackForwardListProxy::currentItem):
- (WebKit::WebBackForwardListProxy::forwardItem):
- (WebKit::WebBackForwardListProxy::itemAtIndex):
- (WebKit::WebBackForwardListProxy::backListWithLimit):
- (WebKit::WebBackForwardListProxy::forwardListWithLimit):
- (WebKit::WebBackForwardListProxy::capacity):
- (WebKit::WebBackForwardListProxy::setCapacity):
- (WebKit::WebBackForwardListProxy::enabled):
- (WebKit::WebBackForwardListProxy::setEnabled):
- (WebKit::WebBackForwardListProxy::backListCount):
- (WebKit::WebBackForwardListProxy::forwardListCount):
- (WebKit::WebBackForwardListProxy::containsItem):
- (WebKit::WebBackForwardListProxy::close):
- (WebKit::WebBackForwardListProxy::closed):
- (WebKit::WebBackForwardListProxy::removeItem):
- (WebKit::WebBackForwardListProxy::entries):
- (WebKit::WebBackForwardListProxy::pushStateItem):
- * WebProcess/WebPage/WebBackForwardListProxy.h:
- Forward functions to the UIProcess.
-
+ (WebKit::WebFrameLoaderClient::didChangeScrollOffset):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::goToBackForwardItem):
- (WebKit::WebPage::didReceiveMessage):
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::didChangeScrollOffsetForMainFrame):
* WebProcess/WebPage/WebPage.h:
- Respond to GoToBackForwardItem message.
-
- * mac/WebKit2.exp: Add new API function.
-
-2010-07-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Verify drawing coordinates, add crude painting support
- https://bugs.webkit.org/show_bug.cgi?id=41984
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add NetscapePluginMac.cpp.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin):
- Initialize drawing and event models.
-
- (WebKit::NetscapePlugin::initialize):
- Call platformPostInitialize.
-
- (WebKit::NetscapePlugin::destroy):
- Call NPP_Destroy.
-
- (WebKit::NetscapePlugin::paint):
- Call platformPaint.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- Add member functions.
-
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.cpp: Added.
- (WebKit::NetscapePlugin::platformPostInitialize):
- Set default event and drawing models and verify that they are compatible.
-
- (WebKit::NetscapePlugin::platformPaint):
- Send a paint event (assuming the Cocoa event model currently).
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::paint):
- Change the paint rect to be in window coordinates.
-
- (WebKit::PluginView::viewGeometryDidChange):
- (WebKit::PluginView::clipRectInWindowCoordinates):
- * WebProcess/Plugins/PluginView.h:
-
-2010-07-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Pass a clip rect to the plugin and call NPP_SetWindow
- https://bugs.webkit.org/show_bug.cgi?id=41969
+ Cache the pinned state, and only update the UIProcess when it
+ changes.
- * WebProcess/Plugins/DummyPlugin.cpp:
- (WebKit::DummyPlugin::geometryDidChange):
- * WebProcess/Plugins/DummyPlugin.h:
- Add clip rect parameter.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin):
- Initialize m_npWindow.
-
- (WebKit::NetscapePlugin::callSetWindow):
- Call NPP_SetWindow.
-
- (WebKit::NetscapePlugin::initialize):
- Set the window type to NPWindowTypeDrawable for now.
-
- (WebKit::NetscapePlugin::geometryDidChange):
- Update the frame and clip rects and call NPP_SetWindow.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- Add an NPWindow member variable.
-
- * WebProcess/Plugins/Plugin.h:
- Add a clipRect parameter to geometryDidChange.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::PluginView):
- Add the plug-in element to the constructor.
-
- (WebKit::PluginView::viewGeometryDidChange):
- Compute the clip rect and pass it to the plug-in.
-
- * WebProcess/Plugins/PluginView.h:
- (WebKit::PluginView::create):
- Pass the plug-in element to the constructor.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
- Pass the plug-in element to PluginView::create.
-
-2010-07-09 Anders Carlsson <andersca@apple.com>
+2011-02-18 Anders Carlsson <andersca@apple.com>
Reviewed by Simon Fraser.
- Instantiate Netscape plug-ins, pass geometry information to Plugin
- https://bugs.webkit.org/show_bug.cgi?id=41960
+ Fix assertion in SharedMemory::create when trying to snapshot 0x0 plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=54768
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- Handle NPNVsupportsCoreGraphicsBool and NPNVsupportsCocoaBool.
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::snapshot):
+ Don't try to create a handle from a null ShareableBitmap.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin):
- Set npp.ndata.
-
- (WebKit::NetscapePlugin::initialize):
- Try to instantiate the plug-in by calling NPP_New.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- Store the NetscapePluginModule and the NPP struct.
-
- * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
- Add a getter for the NPPluginFuncs vtable.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::frameRectsChanged):
- Make sure to call viewGeometryDidChange.
-
- (WebKit::PluginView::setParent):
- Ditto.
-
- (WebKit::PluginView::viewGeometryDidChange):
- Convert the frame rect to window coordinates and pass it to the plug-in.
-
- * WebProcess/Plugins/PluginView.h:
- Add function declarations.
-
-2010-07-08 Diego Gonzalez <diegohcg@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] [WebKit2] Make QWKPage call _q_webActionTriggered as a private slot
- https://bugs.webkit.org/show_bug.cgi?id=41880
+ (WebKit::NetscapePlugin::snapshot):
+ Check for a zero sized plug-in before trying to create a snapshot.
- * UIProcess/API/qt/qwkpage.cpp:
- * UIProcess/API/qt/qwkpage.h:
-
-2010-07-09 Antti Koivisto <koivisto@iki.fi>
+2011-02-18 Anders Carlsson <andersca@apple.com>
- Not reviewed.
+ Reviewed by Simon Fraser.
- Build fix.
+ WKView flashes when entering/exiting compositing mode
+ https://bugs.webkit.org/show_bug.cgi?id=54695
+ <rdar://problem/9011554>
- * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _exitAcceleratedCompositingMode]):
+ Remove the layer hosting view before clearing out its layer, otherwise we can get
+ white flashes when exiting accelerated compositing mode.
-2010-07-08 Brian Weinstein <bweinstein@apple.com>
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ When entering accelerated compositing mode, we want to defer sending the message
+ until we've actually committed the layer tree and pushed all changes over to the
+ UI process.
- WebKit2 build fix for Windows.
+ (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
+ Tell the layer tree host to force a repaint. This will ensure that all layer tree
+ changes are pushed over to the UI process. When that is done, send the new layer tree
+ context over to the UI process.
- * WebProcess/Plugins/PluginView.h: Change the forward declaration of Plugin
- to an include.
- * win/WebKit2.vcproj: Update the include paths for Release to match Debug, and
- add some files to the vcproj that were added on Mac.
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ When exiting compositing mode in response to a didSetSize, we want to exit accelerated
+ compositing mode right away to avoid flashes. This is safe since we've laid out the page
+ already so we won't end up reentering setRootCompositingLayer.
-2010-07-08 Sam Weinig <sam@webkit.org>
+ (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
+ Tell the layer tree host to notify us when the next layer tree flush happened, so we can
+ let the UI process know. If we're entering accelerated compositing mode in response to a
+ SetSize message, the new layer tree context will be passed in the DidSetSize message.
- Attempt to fix the windows build.
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ Add layerHostDidFlushLayers.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
+ * WebProcess/WebPage/LayerTreeHost.h:
+ Add setShouldNotifyAfterNextScheduledLayerFlush.
-2010-07-08 Anders Carlsson <andersca@apple.com>
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ Add a m_notifyAfterScheduledLayerFlush flag.
- Reviewed by Sam Weinig.
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ Initialize m_notifyAfterScheduledLayerFlush to false.
- Add NetscapePlugin class
- https://bugs.webkit.org/show_bug.cgi?id=41919
+ (WebKit::LayerTreeHostMac::setShouldNotifyAfterNextScheduledLayerFlush):
+ Set m_notifyAfterScheduledLayerFlush to true.
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Added.
- (WebKit::NetscapePlugin::NetscapePlugin):
- (WebKit::NetscapePlugin::~NetscapePlugin):
- (WebKit::NetscapePlugin::initialize):
- (WebKit::NetscapePlugin::destroy):
- (WebKit::NetscapePlugin::paint):
- (WebKit::NetscapePlugin::geometryDidChange):
- * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added.
- (WebKit::NetscapePlugin::create):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
+ (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback):
+ If m_notifyAfterScheduledLayerFlush is true, call DrawingAreaImpl::layerHostDidFlushLayers.
-2010-07-08 Anders Carlsson <andersca@apple.com>
+2011-02-18 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Sam Weinig.
+ Reviewed by Adele Peterson.
- Enable notImplemented messages by default and have the various clients explicitly disable them.
+ REGRESSION (WebKit2): Wrong frame printed on tivofaq.com
+ https://bugs.webkit.org/show_bug.cgi?id=54677
+ <rdar://problem/8994133>
- * Shared/NotImplemented.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
- * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
- * WebProcess/WebCoreSupport/WebDragClient.cpp:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
-
-2010-07-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add stubbed out NPN functions
- https://bugs.webkit.org/show_bug.cgi?id=41917
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: Added.
- (WebKit::initializeBrowserFuncs):
- (WebKit::netscapeBrowserFuncs):
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h: Added.
- * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp:
- (WebKit::NetscapePluginModule::tryLoad):
+ (WebKit::area): Use visible frame bounds.
+ (WebKit::findLargestFrameInFrameSet): Added a comment explaining what we're up to here.
+ WebKit2 shouldn't be making policy decisions for the client, but it gets dangerously close
+ to that. We used to expose the same as WK1 API though.
-2010-07-08 Anders Carlsson <andersca@apple.com>
+2011-02-18 Balazs Kelemen <kbalazs@webkit.org>
- Fix Windows build.
+ Unreviwed.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
-
-2010-07-08 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Spelling and style correction
- https://bugs.webkit.org/show_bug.cgi?id=41891
-
- Correcting a spelling and a style mistakes.
-
- * UIProcess/Launcher/ProcessLauncher.h:
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
-
-2010-07-08 Anders Carlsson <andersca@apple.com>
+ Remove CleanupHandler since we do not use it anymore.
- Reviewed by Sam Weinig.
-
- Implement more of NetscapePluginModule
- https://bugs.webkit.org/show_bug.cgi?id=41910
+ * Shared/qt/CleanupHandler.cpp: Removed.
+ * Shared/qt/CleanupHandler.h: Removed.
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
- (WebKit::NetscapePluginModule::create):
- (WebKit::NetscapePluginModule::load):
- * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
- * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp: Added.
- (WebKit::NetscapePluginModule::unload):
- (WebKit::pointerToFunction):
- (WebKit::NetscapePluginModule::tryLoad):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
+2011-02-18 Alejandro G. Castro <alex@igalia.com>
-2010-07-08 Anders Carlsson <andersca@apple.com>
+ Fix GTK build by fixing signature of platformPaint(), required after r78956.
- Reviewed by Sam Weinig.
-
- Add stubbed out NetscapePluginModule class
- https://bugs.webkit.org/show_bug.cgi?id=41901
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp: Added.
- (WebKit::NetscapePluginModule::NetscapePluginModule):
- * WebProcess/Plugins/Netscape/NetscapePluginModule.h: Added.
- (WebKit::NetscapePluginModule::create):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
-
-2010-07-08 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Move socket objects to connection's thread
- https://bugs.webkit.org/show_bug.cgi?id=41897
+ * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
+ (WebKit::NetscapePlugin::platformPaint):
- To receive network related notifications in the WorkQueue thread, the
- QLocalSocket instances must be moved to that thread.
+2011-02-17 Dan Bernstein <mitz@apple.com>
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- (CoreIPC::Connection::open):
- * Platform/WorkQueue.h:
- * Platform/qt/WorkQueueQt.cpp:
- (WorkQueue::moveSocketToWorkThread):
+ LLVM Compiler build fix.
-2010-07-08 Alice Liu <alice.liu@apple.com>
+ * UIProcess/WebResourceCacheManagerProxy.h:
+ * WebProcess/ResourceCache/WebResourceCacheManager.h:
- Reviewed by Sam Weinig.
+2011-02-17 Simon Fraser <simon.fraser@apple.com>
- https://bugs.webkit.org/show_bug.cgi?id=41653
- Add new WebKitTestRunner project for Windows
+ Fix Windows and Qt builds by fixing signature of platformPaint().
- * win/WebKit2Generated.make: Add files needed for WebKitTestRunner
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
+ (WebKit::NetscapePlugin::platformPaint):
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::NetscapePlugin::platformPaint):
-2010-07-08 Anders Carlsson <andersca@apple.com>
+2011-02-17 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sam Weinig.
- Add a GetPluginHostConnection WebProcessProxy message
- https://bugs.webkit.org/show_bug.cgi?id=41893
+ WebKit2 snapshots don't show plug-ins
+ https://bugs.webkit.org/show_bug.cgi?id=54716
- * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
- (WebProcessProxyMessage::):
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::getPluginHostConnection):
- (WebKit::WebProcessProxy::didReceiveMessage):
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
- * UIProcess/WebProcessProxy.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
-
-2010-07-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add more parameters to Plugin::initialize
- https://bugs.webkit.org/show_bug.cgi?id=41890
-
- * WebProcess/Plugins/DummyPlugin.cpp:
- (WebKit::DummyPlugin::initialize):
- * WebProcess/Plugins/DummyPlugin.h:
- * WebProcess/Plugins/Plugin.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
-
-2010-07-08 Anders Carlsson <andersca@apple.com>
-
- Fix build.
+ Fix WebKit2 plug-ins to do a software paint for
+ snapshotting.
- * WebProcess/Plugins/DummyPlugin.h:
-
-2010-07-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a Plugin abstract base class and a DummyPlugin that implements it
- https://bugs.webkit.org/show_bug.cgi?id=41885
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add files.
+ * PluginProcess/PluginControllerProxy.h:
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::snapshot): Respond to the snapshot
+ message by getting a sharable bitmap from the plugin, and returning
+ a handle to it in the reply.
- * WebProcess/Plugins/DummyPlugin.cpp: Added.
- (WebKit::DummyPlugin::paint):
- Paint a red rectangle.
+ * PluginProcess/PluginControllerProxy.messages.in: Add the snapshot
+ message.
- * WebProcess/Plugins/Plugin.cpp: Added.
- * WebProcess/Plugins/Plugin.h: Added.
- Add Plugin, an abstract baseclass.
-
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::PluginView):
- (WebKit::PluginView::~PluginView):
- (WebKit::PluginView::paint):
- (WebKit::PluginView::viewGeometryDidChange):
- * WebProcess/Plugins/PluginView.h:
- (WebKit::PluginView::create):
- Add a Plugin member function and forward PluginView calls to it.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
- Make a DummyPlugin and pass it to the PluginView.
-
- * win/WebKit2.vcproj:
- Add files.
+ * Shared/Plugins/PluginQuirks.h:
+ * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
+ (WebKit::NetscapePluginModule::determineQuirks): Add a quirk for the
+ ability to be snapshotted, which we only set for Flash at the moment.
-2010-07-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add stubbed out PluginView class
- https://bugs.webkit.org/show_bug.cgi?id=41879
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add PluginView.cpp and PluginView.h
-
- * WebProcess/Plugins/PluginView.cpp: Added.
- (WebKit::PluginView::PluginView):
- (WebKit::PluginView::~PluginView):
- (WebKit::PluginView::setFrameRect):
- (WebKit::PluginView::paint):
- (WebKit::PluginView::viewGeometryDidChange):
- (WebKit::PluginView::invalidateRect):
- Stub out these functions.
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::snapshot): Create a shareable bitmap, and
+ paint into it.
+ (WebKit::NetscapePlugin::supportsSnapshotting): Test the quirk.
- * WebProcess/Plugins/PluginView.h: Added.
- (WebKit::PluginView::create):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
- Create a plug-in view.
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPaint): Allow the paint to happen
+ if we're snapshotting, even when using the CoreAnimation drawing
+ model.
- * win/WebKit2.vcproj:
- Add PluginView.cpp and PluginView.h.
-
-2010-07-08 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- WebKit2 on Windows needs a version resource
- https://bugs.webkit.org/show_bug.cgi?id=41870
- <rdar://problem/8170501>
-
- * win/WebKit2.rc: Added.
- * win/WebKit2.vcproj:
- * win/WebKit2WebProcess.rc: Added.
- * win/WebKit2WebProcess.vcproj:
-
-2010-07-08 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=41874
- Add stubbed out WebBackForwardListProxy
-
- - No behavior change.
- - Rename the old WebBackForwardListProxy to WebBackForwardList since it
- will be the implementation, not the proxy.
-
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKBackForwardList.cpp:
- * UIProcess/API/C/WKPage.cpp:
- * UIProcess/WebBackForwardList.cpp: Copied from UIProcess/WebBackForwardListProxy.cpp.
- * UIProcess/WebBackForwardList.h: Copied from UIProcess/WebBackForwardListProxy.h.
- (WebKit::WebBackForwardList::create):
- * UIProcess/WebBackForwardListProxy.cpp: Removed.
- * UIProcess/WebBackForwardListProxy.h: Removed.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::backForwardList):
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/WebBackForwardListProxy.cpp: Added.
- * WebProcess/WebPage/WebBackForwardListProxy.h: Added.
- (WebKit::WebBackForwardListProxy::create):
- * win/WebKit2.vcproj:
-
-2010-07-08 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Pass Page to BackForwardControllerClient::createBackForwardList since it
- may be called before implementations of BackForwardControllerClient have
- access to a Page.
-
- * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp:
- (WebKit::WebBackForwardControllerClient::createBackForwardList):
- * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h:
-
-2010-07-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix fallout from Darin's adoptRef assertion changes.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::sharedProcessContext):
- (WebKit::WebContext::sharedThreadContext):
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::createMainFrame):
- (WebKit::WebFrame::createSubframe):
- (WebKit::WebFrame::create):
- (WebKit::WebFrame::WebFrame):
- * WebProcess/WebPage/WebFrame.h:
-
-2010-07-08 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Mark Rowe.
-
- WebKit2 should enable DEP (Data Execution Prevention) on Windows via /NXCOMPAT
- https://bugs.webkit.org/show_bug.cgi?id=41837
- <rdar://problem/8170505>
-
- * win/WebKit2WebProcess.vcproj:
-
-2010-07-08 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
- Convert BackForwardList to an abstract base class and add BackForwardListImpl
- as the concrete implementation of it.
-
- * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp:
- (WebKit::WebBackForwardControllerClient::createBackForwardList):
-
-2010-07-08 Luiz Agostini <luiz@webkit.org>, Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Antti Koivisto.
-
- [Qt] Improve QtWebkit2 secondary process launching procedure
- https://bugs.webkit.org/show_bug.cgi?id=41853
-
- Changing secondary process launching procedure to make sure that the method
- ProcessLauncher::didFinishLaunchingProcess will only be called after secondary
- process has been launched and the connection has been stablished between the
- UIProcess and WebProcess.
-
- This solves the timing issues ocasionaly observed when launching MiniBrowser.
-
- QLocalServer object and related code has been removed from the class Connection.
- Server instances of the Connection class now get the QLocalSocket via ProcessLauncher.
-
- * Platform/CoreIPC/Connection.h:
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- (CoreIPC::Connection::platformInitialize):
- (CoreIPC::Connection::platformInvalidate):
- (CoreIPC::Connection::open):
-
- Using QProcess* as PlatformProcessIdentifier.
-
- * Platform/PlatformProcessIdentifier.h:
-
- A new singleton class named ProcessLauncherHelper was created to handle the QLocalServer
- object used to receive connections. This class launches the process and waits for it to connect
- before calling ProcessLauncher::didFinishLaunchingProcess.
-
- * UIProcess/Launcher/ProcessLauncher.h:
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- (WebKit::ProcessLauncherHelper::launch):
- (WebKit::ProcessLauncherHelper::takePendingConnection):
- (WebKit::ProcessLauncherHelper::ProcessLauncherHelper):
- (WebKit::ProcessLauncherHelper::instance):
- (WebKit::ProcessLauncherHelper::newConnection):
- (WebKit::ProcessLauncher::launchProcess):
- (WebKit::ProcessLauncher::terminateProcess):
- (_qt_takePendingConnection):
-
-2010-07-08 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Initial WebKit2 implementation
- https://bugs.webkit.org/show_bug.cgi?id=40233
-
- Random build fixes.
-
- * Shared/qt/WebEventFactoryQt.cpp:
- * UIProcess/API/qt/ClientImpl.cpp:
- * UIProcess/API/qt/qwkpage.cpp:
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/DrawingAreaProxy.h:
- * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
- * WebProcess/WebProcess.cpp:
-
-2010-07-07 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Terminate QtWebProcess on exit
- https://bugs.webkit.org/show_bug.cgi?id=41766
-
- Call WKPageTerminate to terminate QtWebProcess on exit.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::~QWKPage):
-
-2010-07-07 Steve Falkenburg <sfalken@apple.com>
-
- Windows release build fix.
- Don't generate public symbols since this is exceeding address space on our builders.
-
- * win/WebKit2.vcproj:
-
-2010-07-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
- Add basic piping for BackForwardControllerClient.
-
- - Add very basic WebBackForwardControllerClient.
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp: Added.
- (WebKit::WebBackForwardControllerClient::backForwardControllerDestroyed):
- (WebKit::WebBackForwardControllerClient::createBackForwardList):
- * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h: Added.
- (WebKit::WebBackForwardControllerClient::WebBackForwardControllerClient):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- * win/WebKit2.vcproj:
-
-2010-07-07 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Initial WebKit2 implementation
- https://bugs.webkit.org/show_bug.cgi?id=40233
+ * WebProcess/Plugins/Plugin.h: New snapshot method.
- Add Qt section to the prefix header.
-
- * WebKit2Prefix.h:
-
-2010-07-07 Antti Koivisto <koivisto@iki.fi>
-
- Not reviewed.
-
- Fix build, remove some left over debugging code.
-
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- (CoreIPC::Connection::readyReadHandler):
- (CoreIPC::Connection::sendOutgoingMessage):
-
-2010-07-07 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Initial WebKit2 implementation
- https://bugs.webkit.org/show_bug.cgi?id=40233
-
- Implement WebPage for Qt.
-
- * WebProcess/WebPage/qt/WebPageQt.cpp: Added.
- (WebKit::WebPage::platformInitialize):
- (WebKit::):
- (WebKit::WebPage::interpretKeyEvent):
-
-
-2010-07-06 Anders Carlsson <andersca@apple.com>
-
- Fix Windows WebKit2 build.
-
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- (WebKit::PluginInfoStore::mimeTypeFromExtension):
-
-2010-07-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add PluginInfoStore::findPlugin
- https://bugs.webkit.org/show_bug.cgi?id=41719
-
- * UIProcess/Plugins/PluginInfoStore.cpp:
- (WebKit::PluginInfoStore::getPlugins):
- (WebKit::PluginInfoStore::findPluginForMIMEType):
- (WebKit::PluginInfoStore::findPluginForExtension):
- (WebKit::pathExtension):
- (WebKit::PluginInfoStore::findPlugin):
- * UIProcess/Plugins/PluginInfoStore.h:
- * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
- (WebKit::PluginInfoStore::mimeTypeFromExtension):
-
-2010-07-06 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add injected bundle API for exposing console messages.
-
- - Split WKBundlePageClient into multiple clients matching WKPage.
- (For now we only have a loader client and a UI client)
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageSetLoaderClient):
- (WKBundlePageSetUIClient):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Removed.
- * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Removed.
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: Copied from WebProcess/InjectedBundle/InjectedBundlePageClient.cpp.
- (WebKit::InjectedBundlePageLoaderClient::InjectedBundlePageLoaderClient):
- (WebKit::InjectedBundlePageLoaderClient::initialize):
- (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame):
- (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
- * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: Copied from WebProcess/InjectedBundle/InjectedBundlePageClient.h.
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Added.
- (WebKit::InjectedBundlePageUIClient::InjectedBundlePageUIClient):
- (WebKit::InjectedBundlePageUIClient::initialize):
- (WebKit::InjectedBundlePageUIClient::addMessageToConsole):
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Added.
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::addMessageToConsole):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
- (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::initializeInjectedBundleLoaderClient):
- (WebKit::WebPage::initializeInjectedBundleUIClient):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::injectedBundleLoaderClient):
- (WebKit::WebPage::injectedBundleUIClient):
- * mac/WebKit2.exp:
- * win/WebKit2.vcproj:
-
-2010-07-06 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=41707
- Add ability to dump frame inner text for the test runner
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameCopyInnerText):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::innerText):
- * WebProcess/WebPage/WebFrame.h:
- * mac/WebKit2.exp:
-
-2010-07-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Only export a single WebKitMain function for the Web Process to call
- https://bugs.webkit.org/show_bug.cgi?id=41702
-
- * Shared/CommandLine.h:
- Add windows CommandLine::parse overload.
-
- * Shared/win/CommandLineWin.cpp: Added.
- (WebKit::CommandLine::parse):
- Move parse overload from WebProcess/win/WebProcessMain.cpp.
-
- * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
- (WebKit::ProcessLauncher::launchProcess):
- Pass the right mode to.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Update for moves.
+ * WebProcess/Plugins/PluginProxy.h:
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::snapshot): Send a sync message to the plugin process,
+ asking for a snapshot in a shareble bitmap.
- * WebProcess/Launching/mac/WebProcessMain.mm: Removed.
- * WebProcess/Launching/win/WebProcessWinMain.cpp: Removed.
- * WebProcess/WebKitMain.cpp: Added.
- (WebKitMain):
- (enableTerminationOnHeapCorruption):
- Add WebKitMain functions for Mac and Windows.
-
- * WebProcess/WebProcessMain.h: Added.
- * WebProcess/mac/WebProcessMainMac.mm: Added.
- (WebKit::WebProcessMain):
- Add Mac version of WebProcessMain.
-
- * WebProcess/win/WebProcessMain.cpp: Removed.
- * WebProcess/win/WebProcessMain.h: Removed.
- * WebProcess/win/WebProcessMainWin.cpp: Added.
- (WebKit::WebProcessMain):
- Add Windows version of WebProcessMain.
-
- * mac/MainMac.cpp: Added.
- (main):
- Add Mac WebProcess main function.
-
- * mac/WebKit2.exp:
- Remove functions that we don't need to export.
-
- * win/MainWin.cpp: Added.
- (wWinMain):
- Add Windows WebProcess main function.
-
- * win/WebKit2.vcproj:
- * win/WebKit2WebProcess.vcproj:
- Update for moves.
-
-2010-07-05 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] WebKit2 triple click
- https://bugs.webkit.org/show_bug.cgi?id=41629
-
- QtWebkit2 triple click implementation.
-
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::mousePressEvent):
- (QWKPagePrivate::mouseDoubleClickEvent):
- (QWKPage::timerEvent):
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/API/qt/qwkpage_p.h:
-
-2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Antti Koivisto.
-
- [Qt] Initial WebKit2 implementation
- https://bugs.webkit.org/show_bug.cgi?id=40233
-
- Add stubs
-
- * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp: Copied from WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp.
- (WebKit::PluginInfoStore::pluginDirectories):
- (WebKit::PluginInfoStore::pluginPathsInDirectory):
- (WebKit::PluginInfoStore::getPluginInfo):
- (WebKit::PluginInfoStore::shouldUsePlugin):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: Added.
- (WebKit::InjectedBundle::load):
-
-2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Antti Koivisto.
-
- [Qt] Initial WebKit2 implementation
- https://bugs.webkit.org/show_bug.cgi?id=40233
-
- Add WebErrorsQt
-
- * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Added.
- (WebKit::):
- (WebKit::cancelledError):
- (WebKit::blockedError):
- (WebKit::cannotShowURLError):
- (WebKit::interruptForPolicyChangeError):
- (WebKit::cannotShowMIMETypeError):
- (WebKit::fileDoesNotExistError):
-
-2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Antti Koivisto.
-
- [Qt] Initial WebKit2 implementation
- https://bugs.webkit.org/show_bug.cgi?id=40233
-
- Add Qt C API integration.
-
- * UIProcess/API/cpp/qt/WKStringQt.cpp: Added.
- (WKStringCreateWithQString):
- (WKStringCopyQString):
- * UIProcess/API/cpp/qt/WKStringQt.h: Added.
- * UIProcess/API/cpp/qt/WKURLQt.cpp: Added.
- (WKURLCreateWithQUrl):
- (WKURLCopyQUrl):
- * UIProcess/API/cpp/qt/WKURLQt.h: Added.
-
-2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Antti Koivisto.
-
- [Qt] Initial WebKit2 implementation
- https://bugs.webkit.org/show_bug.cgi?id=40233
-
- Add the Qt process launcher.
-
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Added.
- (WebKit::ProcessLauncher::launchProcess):
- (WebKit::ProcessLauncher::terminateProcess):
- (WebKit::webThreadBody):
- (WebKit::ProcessLauncher::createWebThread):
- (webProcessMain):
-
-2010-07-05 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Initial WebKit2 implementation
- https://bugs.webkit.org/show_bug.cgi?id=40233
+ * WebProcess/Plugins/PluginView.h:
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::paint): Use the snapshot if we have one, to avoid
+ calling into the plugin to draw, which may run script.
- Implement ChunkedUpdateDrawingArea + Proxy for Qt. Not built yet.
-
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
- * UIProcess/qt: Added.
- * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp: Added.
- (WebKit::ChunkedUpdateDrawingAreaProxy::page):
- (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
- (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
- (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
- (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
- * WebProcess/WebPage/qt: Added.
- * WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp: Added.
- (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
-
-2010-07-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add simple command line parser and pass mode argument to the web process
- https://bugs.webkit.org/show_bug.cgi?id=41586
-
- * Shared/CommandLine.h:
- (WebKit::CommandLine::operator[]):
- Add CommandLine class.
-
- * Shared/mac/CommandLineMac.cpp:
- (WebKit::CommandLine::parse):
- Implement Mac version of CommandLine::parse.
-
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess):
- Add "legacywebprocess" mode to the posix_spawn call.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Add CommandLine to the xcode project.
-
- * WebProcess/Launching/mac/WebProcessMain.mm:
- (webProcessMain):
- (main):
- Parse the command line and check the mode.
-
-2010-07-04 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Mark Rowe.
-
- WebProcess crashes in release for simple layout tests
- https://bugs.webkit.org/show_bug.cgi?id=41575
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageCopyRenderTreeExternalRepresentation): ref external representation StringImpl*
- before taking it out of its parent String, to avoid returning freed memory.
-
-2010-07-03 Maciej Stachowiak <mjs@apple.com>
-
- Rubber stamped by Anders Carlsson.
-
- Add stdint.h include to fix WebKitTestRunner build.
-
- * UIProcess/API/C/WKPage.h:
-
-2010-07-02 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Wrong method name in file Connection.h
- https://bugs.webkit.org/show_bug.cgi?id=41536
-
- Method openConnectionHandler was spelled as openConnection in class Connection.
-
- * Platform/CoreIPC/Connection.h:
-
-2010-07-02 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Sam Weinig.
-
- Adding notification and touch events methods to WebChromeClient
- https://bugs.webkit.org/show_bug.cgi?id=41527
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::notificationPresenter):
- (WebKit::WebChromeClient::needTouchEvents):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
-
-2010-07-02 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Sam Weinig.
+ (WebKit::PluginView::notifyWidget): Generate the snapshot before
+ a flattening paint, and throw it away after.
- Removing CoreFoundation.h include from WKFrame.h
- https://bugs.webkit.org/show_bug.cgi?id=41528
-
- * UIProcess/API/C/WKFrame.h:
-
-2010-07-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=41540
- WebKit2: Add InjectedCode API to get a list of subframes
-
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameCopyChildFrames):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::childFrameRef):
- (WebKit::childFrameDeref):
- (WebKit::WebFrame::childFrames):
- * WebProcess/WebPage/WebFrame.h:
- * mac/WebKit2.exp:
-
-2010-07-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Turn off the Objective-C garbage collection for the WebProcess.
-
- * Configurations/WebProcess.xcconfig:
- * WebProcess/Launching/mac/WebProcessMain.mm:
- (main): Assert that GC is off.
-
-2010-07-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- There is no longer a reason to check that the process is valid when posting
- a message to the bundle, the process code will take care of that for us.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::postMessageToInjectedBundle):
-
-2010-07-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
+2011-02-17 Jessie Berlin <jberlin@apple.com>
- Use send instead of connection()->send(), now that connections() are created
- asynchronously it can be null at this point and the message needs to be queued.
-
- * UIProcess/mac/WebProcessProxyMac.mm:
- (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
-
-2010-07-01 Steve Falkenburg <sfalken@apple.com>
-
- Even more Windows build fixing.
- Removed bogus post-build event commands.
- Removed unnecessary link libraries.
-
- * win/WebKit2.vcproj:
-
-2010-07-01 Steve Falkenburg <sfalken@apple.com>
-
- Fix Windows while not breaking Qt (didn't realize this was building for Qt).
-
- * WebProcess/WebProcess.cpp:
-
-2010-07-01 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
-
- * win/WebKit2Generated.make:
-
-2010-07-01 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
-
- * WebProcess/WebProcess.cpp:
-
-2010-07-01 Sam Weinig <sam@webkit.org>
-
- Reviewed by Jon Honeycutt.
-
- Make WebKit2 compile (though not work) on Leopard.
-
- * Platform/WorkQueue.h:
- * Platform/mac/WorkQueueMac.cpp:
- (WorkQueue::EventSource::EventSource):
- (WorkQueue::scheduleWork):
- (WorkQueue::registerMachPortEventHandler):
- (WorkQueue::unregisterMachPortEventHandler):
- (WorkQueue::platformInitialize):
- (WorkQueue::platformInvalidate):
- * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
- (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
- * UIProcess/mac/WebProcessProxyMac.mm:
- (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
- (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
- (WebKit::LayerBackedDrawingArea::setNeedsDisplay):
- * WebProcess/WebPage/LayerBackedDrawingArea.h:
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- (WebKit::LayerBackedDrawingArea::platformClear):
- (WebKit::LayerBackedDrawingArea::attachCompositingContext):
-
-2010-07-01 Sam Weinig <sam@webkit.org>
+ Reviewed by Adam Roben.
- Reviewed by Anders Carlsson.
+ WebKit2: The CFNetwork Cache should be shared between the UI Process and the Web Process on
+ Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=54683
- https://bugs.webkit.org/show_bug.cgi?id=41491
- Add first stab at back/forward list API.
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+
+ * UIProcess/win/WebContextWin.cpp:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ Make sure to remove the ending slash, as CFNetwork does not recognize the directory with
+ that slash.
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKBackForwardList.cpp: Added.
- * UIProcess/API/C/WKBackForwardList.h: Added.
- * UIProcess/API/C/WKBackForwardListItem.cpp: Added.
- * UIProcess/API/C/WKBackForwardListItem.h: Added.
- * UIProcess/API/C/WKBase.h:
- * UIProcess/API/C/WKPage.cpp:
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/C/WebKit2.h:
- * UIProcess/WebBackForwardListItem.cpp: Added.
- * UIProcess/WebBackForwardListItem.h: Added.
- * UIProcess/WebBackForwardListProxy.cpp: Added.
- * UIProcess/WebBackForwardListProxy.h: Added.
- * UIProcess/WebPageProxy.cpp:
- * UIProcess/WebPageProxy.h:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ Create a cache using the path, disk capacity, and memory capacity and set it as default.
-2010-07-01 Anders Carlsson <andersca@apple.com>
+2011-02-17 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- Make process launching asynchronous
- https://bugs.webkit.org/show_bug.cgi?id=41489
-
- * Platform/CoreIPC/Connection.h:
- Make OutgoingMessage public.
-
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
- Don't wait for a paint reply when the process is starting up.
-
- * UIProcess/Launcher/ProcessLauncher.cpp: Added.
- Add new ProcessLauncher class.
-
- (WebKit::processLauncherWorkQueue):
- Returns the work queue where process launching will happen.
+ Web and/or plug-in process crashes when NPN_Evaluate destroys the plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=54686
+ <rdar://problem/9013384>
- (WebKit::ProcessLauncher::ProcessLauncher):
- Schedule launching the process.
+ This patch fixes two bugs with a plug-in calling NPN_Evaluate to destroy itself:
- (WebKit::ProcessLauncher::didFinishLaunchingProcess):
- Call the client method.
-
- (WebKit::ProcessLauncher::invalidate):
- Set the client to 0.
+ - The PluginProxy object would be destroyed in the middle of PluginProxy::evaluate.
+ This would cause the web process to crash.
- * UIProcess/Launcher/ProcessLauncher.h: Added.
- * UIProcess/Launcher/WebProcessLauncher.h: Removed.
- Rename WebProcessLauncher.h -> ProcessLauncher.h
+ - The PluginControllerProxy would call NPP_Destroy while the plug-in was busy running
+ code. This would cause the plug-in process to crash.
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm: Added.
- * UIProcess/Launcher/mac/WebProcessLauncher.mm: Removed.
- Rename WebProcessLauncher.mm -> ProcessLauncherMac.mm, update for ProcessLauncher changes.
+ To fix this, we add protectPluginFromDestruction/unprotectPluginFromDestruction to
+ PluginControllerProxy and use it to defer calling destroy() in the plug-in process,
+ and defer actually destroying the plug-in in the web process.
- * UIProcess/Launcher/win/ProcessLauncherWin.cpp: Added.
- * UIProcess/Launcher/win/WebProcessLauncher.cpp: Removed.
- Rename WebProcessLauncher.cpp -> ProcessLauncherWin.cpp, update for ProcessLauncher changes.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::~WebProcessProxy):
- Delete any unsent messages.
+ https://bugs.webkit.org/show_bug.cgi?id=54171 tracks adding a test for this.
- (WebKit::WebProcessProxy::connect):
- Use the new ProcessLauncher.
-
- (WebKit::WebProcessProxy::sendMessage):
- If we're waiting for the process to launch, the messages need to be enqueued.
-
- (WebKit::WebProcessProxy::didFinishLaunching):
- Send the outgoing messages.
-
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Update for renames.
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ (WebKit::PluginControllerProxy::destroy):
+ (WebKit::PluginControllerProxy::evaluate):
+ (WebKit::PluginControllerProxy::protectPluginFromDestruction):
+ (WebKit::PluginControllerProxy::unprotectPluginFromDestruction):
+ * PluginProcess/PluginControllerProxy.h:
+ (WebKit::PluginControllerProxy::asPluginController):
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::destroyPluginControllerProxy):
+ (WebKit::WebProcessConnection::didReceiveMessage):
+ (WebKit::WebProcessConnection::didReceiveSyncMessage):
+ * PluginProcess/WebProcessConnection.h:
+ (WebKit::WebProcessConnection::connection):
+ * WebProcess/Plugins/PluginController.h:
+ (WebKit::PluginController::PluginDestructionProtector::PluginDestructionProtector):
+ (WebKit::PluginController::PluginDestructionProtector::~PluginDestructionProtector):
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::evaluate):
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::protectPluginFromDestruction):
+ (WebKit::PluginView::unprotectPluginFromDestruction):
+ * WebProcess/Plugins/PluginView.h:
-2010-07-01 Simon Fraser <simon.fraser@apple.com>
+2011-02-17 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
+ Build fix.
- Get accelerated compositing working with webkit2
- https://bugs.webkit.org/show_bug.cgi?id=41084
-
- Start up the CA render server in the UI process (currently, at launch time), and
- pass the server port over to the web process for use by the layer-backed drawing area.
-
- Fix some style issues pointed out by Dan Bernstein.
-
- Implement the WebChromeClient methods that pass the attach/detach calls through
- to the drawing area.
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::performDictionaryLookupAtLocation):
- * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _startAcceleratedCompositing:]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::WebProcessProxy):
- (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
- * UIProcess/WebProcessProxy.h:
- * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
- * UIProcess/mac/WebProcessProxyMac.mm: Added.
- (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::attachRootGraphicsLayer):
- (WebKit::WebChromeClient::scheduleCompositingLayerSync):
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
- (WebKit::LayerBackedDrawingArea::attachCompositingContext):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::WebProcess):
- (WebKit::WebProcess::didReceiveMessage):
- * WebProcess/WebProcess.h:
- (WebKit::WebProcess::compositingRenderServerPort):
+2011-02-17 Sam Weinig <sam@webkit.org>
-2010-07-01 Simon Fraser <simon.fraser@apple.com>
+ Reviewed by Maciej Stachowiak.
- Reviewed by Anders Carlsson.
+ WebKit2: Support Dictionary popup
+ <rdar://problem/7660670>
- Get accelerated compositing working with webkit2
- https://bugs.webkit.org/show_bug.cgi?id=41084
-
- Add a new kind of DrawingArea, which is a LayerBackedDrawingArea, which will be used
- when the page goes into accelerated compositing mode. It is not wired up yet.
+ * Shared/TextInfo.cpp: Added.
+ (WebKit::TextInfo::encode):
+ (WebKit::TextInfo::decode):
+ * Shared/TextInfo.h: Added.
+ (WebKit::TextInfo::TextInfo):
+ Add class to represent the location and style of a run of text.
- * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: New 'attach' and 'detach' messages
- related to accelerated compositing.
+ * UIProcess/PageClient.h:
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::didPerformDictionaryLookup):
+ Invoke the dictionary popup.
* UIProcess/API/mac/WKView.mm:
- (-[WKView _startAcceleratedCompositing:]):
- (-[WKView _stopAcceleratedCompositing]):
- * UIProcess/API/mac/WKViewInternal.h:
- Add a subview of the WKView which has layer-backing enabled, and put the drawing area's
- layer inside of that.
-
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
- (WebKit::ChunkedUpdateDrawingAreaProxy::attachCompositingContext):
- (WebKit::ChunkedUpdateDrawingAreaProxy::detachCompositingContext): These methods will never be called
- on the ChunkedUpdateDrawingArea. Stub them out.
-
- * UIProcess/DrawingAreaProxy.h:
- Add attachCompositingContext() and detachCompositingContext() methods, and a new drawing area
- type to the enum.
-
- * UIProcess/LayerBackedDrawingAreaProxy.cpp: Added.
- * UIProcess/LayerBackedDrawingAreaProxy.h: Added.
- * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: Added.
-
- * WebKit2.xcodeproj/project.pbxproj: Add LayerBackedDrawingArea files.
-
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: Add virtual methods stubs.
-
- * WebProcess/WebPage/DrawingArea.cpp:
- (WebKit::DrawingArea::create): Create a LayerBackedDrawingArea if asked.
- * WebProcess/WebPage/DrawingArea.h: New LayerBackedDrawingAreaType type, and new virtual
- methods related to accelerated compositing.
-
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp: Added.
- * WebProcess/WebPage/LayerBackedDrawingArea.h: Added.
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: Added.
-
-2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Rubberstamped by Sam Weinig.
-
- Export symbols on Linux with GCC, like JSC does.
-
- * UIProcess/API/C/WKBase.h:
- * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
-
-2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Antti Koivisto.
-
- [Qt] Initial WebKit2 implementation
- https://bugs.webkit.org/show_bug.cgi?id=40233
-
- Add implementation of the UI and loader client for Qt.
-
- * UIProcess/API/qt/qwkpage.cpp:
- * UIProcess/API/qt/ClientImpl.cpp: Added.
- (toQWKPage):
- (qt_wk_didStartProvisionalLoadForFrame):
- (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame):
- (qt_wk_didFailProvisionalLoadWithErrorForFrame):
- (qt_wk_didCommitLoadForFrame):
- (qt_wk_didFinishLoadForFrame):
- (qt_wk_didFailLoadWithErrorForFrame):
- (qt_wk_didReceiveTitleForFrame):
- (qt_wk_didFirstLayoutForFrame):
- (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
- (qt_wk_didStartProgress):
- (qt_wk_didChangeProgress):
- (qt_wk_didFinishProgress):
- (qt_wk_didBecomeUnresponsive):
- (qt_wk_didBecomeResponsive):
- (qt_wk_createNewPage):
- (qt_wk_showPage):
- (qt_wk_close):
- (qt_wk_runJavaScriptAlert):
- * UIProcess/API/qt/ClientImpl.h: Added.
-
-2010-07-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Change the CoreIPC connection identifier to be a HANDLE on Windows
- https://bugs.webkit.org/show_bug.cgi?id=41479
-
- * Platform/CoreIPC/Connection.h:
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- (CoreIPC::Connection::createServerAndClientIdentifiers):
- New function that creates a server and client HANDLE.
-
- (CoreIPC::Connection::platformInitialize):
- Don't open the connections here.
-
- (CoreIPC::Connection::readEventHandler):
- (CoreIPC::Connection::open):
-
- * UIProcess/Launcher/win/WebProcessLauncher.cpp:
- (WebKit::webThreadBody):
- Get the handle from the thread.
-
- (WebKit::launchWebProcess):
- Mark the client identifier as inheritable and pass it along to the web process.
-
- * WebProcess/win/WebProcessMain.cpp:
- (WebKit::CommandLine::CommandLine):
- (WebKit::CommandLine::parse):
- (WebKit::CommandLine::operator[]):
- Add simple command line parser.
-
- (WebKit::WebProcessMain):
- Get the handle identifier from the command line.
-
- * WebProcess/win/WebProcessMain.h:
-
-2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Antti Koivisto.
-
- [Qt] Initial WebKit2 implementation
- https://bugs.webkit.org/show_bug.cgi?id=40233
-
- Add initial Qt API for WebKit2
-
- * UIProcess/API/qt/WKView.h: Added.
- * UIProcess/API/qt/qgraphicswkview.cpp: Added.
- (QGraphicsWKViewPrivate::pageRef):
- (QGraphicsWKView::QGraphicsWKView):
- (QGraphicsWKView::~QGraphicsWKView):
- (QGraphicsWKView::page):
- (QGraphicsWKView::paint):
- (QGraphicsWKView::setGeometry):
- (QGraphicsWKView::load):
- (QGraphicsWKView::setUrl):
- (QGraphicsWKView::url):
- (QGraphicsWKView::title):
- (QGraphicsWKView::triggerPageAction):
- (QGraphicsWKView::back):
- (QGraphicsWKView::forward):
- (QGraphicsWKView::reload):
- (QGraphicsWKView::stop):
- (QGraphicsWKView::itemChange):
- (QGraphicsWKView::event):
- (QGraphicsWKView::sizeHint):
- (QGraphicsWKView::inputMethodQuery):
- (QGraphicsWKView::keyPressEvent):
- (QGraphicsWKView::keyReleaseEvent):
- (QGraphicsWKView::hoverMoveEvent):
- (QGraphicsWKView::mouseMoveEvent):
- (QGraphicsWKView::mousePressEvent):
- (QGraphicsWKView::mouseReleaseEvent):
- (QGraphicsWKView::mouseDoubleClickEvent):
- (QGraphicsWKView::wheelEvent):
- (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
- (QGraphicsWKView::visibleRect):
- * UIProcess/API/qt/qgraphicswkview.h: Added.
- * UIProcess/API/qt/qwkpage.cpp: Added.
- (QWKPagePrivate::QWKPagePrivate):
- (QWKPagePrivate::~QWKPagePrivate):
- (QWKPagePrivate::init):
- (QWKPagePrivate::toolTipChanged):
- (QWKPagePrivate::paint):
- (QWKPagePrivate::keyPressEvent):
- (QWKPagePrivate::keyReleaseEvent):
- (QWKPagePrivate::mouseMoveEvent):
- (QWKPagePrivate::mousePressEvent):
- (QWKPagePrivate::mouseReleaseEvent):
- (QWKPagePrivate::mouseDoubleClickEvent):
- (QWKPagePrivate::wheelEvent):
- (QWKPagePrivate::updateAction):
- (QWKPagePrivate::updateNavigationActions):
- (QWKPagePrivate::_q_webActionTriggered):
- (QWKPage::QWKPage):
- (QWKPage::~QWKPage):
- (QWKPage::pageRef):
- (QWKPage::setCreateNewPageFunction):
- (QWKPage::load):
- (QWKPage::setUrl):
- (QWKPage::url):
- (QWKPage::title):
- (QWKPage::setViewportSize):
- (QWKPage::requestZoomRect):
- (QWKPage::triggerAction):
- (QWKPage::action):
- * UIProcess/API/qt/qwkpage.h: Added.
- * UIProcess/API/qt/qwkpage_p.h: Added.
- (QWKPagePrivate::get):
- (QWKPagePrivate::processDidExit):
- (QWKPagePrivate::processDidRevive):
- (QWKPagePrivate::takeFocus):
-
-2010-07-01 John Sullivan <sullivan@apple.com>
-
- Rubber-stamped by Anders Carlsson.
-
- * mac/WebKit2.exp:
- Added _WKFramePolicyListenerDownload and _WKFramePolicyListenerIgnore.
-
-2010-07-01 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r62267.
- http://trac.webkit.org/changeset/62267
- https://bugs.webkit.org/show_bug.cgi?id=41468
-
- broke stuff (Requested by weinig on #webkit).
-
- * UIProcess/API/C/WKBase.h:
- * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
-
-2010-07-01 John Sullivan <sullivan@apple.com>
-
- Rubber-stamped by Sam Weinig.
+ (-[WKView performLookupAtCurrentMouseLocation]):
+ Tell the WebProcess to get get the text under the mouse and cause
+ the dictionary popup to appear.
- * mac/WebKit2.exp:
- Added _WKFramePolicyListenerRelease and _WKFramePolicyListenerRetain.
+ * UIProcess/API/mac/WKViewPrivate.h:
+ Add performLookupAtCurrentMouseLocation.
-2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Antti Koivisto.
-
- [Qt] Initial WebKit2 implementation
- https://bugs.webkit.org/show_bug.cgi?id=40233
-
- Add our event factory for converting Qt events to something WebKit2
- understands.
-
- * Shared/qt/WebEventFactoryQt.cpp: Added.
- (WebKit::mouseButtonForEvent):
- (WebKit::webEventTypeForEvent):
- (WebKit::modifiersForEvent):
- (WebKit::WebEventFactory::createWebMouseEvent):
- (WebKit::WebEventFactory::createWebWheelEvent):
- (WebKit::WebEventFactory::createWebKeyboardEvent):
- * Shared/qt/WebEventFactoryQt.h: Added.
-
-2010-07-01 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Initial WebKit2 implementation
- https://bugs.webkit.org/show_bug.cgi?id=40233
-
- Add UpdateChunk. This one is mmap based, using Qt abstractions.
-
- * Shared/qt: Added.
- * Shared/qt/UpdateChunk.cpp: Added.
- (WebKit::MappedMemory::markUsed):
- (WebKit::MappedMemory::markFree):
- (WebKit::MappedMemory::isFree):
- (WebKit::mapMemory):
- (WebKit::mapFile):
- (WebKit::UpdateChunk::UpdateChunk):
- (WebKit::UpdateChunk::~UpdateChunk):
- (WebKit::UpdateChunk::data):
- (WebKit::UpdateChunk::encode):
- (WebKit::UpdateChunk::decode):
- (WebKit::UpdateChunk::createImage):
- * Shared/qt/UpdateChunk.h: Added.
- (WebKit::UpdateChunk::rect):
- (WebKit::UpdateChunk::size):
-
-2010-07-01 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Initial WebKit2 implementation
- https://bugs.webkit.org/show_bug.cgi?id=40233
-
- Include some stdlib headers to fix linux build.
-
- * Platform/CoreIPC/ArgumentDecoder.cpp:
- * Platform/CoreIPC/ArgumentEncoder.cpp:
- * UIProcess/WebLoaderClient.cpp:
- * UIProcess/WebPageProxy.cpp:
- * UIProcess/WebUIClient.cpp:
-
-2010-07-01 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Initial WebKit2 implementation
- https://bugs.webkit.org/show_bug.cgi?id=40233
-
- Implement CoreIPC::Connection and PlatformProcessIdentifier for Qt. Not built yet.
-
- * Platform/CoreIPC/Connection.h:
- * Platform/CoreIPC/qt: Added.
- * Platform/CoreIPC/qt/ConnectionQt.cpp: Added.
- (CoreIPC::Connection::platformInitialize):
- (CoreIPC::Connection::platformInvalidate):
- (CoreIPC::Connection::newConnectionHandler):
- (CoreIPC::Connection::readyReadHandler):
- (CoreIPC::Connection::openConnection):
- (CoreIPC::Connection::open):
- (CoreIPC::Connection::sendOutgoingMessage):
- * Platform/PlatformProcessIdentifier.h:
-
-2010-07-01 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Initial WebKit2 implementation
- https://bugs.webkit.org/show_bug.cgi?id=40233
-
- Implement WorkQueue for Qt. Not built yet.
-
- * Platform/WorkQueue.h:
- * Platform/qt/WorkQueueQt.cpp: Added.
- (WorkQueue::WorkItemQt::WorkItemQt):
- (WorkQueue::WorkItemQt::~WorkItemQt):
- (WorkQueue::WorkItemQt::execute):
- (WorkQueue::WorkItemQt::timerEvent):
- (WorkQueue::connectSignal):
- (WorkQueue::disconnectSignal):
- (WorkQueue::platformInitialize):
- (WorkQueue::platformInvalidate):
- (WorkQueue::scheduleWork):
-
-2010-07-01 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Initial WebKit2 implementation
- https://bugs.webkit.org/show_bug.cgi?id=40233
-
- Implement RunLoop for Qt. Not built yet.
-
- * Platform/RunLoop.h:
- * Platform/qt: Added.
- * Platform/qt/RunLoopQt.cpp: Added.
- (RunLoop::TimerObject::TimerObject):
- (RunLoop::TimerObject::performWork):
- (RunLoop::TimerObject::wakeUp):
- (RunLoop::TimerObject::timerEvent):
- (RunLoop::run):
- (RunLoop::stop):
- (RunLoop::RunLoop):
- (RunLoop::~RunLoop):
- (RunLoop::wakeUp):
- (RunLoop::TimerBase::timerFired):
- (RunLoop::TimerBase::TimerBase):
- (RunLoop::TimerBase::~TimerBase):
- (RunLoop::TimerBase::start):
- (RunLoop::TimerBase::stop):
- (RunLoop::TimerBase::isActive):
-
-2010-06-30 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=41426
- Add ImmutableArray class and WKArrayRef API to go with it. This will be used
- in a few follow up patches.
-
- * Shared/ImmutableArray.cpp: Added.
- (WebKit::ImmutableArray::ImmutableArray):
- (WebKit::ImmutableArray::~ImmutableArray):
- * Shared/ImmutableArray.h: Added.
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKArray.cpp: Added.
- * UIProcess/API/C/WKArray.h: Added.
- * UIProcess/API/C/WKBase.h:
- * WebKit2.xcodeproj/project.pbxproj:
- * mac/WebKit2.exp:
- * win/WebKit2.vcproj:
-
-2010-06-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add WebProcessProxy::send
- https://bugs.webkit.org/show_bug.cgi?id=41416
-
- * Platform/CoreIPC/Connection.h:
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
- (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
- (WebKit::ChunkedUpdateDrawingAreaProxy::update):
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::postMessageToInjectedBundle):
* UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeWebPage):
- (WebKit::WebPageProxy::reinitializeWebPage):
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::tryClose):
- (WebKit::WebPageProxy::loadURL):
- (WebKit::WebPageProxy::stopLoading):
- (WebKit::WebPageProxy::reload):
- (WebKit::WebPageProxy::goForward):
- (WebKit::WebPageProxy::goBack):
- (WebKit::WebPageProxy::setFocused):
- (WebKit::WebPageProxy::setActive):
- (WebKit::WebPageProxy::mouseEvent):
- (WebKit::WebPageProxy::wheelEvent):
- (WebKit::WebPageProxy::keyEvent):
- (WebKit::WebPageProxy::receivedPolicyDecision):
- (WebKit::WebPageProxy::runJavaScriptInMainFrame):
- (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
- (WebKit::WebPageProxy::preferencesDidChange):
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::WebProcessProxy):
- (WebKit::WebProcessProxy::sendMessage):
- * UIProcess/WebProcessProxy.h:
- (WebKit::WebProcessProxy::connection):
- (WebKit::WebProcessProxy::send):
-
-2010-06-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a private Message class template
- https://bugs.webkit.org/show_bug.cgi?id=41370
-
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::Message::Message):
- (CoreIPC::Connection::Message::arguments):
-
-2010-06-28 John Gregg <johnnyg@google.com>
-
- Unreviewed, build fix (removing merge conflict from previous).
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-06-23 John Gregg <johnnyg@google.com>
-
- Reviewed by Kent Tamura.
-
- add ENABLE_DIRECTORY_UPLOAD build support
- https://bugs.webkit.org/show_bug.cgi?id=41100
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-06-28 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped Geoffrey Garen.
-
- Add WKBundleFrameIsMainFrame to exports file.
-
- * mac/WebKit2.exp:
-
-2010-06-28 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=41288
- WebKit2: Add frame API for InjectedBundle code
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Added.
- (WKBundleFrameIsMainFrame):
- (WKBundleFrameGetURL):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Added.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageGetMainFrame):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::isMainFrame):
- (WebKit::WebFrame::url):
- * WebProcess/WebPage/WebFrame.h:
+ (WebKit::WebPageProxy::performDictionaryLookupAtLocation):
+ (WebKit::WebPageProxy::didPerformDictionaryLookup):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::mainFrame):
- * mac/WebKit2.exp:
- * win/WebKit2.vcproj:
-
-2010-06-27 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Maciej Stachowiak.
-
- Update guards related to blocks to check whether __BLOCKS__ is defined, rather than checking its value.
- This matches how similar checks are performed in system headers, and avoids a compile error when __BLOCKS__
- is not defined.
-
- * UIProcess/API/C/WKPage.cpp:
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/C/WKPagePrivate.h:
-
-2010-06-26 Tony Gentilcore <tonyg@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Add an ENABLE_WEB_TIMING option for enabling Web Timing support.
- https://bugs.webkit.org/show_bug.cgi?id=38924
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-06-25 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
-
- * win/WebKit2.vcproj:
-
-2010-06-25 Ada Chan <adachan@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- Add additional include search paths relative to $(WebKitLibrariesDir) to fix a build.
-
- * win/WebKit2.vcproj:
-
-2010-06-25 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- WKBundlePageRenderTreeExternalRepresentation really needs to be
- WKBundlePageCopyRenderTreeExternalRepresentation so we don't have dangling
- pointers and adhere to naming conventions.
-
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageCopyRenderTreeExternalRepresentation):
- * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
- * mac/WebKit2.exp:
-
-2010-06-24 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
-
- * win/WebKit2.make: Added.
- * win/WebKit2.submit.sln: Added.
-
-2010-06-24 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
-
- * win/WebKit2WebProcess.vcproj:
+ * WebProcess/WebPage/WebPage.messages.in:
+ Pipe messages through.
-2010-06-24 Sam Weinig <sam@webkit.org>
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::characterRangeAtPoint): Fix to return PassRefPtr
+ and not potentially stale pointers.
- Reviewed by Brady Eidson.
+ (WebKit::WebPage::characterIndexForPoint):
+ Change to use a RefPtr.
- Add WKBundlePageRenderTreeExternalRepresentation for WebKitTestRunner.
+ (WebKit::WebPage::performDictionaryLookupAtLocation):
+ Add simple heuristic to get the word at the current point (or the current selection
+ if it is at that point) and grab the style of the word to send the UIProcess.
+ * WebKit2.pro:
* WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageRenderTreeExternalRepresentation):
- * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::renderTreeExternalRepresentation):
- (WebKit::WebPage::getRenderTreeExternalRepresentation):
- * WebProcess/WebPage/WebPage.h:
- * mac/WebKit2.exp:
* win/WebKit2.vcproj:
+ Add new files.
-2010-06-24 John Sullivan <sullivan@apple.com>
-
- Rubber-stamped by Ada Chan.
-
- * mac/WebKit2.exp:
- Added _WKNavigationDataRelease and _WKNavigationDataRetain.
-
-2010-06-24 John Sullivan <sullivan@apple.com>
-
- Rubber-stamped by Anders Carlsson.
-
- * mac/WebKit2.exp:
- Added _WKPageReloadFromOrigin.
-
-2010-06-24 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=41168
- <rdar://problem/8124605>
- Webkit2: Add WKPageReloadFromOrigin() to match old-WebKit functionality
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageReload):
- (WKPageReloadFromOrigin):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::reload):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::reload):
- (WebKit::WebPage::didReceiveMessage):
- * WebProcess/WebPage/WebPage.h:
-
-2010-06-24 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- Fixes <http://webkit.org/b/41158>.
-
- Reviewed by Anders Carlsson.
+2011-02-17 Brian Weinstein <bweinstein@apple.com>
- * Shared/win/UpdateChunk.cpp: Updated header name.
+ Qt build fix.
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: Added.
- (WebKit::PluginInfoStore::pluginDirectories):
- (WebKit::PluginInfoStore::pluginPathsInDirectory):
- (WebKit::PluginInfoStore::getPluginInfo):
- (WebKit::PluginInfoStore::shouldUsePlugin):
- Stubbed these out.
+ * WebKit2.pro: Update after renaming of MemoryCache to ResourceCache.
- * win/WebKit2.vcproj: Added UIProcess/Plugins to the include path for
- all configurations. Added UIProcess/Plugins files to the project.
+2011-02-17 Brian Weinstein <bweinstein@apple.com>
-2010-06-23 Anders Carlsson <andersca@apple.com>
+ Mac build fix.
- Reviewed by Sam Weinig.
+ * WebKit2.xcodeproj/project.pbxproj: Use relative to group instead of absolute paths. Not everyone's home
+ directory is /Users/brian_weinstein.
- Have the UI process compute the plug-in data
- https://bugs.webkit.org/show_bug.cgi?id=41118
+2011-02-16 Brian Weinstein <bweinstein@apple.com>
- * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
- (WebProcessProxyMessage::):
- Add GetPlugin message kind.
+ Reviewed by Brady Eidson.
- * Shared/WebCoreArgumentCoders.h:
- Add argument coders for PluginInfo and MimeClassInfo.
+ WebKit2: Need a way to manage the WebCore Cache
+ https://bugs.webkit.org/show_bug.cgi?id=54501
- * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
- (WebKit::safeCreateCFString):
- (WebKit::PluginInfoStore::pluginPathsInDirectory):
- (WebKit::PluginInfoStore::getPluginInfo):
- Use safeCreateCFString.
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::getPlugins):
- Ask the plug-in info store for the plug-in list.
-
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
- Handle GetPlugins.
-
- * UIProcess/WebProcessProxy.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::objectContentType):
- Implement.
-
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::WebPlatformStrategies::populatePluginCache):
- Send a sync GetPlugins message.
-
-2010-06-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add ArgumentCoder for vectors.
-
- * Platform/CoreIPC/ArgumentCoders.h:
- (CoreIPC::):
-
-2010-06-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Rename WebCoreTypeArgumentMarshalling.h to WebCoreArgumentCoders.h
-
- * Shared/WebCoreArgumentCoders.h: Copied from Shared/WebCoreTypeArgumentMarshalling.h.
- * Shared/WebCoreTypeArgumentMarshalling.h: Removed.
- * Shared/WebEvent.h:
- * Shared/WebNavigationDataStore.h:
- * Shared/WebPreferencesStore.h:
- * Shared/mac/UpdateChunk.cpp:
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- * UIProcess/WebContext.cpp:
- * UIProcess/WebPageProxy.cpp:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- * WebProcess/WebPage/WebPage.cpp:
- * WebProcess/WebProcess.cpp:
-
-2010-06-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- MessageIDs should always have the most significant bit zeroed out
- https://bugs.webkit.org/show_bug.cgi?id=41112
-
- The most significant bit is used by the Mac implementation of CoreIPC, and
- should always be zero in MessageID objects.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::waitForMessage):
- * Platform/CoreIPC/MessageID.h:
- (CoreIPC::MessageID::):
- (CoreIPC::MessageID::MessageID):
- (CoreIPC::MessageID::operator==):
- (CoreIPC::MessageID::fromInt):
- (CoreIPC::MessageID::isSync):
- (CoreIPC::MessageID::stripMostSignificantBit):
- * Platform/CoreIPC/mac/ConnectionMac.cpp:
- (CoreIPC::Connection::sendOutgoingMessage):
- (CoreIPC::createArgumentDecoder):
-
-2010-06-23 John Sullivan <sullivan@apple.com>
-
- Rubber-stamped by Anders Carlsson.
-
- * mac/WebKit2.exp:
- Added yet another symbol needed by Mac clients.
-
-2010-06-23 John Sullivan <sullivan@apple.com>
-
- Rubber-stamped by Anders Carlsson.
-
- * mac/WebKit2.exp:
- Added another symbol needed by Mac clients.
-
-2010-06-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Rename SimpleArgumentCoder.h to ArgumentCoders.h
-
- * Platform/CoreIPC/ArgumentCoders.h: Copied from Platform/CoreIPC/SimpleArgumentCoder.h.
- * Platform/CoreIPC/SimpleArgumentCoder.h: Removed.
- * Shared/WebCoreTypeArgumentMarshalling.h:
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-06-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a plug-in info cache to WebPlatformStrategies
- https://bugs.webkit.org/show_bug.cgi?id=41087
-
- This is in preparation for proxying the getPlugins call over to the UI process.
-
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::WebPlatformStrategies::WebPlatformStrategies):
- (WebKit::WebPlatformStrategies::populatePluginCache):
- (WebKit::WebPlatformStrategies::refreshPlugins):
- (WebKit::WebPlatformStrategies::getPluginInfo):
- * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
-
-2010-06-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by John Sullivan.
-
- Stop silently ignoring crashes.
-
- * WebProcess/Launching/mac/WebProcessMain.mm:
-
-2010-06-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add missing include to WKRetainPtr.
-
- * UIProcess/API/cpp/WKRetainPtr.h:
-
-2010-06-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=41073
- WebKit2: Flesh out more of the InjectedBundle client API
-
- * WebProcess/InjectedBundle/API/c/WKBundle.h:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::willDestroyPage):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp:
- (WebKit::InjectedBundlePageClient::didStartProvisionalLoadForFrame):
- (WebKit::InjectedBundlePageClient::didReceiveServerRedirectForProvisionalLoadForFrame):
- (WebKit::InjectedBundlePageClient::didFailProvisionalLoadWithErrorForFrame):
- (WebKit::InjectedBundlePageClient::didCommitLoadForFrame):
- (WebKit::InjectedBundlePageClient::didFinishLoadForFrame):
- (WebKit::InjectedBundlePageClient::didFailLoadWithErrorForFrame):
- (WebKit::InjectedBundlePageClient::didReceiveTitleForFrame):
- * WebProcess/InjectedBundle/InjectedBundlePageClient.h:
- * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
- (WebKit::InjectedBundle::load): Add some error logging on failure to load the bundle.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
- (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
- (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::close):
- * mac/WebKit2.exp:
-
-2010-06-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a SimpleArgumentCoder class template that works on POD types
- https://bugs.webkit.org/show_bug.cgi?id=41023
-
- * Platform/CoreIPC/SimpleArgumentCoder.h: Added.
- (CoreIPC::SimpleArgumentCoder::encode):
- (CoreIPC::SimpleArgumentCoder::decode):
- * Shared/WebCoreTypeArgumentMarshalling.h:
- (CoreIPC::):
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-06-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Use the ArgumentCoder class template for decoding
- https://bugs.webkit.org/show_bug.cgi?id=41021
-
- * Platform/CoreIPC/ArgumentCoder.h:
- (CoreIPC::ArgumentCoder::decode):
- * Platform/CoreIPC/ArgumentDecoder.h:
- (CoreIPC::ArgumentDecoder::decode):
- * Shared/WebCoreTypeArgumentMarshalling.h:
- (CoreIPC::):
-
-2010-06-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Change the encode functions to be specializations of a class template
- https://bugs.webkit.org/show_bug.cgi?id=41015
-
- * Platform/CoreIPC/ArgumentCoder.h: Added.
- (CoreIPC::ArgumentCoder::encode):
- * Platform/CoreIPC/ArgumentEncoder.h:
- (CoreIPC::ArgumentEncoder::encode):
- * Shared/WebCoreTypeArgumentMarshalling.h:
- (CoreIPC::):
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-06-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement PluginInfoStore::shouldUsePlugin.
-
- * UIProcess/Plugins/PluginInfoStore.h:
- * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
- (WebKit::PluginInfoStore::getPluginInfo):
- (WebKit::PluginInfoStore::shouldUsePlugin):
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-06-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Support reading plug-in info from Carbon resources
- https://bugs.webkit.org/show_bug.cgi?id=40959
-
- * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
- (WebKit::ResourceMap::ResourceMap):
- (WebKit::ResourceMap::~ResourceMap):
- (WebKit::ResourceMap::isValid):
- (WebKit::getStringListResource):
- (WebKit::getPluginInfoFromCarbonResources):
- (WebKit::PluginInfoStore::getPluginInfo):
-
-2010-06-21 Anders Carlsson <andersca@apple.com>
-
- Build fix.
-
- * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
- (WebKit::PluginInfoStore::getPluginInfo):
-
-2010-06-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Have PluginInfoStoreMac actually get plug-in info and populate the plug-in list
- https://bugs.webkit.org/show_bug.cgi?id=40957
-
- * UIProcess/Plugins/PluginInfoStore.cpp:
- (WebKit::PluginInfoStore::loadPluginsIfNecessary):
- (WebKit::PluginInfoStore::loadPluginsInDirectory):
- (WebKit::PluginInfoStore::loadPlugin):
- (WebKit::PluginInfoStore::getPlugins):
- * UIProcess/Plugins/PluginInfoStore.h:
- * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: Added.
- (WebKit::PluginInfoStore::pluginDirectories):
- (WebKit::PluginInfoStore::pluginPathsInDirectory):
- (WebKit::getPluginArchitecture):
- (WebKit::getPluginInfoFromPropertyLists):
- (WebKit::PluginInfoStore::getPluginInfo):
- (WebKit::PluginInfoStore::shouldUsePlugin):
- * WebKit2.xcodeproj/project.pbxproj:
-
-2010-06-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add PluginInfoStore class
- https://bugs.webkit.org/show_bug.cgi?id=40949
-
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::WebPreferencesStore):
- * Shared/WebPreferencesStore.h:
- (WebKit::WebPreferencesStore::encode):
- (WebKit::WebPreferencesStore::decode):
- Add plugInsEnabled to the preferences store.
-
- * UIProcess/Plugins: Added.
- * UIProcess/Plugins/PluginInfoStore.cpp: Added.
- (WebKit::PluginInfoStore::shared):
- (WebKit::PluginInfoStore::PluginInfoStore):
- (WebKit::PluginInfoStore::refresh):
- (WebKit::PluginInfoStore::getPlugins):
- * UIProcess/Plugins/PluginInfoStore.h: Added.
- * UIProcess/Plugins/mac: Added.
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::WebPlatformStrategies::refreshPlugins):
- (WebKit::WebPlatformStrategies::getPluginInfo):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
-
-2010-06-21 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Rename DrawingAreaProxyUpdateChunk to ChunkedUpdateDrawingArea
- https://bugs.webkit.org/show_bug.cgi?id=40948
-
- Rename UIProcess version of DrawingAreaUpdateChunk to ChunkedUpdateDrawingAreaProxy,
- and rename the Mac/Win versions of the various DrawingArea files too.
+ Implement a WebKit2 API to manage the WebCore memory cache. This API exposes three functions:
- Also rename the DrawingAreaUpdateChunkType enum to ChunkedUpdateDrawingAreaType.
+ 1) A method to get a list of all security origins that have entries in the WebCore memory cache.
+ 2) A method to remove all entries in the WebCore memory cache from a SecurityOrigin.
+ 3) A method to remove all entries from the WebCore memory cache.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:pageNamespaceRef:]):
- * UIProcess/ChunkedUpdateDrawingArea.cpp: Removed.
- * UIProcess/ChunkedUpdateDrawingArea.h: Removed.
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: Added.
- (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
- (WebKit::ChunkedUpdateDrawingAreaProxy::~ChunkedUpdateDrawingAreaProxy):
- (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
- (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
- (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
- (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
- (WebKit::ChunkedUpdateDrawingAreaProxy::update):
- (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveMessage):
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h: Added.
- (WebKit::ChunkedUpdateDrawingAreaProxy::encode):
- * UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::):
- * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: Added.
- (WebKit::ChunkedUpdateDrawingAreaProxy::page):
- (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
- (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
- (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
- (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
- * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm: Removed.
- * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp: Added.
- (WebKit::ChunkedUpdateDrawingAreaProxy::page):
- (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
- (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
- (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
- (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
- * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp: Removed.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: Added.
- (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
- (WebKit::ChunkedUpdateDrawingArea::~ChunkedUpdateDrawingArea):
- (WebKit::ChunkedUpdateDrawingArea::invalidateWindow):
- (WebKit::ChunkedUpdateDrawingArea::invalidateContentsAndWindow):
- (WebKit::ChunkedUpdateDrawingArea::invalidateContentsForSlowScroll):
- (WebKit::ChunkedUpdateDrawingArea::scroll):
- (WebKit::ChunkedUpdateDrawingArea::setNeedsDisplay):
- (WebKit::ChunkedUpdateDrawingArea::display):
- (WebKit::ChunkedUpdateDrawingArea::scheduleDisplay):
- (WebKit::ChunkedUpdateDrawingArea::setSize):
- (WebKit::ChunkedUpdateDrawingArea::suspendPainting):
- (WebKit::ChunkedUpdateDrawingArea::resumePainting):
- (WebKit::ChunkedUpdateDrawingArea::didUpdate):
- (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: Added.
- * WebProcess/WebPage/DrawingArea.cpp:
- (WebKit::DrawingArea::create):
- * WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::):
- * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp: Removed.
- * WebProcess/WebPage/DrawingAreaUpdateChunk.h: Removed.
- * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp: Added.
- (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
- * WebProcess/WebPage/mac/DrawingAreaUpdateChunkMac.cpp: Removed.
- * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp: Added.
- (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
- * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp: Removed.
- * win/WebKit2.vcproj:
-
-2010-06-21 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Rename DrawingAreaProxyUpdateChunk to ChunkedUpdateDrawingArea
- https://bugs.webkit.org/show_bug.cgi?id=40948
-
- Rename DrawingAreaUpdateChunk to ChunkedUpdateDrawingArea.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:pageNamespaceRef:]):
- * UIProcess/ChunkedUpdateDrawingArea.cpp: Added.
- (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
- (WebKit::ChunkedUpdateDrawingArea::~ChunkedUpdateDrawingArea):
- (WebKit::ChunkedUpdateDrawingArea::paint):
- (WebKit::ChunkedUpdateDrawingArea::setSize):
- (WebKit::ChunkedUpdateDrawingArea::setPageIsVisible):
- (WebKit::ChunkedUpdateDrawingArea::didSetSize):
- (WebKit::ChunkedUpdateDrawingArea::update):
- (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
- * UIProcess/ChunkedUpdateDrawingArea.h: Added.
- (WebKit::ChunkedUpdateDrawingArea::encode):
- * UIProcess/DrawingAreaProxyUpdateChunk.cpp: Removed.
- * UIProcess/DrawingAreaProxyUpdateChunk.h: Removed.
- * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm:
- (WebKit::ChunkedUpdateDrawingArea::page):
- (WebKit::ChunkedUpdateDrawingArea::ensureBackingStore):
- (WebKit::ChunkedUpdateDrawingArea::invalidateBackingStore):
- (WebKit::ChunkedUpdateDrawingArea::platformPaint):
- (WebKit::ChunkedUpdateDrawingArea::drawUpdateChunkIntoBackingStore):
- * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp:
- (WebKit::ChunkedUpdateDrawingArea::page):
- (WebKit::ChunkedUpdateDrawingArea::ensureBackingStore):
- (WebKit::ChunkedUpdateDrawingArea::invalidateBackingStore):
- (WebKit::ChunkedUpdateDrawingArea::platformPaint):
- (WebKit::ChunkedUpdateDrawingArea::drawUpdateChunkIntoBackingStore):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
-2010-06-21 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=40940
- Add message passing support to the WebKit2 API.
-
- Adds message passing for both InjectedBundle -> WebContext
- and WebContext -> InjectedBundle.
-
- * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
- (WebProcessMessage::):
- * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: Added.
- (WebProcessProxyMessage::):
- (CoreIPC::):
- * UIProcess/API/C/WKContext.cpp:
- (WKContextSetInjectedBundleClient):
- (WKContextPostMessageToInjectedBundle):
- * UIProcess/API/C/WKContext.h:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::initializeInjectedBundleClient):
- (WebKit::WebContext::forwardMessageToWebContext):
- (WebKit::WebContext::postMessageToInjectedBundle):
- * UIProcess/WebContext.h:
- * UIProcess/WebContextInjectedBundleClient.cpp: Added.
- (WebKit::WebContextInjectedBundleClient::WebContextInjectedBundleClient):
- (WebKit::WebContextInjectedBundleClient::initialize):
- (WebKit::WebContextInjectedBundleClient::didRecieveMessageFromInjectedBundle):
- * UIProcess/WebContextInjectedBundleClient.h: Added.
- * UIProcess/WebProcessManager.cpp:
- (WebKit::WebProcessManager::processDidClose):
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveInjectedBundleMessage):
- (WebKit::WebProcessProxy::didReceiveMessage):
- * UIProcess/WebProcessProxy.h:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundlePostMessage):
- * WebProcess/InjectedBundle/API/c/WKBundle.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::postMessage):
- (WebKit::InjectedBundle::didCreatePage):
- (WebKit::InjectedBundle::didRecieveMessage):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::loadInjectedBundle):
- (WebKit::WebProcess::forwardMessageToInjectedBundle):
- (WebKit::WebProcess::didReceiveMessage):
- * WebProcess/WebProcess.h:
- * mac/WebKit2.exp:
- * win/WebKit2.vcproj:
-
-2010-06-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make WebKit2 build with clang++
-
- * Platform/CoreIPC/Connection.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView keyUp:]):
- (-[WKView keyDown:]):
- * UIProcess/WebHistoryClient.h:
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebProcess.h:
-
-2010-06-21 Satish Sampath <satish@chromium.org>
-
- Reviewed by Steve Block.
-
- Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
-
- Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
- https://bugs.webkit.org/show_bug.cgi?id=40878
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-06-20 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add #if USE(PLATFORM_STRATEGIES) where WebPlatformStrategies is being used.
-
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::WebProcess):
- Only initialize the web platform strategies if PLATFORM_STRATEGIES is being used.
-
-2010-06-19 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=40882
- Add ability to have a WebProcess per WebContext.
+ * Platform/CoreIPC/MessageID.h: Add two new MessageClasses.
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h: Add a CacheManager type.
+ * Shared/WebSecurityOrigin.h: Typedef WKCacheManagerRef.
+ (WebKit::WebSecurityOrigin::createFromString): Creates a WebCore::SecurityOrigin using
+ SecurityOrigin::createFromString.
+ (WebKit::WebSecurityOrigin::toString): Calls through to SecurityOrigin::toString.
+ * UIProcess/API/C/WKAPICast.h:
- - Move to a one-to-one correspondence of WebContexts to WebProcessProxies.
- - Add explicit shared contexts for general use.
- - Only non-shared contexts can use injected bundles.
+ * UIProcess/API/C/WKCacheManager.cpp: Added.
+ (WKCacheManagerGetTypeID): Returns the WebResourceCacheManagerProxy type.
+ (WKCacheManagerGetCacheOrigins): Calls through to WebResourceCacheManagerProxy::getCacheOrigins.
+ (callGetCacheOriginsBlockBlockAndDispose):
+ (WKCacheManagerGetCacheOrigins_b):
+ (WKCacheManagerDeleteCacheForOrigin): Calls through to WebResourceCacheManagerProxy::deleteCacheForOrigin.
+ (WKCacheManagerDeleteAllCache): Calls through to WebResourceCacheManagerProxy::deleteAllCache.
+ * UIProcess/API/C/WKCacheManager.h: Added.
* UIProcess/API/C/WKContext.cpp:
- (WKContextCreate):
- (WKContextCreateWithInjectedBundlePath):
- (WKContextGetSharedProcessContext):
- (WKContextGetSharedThreadContext):
+ (WKContextGetCacheManager): Calls to get the WebResourceCacheManagerProxy.
* UIProcess/API/C/WKContext.h:
- * UIProcess/API/C/WKContextPrivate.h:
- Change API for WKContext to no longer take a WKProcessModel type and instead
- have explicit Create/Get functions for the different kind of contexts. Added
- two shared contexts, one threaded, one process, and made the threaded on private
- for now.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:]):
- Make WKViews that don't have an explicit context use the shared process
- context by default.
-
- * UIProcess/Launcher/WebProcessLauncher.h:
- * UIProcess/Launcher/mac/WebProcessLauncher.mm:
- (WebKit::launchWebProcess):
- * UIProcess/Launcher/win/WebProcessLauncher.cpp:
- (WebKit::launchWebProcess):
- Use a boolean argument to note whether we are using a thread or a process
- instead of using the process model enum.
-
- * UIProcess/ProcessModel.h:
- (WebKit::):
- Convert to using explicit Shared modifier for shared contexts.
+ * UIProcess/WebResourceCacheManagerProxy.cpp: Added.
+ (WebKit::WebResourceCacheManagerProxy::create): Calls through to the constructor.
+ (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy): Initialize the m_webContext variable.
+ (WebKit::WebResourceCacheManagerProxy::~WebResourceCacheManagerProxy):
+ (WebKit::WebResourceCacheManagerProxy::invalidate): Invalidate the callback map.
+ (WebKit::WebResourceCacheManagerProxy::getCacheOrigins): Call through to the web process to get the cache
+ origins.
+ (WebKit::WebResourceCacheManagerProxy::didGetCacheOrigins): Call the callback.
+ (WebKit::WebResourceCacheManagerProxy::deleteCacheForOrigin): Call through to the web process to delete cache
+ for the given origin.
+ (WebKit::WebResourceCacheManagerProxy::deleteAllCache): Call through to the web process to delete all of the cache.
+ * UIProcess/WebResourceCacheManagerProxy.h: Added.
+ (WebKit::WebResourceCacheManagerProxy::clearContext):
+ (WebKit::WebResourceCacheManagerProxy::type):
+ * UIProcess/WebResourceCacheManagerProxy.messages.in: Added.
* UIProcess/WebContext.cpp:
- (WebKit::WebContext::sharedProcessContext):
- (WebKit::WebContext::sharedThreadContext):
- (WebKit::WebContext::ensureWebProcess):
- (WebKit::WebContext::createWebPage):
- (WebKit::WebContext::reviveIfNecessary):
+ (WebKit::WebContext::WebContext): Initialize new member variable.
+ (WebKit::WebContext::~WebContext): Invalidates new member variable.
+ (WebKit::WebContext::didReceiveMessage): Passes cache messages to the cache manager.
* UIProcess/WebContext.h:
- (WebKit::WebContext::create):
- (WebKit::WebContext::process):
- * UIProcess/WebPageNamespace.cpp:
- (WebKit::WebPageNamespace::createWebPage):
- (WebKit::WebPageNamespace::preferencesDidChange):
- (WebKit::WebPageNamespace::getStatistics):
- * UIProcess/WebPageNamespace.h:
- (WebKit::WebPageNamespace::process):
- (WebKit::WebPageNamespace::reviveIfNecessary):
- Move WebProcessProxy creation logic up into WebContext.
-
- * UIProcess/WebProcessManager.cpp:
- (WebKit::WebProcessManager::getWebProcess):
- (WebKit::WebProcessManager::processDidClose):
- * UIProcess/WebProcessManager.h:
- Keep a map of WebContexts to WebProcessProxies in addition to the two
- shared processes.
-
+ (WebKit::WebContext::cacheManagerProxy):
* UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::create):
- (WebKit::WebProcessProxy::WebProcessProxy):
- (WebKit::WebProcessProxy::connect):
- (WebKit::WebProcessProxy::didClose):
- * UIProcess/WebProcessProxy.h:
- Store a WebContext instead of the process model.
-
- * mac/WebKit2.exp:
- Add new functions.
-
-2010-06-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make WebCoreSystemInterface.h a C++ only header
- https://bugs.webkit.org/show_bug.cgi?id=40867
+ (WebKit::WebProcessProxy::didReceiveMessage): Add a new message class.
+
+ * WebProcess/ResourceCache/WebResourceCacheManager.cpp: Added.
+ (WebKit::WebResourceCacheManager::shared):
+ (WebKit::WebResourceCacheManager::WebResourceCacheManager):
+ (WebKit::WebResourceCacheManager::~WebResourceCacheManager):
+ (WebKit::WebResourceCacheManager::didReceiveMessage): Calls through to didReceiveWebResourceCacheManagerMessage.
+ (WebKit::WebResourceCacheManager::getCacheOrigins): Gets a list of origins with cache entries from the memory
+ cache, and puts them into a vector to send to the UI process.
+ (WebKit::WebResourceCacheManager::deleteCacheForOrigin): Calls through to ResourceCache to delete all cache entries
+ from a given origin.
+ (WebKit::WebResourceCacheManager::deleteAllCache):
+ * WebProcess/ResourceCache/WebResourceCacheManager.h: Added.
+ * WebProcess/ResourceCache/WebResourceCacheManager.messages.in: Added.
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.h:
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.m: Removed.
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Copied from WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.m.
- * mac/WebKit2.exp:
-
-2010-06-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add platform strategies for WebKit2.
- https://bugs.webkit.org/show_bug.cgi?id=40863
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added.
- (WebKit::WebPlatformStrategies::initialize):
- (WebKit::WebPlatformStrategies::WebPlatformStrategies):
- (WebKit::WebPlatformStrategies::createPluginStrategy):
- (WebKit::WebPlatformStrategies::refreshPlugins):
- (WebKit::WebPlatformStrategies::getPluginInfo):
- * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added.
* WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::WebProcess):
-
-2010-06-18 Sam Weinig <weinig@apple.com>
-
- Rolling http://trac.webkit.org/changeset/61297 back in.
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Added.
- (WKBundlePageSetClient):
- (WKBundlePageGetMainFrameURL):
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added.
- * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Added.
- (WebKit::InjectedBundlePageClient::InjectedBundlePageClient):
- (WebKit::InjectedBundlePageClient::initialize):
- (WebKit::InjectedBundlePageClient::didClearWindowObjectForFrame):
- * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Added.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::initializeInjectedBundleClient):
- (WebKit::WebPage::mainFrameURL):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::injectedBundleClient):
- * mac/WebKit2.exp:
- * win/WebKit2.vcproj:
-
-2010-06-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix a race condition during startup where we would never send the InitializeConnection message to the server.
-
- * Platform/CoreIPC/mac/ConnectionMac.cpp:
- (CoreIPC::Connection::open):
-
-2010-06-17 Ada Chan <adachan@apple.com>
-
- Rolling out http://trac.webkit.org/changeset/61297 due to build errors.
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Removed.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Removed.
- * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Removed.
- * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Removed.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
- * WebProcess/WebPage/WebPage.cpp:
- * WebProcess/WebPage/WebPage.h:
- * mac/WebKit2.exp:
- * win/WebKit2.vcproj:
-
-2010-06-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for <rdar://problem/8010805>
- Assertion failure ("mainThreadPthread") in isMainThread() mousing over cnn.com in Mini Browser
-
- Don't use WebCore::String::operator NSString*() from the UIProcess, since it uses
- StringImpl::createCFString() which expects to be called from WebCore's main thread.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::nsStringFromWebCoreString):
- (WebKit::PageClientImpl::toolTipChanged):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView view:stringForToolTip:point:userData:]):
-
-2010-06-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=40630
- WebKit2: Add mechanism to inject code into the WebProcess on startup
-
- Add initial InjectedBundle support.
-
- * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
- (WebProcessMessage::):
- Add new LoadInjectedBundle message kind.
-
- * UIProcess/API/C/WKContext.cpp:
- (toWK):
- (WKContextCreate):
- (WKContextCreateWithInjectedBundlePath):
- * UIProcess/API/C/WKContext.h:
- Rename WKContextCreateWithProcessModel to WKContextCreate and add
- WKContextCreateWithInjectedBundlePath for creating a context with
- a bundle.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- * UIProcess/WebContext.h:
- (WebKit::WebContext::create):
- (WebKit::WebContext::processModel):
- (WebKit::WebContext::bundlePath):
- * UIProcess/WebPageNamespace.cpp:
- (WebKit::WebPageNamespace::ensureWebProcess):
- (WebKit::WebPageNamespace::reviveIfNecessary):
- * UIProcess/WebProcessManager.cpp:
- (WebKit::WebProcessManager::getWebProcess):
- * UIProcess/WebProcessManager.h:
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::create):
- (WebKit::WebProcessProxy::WebProcessProxy):
- * UIProcess/WebProcessProxy.h:
- Thread the bundle path through process creation.
-
- * WebProcess/InjectedBundle: Added.
- * WebProcess/InjectedBundle/API: Added.
- * WebProcess/InjectedBundle/API/c: Added.
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp: Added.
- (WKBundleSetClient):
- * WebProcess/InjectedBundle/API/c/WKBundle.h: Added.
- * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: Added.
- (WebKit::):
- (toWK):
- (toRef):
- * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Added.
- * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h: Added.
- * WebProcess/InjectedBundle/InjectedBundle.cpp: Added.
- (WebKit::InjectedBundle::InjectedBundle):
- (WebKit::InjectedBundle::~InjectedBundle):
- (WebKit::InjectedBundle::initializeClient):
- (WebKit::InjectedBundle::didCreatePage):
- * WebProcess/InjectedBundle/InjectedBundle.h: Added.
- (WebKit::InjectedBundle::create):
- Add bundle boilerplate.
-
- * WebProcess/InjectedBundle/mac: Added.
- * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: Added.
- (WebKit::InjectedBundle::load):
- Load the InjectedBundle using CFBundle.
-
- * WebProcess/InjectedBundle/win: Added.
- * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: Added.
- (WebKit::pathGetFileName):
- (WebKit::directoryName):
- (WebKit::InjectedBundle::load):
- Load the InjectedBundle using HMODULE.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- Add initial bundle callback for page creation. More to come.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::loadInjectedBundle):
(WebKit::WebProcess::didReceiveMessage):
+ (WebKit::WebProcess::clearResourceCaches): Tell the memory cache to evict its resources. This was done on WebKit1,
+ but not WebKit2.
* WebProcess/WebProcess.h:
- (WebKit::WebProcess::injectedBundle):
- Load the InjectedBundle on LoadInjectedBundle message.
-
- * WebKit2.xcodeproj/project.pbxproj:
- * mac/WebKit2.exp:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
- Add the new files.
-
-2010-06-15 Darin Adler <darin@apple.com>
-
- Reviewed by Adam Barth.
-
- Move functions out of Frame class that were marked "move to Chrome"
- https://bugs.webkit.org/show_bug.cgi?id=39636
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::tryClose): Call shouldClose on FrameLoader instead of
- going through Frame.
-
-2010-06-14 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
- Reorder build event to fix cygwin path issue.
-
- * win/WebKit2Generated.vcproj:
-
-2010-06-14 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
- Add build failure stopping code.
-
- * win/WebKit2WebProcess.vcproj:
-
-2010-06-14 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
- Add build failure stopping code.
-
- * win/WebKit2Generated.vcproj:
-
-2010-06-14 Ada Chan <adachan@apple.com>
-
- Rubber-stamped by Steve Falkenburg.
-
- - Fix the release configuration to use release.vsprops.
- - Add Debug_Internal and Debug_All configurations to the WebKit2WebProcess project.
- - Fix launchWebProcess() to get the right path to the WebKit2WebProcess executable.
-
- * UIProcess/Launcher/win/WebProcessLauncher.cpp:
- (WebKit::launchWebProcess):
- * win/WebKit2WebProcess.vcproj:
-
-2010-06-12 Ada Chan <adachan@apple.com>
-
- Unreviewed fix for a linking error with WebKit2LocalizableStringsBundle for Windows release build.
-
- * WebProcess/win/WebLocalizableStrings.cpp:
- (findCachedString):
-
-2010-06-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Use -Os for optimized builds instead of -02. -02 wasn't giving the
- right trade off at this time.
-
- * Configurations/Base.xcconfig:
-
-2010-06-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Move WKRetain and WKRelease overloaded functions out of WKRetainPtr
- and into the files of the type they overload (eg, WKRetain(WKFrameRef
- moves to WKFrame.h)).
-
- * UIProcess/API/C/WKBase.h:
- * UIProcess/API/C/WKContext.h:
- * UIProcess/API/C/WKFrame.h:
- * UIProcess/API/C/WKFramePolicyListener.h:
- * UIProcess/API/C/WKNavigationData.h:
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/C/WKPageNamespace.h:
- * UIProcess/API/C/WKPreferences.h:
- * UIProcess/API/C/WKString.h:
- * UIProcess/API/C/WKURL.h:
- * UIProcess/API/cpp/WKRetainPtr.h:
- * UIProcess/API/win/WKView.h:
-
-2010-06-10 John Sullivan <sullivan@apple.com>
-
- Reviewed by Dan Bernstein.
-
- * mac/WebKit2.exp:
- Added another symbol needed by Mac clients.
-
-2010-06-09 Ilya Tikhonovsky <loislo@chromium.org>
-
- Unreviewed build fix.
-
- * WebProcess/WebCoreSupport/WebInspectorClient.h:
-
-2010-06-09 Ilya Tikhonovsky <loislo@chromium.org>
-
- Unreviewed build fix.
-
- WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
- data from inspected page to WebInspector as JSON string via http. The native
- serialization to JSON string is supported by InspectorValue's classes. This patch
- has the implementation of sendMessageToFrontend function. WebKit version of it still
- uses ScriptFunctionCall and will be switched to another transport a little bit later.
- https://bugs.webkit.org/show_bug.cgi?id=40134
-
- * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
- (WebKit::WebInspectorClient::sendMessageToFrontend):
- * WebProcess/WebCoreSupport/WebInspectorClient.h:
-
-2010-06-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/8071268> WebKit2 URLs are displayed as 1-character strings in log statements
-
- Create a CFString from our WebCore string and then create the CFURL from the CFString.
-
- * UIProcess/API/C/cf/WKURLCF.cpp:
- (WKURLCopyCFURL):
-
-2010-06-08 John Sullivan <sullivan@apple.com>
-
- Rubber-stamped by Anders Carlsson.
-
- * mac/WebKit2.exp:
- Added _WKPageGetEstimatedProgress and _WKFrameGetPage
-
-2010-06-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Would like a way to query WKPageRef for the current progress value
- https://bugs.webkit.org/show_bug.cgi?id=40310
- <rdar://problem/8071299>
-
- Add WKPageGetEstimatedProgress. Remove the progress parameter from the didChangeProgress
- loader client callback function.
-
- * UIProcess/API/C/WKPage.cpp:
- (WKPageGetEstimatedProgress):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::didChangeProgress):
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::didStartProgress):
- (WebKit::WebPageProxy::didChangeProgress):
- (WebKit::WebPageProxy::didFinishProgress):
- (WebKit::WebPageProxy::processDidExit):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::estimatedProgress):
-
-2010-06-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Would like a way to tell which WKPageRef a WKFrameRef is part of
- https://bugs.webkit.org/show_bug.cgi?id=40308
- <rdar://problem/8071251>
-
- Add and implement WKFrameGetPage.
-
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameGetPage):
- * UIProcess/API/C/WKFrame.h:
- * UIProcess/WebFrameProxy.h:
- (WebKit::WebFrameProxy::page):
-
-2010-06-08 John Sullivan <sullivan@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- * mac/WebKit2.exp:
- Added a few more symbols needed by Mac clients.
-
-2010-06-08 MORITA Hajime <morrita@google.com>
-
- Unreviewed. An attempt to fix test break.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-06-06 MORITA Hajime <morrita@google.com>
-
- Unreviewd, follow up to r60820
-
- https://bugs.webkit.org/show_bug.cgi?id=40219
- [Mac] ENABLE_METER_TAG should be enabled
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-06-05 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- <rdar://problem/8063622> Failure to launch WebProcess.app when framework is outside of the build directory
-
- * Configurations/WebProcess.xcconfig:
-
-2010-06-04 John Sullivan <sullivan@apple.com>
-
- Rubber-stamped by Ada Chan.
-
- Added a couple of symbols needed to start using WKFrameRefs in Mac clients.
-
- * mac/WebKit2.exp:
- Added _WKFrameRelease and _WKFrameRetain.
-
-2010-06-04 Ada Chan <adachan@apple.com>
-
- Reviewed by Anders Carlsson.
-
- http://bugs.webkit.org/show_bug.cgi?id=40186
-
- Need to close WebPageProxy when the WebView is destroyed.
- Also, WebPageProxy shouldn't hold an OwnPtr to the PageClient, which is the WebView on Windows.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::setPageClient):
- * UIProcess/WebPageProxy.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::close):
-
-2010-06-03 Ada Chan <adachan@apple.com>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=40152
-
- Need to remove the WebView from WindowMessageBroadcaster's listeners list when the WebView is destroyed.
-
- * UIProcess/API/win/WKView.cpp:
- (WKViewSetHostWindow): Expose API to change the host window of a WKView.
- (WKViewWindowAncestryDidChange): Expose API to allow clients to notify WebKit when a WKView's window ancestry has changed.
- * UIProcess/API/win/WKView.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::wndProc): Set the WebView's host window to 0 when it's destroyed. setHostWindow() will call
- windowAncestryDidChange(), which will remove this WebView from the WindowMessageBroadcaster's listeners list.
- (WebKit::WebView::WebView): Initialize m_isBeingDestroyed.
- (WebKit::WebView::setHostWindow): Update the window's parent window and call windowAncestryDidChange().
- (WebKit::WebView::close): Set the host window to 0.
- * UIProcess/win/WebView.h:
-
-2010-06-04 Tony Gentilcore <tonyg@chromium.org>
-
- Reviewed by Adam Barth.
-
- Utilize new takeFirst() method where appropriate.
- https://bugs.webkit.org/show_bug.cgi?id=40089
-
- * Platform/CoreIPC/ArgumentDecoder.cpp:
- (CoreIPC::ArgumentDecoder::removeAttachment):
-
-2010-06-03 Ada Chan <adachan@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Add UIProcess\API\cpp to the list of additional include directories.
- Allow WKViewRef to work with WKRetainPtr on Windows.
-
- * UIProcess/API/cpp/WKRetainPtr.h:
- * win/WebKit2.vcproj:
-
-2010-06-01 Alice Liu <alice.liu@apple.com>
-
- Build fix. Not reviewed
-
- * win/WebKit2Generated.make: Added WKRetainPtr.h
-
-2010-06-01 John Sullivan <sullivan@apple.com>
-
- Rubber-stamped by Anders Carlsson.
-
- Added _WKRetainPtr to .exp file, and added .exp file to Xcode project.
-
- * WebKit2.xcodeproj/project.pbxproj:
- Added mac/WebKit2.exp.
-
- * mac/WebKit2.exp:
- Added _WKRetainPtr.
-
-2010-06-01 John Sullivan <sullivan@apple.com>
-
- Rubber-stamped by Anders Carlsson.
-
- Fixed typo/wordo that prevented a certain flavor of constructor from compiling.
-
- * UIProcess/API/cpp/WKRetainPtr.h:
- (WebKit::WKRetainPtr::WKRetainPtr):
- Changed the mysterious "retainWKPtr" to "WKRetain".
-
-2010-05-28 John Sullivan <sullivan@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- Add a using declaration for AdoptWK to match the one just added for WKRetainPtr.
-
- * UIProcess/API/cpp/WKRetainPtr.h:
-
-2010-05-28 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add a using declaration for WKRetainPtr matching what we do for our
- other smart pointers and fix the destructor.
-
- * UIProcess/API/cpp/WKRetainPtr.h:
- (WebKit::WKRetainPtr::~WKRetainPtr):
-
-2010-05-25 Ada Chan <adachan@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=39686
-
- Fix the ProjectGUID of the WebKit2 project so it doesn't conflict with the one in WebKit.
-
- * WebKit2.sln:
- * win/WebKit2.vcproj:
-
-2010-05-24 Ada Chan <adachan@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- Build fix for 32bit systems.
-
- * mac/WebKit2.exp:
-
-2010-05-21 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Teach WebKit2 to build in the Production configuration.
-
- * Configurations/Base.xcconfig: Restrict WebKit2 to Intel, and disable the order file.
- * Configurations/BaseTarget.xcconfig: Fix the path to the umbrella framework directory.
- This path is used to locate WebCore.framework, so it needs to be relative to WebKit.framework
- rather than WebKit2.framework.
- * Configurations/WebKit2.xcconfig: Update the install path. Add an exports file.
- * Configurations/WebProcess.xcconfig: Update the install path.
- * WebKit2.xcodeproj/project.pbxproj: Add a Production configuration.
- * mac/WebKit2.exp: Added.
-
-2010-05-21 Steve Block <steveblock@google.com>
-
- Unreviewed build fix for WebKit2
-
- Pass 0 to Page constructor for DeviceOrientationClient.
- See http://trac.webkit.org/changeset/59935
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
-
-2010-05-11 Mark Rowe <mrowe@apple.com>
-
- Fix the world.
-
- In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
- The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
- that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
- in sync with build-webkit. This led to WebCore and WebKit having different views of Document's vtable
- and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
- function in WebCore being called.
-
- We fix this by bringing the FeatureDefines.xcconfig files in to sync. Based on the ChangeLog message and
- other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
- has been reverted.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-05-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- [WebKit2] The web process doesn't need to paint when the web view is hidden.
- https://bugs.webkit.org/show_bug.cgi?id=38549
-
- * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
- (DrawingAreaMessage::):
- Add SuspendPainting/ResumePainting messages.
-
- * UIProcess/DrawingAreaProxyUpdateChunk.cpp:
- (WebKit::DrawingAreaProxyUpdateChunk::setPageIsVisible):
- Suspend and resume painting accordingly.
-
- * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp:
- (WebKit::DrawingAreaUpdateChunk::DrawingAreaUpdateChunk):
- Initialize m_shouldPaint to true.
-
- (WebKit::DrawingAreaUpdateChunk::display):
- Return if m_shouldPaint is false.
-
- (WebKit::DrawingAreaUpdateChunk::scheduleDisplay):
- Ditto.
- (WebKit::DrawingAreaUpdateChunk::setSize):
- Assert that we should paint here.
-
- (WebKit::DrawingAreaUpdateChunk::suspendPainting):
- Set m_shouldPaint to false and stop the timer.
-
- (WebKit::DrawingAreaUpdateChunk::resumePainting):
- Set m_shouldPaint to true and paint if needed.
-
- (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
- handle SuspendPainting/ResumePainting messages.
-
- * WebProcess/WebPage/DrawingAreaUpdateChunk.h:
-
-2010-05-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- [WebKit2] WKView should respond to WM_SHOWWINDOW messages
- https://bugs.webkit.org/show_bug.cgi?id=38496
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::wndProc):
- Add case for WM_SHOWWINDOW.
-
- (WebKit::WebView::onShowWindowEvent):
- Update the page visibility accordingly.
-
- * UIProcess/win/WebView.h:
+ * WebKit2.xcodeproj/project.pbxproj: Added new files.
+ * win/WebKit2.vcproj: Ditto.
+ * win/WebKit2Common.vsprops: Added new include directory.
+ * win/WebKit2Generated.make: Added new header.
-2010-05-03 Anders Carlsson <andersca@apple.com>
+2011-02-16 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
- Get rid of PageClient::isPageVisible and pass visibility directly in setPageIsVisible
- https://bugs.webkit.org/show_bug.cgi?id=38493
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- Remove isPageVisible.
+ https://bugs.webkit.org/show_bug.cgi?id=54244
- * UIProcess/API/mac/WKView.mm:
- (isViewVisible):
- New function (moved here from PageClientImpl).
-
- (-[WKView _updateVisibility]):
- Call didChangeVisibility.
+ Convert the line box tree to floating point and eliminate font rounding hacks. This patch removes all of the rounding
+ hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats.
- (-[WKView viewDidMoveToWindow]):
- (-[WKView viewDidHide]):
- (-[WKView viewDidUnhide]):
- Call _updateVisibility.
+ The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have
+ been changed as well.
- * UIProcess/DrawingAreaProxy.h:
- Rename didChangeVisibility to setPageIsVisible and add an isVisible parameter.
-
- * UIProcess/DrawingAreaProxyUpdateChunk.cpp:
- (WebKit::DrawingAreaProxyUpdateChunk::setPageIsVisible):
- Don't call WebPageProxy::isVisible.
-
- * UIProcess/DrawingAreaProxyUpdateChunk.h:
+ In terms of pixel adjustments, overflow is using an enclosing model (so it will be enclosingIntRect of a line box's x/y/width/height).
- * UIProcess/PageClient.h:
- Remove isPageVisible.
-
- * UIProcess/WebPageProxy.cpp:
- * UIProcess/WebPageProxy.h:
- Remove isVisible.
-
-2010-05-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Implement PageClient::isPageVisible on Windows.
- https://bugs.webkit.org/show_bug.cgi?id=38483
-
- * UIProcess/PageClient.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::isPageVisible):
- * UIProcess/win/WebView.h:
-
-2010-05-03 Anders Carlsson <andersca@apple.com>
-
- Fix Windows build.
-
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- (CoreIPC::Connection::sendOutgoingMessage):
- * Shared/win/UpdateChunk.cpp:
- (WebKit::UpdateChunk::UpdateChunk):
- (WebKit::UpdateChunk::encode):
- (WebKit::UpdateChunk::decode):
- * Shared/win/UpdateChunk.h:
- (WebKit::UpdateChunk::rect):
- * UIProcess/DrawingAreaProxy.h:
- * UIProcess/DrawingAreaProxyUpdateChunk.h:
- * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp:
- (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
- * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp:
- (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
- * WebProcess/win/WebProcessMain.cpp:
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=38415
- Have the WKView notify the DrawingAreaProxy when its visibility changes.
-
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::isPageVisible):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView viewDidMoveToWindow]):
- (-[WKView viewDidHide]):
- (-[WKView viewDidUnhide]):
- * UIProcess/DrawingAreaProxy.h:
- * UIProcess/DrawingAreaProxyUpdateChunk.cpp:
- (WebKit::DrawingAreaProxyUpdateChunk::DrawingAreaProxyUpdateChunk):
- (WebKit::DrawingAreaProxyUpdateChunk::didChangeVisibility):
- * UIProcess/DrawingAreaProxyUpdateChunk.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::isVisible):
- * UIProcess/WebPageProxy.h:
-
-2010-05-03 Jens Alfke <snej@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
- https://bugs.webkit.org/show_bug.cgi?id=38397
-
- No tests (functionality is exposed only through native WebKit API.)
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
-
-2010-05-01 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38471
- Add generic callback mechanism
-
- Added GenericCallback class replacing RenderTreeExternalRepresentationCallback
- and ScriptReturnValueCallback.
+ Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting.
- Also,
- - Standardize C API callbacks to take the context last.
- - Standardize C API callbacks to not have the _f suffix (now the block
- variants have a _b suffix).
- - Re-write toWK and toRef methods as a set of template functions using
- the generic API->implementation mapping information.
-
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKPage.cpp:
- (WKPageRunJavaScriptInMainFrame):
- (callRunJavaScriptBlockAndRelease):
- (disposeRunJavaScriptBlock):
- (WKPageRunJavaScriptInMainFrame_b):
- (WKPageRenderTreeExternalRepresentation):
- (WKPageRenderTreeExternalRepresentation_b):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/C/WKPagePrivate.h:
- * UIProcess/GenericCallback.h: Added.
- (WebKit::GenericCallback::create):
- (WebKit::GenericCallback::~GenericCallback):
- (WebKit::GenericCallback::performCallbackWithReturnValue):
- (WebKit::GenericCallback::invalidate):
- (WebKit::GenericCallback::callbackID):
- (WebKit::GenericCallback::generateCallbackID):
- (WebKit::GenericCallback::GenericCallback):
- * UIProcess/RenderTreeExternalRepresentationCallback.cpp: Removed.
- * UIProcess/RenderTreeExternalRepresentationCallback.h: Removed.
- * UIProcess/ScriptReturnValueCallback.cpp: Removed.
- * UIProcess/ScriptReturnValueCallback.h: Removed.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didRunJavaScriptInMainFrame):
- (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation):
- * UIProcess/WebPageProxy.h:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
-2010-04-30 Sam Weinig <sam@webkit.org>
-
- Fix the build.
-
- * Platform/CoreIPC/mac/ConnectionMac.cpp: Add missing #include.
-
-2010-04-30 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=38413
- Add callback based API to get the textual representation of the RenderTree.
-
- - Also ensures that any pending callbacks are invalidated if the WebPage
- closes (expectedly or unexpectedly).
- - A follow up patch will unify the callback mechanism with a common base
- class.
-
- * Shared/CoreIPCSupport/WebPageMessageKinds.h:
- (WebPageMessage::):
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- (WebPageProxyMessage::):
- * UIProcess/API/C/WKPage.cpp:
- (WKPageRunJavaScriptInMainFrame_f):
- (WKPageRenderTreeExternalRepresentation_f):
- (callRenderTreeExternalRepresentationBlockAndDispose):
- (disposeRenderTreeExternalRepresentationBlock):
- (WKPageRenderTreeExternalRepresentation):
- * UIProcess/API/C/WKPagePrivate.h: Added.
- * UIProcess/RenderTreeExternalRepresentationCallback.cpp: Added.
- (WebKit::generateCallbackID):
- (WebKit::RenderTreeExternalRepresentationCallback::RenderTreeExternalRepresentationCallback):
- (WebKit::RenderTreeExternalRepresentationCallback::~RenderTreeExternalRepresentationCallback):
- (WebKit::RenderTreeExternalRepresentationCallback::performCallbackWithReturnValue):
- (WebKit::RenderTreeExternalRepresentationCallback::invalidate):
- * UIProcess/RenderTreeExternalRepresentationCallback.h: Added.
- (WebKit::RenderTreeExternalRepresentationCallback::create):
- (WebKit::RenderTreeExternalRepresentationCallback::callbackID):
- * UIProcess/ScriptReturnValueCallback.cpp:
- (WebKit::ScriptReturnValueCallback::~ScriptReturnValueCallback):
- (WebKit::ScriptReturnValueCallback::performCallbackWithReturnValue):
- (WebKit::ScriptReturnValueCallback::invalidate):
- * UIProcess/ScriptReturnValueCallback.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::didRunJavaScriptInMainFrame):
- (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation):
- (WebKit::WebPageProxy::processDidExit):
- * UIProcess/WebPageProxy.h:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::getRenderTreeExternalRepresentation):
- (WebKit::WebPage::didReceiveMessage):
- * WebProcess/WebPage/WebPage.h:
- * win/WebKit2.vcproj:
-
-2010-04-30 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38406
- Add support for sending messages with a size greater than 4096 bytes
-
- Adds support by putting message bodies that are larger than 4096 bytes
- in OOL memory.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::sendMessage):
- (CoreIPC::Connection::waitForMessage):
- (CoreIPC::Connection::sendSyncMessage):
- (CoreIPC::Connection::dispatchMessages):
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::OutgoingMessage::OutgoingMessage):
- (CoreIPC::Connection::OutgoingMessage::messageID):
- (CoreIPC::Connection::send):
- (CoreIPC::Connection::sendSync):
- * Platform/CoreIPC/MessageID.h:
- (CoreIPC::MessageID::):
- (CoreIPC::MessageID::MessageID):
- (CoreIPC::MessageID::equalIgnoringFlags):
- (CoreIPC::MessageID::copyAddingFlags):
- (CoreIPC::MessageID::fromInt):
- (CoreIPC::MessageID::toInt):
- (CoreIPC::MessageID::isMessageBodyOOL):
- * Platform/CoreIPC/mac/ConnectionMac.cpp:
- (CoreIPC::Connection::sendOutgoingMessage):
- (CoreIPC::createArgumentDecoder):
-
-2010-04-28 Mike Thole <mthole@apple.com>
-
- Build fix, not reviewed.
-
- Fix WebKit2 build by stubbing out WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace().
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
-
-2010-04-28 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Only build on SnowLeopard and later when using the Makefile.
-
- * Makefile:
-
-2010-04-27 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38238
- Allow both WebKit and WebKit2 to link to the same WebCore.framework
-
- * Configurations/WebKit2.xcconfig: Remove the OTHER_LDFLAGS. We don't
- need to set WebCore as a sub_umbrella of WebKit2, since we are not
- reexporting any of its symbols.
-
-2010-04-27 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Add comment about not using StringImpl::createCFString in WKStringCopyCFString.
-
- * UIProcess/API/C/cf/WKStringCF.cpp:
- (WKStringCopyCFString):
-
-2010-04-27 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Remove call to StringImpl::createCFString and instead use CFStringCreateWithCharacters
- directly. StringImpl::createCFString only an optimization when called
- from the thread that WebCore is running on, which is never the case for
- WKStringCopyCFString. We should revisit this later, perhaps adding a
- threadspecific allocator. We also now honor the passed in allocator.
-
- * UIProcess/API/C/cf/WKStringCF.cpp:
- (WKStringCopyCFString):
-
-2010-04-25 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
- Disentangle initializing the main thread from initializing threading
-
- * UIProcess/Launcher/mac/WebProcessLauncher.mm:
- (WebKit::webThreadBody): Add call to initializeMainThread.
- * UIProcess/Launcher/win/WebProcessLauncher.cpp:
- (WebKit::webThreadBody): Ditto.
- * WebProcess/Launching/mac/WebProcessMain.mm:
- (main): Ditto.
- * WebProcess/win/WebProcessMain.cpp:
- (WebKit::WebProcessMain): Ditto.
-
-2010-04-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=38065
- Merge mac and win DrawingAreaProxyUpdateChunk implementations.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView drawRect:]):
- * UIProcess/DrawingAreaProxy.cpp: Copied from UIProcess/mac/DrawingAreaProxy.mm.
- * UIProcess/DrawingAreaProxy.h: Copied from UIProcess/mac/DrawingAreaProxy.h.
- * UIProcess/DrawingAreaProxyUpdateChunk.cpp: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.mm.
- (WebKit::DrawingAreaProxyUpdateChunk::DrawingAreaProxyUpdateChunk):
- (WebKit::DrawingAreaProxyUpdateChunk::paint):
- (WebKit::DrawingAreaProxyUpdateChunk::setSize):
- (WebKit::DrawingAreaProxyUpdateChunk::didSetSize):
- (WebKit::DrawingAreaProxyUpdateChunk::update):
- (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
- * UIProcess/DrawingAreaProxyUpdateChunk.h: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.h.
- * UIProcess/mac/DrawingAreaProxy.h: Removed.
- * UIProcess/mac/DrawingAreaProxy.mm: Removed.
- * UIProcess/mac/DrawingAreaProxyUpdateChunk.h: Removed.
- * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm: Removed.
- * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.mm.
- (WebKit::DrawingAreaProxyUpdateChunk::page):
- (WebKit::DrawingAreaProxyUpdateChunk::invalidateBackingStore):
- (WebKit::DrawingAreaProxyUpdateChunk::platformPaint):
- (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
- * UIProcess/win/DrawingAreaProxy.cpp: Removed.
- * UIProcess/win/DrawingAreaProxy.h: Removed.
- * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp: Copied from UIProcess/win/DrawingAreaProxy.cpp.
- (WebKit::DrawingAreaProxyUpdateChunk::page):
- (WebKit::DrawingAreaProxyUpdateChunk::ensureBackingStore):
- (WebKit::DrawingAreaProxyUpdateChunk::invalidateBackingStore):
- (WebKit::DrawingAreaProxyUpdateChunk::platformPaint):
- (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- (WebKit::WebView::onPaintEvent):
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
-2010-04-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38059
- Merge mac and win DrawingAreaUpdateChunk implementations.
-
- * UIProcess/win/DrawingAreaProxy.cpp:
- (WebKit::DrawingAreaProxy::didSetSize):
- (WebKit::DrawingAreaProxy::didReceiveMessage):
- * UIProcess/win/DrawingAreaProxy.h:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp.
- (WebKit::DrawingAreaUpdateChunk::setSize):
- * WebProcess/WebPage/DrawingAreaUpdateChunk.h: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h.
- * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: Removed.
- * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h: Removed.
- * WebProcess/WebPage/mac/DrawingAreaUpdateChunkMac.cpp: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp.
- * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: Removed.
- * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h: Removed.
- * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp: Copied from WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp.
- (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
- * win/WebKit2.vcproj:
-
-2010-04-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove an assert. (It's not valid when resizing).
-
- * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
- (WebKit::DrawingAreaUpdateChunk::didUpdate):
-
-2010-04-23 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * UIProcess/win/DrawingAreaProxy.cpp:
- (WebKit::DrawingAreaProxy::paint):
- (WebKit::DrawingAreaProxy::setSize):
- (WebKit::DrawingAreaProxy::didReceiveMessage):
- * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
- (WebKit::DrawingAreaUpdateChunk::setSize):
- (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
-
-2010-04-22 Anders Carlsson <andersca@apple.com>
+ Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes
+ still have a precise floating point position.
- Reviewed by Sam Weinig.
-
- Remove an assert. (It's not valid when resizing).
-
- * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
- (WebKit::DrawingAreaUpdateChunk::didUpdate):
-
-2010-04-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Merge the prefix headers.
-
- * Configurations/BaseTarget.xcconfig:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebKit2Prefix.h:
- * WebKit2_Prefix.pch: Removed.
-
-2010-04-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Don't pass the new size when calling didSetSize, it's possible to get
- the size from the update chunk.
-
- * UIProcess/mac/DrawingAreaProxyUpdateChunk.h:
- * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
- (WebKit::DrawingAreaProxyUpdateChunk::didSetSize):
- (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
- * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
- (WebKit::DrawingAreaUpdateChunk::setSize):
-
-2010-04-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Rename SetFrame and DidSetFrame to SetSize and DidSetSize.
-
- * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
- (DrawingAreaMessage::):
- * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
- (DrawingAreaProxyMessage::):
- * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
- (WebKit::DrawingAreaProxyUpdateChunk::drawRectIntoContext):
- (WebKit::DrawingAreaProxyUpdateChunk::setSize):
- (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
- * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
- (WebKit::DrawingAreaUpdateChunk::setSize):
- (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
-
-2010-04-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38002
- Add rudimentary statistics gathering for WebKit2
-
- * UIProcess/API/C/WKContext.cpp:
- (WKContextGetStatistics):
- * UIProcess/API/C/WKContextPrivate.h: Copied from WebKit2/UIProcess/API/C/WKContext.h.
- * UIProcess/API/C/WKPageNamespace.cpp:
- (WKPageNamespaceGetContext):
- * UIProcess/API/C/WKPageNamespace.h:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::getStatistics):
- * UIProcess/WebContext.h:
- * UIProcess/WebPageNamespace.cpp:
- (WebKit::WebPageNamespace::getStatistics):
- * UIProcess/WebPageNamespace.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::getStatistics):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::numberOfPages):
- * UIProcess/WebProcessProxy.h:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
-2010-04-20 Anders Carlsson <andersca@apple.com>
+ Justification will now allow subpixel positioning to occur as well. Platforms that don't support subpixel positioning should already
+ be rounding justification spacing in their font code.
- Reviewed by Sam Weinig.
-
- Don't paint the web page before we've blit the last update chunk to the backing store.
-
- * UIProcess/win/DrawingAreaProxy.cpp:
- (WebKit::DrawingAreaProxy::update):
- (WebKit::DrawingAreaProxy::didReceiveMessage):
- * UIProcess/win/DrawingAreaProxy.h:
- * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
- (WebKit::DrawingAreaUpdateChunk::DrawingAreaUpdateChunk):
- (WebKit::DrawingAreaUpdateChunk::display):
- (WebKit::DrawingAreaUpdateChunk::scheduleDisplay):
- (WebKit::DrawingAreaUpdateChunk::setSize):
- (WebKit::DrawingAreaUpdateChunk::didUpdate):
- (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
- * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h:
-
-2010-04-20 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::receivedData):
-
-2010-04-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Don't paint the web page before we've blit the last update chunk to the backing store
- https://bugs.webkit.org/show_bug.cgi?id=37896
-
- * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
- (DrawingAreaMessage::):
- * UIProcess/mac/DrawingAreaProxyUpdateChunk.h:
- * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
- (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
- (WebKit::DrawingAreaProxyUpdateChunk::update):
- (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
- * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
- (WebKit::DrawingAreaUpdateChunk::DrawingAreaUpdateChunk):
- (WebKit::DrawingAreaUpdateChunk::display):
- (WebKit::DrawingAreaUpdateChunk::scheduleDisplay):
- (WebKit::DrawingAreaUpdateChunk::setSize):
- (WebKit::DrawingAreaUpdateChunk::didUpdate):
- (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
- * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h:
-
-2010-04-20 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::chooseIconForFiles):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
+ Many layout test results change on Mac, since rounding hacks were used there and are now gone.
-2010-04-19 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidChangeIcons):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
-
-2010-04-17 Sam Weinig <weinig@apple.com>
-
- Reviewed by Jon "The Belly" Honeycutt.
-
- Remove the need for a .defs file! Define WK_EXPORT.
-
- * UIProcess/API/C/WKBase.h:
- * WebProcess/win/WebProcessMain.h:
- * win/WebKit2.def: Removed.
- * win/WebKit2.vcproj:
-
-2010-04-17 Sam Weinig <weinig@apple.com>
-
- Reviewed by Adam Roben.
-
- Teach windows MiniBrowser how to work with window.open()
- and targeted links.
-
- Export WKPageSetPageUIClient.
-
- * win/WebKit2.def:
-
-2010-04-16 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix window.open() and targeted links.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveSyncMessage): Pass in the new pageID
- instead of 0.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::createWebPage): Allow for the page to have already
- been created, as is the case with programmatic window opening from within
- WebCore (e.g. window.open() or <a target="_blank">).
-
-2010-04-16 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Don't optimize debug builds.
-
- * WebKit2.xcodeproj/project.pbxproj: Define GCC_OPTIMIZATION_LEVEL correctly.
-
-2010-04-16 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::runJavaScriptInMainFrame):
-
-2010-04-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix windows build.
-
- * Platform/win/RunLoopWin.cpp:
- (RunLoop::run):
- * UIProcess/Launcher/win/WebProcessLauncher.cpp:
- (WebKit::webThreadBody):
- (WebKit::launchWebProcess):
- * WebProcess/win/WebProcessMain.cpp:
- (WebKit::WebProcessMain):
-
-2010-04-16 Sam Weinig <weinig@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Make resizing responsive on Windows.
-
- - Use the same waitFor logic as do for the Mac resizing
- DrawingAreaUpdateChunk code.
-
- * Shared/win/UpdateChunk.cpp:
- (WebKit::UpdateChunk::UpdateChunk):
- * Shared/win/UpdateChunk.h:
- Add a constructor that only takes an IntRect and allocates
- the shared memory mapping for you.
- * UIProcess/win/DrawingAreaProxy.cpp:
- (WebKit::DrawingAreaProxy::DrawingAreaProxy):
- (WebKit::DrawingAreaProxy::ensureBackingStore):
- (WebKit::DrawingAreaProxy::paint):
- (WebKit::DrawingAreaProxy::drawUpdateChunkIntoBackingStore):
- (WebKit::DrawingAreaProxy::setSize):
- (WebKit::DrawingAreaProxy::didSetSize):
- (WebKit::DrawingAreaProxy::didReceiveMessage):
- * UIProcess/win/DrawingAreaProxy.h:
- Perform wait in paint as we do on the mac.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::onSizeEvent):
- Change to use an IntSize.
-
- * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
- (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
- (WebKit::DrawingAreaUpdateChunk::display):
- (WebKit::DrawingAreaUpdateChunk::setSize):
- * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h:
- Specialize setSize() drawing and factor out painting
- into a helper function.
-
-2010-04-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by David Hyatt.
-
- Make run loops be allocated as thread specific data.
- https://bugs.webkit.org/show_bug.cgi?id=37723
-
- * Platform/RunLoop.cpp:
- (RunLoop::initializeMainRunLoop):
- (RunLoop::current):
- (RunLoop::main):
- * Platform/RunLoop.h:
- * Platform/mac/RunLoopMac.mm:
- (RunLoop::run):
- (RunLoop::stop):
- * UIProcess/Launcher/mac/WebProcessLauncher.mm:
- (WebKit::webThreadBody):
- (WebKit::launchWebProcess):
- * UIProcess/ResponsivenessTimer.cpp:
- (WebKit::ResponsivenessTimer::ResponsivenessTimer):
- * WebProcess/Launching/mac/WebProcessMain.mm:
- (main):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::isSeparateProcess):
-
-2010-04-16 Sam Weinig <weinig@apple.com>
-
- Reviewed by Adam Roben.
-
- Use GDI text rendering on Windows by default.
-
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::platformInitialize): Use the AlternateRenderingMode
- setting.
-
-2010-04-16 Sam Weinig <weinig@apple.com>
-
- Reviewed by Adam Roben.
-
- Fix crash when trying to load an invalid URL.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::loadURL): Use constructor for ResourceRequest
- that takes a KURL instead of the one that takes a String. The one
- that takes a string expects a valid URL.
-
-2010-04-16 Sam Weinig <weinig@apple.com>
-
- Reviewed by Adam Roben.
-
- Make tooltips work. Thanks Adam!
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::toolTipChanged): Pass the WebView's HWND, not the tooltip's.
-
-2010-04-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Fix build dependencies.
-
- * WebKit2.sln:
-
-2010-04-15 Adam Roben <aroben@apple.com>
-
- Fix Windows WebKit2 build.
-
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::processDidExit):
- * win/WebKit2Generated.make:
-
-2010-04-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add WebHistoryClient support.
- https://bugs.webkit.org/show_bug.cgi?id=37671
-
- Adds the following callbacks:
- didNavigateWithNavigationData
- didPerformClientRedirect
- didPerformServerRedirect
- didUpdateHistoryTitle
-
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
- (WebPageProxyMessage::):
- * Shared/WebNavigationDataStore.h: Added.
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKBase.h:
- * UIProcess/API/C/WKNavigationData.cpp: Added.
- * UIProcess/API/C/WKNavigationData.h: Added.
- * UIProcess/API/C/WKPage.cpp:
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/C/WebKit2.h:
- * UIProcess/WebHistoryClient.cpp: Copied from UIProcess/WebUIClient.cpp.
- * UIProcess/WebHistoryClient.h: Copied from UIProcess/WebUIClient.h.
- * UIProcess/WebNavigationData.cpp: Added.
- * UIProcess/WebNavigationData.h: Added.
- * UIProcess/WebPageProxy.cpp:
- * UIProcess/WebPageProxy.h:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- * win/WebKit2.vcproj:
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
+ (WebKit::WebPopupMenu::setUpPlatformData):
-2010-04-15 Sam Weinig <sam@webkit.org>
+2011-02-10 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Adam Roben.
- Remove empty file configurations.
-
- * win/WebKit2.vcproj:
-
-2010-04-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix WebKit2s build. Don't return temporaries.
-
- * UIProcess/API/C/cf/WKStringCF.cpp:
- (WKStringCreateWithCFString):
- * UIProcess/API/C/cf/WKURLCF.cpp:
- (WKURLCreateWithCFURL):
- (WKURLCopyCFURL):
-
-2010-04-12 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Fixed complexity and performance FIXME created by using KURL in the UI
- process -- it turned out that everywhere we were using KURL, we could
- have just used String instead. (That's how Windows WebKit works, too.)
-
- I kept WKURLRef and WKStringRef distinct opaque types in the API for now,
- though, since there may be profit in changing their backing stores in the
- future, and it's nice for the API to encode a difference between generic
- strings and strings that are valid, canonical URLs.
-
- * Shared/KURLWrapper.h: Removed. Yay!
-
- * Shared/WebCoreTypeArgumentMarshalling.h: Nixed KURL marshalling functions.
- Old callers marshal Strings now, instead. (This is what KURL was doing
- under the covers, anyway.)
-
- * UIProcess/API/C/WKAPICast.h:
- (toWK): Backed by StringImpl* now.
- (toURLRef): Added a disambiguating function for specifying that you want
- a WKURLRef, since StringImpl* converts to WKStringRef by default.
-
- * UIProcess/API/C/WKFrame.cpp:
- (WKFrameGetProvisionalURL):
- (WKFrameGetURL):
- * UIProcess/API/C/WKPage.cpp:
- (WKPageLoadURL):
- * UIProcess/API/C/WKURL.cpp:
- * UIProcess/API/C/cf/WKURLCF.cpp:
- (WKURLCreateWithCFURL):
- (WKURLCopyCFURL):
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::didStartProvisionalLoad):
- (WebKit::WebFrameProxy::didCommitLoad):
- * UIProcess/WebFrameProxy.h:
- (WebKit::WebFrameProxy::url):
- (WebKit::WebFrameProxy::provisionalURL):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::loadURL):
- (WebKit::WebPageProxy::didReceiveMessage):
- (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
- (WebKit::WebPageProxy::decidePolicyForNavigationAction):
- (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
- (WebKit::WebPageProxy::decidePolicyForMIMEType):
- (WebKit::WebPageProxy::processDidExit):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::urlAtProcessExit):
- * UIProcess/WebPolicyClient.cpp:
- (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
- (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
- (WebKit::WebPolicyClient::decidePolicyForMIMEType):
- * UIProcess/WebPolicyClient.h:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::loadURL):
- (WebKit::WebPage::didReceiveMessage):
- * WebProcess/WebPage/WebPage.h: Replaced KURL / KURLWrapper with String.
-
-2010-04-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix horizontal scrollbar repainting
- https://bugs.webkit.org/show_bug.cgi?id=37626
-
- Make sure that the update chunk is flipped because that's what WebCore expects.
-
- * Shared/mac/UpdateChunk.cpp:
- (WebKit::UpdateChunk::createImage):
- * Shared/mac/UpdateChunk.h:
- Add new createImage member function that creates a CGImageRef from the update chunk.
-
- * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
- (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
- Pass the right rectangle here; CoreGraphics wants it in non-flipped coordinates.
-
- (WebKit::DrawingAreaProxyUpdateChunk::ensureBackingStore):
- Create a flipped backing store.
-
- * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
- (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
- Flip the update chunk.
-
-2010-04-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add WKRetainPtr helper class as private header
- https://bugs.webkit.org/show_bug.cgi?id=37603
-
- WKRetainPtr is just like RetainPtr, but works for WK types instead of
- CF/NS types.
-
- * UIProcess/API/cpp: Added.
- * UIProcess/API/cpp/WKRetainPtr.h: Added.
- * WebKit2.xcodeproj/project.pbxproj: Add new file.
- * win/WebKit2.vcproj: Ditto.
-
-2010-04-14 Sam Weinig <sam@webkit.org>
+ HTML5 <details> and <summary>: localized text
+ https://bugs.webkit.org/show_bug.cgi?id=54260
- Reviewed by Anders Carlsson.
-
- Make the WebProcess a LSUIElement to suppress its icon from the Dock.
-
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Info.plist:
+ The method defaultDetailsSummaryText was added to LocalizationStrategy class. It is used to
+ provide the default label to be used by a <details> tag that has no <summary> child.
-2010-04-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::defaultDetailsSummaryText):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- Factor code to paint into an update chunk out into a separate function.
- https://bugs.webkit.org/show_bug.cgi?id=37594
+2011-02-17 Adam Roben <aroben@apple.com>
- * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
- (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
- (WebKit::DrawingAreaUpdateChunk::display):
- (WebKit::DrawingAreaUpdateChunk::setSize):
- * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h:
+ Make sure layout is up-to-date before rendering the layer tree in DrawingAreaImpl
-2010-04-13 Sam Weinig <sam@webkit.org>
+ Fixes <http://webkit.org/b/54646> <rdar://problem/9016889> Assertion failure in
+ FrameView::paintContents when calling WKPageForceRepaint on a page that uses accelerated
+ compositing
Reviewed by Anders Carlsson.
- Fix reported leaks when quitting MiniBrowser with open pages.
-
- * WebProcess/WebPage/WebPage.h: Make close() public.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::WebProcess):
- (WebKit::WebProcess::removeWebPage):
- (WebKit::WebProcess::didClose): If the UIProcess disappears, close
- the live pages in an effort to not leak.
- * WebProcess/WebProcess.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::forceRepaint): Lay out before we do anything else.
-2010-04-13 Sam Weinig <sam@webkit.org>
+2011-02-17 Alejandro G. Castro <alex@igalia.com>
- Reviewed by Anders Carlsson.
+ Reviewed by Martin Robinson.
- Do a JS collection and clear the memory cache to improve leaks output
- when exiting. Only do this in debug builds as it is slow.
+ [GTK] Add WKPluginSiteDataManager.cpp compilation after r78647
+ https://bugs.webkit.org/show_bug.cgi?id=54564
- * UIProcess/API/mac/WKView.h:
- * UIProcess/WebProcessProxy.cpp:
- * WebProcess/WebPage/WebPage.cpp:
+ * GNUmakefile.am: Added files to compilation.
+ * Shared/Plugins/Netscape/NetscapePluginModule.h: used
+ npruntime_internal.h in the include to avoid problems with X
+ types.
* WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::shutdown):
- (WebKit::WebProcess::didClose):
+ (WebKit::WebProcess::setAlwaysUsesComplexTextCodePath): fixed
+ ambiguous reference to Font caused by the X headers required by
+ the plugins.
-2010-04-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adele Peterson.
+2011-02-16 Matthew Delaney <mdelaney@apple.com>
- Post a null event after calling [NSApp stop] to flush the run loop
- and finish teardown.
-
- * Platform/mac/RunLoopMac.mm:
- (RunLoop::stop):
-
-2010-04-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add #ifdef so that WKView is not included on the mac if not
- compiling objective-c.
-
- * UIProcess/API/C/WebKit2.h:
-
-2010-04-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add WebKit2 solution file.
-
- * WebKit2.sln: Added.
-
-2010-04-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=37417
- Move duplicated internal CoreIPC message kinds to a
- header.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::processIncomingMessage):
- * Platform/CoreIPC/CoreIPCMessageKinds.h: Added.
- (CoreIPC::CoreIPCMessage::):
- (CoreIPC::):
- * Platform/CoreIPC/mac/ConnectionMac.cpp:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
-
-2010-04-11 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Anders Carlsson.
-
- Disable not-implemented warnings by default for now.
-
- * Shared/NotImplemented.h:
-
-2010-04-10 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=37399
- Remove use of STL data structures from CoreIPC code
-
- * Platform/CoreIPC/ArgumentDecoder.cpp:
- (CoreIPC::ArgumentDecoder::ArgumentDecoder):
- (CoreIPC::ArgumentDecoder::decodeBytes):
- (CoreIPC::ArgumentDecoder::removeAttachment):
- * Platform/CoreIPC/ArgumentDecoder.h:
- Use WTF::Deque instead of std::queue and WTF::Vector
- instead of std::vector. Replace use of malloc/free with
- fastMalloc/fastFree.
-
- * Platform/CoreIPC/ArgumentEncoder.cpp:
- (CoreIPC::ArgumentEncoder::addAttachment):
- (CoreIPC::ArgumentEncoder::releaseAttachments):
- * Platform/CoreIPC/ArgumentEncoder.h:
- Use WTF::Vector instead of std::list. Replace use of malloc/free
- with fastMalloc/fastFree.
-
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::sendMessage):
- (CoreIPC::Connection::waitForMessage):
- (CoreIPC::Connection::processIncomingMessage):
- (CoreIPC::Connection::sendOutgoingMessages):
- (CoreIPC::Connection::dispatchMessages):
- * Platform/CoreIPC/Connection.h:
- * Platform/CoreIPC/mac/ConnectionMac.cpp:
- (CoreIPC::Connection::sendOutgoingMessage):
- (CoreIPC::createArgumentDecoder):
- Use WTF::Vector instead of std::queue.
-
- * Platform/RunLoop.cpp:
- (RunLoop::performWork):
- (RunLoop::scheduleWork):
- * Platform/RunLoop.h:
- Ditto.
-
- * Platform/WorkQueue.h:
- * Platform/win/WorkQueueWin.cpp:
- (WorkQueue::scheduleWork):
- (WorkQueue::performWork):
- Ditto.
-
-2010-04-10 Mark Rowe <mrowe@apple.com>
-
- Fix an obviously incorrect part of the Xcode configuration cleanup that resulted in debug builds
- asserting shortly after launch.
-
- * WebKit2.xcodeproj/project.pbxproj: Fix the setting of DEBUG_DEFINES for the Debug configuration.
-
-2010-04-09 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Bring the WebKit2 Xcode configuration in to sync with recent changes to the WebKit Xcode configuration files.
-
- In particular, this updates the FEATURE_DEFINES to match those used in the other projects, and brings in
- the changes to support building WebKit for older Mac OS X versions from the current Mac OS X version.
-
- * Configurations/Base.xcconfig:
- * Configurations/DebugRelease.xcconfig:
- * Configurations/FeatureDefines.xcconfig:
- * Configurations/Version.xcconfig:
-
-2010-04-09 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Clean up the Xcode project configuration.
-
- Common target settings are pulled out in to BaseTarget.xcconfig. The majority of setting overrides are
- removed from the Xcode project itself. Info.plist files are updated to match those used in other frameworks.
-
- * Configurations/BaseTarget.xcconfig: Copied from WebKit2/Configurations/WebKit2.xcconfig.
- * Configurations/WebKit2.xcconfig:
- * Configurations/WebProcess.xcconfig: Copied from WebKit2/Configurations/WebKit2.xcconfig.
- * Info.plist:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess-Info.plist: Removed.
- * WebProcess/Info.plist: Moved from WebProcess-Info.plist.
-
-2010-04-09 Mark Rowe <mrowe@apple.com>
-
- Build fix.
-
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.m:
- (InitWebCoreSystemInterface): Update for recent WKSI changes.
-
-2010-04-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=37351
- Cannot build with build-webkit --webkit2
-
- Add some headers that it seems others are not getting
- already.
-
- * Platform/mac/WorkQueueMac.cpp: #inlude <mach/mach_port.h>
- * Shared/mac/UpdateChunk.cpp: #inlude <mach/vm_map.h>
-
-2010-04-09 Anders Carlsson <andersca@apple.com>
-
- More build fixes.
-
- * WebProcess/win/WebProcessMain.h:
- Include windows.h here.
-
- * win/WebKit2.def:
- Add new exports.
-
- * win/WebKit2.vcproj:
- Add new files.
-
-2010-04-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add new WKString.h and WKURL.h headers to top
- level include.
-
- * UIProcess/API/C/WebKit2.h:
+ Reviewed by Simon Fraser.
-2010-04-09 Anders Carlsson <andersca@apple.com>
+ Allow acceleratesDrawing for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=54511
- More Windows build fixes.
-
- * Shared/NotImplemented.h:
- * UIProcess/API/C/cf/WKURLCF.cpp:
- Fix typo.
+ Plumb through preference for accelerated drawing.
- (WKURLCreateWithCFURL):
- * UIProcess/API/C/cf/WKURLCF.h:
- Ditto.
-
- * win/WebKit2Generated.make:
- Copy the new CF headers.
-
-2010-04-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Two more #include sorting issues.
-
- * Shared/NotImplemented.h:
- * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
-
-2010-04-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix minor style nits found by the style-script.
+ If accelerated drawing is enabled, keep the DrawingAreaImpl in
+ accelerated compositing mode.
- * Platform/CoreIPC/ArgumentDecoder.h:
- * Platform/CoreIPC/ArgumentEncoder.cpp:
- * Platform/CoreIPC/Attachment.cpp:
- * Platform/CoreIPC/Connection.cpp:
- * Platform/CoreIPC/Connection.h:
- * Platform/CoreIPC/mac/ConnectionMac.cpp:
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- * Platform/WorkQueue.h:
- * Platform/mac/WorkQueueMac.cpp:
- * Platform/win/RunLoopWin.cpp:
- * Shared/KURLWrapper.h:
- * Shared/WebCoreTypeArgumentMarshalling.h:
- * Shared/mac/UpdateChunk.cpp:
- * UIProcess/API/C/WKPage.cpp:
- * UIProcess/API/C/WKURL.cpp:
- * UIProcess/Launcher/win/WebProcessLauncher.cpp:
- * UIProcess/ResponsivenessTimer.cpp:
- * UIProcess/WebLoaderClient.cpp:
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPolicyClient.cpp:
- * UIProcess/WebUIClient.cpp:
- * UIProcess/win/DrawingAreaProxy.cpp:
- * UIProcess/win/WebView.cpp:
- * WebProcess/Launching/win/WebProcessWinMain.cpp:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.h:
- * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp:
- * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
- * WebProcess/WebPage/WebFrame.h:
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetAcceleratedDrawingEnabled):
+ (WKPreferencesGetAcceleratedDrawingEnabled):
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::DrawingAreaImpl):
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
* WebProcess/WebPage/WebPage.cpp:
- * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
- * WebProcess/WebProcess.h:
- * WebProcess/win/WebLocalizableStrings.cpp:
- * WebProcess/win/WebLocalizableStrings.h:
- * WebProcess/win/WebProcessMain.cpp:
-
-2010-04-09 Anders Carlsson <andersca@apple.com>
-
- Fix Windows build.
-
- * Shared/NotImplemented.h:
- Include stdio.h.
-
-2010-04-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=37347
- Don't use CF types in the new C API
-
- Replace all uses of CF types in the C API.
- - Replace CFStringRef with WKStringRef.
- - Replace CFURLRef with WKURLRef.
-
- * WebKit2.xcodeproj/project.pbxproj: Add new files.
+ (WebKit::WebPage::updatePreferences):
- * Shared/KURLWrapper.h: Added. RefCounted wrapper around KURL.
- * UIProcess/API/C/WKAPICast.h: Add new conversions.
- * UIProcess/API/C/WKBase.h: Add new types.
- * UIProcess/API/C/WKFrame.cpp:
- * UIProcess/API/C/WKFrame.h:
- * UIProcess/API/C/WKPage.cpp:
- * UIProcess/API/C/WKPage.h:
- Replace uses of CF types with WK equivalents.
-
- * UIProcess/API/C/WKString.cpp: Added.
- * UIProcess/API/C/WKString.h: Added.
- Represents a WebCore::StringImpl*.
-
- * UIProcess/API/C/WKURL.cpp: Added.
- * UIProcess/API/C/WKURL.h: Added.
- Represents a WebKit::KURLWrapper*.
-
- * UIProcess/API/C/cf: Added.
- * UIProcess/API/C/cf/WKStringCF.cpp: Added.
- * UIProcess/API/C/cf/WKStringCF.h: Added.
- * UIProcess/API/C/cf/WKURLCF.cpp: Added.
- * UIProcess/API/C/cf/WKURLCF.h: Added.
- CoreFoundation conversion files. Allows converting
- WKStringRef <-> CFStringRef
- WKURLRef <-> CFURLRef
-
- * UIProcess/ScriptReturnValueCallback.cpp:
- (WebKit::ScriptReturnValueCallback::performCallbackWithReturnValue):
- * UIProcess/ScriptReturnValueCallback.h:
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::didStartProvisionalLoad):
- (WebKit::WebFrameProxy::didCommitLoad):
- * UIProcess/WebFrameProxy.h:
- (WebKit::WebFrameProxy::url):
- (WebKit::WebFrameProxy::provisionalURL):
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::didReceiveTitleForFrame):
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::didReceiveTitleForFrame):
- (WebKit::WebPageProxy::decidePolicyForNavigationAction):
- (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
- (WebKit::WebPageProxy::decidePolicyForMIMEType):
- (WebKit::WebPageProxy::runJavaScriptAlert):
- (WebKit::WebPageProxy::didRunJavaScriptInMainFrame):
- (WebKit::WebPageProxy::processDidExit):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::pageTitle):
- (WebKit::WebPageProxy::urlAtProcessExit):
- * UIProcess/WebPolicyClient.cpp:
- (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
- (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
- (WebKit::WebPolicyClient::decidePolicyForMIMEType):
- * UIProcess/WebPolicyClient.h:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::runJavaScriptAlert):
- * UIProcess/WebUIClient.h:
- Don't use CF types internally at all.
+2011-02-16 Yael Aharon <yael.aharon@nokia.com>
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::frameLoaderDestroyed):
- Fix typo.
+ Reviewed by Andreas Kling.
-2010-04-08 Sam Weinig <sam@webkit.org>
+ [Qt] White screen is displayed when tiled backing store is enabled in MiniBrowser.
+ https://bugs.webkit.org/show_bug.cgi?id=54583
- Reviewed by Anders Carlsson.
+ Make sure to invalidate all the tiles, including the last one.
- Add build support for WebKit2.
-
- * Configurations: Added.
- * Configurations/Base.xcconfig: Added.
- * Configurations/DebugRelease.xcconfig: Added.
- * Configurations/FeatureDefines.xcconfig: Added.
- * Configurations/Version.xcconfig: Added.
- * Configurations/WebKit2.xcconfig: Added.
- * English.lproj: Added.
- * English.lproj/InfoPlist.strings: Added.
- * Info.plist: Added.
- * Makefile: Added.
- * WebKit2.xcodeproj: Added.
- * WebKit2.xcodeproj/project.pbxproj: Added.
- * WebKit2Prefix.cpp: Added.
- * WebKit2Prefix.h: Added.
- * WebKit2_Prefix.pch: Added.
- * WebProcess-Info.plist: Added.
- * version.plist: Added.
- * win: Added.
- * win/WebKit2.def: Added.
- * win/WebKit2.vcproj: Added.
- * win/WebKit2Generated.make: Added.
- * win/WebKit2Generated.vcproj: Added.
- * win/WebKit2WebProcess.vcproj: Added.
-
-2010-04-08 Anders Carlsson <andersca@apple.com>
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::invalidate):
- Reviewed by Sam Weinig.
+2011-02-16 Yael Aharon <yael.aharon@nokia.com>
- https://bugs.webkit.org/show_bug.cgi?id=37301
- Add WebKit2/UIProcess directory.
-
- * UIProcess: Added.
- * UIProcess/API: Added.
- * UIProcess/API/C: Added.
- * UIProcess/API/C/WKAPICast.h: Added.
- * UIProcess/API/C/WKBase.h: Added.
- * UIProcess/API/C/WKContext.cpp: Added.
- * UIProcess/API/C/WKContext.h: Added.
- * UIProcess/API/C/WKFrame.cpp: Added.
- * UIProcess/API/C/WKFrame.h: Added.
- * UIProcess/API/C/WKFramePolicyListener.cpp: Added.
- * UIProcess/API/C/WKFramePolicyListener.h: Added.
- * UIProcess/API/C/WKPage.cpp: Added.
- * UIProcess/API/C/WKPage.h: Added.
- * UIProcess/API/C/WKPageNamespace.cpp: Added.
- * UIProcess/API/C/WKPageNamespace.h: Added.
- * UIProcess/API/C/WKPreferences.cpp: Added.
- * UIProcess/API/C/WKPreferences.h: Added.
- * UIProcess/API/C/WebKit2.h: Added.
- * UIProcess/API/mac: Added.
- * UIProcess/API/mac/PageClientImpl.h: Added.
- * UIProcess/API/mac/PageClientImpl.mm: Added.
- * UIProcess/API/mac/WKView.h: Added.
- * UIProcess/API/mac/WKView.mm: Added.
- * UIProcess/API/mac/WKViewInternal.h: Added.
- * UIProcess/API/win: Added.
- * UIProcess/API/win/WKAPICastWin.h: Added.
- * UIProcess/API/win/WKBaseWin.h: Added.
- * UIProcess/API/win/WKView.cpp: Added.
- * UIProcess/API/win/WKView.h: Added.
- * UIProcess/Launcher: Added.
- * UIProcess/Launcher/WebProcessLauncher.h: Added.
- * UIProcess/Launcher/mac: Added.
- * UIProcess/Launcher/mac/WebProcessLauncher.mm: Added.
- * UIProcess/Launcher/win: Added.
- * UIProcess/Launcher/win/WebProcessLauncher.cpp: Added.
- * UIProcess/PageClient.h: Added.
- * UIProcess/ProcessModel.h: Added.
- * UIProcess/ResponsivenessTimer.cpp: Added.
- * UIProcess/ResponsivenessTimer.h: Added.
- * UIProcess/ScriptReturnValueCallback.cpp: Added.
- * UIProcess/ScriptReturnValueCallback.h: Added.
- * UIProcess/WebContext.cpp: Added.
- * UIProcess/WebContext.h: Added.
- * UIProcess/WebFramePolicyListenerProxy.cpp: Added.
- * UIProcess/WebFramePolicyListenerProxy.h: Added.
- * UIProcess/WebFrameProxy.cpp: Added.
- * UIProcess/WebFrameProxy.h: Added.
- * UIProcess/WebLoaderClient.cpp: Added.
- * UIProcess/WebLoaderClient.h: Added.
- * UIProcess/WebPageNamespace.cpp: Added.
- * UIProcess/WebPageNamespace.h: Added.
- * UIProcess/WebPageProxy.cpp: Added.
- * UIProcess/WebPageProxy.h: Added.
- * UIProcess/WebPolicyClient.cpp: Added.
- * UIProcess/WebPolicyClient.h: Added.
- * UIProcess/WebPreferences.cpp: Added.
- * UIProcess/WebPreferences.h: Added.
- * UIProcess/WebProcessManager.cpp: Added.
- * UIProcess/WebProcessManager.h: Added.
- * UIProcess/WebProcessProxy.cpp: Added.
- * UIProcess/WebProcessProxy.h: Added.
- * UIProcess/WebUIClient.cpp: Added.
- * UIProcess/WebUIClient.h: Added.
- * UIProcess/mac: Added.
- * UIProcess/mac/DrawingAreaProxy.h: Added.
- * UIProcess/mac/DrawingAreaProxy.mm: Added.
- * UIProcess/mac/DrawingAreaProxyUpdateChunk.h: Added.
- * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm: Added.
- * UIProcess/win: Added.
- * UIProcess/win/DrawingAreaProxy.cpp: Added.
- * UIProcess/win/DrawingAreaProxy.h: Added.
- * UIProcess/win/WebView.cpp: Added.
- * UIProcess/win/WebView.h: Added.
-
-2010-04-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig and Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=37300
- Add WebKit2/WebProcess directory.
-
- * WebProcess: Added.
- * WebProcess/Launching: Added.
- * WebProcess/Launching/mac: Added.
- * WebProcess/Launching/mac/WebProcessMain.mm: Added.
- * WebProcess/Launching/win: Added.
- * WebProcess/Launching/win/WebProcessWinMain.cpp: Added.
- * WebProcess/WebCoreSupport: Added.
- * WebProcess/WebCoreSupport/WebChromeClient.cpp: Added.
- * WebProcess/WebCoreSupport/WebChromeClient.h: Added.
- * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: Added.
- * WebProcess/WebCoreSupport/WebContextMenuClient.h: Added.
- * WebProcess/WebCoreSupport/WebDragClient.cpp: Added.
- * WebProcess/WebCoreSupport/WebDragClient.h: Added.
- * WebProcess/WebCoreSupport/WebEditorClient.cpp: Added.
- * WebProcess/WebCoreSupport/WebEditorClient.h: Added.
- * WebProcess/WebCoreSupport/WebErrors.h: Added.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Added.
- * WebProcess/WebCoreSupport/WebInspectorClient.h: Added.
- * WebProcess/WebCoreSupport/mac: Added.
- * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: Added.
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.h: Added.
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.m: Added.
- * WebProcess/WebCoreSupport/win: Added.
- * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp: Added.
- * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: Added.
- * WebProcess/WebPage: Added.
- * WebProcess/WebPage/DrawingArea.cpp: Added.
- * WebProcess/WebPage/DrawingArea.h: Added.
- * WebProcess/WebPage/WebFrame.cpp: Added.
- * WebProcess/WebPage/WebFrame.h: Added.
- * WebProcess/WebPage/WebPage.cpp: Added.
- * WebProcess/WebPage/WebPage.h: Added.
- * WebProcess/WebPage/mac: Added.
- * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: Added.
- * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h: Added.
- * WebProcess/WebPage/mac/WebPageMac.mm: Added.
- * WebProcess/WebPage/win: Added.
- * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: Added.
- * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h: Added.
- * WebProcess/WebPage/win/WebPageWin.cpp: Added.
- * WebProcess/WebProcess.cpp: Added.
- * WebProcess/WebProcess.h: Added.
- * WebProcess/win: Added.
- * WebProcess/win/DllMain.cpp: Added.
- * WebProcess/win/WebLocalizableStrings.cpp: Added.
- * WebProcess/win/WebLocalizableStrings.h: Added.
- * WebProcess/win/WebProcessMain.cpp: Added.
- * WebProcess/win/WebProcessMain.h: Added.
-
-2010-04-08 Sam Weinig <sam@webkit.org>
+ Reviewed by Andreas Kling.
- Reviewed by Anders Carlsson.
+ [Qt] Tiles are not created for webkit2 after r77286.
+ https://bugs.webkit.org/show_bug.cgi?id=54577
- https://bugs.webkit.org/show_bug.cgi?id=37295
- Add WebKit2/Shared directory.
-
- * Shared: Added.
- * Shared/CoreIPCSupport: Added.
- * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: Added.
- * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: Added.
- * Shared/CoreIPCSupport/WebPageMessageKinds.h: Added.
- * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added.
- * Shared/CoreIPCSupport/WebProcessMessageKinds.h: Added.
- * Shared/NotImplemented.h: Added.
- * Shared/WebCoreTypeArgumentMarshalling.h: Added.
- * Shared/WebEvent.h: Added.
- * Shared/WebEventConversion.cpp: Added.
- * Shared/WebEventConversion.h: Added.
- * Shared/WebPreferencesStore.cpp: Added.
- * Shared/WebPreferencesStore.h: Added.
- * Shared/mac: Added.
- * Shared/mac/UpdateChunk.cpp: Added.
- * Shared/mac/UpdateChunk.h: Added.
- * Shared/mac/WebEventFactory.h: Added.
- * Shared/mac/WebEventFactory.mm: Added.
- * Shared/win: Added.
- * Shared/win/UpdateChunk.cpp: Added.
- * Shared/win/UpdateChunk.h: Added.
- * Shared/win/WebEventFactory.cpp: Added.
- * Shared/win/WebEventFactory.h: Added.
-
-2010-04-08 Sam Weinig <sam@webkit.org>
+ When using the default tile size of 1024x1024, only one tile is created.
+ Make sure to create this tile by undoing what seems to be a typo in r77286.
- Reviewed by Anders Carlsson.
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::paint):
+ (WebKit::TiledDrawingAreaProxy::createTiles):
- https://bugs.webkit.org/show_bug.cgi?id=37293
- Add WebKit2/Platform directory.
-
- * Platform: Added.
- * Platform/CoreIPC: Added.
- * Platform/CoreIPC/ArgumentDecoder.cpp: Added.
- * Platform/CoreIPC/ArgumentDecoder.h: Added.
- * Platform/CoreIPC/ArgumentEncoder.cpp: Added.
- * Platform/CoreIPC/ArgumentEncoder.h: Added.
- * Platform/CoreIPC/Arguments.h: Added.
- * Platform/CoreIPC/Attachment.cpp: Added.
- * Platform/CoreIPC/Attachment.h: Added.
- * Platform/CoreIPC/Connection.cpp: Added.
- * Platform/CoreIPC/Connection.h: Added.
- * Platform/CoreIPC/MessageID.h: Added.
- * Platform/CoreIPC/mac: Added.
- * Platform/CoreIPC/mac/ConnectionMac.cpp: Added.
- * Platform/CoreIPC/mac/MachPort.h: Added.
- * Platform/CoreIPC/win: Added.
- * Platform/CoreIPC/win/ConnectionWin.cpp: Added.
- * Platform/PlatformProcessIdentifier.h: Added.
- * Platform/RunLoop.cpp: Added.
- * Platform/RunLoop.h: Added.
- * Platform/WorkItem.h: Added.
- * Platform/WorkQueue.cpp: Added.
- * Platform/WorkQueue.h: Added.
- * Platform/mac: Added.
- * Platform/mac/RunLoopMac.mm: Added.
- * Platform/mac/WorkQueueMac.cpp: Added.
- * Platform/win: Added.
- * Platform/win/RunLoopWin.cpp: Added.
-
-2010-04-08 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Mark Rowe.
-
- Add WebKit2 directory.
+== Rolled over to ChangeLog-2011-02-16 ==
diff --git a/Source/WebKit2/ChangeLog-2011-02-16 b/Source/WebKit2/ChangeLog-2011-02-16
new file mode 100644
index 0000000..56dc110
--- /dev/null
+++ b/Source/WebKit2/ChangeLog-2011-02-16
@@ -0,0 +1,45403 @@
+2011-02-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Always disable the responsiveness timer when showing a popup menu
+ https://bugs.webkit.org/show_bug.cgi?id=54578
+ <rdar://problem/9009170>
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showPopupMenu):
+
+2011-02-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Assertion failure in DrawingAreaImpl::display when calling WKPageForceRepaint on a page that uses accelerated compositing
+ https://bugs.webkit.org/show_bug.cgi?id=54575
+ <rdar://problem/8979594>
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::forceRepaint):
+ If there is a layer tree host, ask it to force a repaint instead.
+
+ * WebProcess/WebPage/LayerTreeHost.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::forceRepaint):
+ Flush any layer changes, then flush and synchronize the current CA transaction.
+
+2011-02-16 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=54572
+ REGRESSION (WebKit2): Print Backgrounds checkbox has no effect for DOM initiated printing
+
+ * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::preferencesDidChange): Preferences need
+ to be propagated to Web process during synchronous printing.
+
+2011-02-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebPluginSiteDataManager should work with plug-in process
+ https://bugs.webkit.org/show_bug.cgi?id=54523
+ <rdar://problem/8689312>
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::removeWebProcessConnection):
+ Call startShutdownTimerIfNecessary().
+
+ (WebKit::PluginProcess::getSitesWithData):
+ Ask the plug-in module for the sites with data and send them back
+ in a PluginProcessProxy::DidGetSitesWithData message.
+
+ (WebKit::PluginProcess::clearSiteData):
+ Clear site data and send back a DidClearSiteData message.
+
+ (WebKit::PluginProcess::startShutdownTimerIfNecessary):
+ Factor code out from removeWebProcessConnection.
+
+ * PluginProcess/PluginProcess.messages.in:
+ Add new messages.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::plugins):
+ New function for getting all plug-ins.
+
+ * UIProcess/Plugins/PluginProcessManager.cpp:
+ (WebKit::PluginProcessManager::getPluginProcessConnection):
+ Call getOrCreatePluginProcess.
+
+ (WebKit::PluginProcessManager::getSitesWithData):
+ Get a plug-in process proxy and call getSitesWithData.
+
+ (WebKit::PluginProcessManager::clearSiteData):
+ Get a plug-in process proxy and call clearSiteData.
+
+ (WebKit::PluginProcessManager::getOrCreatePluginProcess):
+ Factor code to create a plug-in process out into a separate function.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::getSitesWithData):
+ (WebKit::PluginProcessProxy::clearSiteData):
+ Update the pending reply struct. If the process is still launching,
+ enqueue the request. Otherwise, just send the message.
+
+ (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
+ Make sure that pending replies are sent out.
+
+ (WebKit::PluginProcessProxy::didFinishLaunching):
+ Send our pending requests.
+
+ (WebKit::PluginProcessProxy::didGetSitesWithData):
+ (WebKit::PluginProcessProxy::didClearSiteData):
+ Call down to the plug-in site data manager.
+
+ * UIProcess/Plugins/PluginProcessProxy.messages.in:
+ Add DidGetSitesWithData and DidClearSiteData messages.
+
+ * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
+ (WebKit::WebPluginSiteDataManager::GetSitesWithDataState::GetSitesWithDataState):
+ Initialize the state.
+
+ (WebKit::WebPluginSiteDataManager::GetSitesWithDataState::getSitesWithDataForNextPlugin):
+ If the plug-in queue is empty, call didGetSitesWithDataForAllPlugins. Otherwise, ask
+ the plug-in process manager to get sites for the next plug-in.
+
+ (WebKit::WebPluginSiteDataManager::GetSitesWithDataState::didGetSitesWithDataForSinglePlugin):
+ Update the sites set and get sites for the next plug-in.
+
+ (WebKit::WebPluginSiteDataManager::ClearSiteDataState::ClearSiteDataState):
+ Initialize the state.
+
+ (WebKit::WebPluginSiteDataManager::ClearSiteDataState::clearSiteDataForNextPlugin):
+ If the plug-in queue is empty, call didClearSiteDataForAllPlugins. Otherwise, ask
+ the plug-in process manager to get sites for the next plug-in.
+
+ (WebKit::WebPluginSiteDataManager::ClearSiteDataState::didClearSiteDataForSinglePlugin):
+ Update the sites set and ask the next plug-in to clear site data.
+
+ (WebKit::WebPluginSiteDataManager::~WebPluginSiteDataManager):
+ Assert that all maps are empty.
+
+ (WebKit::WebPluginSiteDataManager::invalidate):
+ Delete and clear the pending state maps.
+
+ (WebKit::WebPluginSiteDataManager::getSitesWithData):
+ In the ENABLE(PLUGIN_PROCESS) case, allocate a new GetSitesWithDataState object and
+ tell it to get sites for the next plug-in. Otherwise, make sure that the web process
+ is alive before sending a GetSitesWithPluginData message.
+
+ (WebKit::WebPluginSiteDataManager::clearSiteData):
+ In the ENABLE(PLUGIN_PROCESS) case, allocate a new ClearSiteDataState object and
+ tell it to get sites for the next plug-in. Otherwise, make sure that the web process
+ is alive before sending a ClearPluginSiteData message.
+
+ (WebKit::WebPluginSiteDataManager::didGetSitesWithDataForSinglePlugin):
+ Call down to the GetSitesWithDataState object.
+
+ (WebKit::WebPluginSiteDataManager::didGetSitesWithDataForAllPlugins):
+ Free the GetSitesWithDataState object and invoke the callback.
+
+ (WebKit::WebPluginSiteDataManager::didClearSiteDataForSinglePlugin):
+ Call down to the GetSitesWithDataState object.
+
+ (WebKit::WebPluginSiteDataManager::didClearSiteDataForAllPlugins):
+ Free the GetSitesWithDataState object and invoke the callback.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::processDidClose):
+ Don't invalidate the plug-in site data manager if we're using a plug-in process.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::getSitesWithPluginData):
+ (WebKit::WebProcess::clearPluginSiteData):
+ Call shutdownIfPossible().
+
+2011-02-15 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Copy over new WebKit 2 header.
+
+ Rubber-stamped by Alice Liu.
+
+ * win/WebKit2Generated.make:
+
+2011-02-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Implement WKPluginSiteDataManagerClearSiteData
+ https://bugs.webkit.org/show_bug.cgi?id=54512
+ <rdar://problem/8689312>
+
+ * UIProcess/API/C/WKPluginSiteDataManager.cpp:
+ (WKPluginSiteDataManagerGetTypeID):
+ Implement this.
+
+ (toNPClearSiteDataFlags):
+ Convert WKClearSiteDataFlags to NPP_ClearSiteData flags.
+
+ (WKPluginSiteDataManagerClearSiteData):
+ (WKPluginSiteDataManagerClearAllSiteData):
+ Call through to WebPluginSiteDataManager::clearSiteData.
+
+ * UIProcess/API/C/WKPluginSiteDataManager.h:
+ Change the clear functions to take a completion callback.
+
+ * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
+ (WebKit::WebPluginSiteDataManager::clearSiteData):
+ Ask the plug-in info store for all plug-in paths and send a
+ ClearPluginSiteData message to the web process.
+
+ (WebKit::WebPluginSiteDataManager::didClearSiteData):
+ call the callback.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didClearPluginSiteData):
+ Call through to the plug-in site data manager.
+
+ * UIProcess/WebContext.messages.in:
+ Add ClearPluginSiteData message.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::clearPluginSiteData):
+ Iterate over all the plug-in paths, creating plug-in modules and calling
+ clearSiteData for each one.
+
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in:
+ Add DidClearPluginSiteData message.
+
+2011-02-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Implement WKPluginSiteDataManagerGetSitesWithData
+ https://bugs.webkit.org/show_bug.cgi?id=54510
+ <rdar://problem/8689312>
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextGetPluginSiteDataManager):
+ Call WebContext::pluginSiteDataManager.
+
+ * UIProcess/API/C/WKPluginSiteDataManager.cpp:
+ (WKPluginSiteDataManagerGetSitesWithData):
+ Call WebPluginSiteDataManager::getSitesWithData.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::getPluginPaths):
+ * UIProcess/Plugins/PluginInfoStore.h:
+ Populate the paths argument with the paths of all plug-ins.
+
+ * UIProcess/Plugins/WebPluginSiteDataManager.cpp: Added.
+ (WebKit::WebPluginSiteDataManager::invalidate):
+ Invalidate the callbacks map.
+
+ (WebKit::WebPluginSiteDataManager::getSitesWithData):
+ Ask the plug-in info store for all plug-in paths and send a
+ GetSitesWithPluginData message to the web process.
+
+ (WebKit::WebPluginSiteDataManager::didGetSitesWithPluginData):
+ Call the callback.
+
+ * UIProcess/Plugins/WebPluginSiteDataManager.h: Added.
+ (WebKit::WebPluginSiteDataManager::clearContext):
+ Clear the context.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ Initialize m_pluginSiteDataManager.
+
+ (WebKit::WebContext::~WebContext):
+ Invalidate the plug-in site data manager and clear its context.
+
+ (WebKit::WebContext::processDidClose):
+ Invalidate the plug-in site data manager.
+
+ (WebKit::WebContext::didGetSitesWithPluginData):
+ Call through to the plug-in site data manager.
+
+ * UIProcess/WebContext.h:
+ * UIProcess/WebContext.messages.in:
+ Add GetSitesWithPluginData message.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::getSitesWithPluginData):
+ Iterate over all plug-in paths and get the sites from all plug-ins.
+
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in:
+ Add DidGetSitesWithPluginData.
+
+2011-02-15 Anders Carlsson <andersca@apple.com>
+
+ Fix Qt build.
+
+ * WebKit2.pro:
+
+2011-02-15 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * win/WebKit2.vcproj:
+
+2011-02-14 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough and Geoff Garen.
+
+ Refactor handles and weak pointers to become nicer and more automatic
+ https://bugs.webkit.org/show_bug.cgi?id=54415
+
+ Update code to new Global<> API, and refactor to get global data to
+ necessary points.
+
+ * WebProcess/Plugins/Netscape/NPJSObject.cpp:
+ (WebKit::NPJSObject::create):
+ (WebKit::NPJSObject::NPJSObject):
+ (WebKit::NPJSObject::initialize):
+ (WebKit::NPJSObject::invokeDefault):
+ (WebKit::NPJSObject::construct):
+ (WebKit::NPJSObject::invoke):
+ * WebProcess/Plugins/Netscape/NPJSObject.h:
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
+ (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
+ (WebKit::NPRuntimeObjectMap::evaluate):
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::windowScriptNPObject):
+ (WebKit::PluginView::pluginElementNPObject):
+
+2011-02-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Add stubbed out WKPluginSiteDataManagerRef API
+ https://bugs.webkit.org/show_bug.cgi?id=54504
+
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextGetPluginSiteDataManager):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/API/C/WKPluginSiteDataManager.cpp: Added.
+ (WKPluginSiteDataManagerGetTypeID):
+ (WKPluginSiteDataManagerGetSitesWithData):
+ (WKPluginSiteDataManagerClearSiteData):
+ (WKPluginSiteDataManagerClearAllSiteData):
+ * UIProcess/API/C/WKPluginSiteDataManager.h: Added.
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2011-02-15 Jia Pu <jpu@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Autocorrection should respect undo.
+ https://bugs.webkit.org/show_bug.cgi?id=52221
+ <rdar://problem/8663399>
+
+ Please see WebCore/ChangeLog for detailed description.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.h: Updated for the new function declared in EditorClient.
+
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::recordAutocorrectionResponse): Ditto.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::replaceSelectionWithText): Adopted new signature of ReplaceSelectionCommand::create().
+
+2011-02-15 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Use the Database directory location specified in NSUserDefaults.
+ https://bugs.webkit.org/show_bug.cgi?id=54496
+
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformDefaultDatabaseDirectory):
+ Use the same logic as WebKit1's WebDatabaseManager::databasesDirectoryPath.
+
+2011-02-15 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson, Darin Adler.
+
+ Layers stick around in DrawingAreaImpl until we switch out of compositing
+ https://bugs.webkit.org/show_bug.cgi?id=54498
+
+ When leaving compositing mode soon, remove all the child layers
+ of the nonCompositedContent layer right away, so they don't stick
+ around.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::setRootCompositingLayer):
+
+2011-02-15 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Allow controlling minimum DOMTimer interval on a per-page basis
+ https://bugs.webkit.org/show_bug.cgi?id=54312
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+
+2011-02-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add sitesWithData and clearSiteData to NetscapePluginModule
+ https://bugs.webkit.org/show_bug.cgi?id=54492
+
+ * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::NetscapePluginModule):
+ (WebKit::NetscapePluginModule::pluginCreated):
+ (WebKit::NetscapePluginModule::pluginDestroyed):
+ (WebKit::NetscapePluginModule::sitesWithData):
+ (WebKit::NetscapePluginModule::clearSiteData):
+ (WebKit::NetscapePluginModule::tryGetSitesWithData):
+ (WebKit::NetscapePluginModule::tryClearSiteData):
+ (WebKit::NetscapePluginModule::incrementLoadCount):
+ (WebKit::NetscapePluginModule::decrementLoadCount):
+ * Shared/Plugins/Netscape/NetscapePluginModule.h:
+
+2011-02-15 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * Shared/win/WebCoreArgumentCodersWin.cpp:
+ (CoreIPC::encodeResourceRequest):
+
+2011-02-15 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=54480
+ <rdar://problem/8975229> REGRESSION (WebKit2): A web page remains unresponsive for a long
+ time after printing
+
+ Nothing was painted until moving the mouse over browser chrome, deactivating the window,
+ or taking some other drastic measure like that.
+
+ * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::setAutodisplay):
+ Call -[NSView displayIfNeeded] after enabling autodisplay. For some reason, this makes
+ WebCore push updates again.
+
+2011-02-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Crash loading fast/loader/empty-embed-src-attribute.html
+ <rdar://problem/9005541>
+ https://bugs.webkit.org/show_bug.cgi?id=54483
+
+ Add the ability to encode/decode and empty ResourceRequest.
+
+ * Shared/mac/WebCoreArgumentCodersMac.mm:
+ (CoreIPC::encodeResourceRequest):
+ (CoreIPC::decodeResourceRequest):
+ (CoreIPC::decodeResourceResponse): Add missing false check for the
+ decode step.
+ * Shared/win/WebCoreArgumentCodersWin.cpp:
+ (CoreIPC::encodeResourceRequest):
+ (CoreIPC::decodeResourceRequest):
+ (CoreIPC::decodeResourceResponse): Add missing false check for the
+ decode step.
+
+2011-02-15 Andreas Kling <kling@webkit.org>
+
+ Unreviewed Qt build fix after r78588.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage): Add WKPageLoaderClient::shouldGoToHistoryItem.
+
+2011-02-15 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Stop using deprecated API to flip the dragImage.
+ <rdar://problem/8930897>
+ https://bugs.webkit.org/show_bug.cgi?id=54477
+
+ NSImage setFlipped is a deprecated API. We replace it with
+ drawInRect:fromRect:operation:fraction:respectFlipped:hints.
+
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setDragImage): Removed call to setFlipped.
+ * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
+ (WebKit::WebDragClient::startDrag): The image is now drawn with
+ drawInRect:fromRect:operation:fraction:respectFlipped:hints.
+
+2011-02-15 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/9002047> and https://bugs.webkit.org/show_bug.cgi?id=54426
+ WebFrameLoaderClient::shouldGoToHistoryItem needs implementation
+
+ Expose HistoryItem -> ItemID mapping for the message:
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::idForItem):
+ * WebProcess/WebPage/WebBackForwardListProxy.h:
+
+ Sync message to the UIProcess for the answer:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem):
+
+ Call out to the WebLoaderClient for the answer:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::shouldGoToBackForwardListItem):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+
+ Call out to the client application for the answer:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::shouldGoToBackForwardListItem):
+ * UIProcess/WebLoaderClient.h:
+
+ Add API for the client application to listen for this:
+ * UIProcess/API/C/WKPage.h:
+
+2011-02-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix Anders typo. false -> 0.
+
+ * Platform/mac/SharedMemoryMac.cpp:
+ (WebKit::SharedMemory::create):
+
+2011-02-15 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by NOBODY Csaba Osztrogonác.
+
+ [Qt] Redesign the build system
+ https://bugs.webkit.org/show_bug.cgi?id=51339
+
+ Part 1.
+
+ Introduce CodeGenerators.pri and add common includepaths to WebCore.pri,
+ thus unnecessary duplications can be removed from project files.
+
+ * WebKit2.pro: Simplify and deduplicate includepaths.
+
+2011-01-26 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Ryosuke Niwa.
+
+ Refactoring: Extract TextCheckerClient from EditorClient
+ https://bugs.webkit.org/show_bug.cgi?id=53213
+
+ * Shared/WebCoreArgumentCoders.h:
+ * UIProcess/TextChecker.h:
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+ (WebKit::WebEditorClient::textChecker):
+ * Scripts/webkit2/messages.py: Re-arranged the include file
+
+2011-02-07 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add EditorClient callbacks to override isDOMPasteAllowed and javaScriptCanAccessClipboard
+ https://bugs.webkit.org/show_bug.cgi?id=52417
+
+ Added two callback functions, canCopyCut and canPaste to EditorClient. They are currently
+ not implemented.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::canCopyCut): Added.
+ (WebKit::WebEditorClient::canPaste): Added.
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+
+2011-02-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add WKPageSetMemoryCacheClientCallsEnabled API
+ https://bugs.webkit.org/show_bug.cgi?id=54422
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetMemoryCacheClientCallsEnabled):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setMemoryCacheClientCallsEnabled):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setMemoryCacheMessagesEnabled):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2011-02-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: View not updated completely when coming back from a cached back/forward navigation
+ <rdar://problem/8787264>
+ https://bugs.webkit.org/show_bug.cgi?id=54419
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::restoreViewState): Invalidate the entire page
+ when completing a restore from the back/forward cache.
+
+2011-02-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Shared memory should be made shared immediately
+ https://bugs.webkit.org/show_bug.cgi?id=54413
+ <rdar://problem/8972153>
+
+ Under some circumstances, mach_make_memory_entry_64 may only return parts of a
+ memory allocation. Work around this by creating a mach port representing the shared memory
+ right away. Also, hand out this mach port in createHandle when using the default memory protection.
+
+ * Platform/SharedMemory.h:
+ * Platform/mac/SharedMemoryMac.cpp:
+ (WebKit::SharedMemory::create):
+ (WebKit::SharedMemory::~SharedMemory):
+ (WebKit::SharedMemory::createHandle):
+
+2011-02-14 Adam Roben <aroben@apple.com>
+
+ React to accelerated compositing changes and allocation failures in DrawingAreaImpl::display
+
+ Fixes <http://webkit.org/b/54398> DrawingAreaImpl::display handles error cases poorly.
+
+ Reviewed by Darin Adler and Anders Carlsson.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::display): Bail out if the layout we perform puts us into
+ accelerated compositing mode. Moved the layout earlier in this function so we can bail
+ before doing other work that would be unnecessary in this case. Moved the allocation of the
+ ShareableBitmap earlier so we will leave our state (e.g., dirty region) intact even if the
+ allocation fails.
+
+2011-02-14 Adam Roben <aroben@apple.com>
+
+ Add a way to flash backing store and view updates
+
+ The new WKPageSetDebugPaintFlags SPI can be used to control whether backing store and/or
+ view updates are flashed. A blueish color is used for view updates, and a purpleish color is
+ used for backing store updates. The flashing currently only works on Windows.
+
+ Fixes <http://webkit.org/b/54303>.
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetDebugPaintFlags):
+ (WKPageGetDebugPaintFlags):
+ * UIProcess/API/C/WKPagePrivate.h:
+ Added. These call through to WebPageProxy.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::flashBackingStoreUpdates):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::flashBackingStoreUpdates):
+ * UIProcess/API/qt/qwkpage_p.h:
+ Stubbed out new PageClient functions.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Tell the WebPageProxy to flash the
+ backing store updates we're performing.
+
+ * UIProcess/PageClient.h: Added flashBackingStoreUpdates.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::flashBackingStoreUpdates): Call through to the PageClient.
+ (WebKit::WebPageProxy::viewUpdatesFlashColor): Return the blueish color used for view
+ updates.
+ (WebKit::WebPageProxy::backingStoreUpdatesFlashColor): Return the purpleish color used for
+ backing store updates.
+
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::setDebugPaintFlags):
+ (WebKit::WebPageProxy::debugPaintFlags):
+ Added these simple accessors.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::flashRects):
+ (WebKit::createBrush):
+ New helper functions.
+
+ (WebKit::WebView::onPaintEvent): Flash the dirty region if requested.
+ (WebKit::WebView::flashBackingStoreUpdates): Added. Calls through to flashRects.
+
+ * UIProcess/win/WebView.h: Added flashBackingStoreUpdates.
+
+ * win/WebKit2Generated.make: Export WKPagePrivate.h so clients can use it.
+
+2011-02-14 Adam Roben <aroben@apple.com>
+
+ Add some .messages.in and script files to WebKit2 projects
+
+ This is just for convenience. It doesn't affect the build.
+
+ * win/WebKit2.vcproj: Also let VS resort some files.
+ * win/WebKit2Generated.vcproj:
+
+2011-02-14 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt] Need implementation of ResourceRequest and ResourceResponse serialization
+ https://bugs.webkit.org/show_bug.cgi?id=54339
+
+ Add dummy implementation with FIXME and let the core go with it for now.
+ * Shared/qt/WebCoreArgumentCodersQt.cpp:
+ (CoreIPC::decodeResourceRequest):
+ (CoreIPC::decodeResourceResponse):
+
+2011-02-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Speculative fix for
+
+ <rdar://problem/8995361>
+ CrashTracer: [USER] 47 crashes in WebProcess at com.apple.WebKit2: WebKit::WebPage::layoutIfNeeded + 4
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::~DrawingAreaImpl):
+ Invalidate the layer tree host.
+
+2011-02-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ The plug-in process heap should be executable by default
+ https://bugs.webkit.org/show_bug.cgi?id=54364
+ <rdar://problem/8990563>
+
+ * UIProcess/Launcher/ProcessLauncher.h:
+ Add executableHeap flag.
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ Set the right posix_spawn flag if executableHeap is true.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::PluginProcessProxy):
+ Initialize executableHeap to true.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::connect):
+ Initialize executableHeap to false.
+
+2011-02-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Messages waited on are never dispatched
+ https://bugs.webkit.org/show_bug.cgi?id=54362
+ <rdar://problem/8995051>
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::processIncomingMessage):
+ Get the argument encoder from the incoming message.
+
+2011-02-13 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add a compile-time option to completely disable WebArchive support.
+ https://bugs.webkit.org/show_bug.cgi?id=52712
+
+ Add an ENABLE(WEB_ARCHIVE) compile-time setting and use it for all WebArchive code.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2011-02-13 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=54348
+ Crash when printing a document with no pages
+
+ * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::drawPagesToPDF): Don't fail on a fake
+ page that computePagesForPrinting() added to a pageless document.
+
+2011-02-13 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed and landed by Sam Weinig.
+
+ AX: Update WK2 usage of remote accessibility api
+ https://bugs.webkit.org/show_bug.cgi?id=54220
+
+ Rename some of the remote accessibility methods to be more accurate.
+ Make sure to unregister the AccessibilityWebPageObject on dealloc.
+ Send the window remote token along with the WKView remote token.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _updateRemoteAccessibilityRegistration:]):
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ (-[WKView viewDidMoveToWindow]):
+ (-[WKView _processDidCrash]):
+ (-[WKView _pageClosed]):
+ (-[WKView _setAccessibilityWebProcessToken:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
+ (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
+ (-[AccessibilityWebPageObject dealloc]):
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::platformInitialize):
+ (WebKit::WebPage::registerUIProcessAccessibilityTokens):
+
+2011-02-11 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=54335
+ <rdar://problem/8895141> Make window.print() work with WebKit2
+
+ * Platform/CoreIPC/Connection.h: Corrected a typo in FIXME comment.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::update):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::sizeDidChange):
+ (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
+ (WebKit::TiledDrawingAreaProxy::takeSnapshot):
+ (WebKit::TiledDrawingAreaProxy::removeTile):
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
+ (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
+ (WebKit::LayerBackedDrawingAreaProxy::update):
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ (WebKit::WebContext::postMessageToInjectedBundle):
+ Updated for send() -> deprecatedSend() rename.
+
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy): Added a flag that's true while serving window.print().
+ (WebKit::WebPageProxy::printFrame): Set and unset m_isPerformingDOMPrintOperation.
+ (WebKit::WebPageProxy::beginPrinting): Force message processing in web process when serving
+ window.print().
+ (WebKit::WebPageProxy::endPrinting): Ditto.
+ (WebKit::WebPageProxy::computePagesForPrinting): Ditto.
+ (WebKit::WebPageProxy::drawRectToPDF): Ditto.
+ (WebKit::WebPageProxy::drawPagesToPDF): Ditto.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::~WebProcessProxy):
+ (WebKit::WebProcessProxy::sendMessage):
+ (WebKit::WebProcessProxy::didFinishLaunching):
+ When waiting for a web process to launch, store message flags, too. This is not practically
+ important for DispatchMessageEvenWhenWaitingForSyncReply, but it's easier to store flags
+ than to remember about this pitfall.
+
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::send): Added a flags argument, matching Connection::send().
+ (WebKit::WebProcessProxy::deprecatedSend): Renamed one of send() overloads, because it was
+ conflicting with the other one after adding a flags argument. This matches a change previously
+ made to CoreIPC::Connection.
+
+2011-02-12 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Crash in RenderLayerCompositor::updateCompositingLayers when loading some sites
+ https://bugs.webkit.org/show_bug.cgi?id=54345
+
+ Some sites flip between composited and non-comosited state while loading. When the timing is
+ right, when we flip out of compositing we will need to do a display while tossing all the
+ compositing layers. This causes us to reenter RenderLayerCompositor::computeCompositingRequirements()
+ while we are in the middle of tossing layers, which leads to a crash.
+
+ The solution is to defer the logic of exiting compositing mode until the DrawingArea is finished
+ doing its display, using a timer.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::DrawingAreaImpl):
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingModeSoon):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+
+2011-02-12 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Follow up fix to:
+ https://bugs.webkit.org/show_bug.cgi?id=54341 - optionally scale snapshots in document view coordinates
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Fixed the order of the scale and translate.
+
+2011-02-12 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=54341 - optionally scale snapshots in document view coordinates
+ <rdar://problem/8990069>
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageCreateScaledSnapshotInDocumentCoordinates): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added above new function.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Added.
+ (WebKit::WebPage::snapshotInDocumentCoordinates): Call scaledSnapshotInDocumentCoordinates with a scale of 1.
+ * WebProcess/WebPage/WebPage.h: Added scaledSnapshotInDocumentCoordinates().
+
+2011-02-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Can’t open local files on reload or navigation from the back/forward cache
+ https://bugs.webkit.org/show_bug.cgi?id=54332
+ <rdar://problem/8903076>
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::isInspectorPage):
+ * UIProcess/WebInspectorProxy.h:
+ Check whether the given page is a web inspector page.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeSandboxExtensionHandle):
+ If this is a web inspector page, we don't want to make a sandbox extension.
+
+ (WebKit::WebPageProxy::reattachToWebProcessWithItem):
+ (WebKit::WebPageProxy::goForward):
+ (WebKit::WebPageProxy::goBack):
+ (WebKit::WebPageProxy::goToBackForwardItem):
+ Pass a sandbox extension along when sending the message.
+
+ * UIProcess/WebPageProxy.h:
+ Make initializeSandboxExtensionHandle a member function.
+
+ * UIProcess/cf/WebPageProxyCF.cpp:
+ (WebKit::WebPageProxy::restoreFromSessionStateData):
+ Pass a sandbox extension along.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::goForward):
+ (WebKit::WebPage::goBack):
+ (WebKit::WebPage::goToBackForwardItem):
+ Hand the sandbox extension to the sandbox extension tracker.
+
+ (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem):
+ Pass the sandbox extension to goToBackForwardItem.
+
+ (WebKit::shouldReuseCommittedSandboxExtension):
+ New function that checks whether a committed sandbox extension should be re-used. We
+ do this for page reloads, as well as regular page navigations when both the committed
+ and provisional documents have file URLs.
+
+ (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
+ Reuse the committed sandbox extension if necessary.
+
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2011-02-11 Anders Carlsson <andersca@apple.com>
+
+ Fix Snow Leopard build.
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::didFailToSendSyncMessage):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didFailToSendSyncMessage):
+
+2011-02-11 Yael Aharon <yael.aharon@nokia.com>
+
+ Unreviewed Qt webkit2 build fix after r78392.
+
+ * WebProcess/WebProcess.h:
+
+2011-02-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebProcess hung communicating with the plug-in process
+ https://bugs.webkit.org/show_bug.cgi?id=54328
+ <rdar://problem/8854075>
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::createWebProcessConnection):
+ Add the DispatchMessageEvenWhenWaitingForSyncReply message send flag when sending the
+ PluginProcess::CreateWebProcessConnection message, since the plug-in process can be busy waiting
+ for a sync reply from the web process.
+
+2011-02-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Incoming synchronous messages should always be processed regardless of connection waiting for a reply
+ https://bugs.webkit.org/show_bug.cgi?id=54326
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::SyncMessageState::getOrCreate):
+ Assert that the map has a non-null SyncMessageState object.
+
+ (CoreIPC::Connection::SyncMessageState::SyncMessageState):
+ Initialize m_waitForSyncReplyCount.
+
+ (CoreIPC::Connection::SyncMessageState::beginWaitForSyncReply):
+ Increment m_waitForSyncReplyCount.
+
+ (CoreIPC::Connection::SyncMessageState::endWaitForSyncReply):
+ Decrement m_waitForSyncReplyCount. If it's 0, enqueue any incoming sync messages.
+
+ (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
+ If this is a message that needs to be dispatched, add it to the queue and wake up the client run loop.
+
+ (CoreIPC::Connection::SyncMessageState::dispatchMessages):
+ Go through the queue of incoming messages and dispatch them.
+
+ (CoreIPC::Connection::sendSyncMessage):
+ call beginWaitForSyncReply/endWaitForSyncReply.
+
+ (CoreIPC::Connection::waitForSyncReply):
+ Dispatch messages.
+
+ (CoreIPC::Connection::processIncomingMessage):
+ Call SyncMessageState::processIncomingMessage.
+
+ (CoreIPC::Connection::enqueueIncomingMessage):
+ Add helper function for enqueuing an incoming message.
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::Message::destinationID):
+
+2011-02-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ WebKit2: Going to Ars Technica crashes WebProcess in WebCore::ResourceRequestBase::url() const + 9
+ <rdar://problem/8978832>
+
+ Speculative fix for crash accessing a bad ResourceRequest in policy
+ client code. Remove early returns from dispatchDecidePolicyForMIMEType
+ and dispatchDecidePolicyForNavigationAction that are not present in the WebKit1
+ equivalent code. This should be safe, now that the IPC calls are synchronous.
+
+ Also removes some invalid assertions in WebFrameProxy that were getting hit. It is okay
+ for the url to empty.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
+ (WebKit::WebFrameProxy::didFailProvisionalLoad):
+ (WebKit::WebFrameProxy::didFailLoad):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+
+2011-02-11 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler and Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53593
+ <rdar://problem/8948380> Crash beneath HistoryController::recursiveSetProvisionalItem in web
+ process (preceded by assertion failure) if UI process exits while
+ Messages::WebPage::RestoreSessionAndNavigateToCurrentItem is being handled
+
+ Can't test exiting the UI process.
+
+ * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessage):
+ * Platform/CoreIPC/Connection.h: (CoreIPC::Connection::Client::didFailToSendSyncMessage):
+ Notify connection client when the connection fails to send a sync message.
+
+ * WebProcess/WebProcess.cpp: (WebKit::WebProcess::didFailToSendSyncMessage):
+ * WebProcess/WebProcess.h:
+ Quit the web process immediately if it tried to send a sync message to a dead UI process.
+ It never needs to continue and handle an unexpected null "reply".
+
+ * PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::didFailToSendSyncMessage):
+ * PluginProcess/PluginProcess.h:
+ Ditto. There is no need for a plug-in to keep running even briefly if it couldn't get a
+ reply to a sync message.
+
+2011-02-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a way to send async messages that can't get out of order with sync ones
+ https://bugs.webkit.org/show_bug.cgi?id=54319
+ <rdar://problem/8894844>
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendMessage):
+ sendMessage now takes a messageSendFlags. Update the messageID if the
+ messageSendFlags contain DispatchMessageEvenWhenWaitingForSyncReply.
+
+ (CoreIPC::Connection::waitForSyncReply):
+ Process asynchronous messages as well.
+
+ (CoreIPC::Connection::processIncomingMessage):
+ Check if a message should be dispatched even when we're waiting for a
+ synchronous reply.
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::send):
+ Send now takes a messageSendFlags parameter.
+
+ * Platform/CoreIPC/MessageID.h:
+ (CoreIPC::MessageID::messageIDWithAddedFlags):
+ Return a new MessageID object with the given flags added.
+
+ (CoreIPC::MessageID::shouldDispatchMessageWhenWaitingForSyncReply):
+ Add getter.
+
+2011-02-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Crash with dynamic popup menu use
+ <rdar://problem/8716952>
+
+ Invalidate popup menus when forcing them closed, since they might still be
+ in their tracking loop.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showPopupMenu):
+ (WebKit::WebPageProxy::hidePopupMenu):
+ * UIProcess/WebPopupMenuProxy.h:
+ (WebKit::WebPopupMenuProxy::invalidate):
+ * UIProcess/mac/WebPopupMenuProxyMac.mm:
+ (WebKit::WebPopupMenuProxyMac::showPopupMenu):
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ (WebKit::WebPopupMenuProxyWin::showPopupMenu):
+ (WebKit::WebPopupMenuProxyWin::setFocusedIndex):
+
+2011-02-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Actually initialize m_syncMessageState.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::Connection):
+
+2011-02-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move the binary semaphore into SyncMessageState
+ https://bugs.webkit.org/show_bug.cgi?id=54311
+
+ With this change, all connections that belong to the same run loop will use same binary semaphore.
+ This is in preparation for making any connection be able to wakeup the client run loop.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::SyncMessageState::wakeUpClientRunLoop):
+ (CoreIPC::Connection::SyncMessageState::wait):
+ (CoreIPC::Connection::waitForSyncReply):
+ (CoreIPC::Connection::processIncomingMessage):
+ (CoreIPC::Connection::connectionDidClose):
+ * Platform/CoreIPC/Connection.h:
+
+2011-02-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a SyncMessageState class to CoreIPC::Connection
+ https://bugs.webkit.org/show_bug.cgi?id=54309
+
+ SyncMessageState objects are shared between all connections scheduled on
+ a given run loop. It will be used to keep track of state when waiting
+ for replies for a synchronous message.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::SyncMessageState::syncMessageStateMap):
+ (CoreIPC::Connection::SyncMessageState::syncMessageStateMapMutex):
+ Add a global RunLoop -> SyncMessageState map and a mutex for locking.
+
+ (CoreIPC::Connection::SyncMessageState::getOrCreate):
+ Look in the map for an existing SyncMessageState object and create a new
+ one if none is found.
+
+ (CoreIPC::Connection::SyncMessageState::SyncMessageState):
+ Initialize m_runLoop.
+
+ (CoreIPC::Connection::SyncMessageState::~SyncMessageState):
+ Remove the object from the map.
+
+2011-02-11 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ crashes in WebProcess at WebCore::Range::startPosition const + 16
+ https://bugs.webkit.org/show_bug.cgi?id=54294
+ <rdar://problem/8982710>
+
+ I don't have a repro case for this bugs, but the side-by-side
+ comparison of the IME support implementation in WebKit and WebKi2
+ shows a missing null check on a Range that could very well explain
+ this crash.
+ I tried running platform/mac/editing/input tests with a version of WebKit
+ without the null check and I can reproduce a crash with the same signature.
+ These tests are not yet enabled for WebKit2.
+
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::firstRectForCharacterRange):
+
+2011-02-11 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Steve Falkenburg.
+
+ Eliminate /DELAYLOAD:msimg32.dll ignored warning when building WebKit project
+ https://bugs.webkit.org/show_bug.cgi?id=54296
+
+ * win/WebKit2Common.vsprops: Remove msimg32.dll from the list of DelayLoadDLLs.
+
+2011-02-11 Chandra Vallala <chandra.vallala@motorola.com> and Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Implement UpdateChunk, ChunkedUpdateDrawingArea/Proxy
+ classes for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=54080
+
+ * GNUmakefile.am:
+ * Shared/gtk/UpdateChunk.cpp: Added.
+ (WebKit::UpdateChunk::UpdateChunk):
+ (WebKit::UpdateChunk::~UpdateChunk):
+ (WebKit::UpdateChunk::encode):
+ (WebKit::UpdateChunk::decode):
+ (WebKit::UpdateChunk::createImage):
+ * Shared/gtk/UpdateChunk.h: Added.
+ (WebKit::UpdateChunk::rect):
+ (WebKit::UpdateChunk::isEmpty):
+ (WebKit::UpdateChunk::size):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
+ Initialize the surface.
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.h: Added cairo variables.
+ * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingAreaProxy::page):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+ * WebProcess/WebPage/gtk/ChunkedUpdateDrawingAreaGtk.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
+
+2011-02-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Repro crash with Sony Google TV ad at Gizmodo
+ https://bugs.webkit.org/show_bug.cgi?id=54150
+ <rdar://problem/8782346>
+
+ Re-landing this fix, bug without the test case, since it causes hangs on the bots.
+ https://bugs.webkit.org/show_bug.cgi?id=54171 tracks adding back the test.
+
+ Since PluginView::evaluate can cause the plug-in element to go away, we need to protect it.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::~PluginView):
+ Null out m_pluginElement here so we'll catch crashes earlier.
+
+ (WebKit::PluginView::evaluate):
+ Add a plug-in protector.
+
+2011-02-10 Alice Liu <alice.liu@apple.com>
+
+ Reviewed by Enrica Casucci and Adele Peterson.
+
+ WebKit2 pages gobble up cmd-I as an editing command in some cases where it shouldn't
+ https://bugs.webkit.org/show_bug.cgi?id=54254
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _handleStyleKeyEquivalent:]):
+ Return early if we're not in an editable region.
+
+2011-02-10 Andreas Kling <kling@webkit.org>
+
+ Unreviewed Qt build fix.
+
+ waitFor() -> deprecatedWaitFor()
+
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
+
+2011-02-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move code to dispatch an incoming message out into a new function
+ https://bugs.webkit.org/show_bug.cgi?id=54239
+
+ This also fixes a leak where we wouldn't free ArgumentDecoder objects
+ after a connection has been invalidated.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::dispatchMessage):
+ (CoreIPC::Connection::dispatchMessages):
+ * Platform/CoreIPC/Connection.h:
+
+2011-02-10 Anders Carlsson <andersca@apple.com>
+
+ Try again to fix the Qt build.
+
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::sizeDidChange):
+ (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
+ (WebKit::TiledDrawingAreaProxy::takeSnapshot):
+ (WebKit::TiledDrawingAreaProxy::removeTile):
+
+2011-02-10 Anders Carlsson <andersca@apple.com>
+
+ Attempt to fix the Qt build.
+
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::sizeDidChange):
+ (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
+ (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
+ (WebKit::TiledDrawingAreaProxy::takeSnapshot):
+ (WebKit::TiledDrawingAreaProxy::removeTile):
+ * WebProcess/WebPage/TiledDrawingArea.cpp:
+ (WebKit::TiledDrawingArea::display):
+ (WebKit::TiledDrawingArea::setSize):
+ (WebKit::TiledDrawingArea::updateTile):
+ (WebKit::TiledDrawingArea::tileUpdateTimerFired):
+ (WebKit::TiledDrawingArea::didReceiveMessage):
+
+2011-02-10 Adam Roben <aroben@apple.com>
+
+ Handle a null FindIndicator correctly
+
+ We are passed a null FindIndicator when the find indicator becomes hidden.
+
+ Fixes <http://webkit.org/b/54213> <rdar://problem/8983261> REGRESSION (r78198): Crash in
+ FindIndicator::contentImage when scrolling page
+
+ Reviewed by Steve Falkenburg.
+
+ * Platform/win/SharedMemoryWin.cpp:
+ (WebKit::SharedMemory::Handle::isNull): Implemented.
+ (WebKit::SharedMemory::create): Bail out if the handle is null, just like Mac does.
+ Otherwise assert that ::MapViewOfFile succeeded. This doesn't fix the bug, but should help
+ catch other errors.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setFindIndicator): Null-check the FindIndicator before dereferencing it.
+ Also changed the function to store the FindIndicator in a RefPtr.
+
+2011-02-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add 'deprecated' to the deprecated CoreIPC functions
+ https://bugs.webkit.org/show_bug.cgi?id=54223
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendMessage):
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::send):
+ (CoreIPC::Connection::deprecatedSendSync):
+ (CoreIPC::Connection::deprecatedSend):
+ (CoreIPC::Connection::deprecatedWaitFor):
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::open):
+ * PluginProcess/PluginProcess.cpp:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::createWebProcessConnection):
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::postMessage):
+ (WebKit::InjectedBundle::postSynchronousMessage):
+ * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
+ (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::display):
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::setSize):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+
+2011-02-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Window resizer does not have a border when there are scrollbars in WebKit2 windows
+ <rdar://problem/8488476>
+ https://bugs.webkit.org/show_bug.cgi?id=54222
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _updateGrowBoxForWindowFrameChange]):
+ (-[WKView _didChangeScrollbarsForMainFrame]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QWKPagePrivate::didChangeScrollbarsForMainFrame):
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::didChangeScrollbarsForMainFrame):
+ * UIProcess/win/WebView.h:
+
+2011-02-10 Ivan Krstić <ike@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Rename remaining instances of _HOME sandbox parameter.
+ <rdar://problem/8983428>
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-02-10 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ AX: AX needs to stop using WebCoreViewFactory
+ https://bugs.webkit.org/show_bug.cgi?id=54153
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
+2011-02-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Sandbox violations trying to read crypto preferences.
+ <rdar://problem/8981151>
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-02-10 Peter Varga <pvarga@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ Remove PCRE source from trunk
+ https://bugs.webkit.org/show_bug.cgi?id=54188
+
+ * WebKit2.pro:
+
+2011-02-09 Adam Roben <aroben@apple.com>
+
+ Turn on the new drawing area on Windows
+
+ Fixes <http://webkit.org/b/53805> <rdar://problem/8960666> WebKit2 on Windows should use
+ DrawingAreaProxyImpl
+
+ Reviewed by Darin Adler.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::useNewDrawingArea): Return true!
+
+2011-02-09 Adam Roben <aroben@apple.com>
+
+ Hook up WM_PRINT to the new drawing area
+
+ Fixes <http://webkit.org/b/54145> <rdar://problem/8979559> WM_PRINT doesn't work with new
+ drawing area (assertion failure in DrawingAreaProxyImpl in Debug builds)
+
+ Reviewed by Darin Adler.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::paint): Added. Code came from onPaintEvent.
+
+ (WebKit::WebView::onPaintEvent):
+ (WebKit::WebView::onPrintClientEvent):
+ Changed to call paint.
+
+ * UIProcess/win/WebView.h: Added paint. Also separated message handler functions into their
+ own paragraph.
+
+2011-02-09 Adam Roben <aroben@apple.com>
+
+ Notice when the backing store goes away after DidSetSize
+
+ Fixes <http://webkit.org/b/54142> <rdar://problem/8979365> Crash in
+ DrawingAreaProxyImpl::paint when WKView paints after being resized while hidden
+
+ Reviewed by Darin Adler.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::paint): Null-check m_backingStore after waiting for
+ DidSetSize, as m_backingStore can go away when we receive that message. This is the bug fix.
+ Also moved the accelerated compositing check inside the block where we wait for DidSetSize.
+ If we didn't wait for DidSetSize, we already know that we're not in accelerated compositing
+ mode (and asserted so earlier in this function).
+
+2011-02-09 Adam Roben <aroben@apple.com>
+
+ Decode a null SharedMemory::Handle correctly on Windows
+
+ Fixes <http://webkit.org/b/54141> <rdar://problem/8979195> WKView draws at wrong size,
+ performs badly if is resized while hidden (assertion fails in
+ BackingStore::incorporateUpdate in Debug builds)
+
+ Reviewed by Darin Adler.
+
+ * Platform/win/SharedMemoryWin.cpp:
+ (WebKit::getDuplicatedHandle): Added. Code came from decode. The only changes were to
+ null-check sourceHandle (this is the bug fix) and to assert when ::DuplicateHandle fails
+ (which would have caught the bug earlier).
+ (WebKit::SharedMemory::Handle::decode): Changed to use getDuplicatedHandle.
+
+2011-02-09 Adam Roben <aroben@apple.com>
+
+ Don't invalidate outside of the WebPage's bounds
+
+ Fixes <http://webkit.org/b/54123> <rdar://problem/8978383> Assertion failure in
+ BackingStore::BackingStore if a new WebPage becomes active before receiving a size
+
+ Reviewed by Darin Adler.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setNeedsDisplay): Intersect the dirty rect with our bounds before
+ doing anything else.
+ (WebKit::DrawingAreaImpl::display): Added an assertion to help catch the bad case a little
+ earlier.
+
+2011-02-10 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, rolling out r78157.
+ http://trac.webkit.org/changeset/78157
+ https://bugs.webkit.org/show_bug.cgi?id=54150
+
+ Fails on a bunch of bots
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::~PluginView):
+ (WebKit::PluginView::evaluate):
+
+2011-02-09 Brian Weinstein <bweinstein@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ Fix a typo in WebSecurityOrigin::protocol.
+
+ * Shared/WebSecurityOrigin.h:
+ (WebKit::WebSecurityOrigin::protocol): This should return the protocol, not the domain.
+
+2011-02-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ File uploads do not work within the sandbox
+ <rdar://problem/8950518>
+ https://bugs.webkit.org/show_bug.cgi?id=54154
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didChooseFilesForOpenPanel):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::extendSandboxForFileFromOpenPanel):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2011-02-09 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=54148
+ <rdar://problem/8973887> REGRESSION (WebKit2): Opening two print dialogs causes havoc
+
+ * UIProcess/API/mac/WKPrintingView.h: Moved _isForcingPreviewUpdate into a static variable,
+ because dispatching a notification affects all WKPrintingViews at once.
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (-[WKPrintingView _updatePreview]): Updated for new variable name.
+ (-[WKPrintingView knowsPageRange:]): Don't break if the method is called twice in a row
+ (we already had this logic when printing from separate thread, but not for preview).
+ (-[WKPrintingView drawRect:]): Changed all LOG messages to have view object address for
+ easier matching.
+ (-[WKPrintingView rectForPage:]): Ditto.
+ (-[WKPrintingView beginDocument]): Ditto.
+ (-[WKPrintingView endDocument]): Ditto.
+
+2011-02-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Repro crash with Sony Google TV ad at Gizmodo
+ https://bugs.webkit.org/show_bug.cgi?id=54150
+
+ Since PluginView::evaluate can cause the plug-in element to go away, we need to protect it.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::~PluginView):
+ Null out m_pluginElement here so we'll catch crashes earlier.
+
+ (WebKit::PluginView::evaluate):
+ Add a plug-in protector.
+
+2011-02-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Google Maps says it has horizontal scrollbars when it doesn't
+ <rdar://problem/8978005>
+
+ We were updating the main frame's scrollbar state for changes to
+ frames other than the main frame.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::contentsSizeChanged):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ (WebKit::WebChromeClient::WebChromeClient):
+ Change to bail out early if we are not looking at the main frame. Also
+ fix some silly typos and rename the variables to be more specific.
+
+2011-02-09 Ivan Krstić <ike@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Allow read-only access to mouse preferences from sandboxed WebProcess.
+ <rdar://problem/8975279>
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-02-09 Steve Falkenburg <sfalken@apple.com>
+
+ Build fix.
+
+ * win/MainWin.cpp:
+ (wWinMain):
+
+2011-02-09 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Implement Module class for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=48510
+
+ * GNUmakefile.am:
+ * Platform/Module.h: Added GModule handle for GTK port.
+ * Platform/gtk/ModuleGtk.cpp: Initial code using GModule calls.
+ (WebKit::Module::load):
+ (WebKit::Module::unload):
+ (WebKit::Module::platformFunctionPointer):
+
+2011-02-09 Chandra Vallala <chandra.vallala@motorola.com> and Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Implement WKBaseGtk API for Webkit2
+ https://bugs.webkit.org/show_bug.cgi?id=54081
+
+ * GNUmakefile.am: Added new files to compilation.
+ * Shared/API/c/WKBase.h: Included WKBaseGtk.h in this file.
+ * Shared/API/c/gtk: Added.
+ * Shared/API/c/gtk/WKBaseGtk.h: Added. Declaration of WKViewRef
+ for GTK port.
+ * UIProcess/API/C/WKAPICast.h: Included WKAPICastGtk.h in this
+ file.
+ * UIProcess/API/C/gtk: Added.
+ * UIProcess/API/C/gtk/WKAPICastGtk.h: Added. Type definition
+ template for WKViewRef to WebView and vice-versa.
+ * UIProcess/API/C/gtk/WKView.cpp: Added. Implementation of WKView
+ API interface.
+ (WKViewCreate):
+ (WKViewGetWindow):
+ (WKViewGetPage):
+ (WKURLCreateWithURL):
+ * UIProcess/API/C/gtk/WKView.h: Added. Declaration of WKView API
+ interface.
+
+2011-02-09 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Add WebGraphicsContext stub to the compilation
+ https://bugs.webkit.org/show_bug.cgi?id=54078
+
+ * GNUmakefile.am:
+ * Shared/API/c/gtk/WKGraphicsContextGtk.cpp: Added stub just for
+ compilation.
+ (WKGraphicsContextGetGtkContext):
+ * Shared/API/c/gtk/WKGraphicsContextGtk.h: Added stub just for
+ compilation.
+ * Shared/WebGraphicsContext.cpp:
+ (WebKit::WebGraphicsContext::WebGraphicsContext):
+ * Shared/WebGraphicsContext.h:
+ (WebKit::WebGraphicsContext::platformContext):
+
+2011-02-09 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Add geolocation support to the webkit2 compilation
+ https://bugs.webkit.org/show_bug.cgi?id=54077
+
+ Add Geolocation files to the GTK compilation.
+
+ * GNUmakefile.am:
+
+2011-02-09 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt][WK2] Don't generate superfluous forwarding header for config.h.
+
+ * Scripts/generate-forwarding-headers.pl:
+
+2011-02-09 Adam Roben <aroben@apple.com>
+
+ Hide the ugly details of WebView::m_window initialization from WebPageProxy, and make it
+ less ugly
+
+ WebView::WebView was initially creating a hidden window, then showing it. It would tell
+ WebPageProxy about the window while it was still hidden, and then have to inform
+ WebPageProxy that the window had become shown. This resulted in WebPageProxy sending
+ unnecessary messages to the web process, and confused code that assumed that the window
+ would be in the same state after WebView's constructor exited as it was when WebPageProxy
+ first found out about the window.
+
+ We now don't hide the window when creating it, which simplifies the code, and only tell
+ WebPageProxy about the window after we're done modifying it, which fixes the bug.
+
+ Fixes <http://webkit.org/b/53878> <rdar://problem/8977306> Assertion failure in
+ DrawingAreaImpl::resumePainting after window.open or when opening Web Inspector
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView): Changed ::CreateWindowEx to ::CreateWindowExW, to match other
+ Win32 API calls in WebKit2. Pass WS_VISIBLE to ::CreateWindowExW rather than waiting until
+ later to show the window. Added an assertion that m_isVisible matches the window's visible
+ state. Don't even create our WebPageProxy, or tell it about our window, until we're done
+ initializing our window, so that it doesn't get informed about our window's internal state
+ changes that happen beneath ::CreateWindowExW.
+ (WebKit::WebView::onSizeEvent): Null-check m_page since we can receive this message beneath
+ ::CreateWindowExW.
+ (WebKit::WebView::onShowWindowEvent): Ditto. Replaced one FIXME with another. Always set
+ handled to false so that ::DefWindowProcW can do its thing. (MSDN says this is when it
+ actually shows/hides the window, though I couldn't find any consequences of not calling
+ ::DefWindowProcW here.)
+
+2011-02-09 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: follow up on InspectorAgent split -
+ removing unnecessary methods from InspectorController.
+ https://bugs.webkit.org/show_bug.cgi?id=54093
+
+ * WebProcess/WebPage/WebInspector.cpp:
+ (WebKit::WebInspector::showConsole):
+ (WebKit::WebInspector::stopJavaScriptProfiling):
+
+2011-02-09 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Avoid WebProcessMain compilation, we are used a gtk specific main
+ https://bugs.webkit.org/show_bug.cgi?id=54015
+
+ Avoided the compilation of the general WebProcessMain, and added
+ soup initialization to WebProcessMainGtk.cpp.
+
+ * GNUmakefile.am:
+ * WebProcess/gtk/WebProcessMainGtk.cpp:
+ (WebKit::WebProcessMainGtk):
+
+2011-02-08 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Incorrect assertion in WorkQueueGtk, we need to register
+ more than one handle
+ https://bugs.webkit.org/show_bug.cgi?id=54014
+
+ Fixed assertion condition we need to register more than one
+ handler for the same file descriptor.
+
+ * Platform/gtk/WorkQueueGtk.cpp:
+ (WorkQueue::registerEventSourceHandler):
+
+2011-02-08 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ Fix typo in the include guards name in ChunkedUpdateDrawingAreaProxy.h
+ https://bugs.webkit.org/show_bug.cgi?id=54013
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+
+2011-02-08 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Fix after r77874, m_isConnected is initialized before the
+ socket is opened
+ https://bugs.webkit.org/show_bug.cgi?id=54011
+
+ Fixed connection breakage after r77874, we have to wait until open
+ the socket to open the connection.
+
+ * Platform/CoreIPC/gtk/ConnectionGtk.cpp:
+ (CoreIPC::Connection::platformInitialize):
+ (CoreIPC::Connection::open):
+
+2011-02-08 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [WK2] LayerTreeContext is used outside the ACCELERATED_COMPOSITING
+ guards but not defined in DrawingAreaProxy.h
+ https://bugs.webkit.org/show_bug.cgi?id=54009
+
+ Removed the guards in the forward declaration, this will fail if
+ the class is finally used in the function, but it works for the
+ moment.
+
+ * UIProcess/DrawingAreaProxy.h:
+
+2011-02-08 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ WebKit2 GTK Fails to Build #include nested too deeply
+ https://bugs.webkit.org/show_bug.cgi?id=52219
+
+ * GNUmakefile.am: Removed the commands to create the directories
+ for the forwarding headers, the script already does it for us.
+ * config.h: Removed the config.h inclusion and added the
+ autotoolsconfig.h directly, also added a condition to share the
+ defines with QT.
+
+2011-02-08 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Crash when going back/forward when back/forward list is in a bad state.
+ https://bugs.webkit.org/show_bug.cgi?id=54059
+ <rdar://problem/8975244>
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::goForward): Add a null check.
+ (WebKit::WebPageProxy::goBack): ditto
+
+2011-02-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Assertion failure !isInAcceleratedCompositingMode() in DrawingAreaProxyImpl::incorporateUpdate()
+ https://bugs.webkit.org/show_bug.cgi?id=54046
+ <rdar://problem/8973960>
+
+ DrawingAreaImpl::setRootCompositingLayer can be called with a new layer even when already
+ in accelerated compositing mode. Similarly, it can be called with a null layer even when not
+ in accelerated compositing mode. Make the drawing area and layer tree host handle both these cases.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ Only call enterAcceleratedCompositingMode if there is no layer tree host, otherwise
+ just call LayerTreeHost::setRootCompositingLayer.
+
+ (WebKit::DrawingAreaImpl::setSize):
+ Add an assert.
+
+ (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
+ Assert that we don't have a layer tree host.
+
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
+ Assert that we do have a layer tree host.
+
+ (WebKit::DrawingAreaImpl::display):
+ If the call to display caused the page to enter accelerated compositing mode, we don't
+ want to send back an Update message.
+
+ * WebProcess/WebPage/LayerTreeHost.cpp:
+ (WebKit::LayerTreeHost::create):
+ * WebProcess/WebPage/LayerTreeHost.h:
+ Create no longer takes a graphics layer.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::create):
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ Create no longer takes a graphics layer.
+
+ (WebKit::LayerTreeHostMac::setRootCompositingLayer):
+ Set the new root compositing layer.
+
+2011-02-08 Adam Roben <aroben@apple.com>
+
+ Implement WorkQueue::scheduleWorkAfterDelay on Windows
+
+ Each WorkQueue now owns its own timer queue. When scheduleWorkAfterDelay is called, we
+ create a timer-queue timer with the given delay. When the timer fires, we schedule the work
+ on the queue and clean up the timer.
+
+ Fixes <http://webkit.org/b/54040> <rdar://problem/8974230> Web process sticks around forever
+ if it's hung when UI process goes away
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/WorkQueue.h: Added timerCallback and m_timerQueue.
+
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::platformInitialize): Initialize m_timerQueue.
+ (WorkQueue::platformInvalidate): Clean up m_timerQueue.
+ (TimerContext::TimerContext): Added this helper object to hold the context needed by the
+ timer callback.
+ (WorkQueue::timerCallback): Added. Schedules the WorkItem on the WorkQueue and cleans up the
+ timer.
+ (WorkQueue::scheduleWorkAfterDelay): Create a timer-queue timer on our timer queue that will
+ fire after the given delay. Pass a new TimerContext object to the timer callback that
+ contains the information it needs.
+
+2011-02-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename PluginProcess::initializeConnection to PluginProcess::initialize
+ https://bugs.webkit.org/show_bug.cgi?id=54039
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::initialize):
+ * PluginProcess/PluginProcess.h:
+ * PluginProcess/mac/PluginProcessMainMac.mm:
+ (WebKit::PluginProcessMain):
+ * WebProcess/WebProcess.h:
+
+2011-02-08 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/8972913> and https://bugs.webkit.org/show_bug.cgi?id=54036
+ didChangeBackForwardList should include some context about what changed
+
+ Update the implementation of this API to include the new item (if any) and removed items (if any):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didChangeBackForwardList):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didChangeBackForwardList):
+ * UIProcess/WebPageProxy.h:
+
+ Have WebBackForwardList pass the new items and/or removed items when calling the notifier:
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::addItem):
+ (WebKit::WebBackForwardList::goToItem):
+ (WebKit::WebBackForwardList::clear):
+
+2011-02-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Sandbox violations visiting MobileMe.
+ <rdar://problem/8961330>
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-02-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename PluginProcess::initialize to PluginProcess::initializePluginProcess
+ https://bugs.webkit.org/show_bug.cgi?id=54037
+
+ Rename PluginProcess::initialize to PluginProcess::initializePluginProcess to better
+ match the WebProcess initialization code, in preparation of sharing more code.
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::initializePluginProcess):
+ * PluginProcess/PluginProcess.h:
+ * PluginProcess/PluginProcess.messages.in:
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::didFinishLaunching):
+
+2011-02-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WK2: Add ability to pass context to policy delegate methods
+ https://bugs.webkit.org/show_bug.cgi?id=54031
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ (CoreIPC::handleMessageVariadic):
+ * Scripts/webkit2/messages.py:
+ Add ability to pass variadic messages to sync messages.
+
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ Add WKBundleNavigation type.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
+ (WebKit::WebPageProxy::decidePolicyForMIMEType):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebPolicyClient.cpp:
+ (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
+ (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
+ (WebKit::WebPolicyClient::decidePolicyForMIMEType):
+ * UIProcess/WebPolicyClient.h:
+ Update policy client for new data.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp: Added.
+ (WKBundleNavigationActionGetTypeID):
+ (WKBundleNavigationActionGetNavigationType):
+ (WKBundleNavigationActionGetEventModifiers):
+ (WKBundleNavigationActionGetEventMouseButton):
+ (WKBundleNavigationActionCopyHitTestResult):
+ (WKBundleNavigationActionCopyFormElement):
+ * WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.h: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetPolicyClient):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp: Added.
+ (WebKit::mouseEventForNavigationAction):
+ (WebKit::mouseButtonForMouseEvent):
+ (WebKit::InjectedBundleNavigationAction::modifiersForNavigationAction):
+ (WebKit::InjectedBundleNavigationAction::mouseButtonForNavigationAction):
+ (WebKit::InjectedBundleNavigationAction::create):
+ (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
+ * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h: Added.
+ (WebKit::InjectedBundleNavigationAction::navigationType):
+ (WebKit::InjectedBundleNavigationAction::modifiers):
+ (WebKit::InjectedBundleNavigationAction::mouseButton):
+ (WebKit::InjectedBundleNavigationAction::hitTestResult):
+ (WebKit::InjectedBundleNavigationAction::formElement):
+ (WebKit::InjectedBundleNavigationAction::type):
+ * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp: Added.
+ (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
+ (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
+ (WebKit::InjectedBundlePagePolicyClient::decidePolicyForMIMEType):
+ * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h: Added.
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::createWindow):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::initializeInjectedBundlePolicyClient):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::injectedBundlePolicyClient):
+ Pipe the policy client through the bundle to allow setting user data.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2011-02-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Crash calling -setFrame:andScrollBy: in windowDidResize
+ https://bugs.webkit.org/show_bug.cgi?id=54030
+ <rdar://problem/8969760>
+
+ * Platform/mac/SharedMemoryMac.cpp:
+ (WebKit::SharedMemory::create):
+ Assert that size is not zero here; we never want to try to create shared memory with a zero size.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setSize):
+ Always invalidate the entire visible page when resizing.
+
+2011-02-08 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove orphan code from old parser
+ https://bugs.webkit.org/show_bug.cgi?id=53984
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp
+ * WebProcess/WebCoreSupport/WebChromeClient.h
+
+2011-02-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ UI process crashes if web process crashes while web inspector is focused
+ https://bugs.webkit.org/show_bug.cgi?id=53965
+ <rdar://problem/8961633>
+
+ Make sure to close the web inspector web page proxy before calling platformClose, since
+ platformClose can cause the web page proxy to try to send messages (such as SetActive)
+ to the web process while it's in a bad state.
+
+ The original fix, http://trac.webkit.org/changeset/77866, put the call to m_page->close() in
+ WebInspectorProxy::didClose, which was wrong and lead to crashes. The right place to close the page
+ is in WebInspectorProxy::invalidate.
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::invalidate):
+
+2011-02-08 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ ASSERTION FAILURE: ASSERT_NOT_REACHED() in Connection::writeEventHandler() after the Web
+ Process crashes.
+ https://bugs.webkit.org/show_bug.cgi?id=54005
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::writeEventHandler):
+ Handle ERROR_BROKEN_PIPE by calling connectionDidClose() and returning early.
+
+2011-02-08 Adam Roben <aroben@apple.com>
+
+ Handle WM_TIMER messages for stopped timers
+
+ Whenever we stop a timer, we call ::KillTimer to cancel any future firings of the timer. But
+ ::KillTimer doesn't do anything about WM_TIMER messages that have already been posted to the
+ message queue. We need to handle those, too.
+
+ Fixes <http://webkit.org/b/53999> Occasional assertion failures in
+ RunLoop::TimerBase::timerFired
+
+ Reviewed by Darin Adler.
+
+ * Platform/win/RunLoopWin.cpp:
+ (RunLoop::TimerBase::timerFired): Just bail if the timer has already been stopped.
+
+2011-02-08 Adam Roben <aroben@apple.com>
+
+ Don't mark a Connection as connected until open() is called on Windows
+
+ This matches Mac. Even though the Connection's pipe is connected before open() is called,
+ the Connection itself isn't really connected to the pipe until then, and we won't actually
+ read any data from before that point.
+
+ Fixes <http://webkit.org/b/53998> <rdar://problem/8971207> REGRESSION (r77874): Assertion
+ failure on launch in Connection::setDidCloseOnConnectionWorkQueueCallback on Windows
+
+ Reviewed by Darin Adler.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::platformInitialize): Moved code to set m_isConnected from here to
+ open.
+ (CoreIPC::Connection::platformInvalidate): Unset m_isConnected, to match Mac. (This isn't
+ part of the bug fix, but seemed worthwhile.)
+ (CoreIPC::Connection::open): Set m_isConnected now that we're going to listen on the pipe.
+
+2011-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r77866.
+ http://trac.webkit.org/changeset/77866
+ https://bugs.webkit.org/show_bug.cgi?id=53981
+
+ caused all WebKit2 inspector tests to crash (Requested by
+ othermaciej on #webkit).
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::didClose):
+
+2011-02-07 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add resource load client for injected bundle and move willSendRequest there
+ https://bugs.webkit.org/show_bug.cgi?id=53972
+
+ * GNUmakefile.am:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetPageLoaderClient):
+ (WKBundlePageSetResourceLoadClient):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp: Added.
+ (WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource):
+ (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
+ (WebKit::InjectedBundlePageResourceLoadClient::didReceiveResponseForResource):
+ (WebKit::InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource):
+ (WebKit::InjectedBundlePageResourceLoadClient::didFinishLoadForResource):
+ (WebKit::InjectedBundlePageResourceLoadClient::didFailLoadForResource):
+ * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h: Added.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
+ (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::initializeInjectedBundleResourceLoadClient):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::injectedBundleResourceLoadClient):
+ * win/WebKit2.vcproj:
+
+2011-02-07 Mark Rowe <mrowe@apple.com>
+
+ Fix the 32-bit build.
+
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Add some casts
+ to prevent warnings about mixing signed and unsigned comparisons.
+
+2011-02-07 Qi Zhang <qi.2.zhang@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl
+ https://bugs.webkit.org/show_bug.cgi?id=52974
+
+ Add ContextMenuItemTagCopyImageUrlToClipboard into standard action but Qt platform specific.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::contextMenuItemTagCopyImageUrlToClipboard):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2011-02-07 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixing a build break on Mac caused by http://trac.webkit.org/changeset/77874
+
+ Removed unused static function.
+
+ * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8969888>
+ The WebProcess should set LSFileQuarantineEnabled to true
+
+ * WebProcess/Info.plist:
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Crash in web process after the connection had been closed
+ https://bugs.webkit.org/show_bug.cgi?id=51115
+ <rdar://problem/8964255>
+
+ Remove didCloseOnConnectionWorkQueue from Connection::Client and add
+ Connection::setDidCloseOnConnectionWorkQueueCallback which takes a static
+ function, eliminating the race condition in connectionDidClose where m_client could be
+ nulled out in the client thread right before we try to dereference it.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::Connection):
+ Initialize m_didCloseOnConnectionWorkQueueCallback.
+
+ (CoreIPC::Connection::setDidCloseOnConnectionWorkQueueCallback):
+ Update m_didCloseOnConnectionWorkQueueCallback.
+
+ (CoreIPC::Connection::connectionDidClose):
+ Call m_didCloseOnConnectionWorkQueueCallback.
+
+ * Platform/WorkQueue.h:
+ Make WorkQueue noncopyable.
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::initializeConnection):
+ Call setDidCloseOnConnectionWorkQueueCallback.
+
+ * Shared/ChildProcess.cpp:
+ (WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
+ * Shared/ChildProcess.h:
+ didCloseOnConnectionWorkQueue is now a static member function.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initialize):
+ Call setDidCloseOnConnectionWorkQueueCallback.
+
+2011-02-07 Enrica Casucci <enrica@apple.com>
+
+ Reviewed Adam Roben and Darin Adler.
+
+ WebKit2: drag and drop support on Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=52775
+ <rdar://problem/8514409>
+
+ This patch contains the remaining work to support
+ a WebKit window as drag source on Windows.
+ I've added the code to generate the image for dragging a link as
+ well as the steps necessary to package the HBITMAP into a SharedMemory
+ object and send it over to the UI process where DoDragDrop is performed.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setDragImage):
+ (WebKit::WebPageProxy::startDragDrop):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebCoreSupport/WebDragClient.cpp:
+ (WebKit::WebDragClient::startDrag): Made startDrag for
+ platforms other than Windows and Mac.
+ * WebProcess/WebCoreSupport/WebDragClient.h:
+ * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
+ (WebKit::WebDragClient::startDrag):
+ * WebProcess/WebCoreSupport/win/WebDragClientWin.cpp: Added.
+ (WebKit::draggingSourceOperationMaskToDragCursors):
+ (WebKit::WebDragClient::startDrag):
+ * WebProcess/WebCoreSupport/win/WebDragSource.cpp: Added.
+ This object implements the IDropSource interface.
+ (WebDragSource::createInstance):
+ (WebDragSource::WebDragSource):
+ (WebDragSource::QueryInterface):
+ (WebDragSource::AddRef):
+ (WebDragSource::Release):
+ (WebDragSource::QueryContinueDrag):
+ (WebDragSource::GiveFeedback):
+ * WebProcess/WebCoreSupport/win/WebDragSource.h: Added.
+ * win/WebKit2.vcproj:
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ UI process crashes if web process crashes while web inspector is focused
+ https://bugs.webkit.org/show_bug.cgi?id=53965
+ <rdar://problem/8961633>
+
+ Make sure to close the web inspector web page proxy before calling platformClose, since
+ platformClose can cause the web page proxy to try to send messages (such as SetActive)
+ to the web process while it's in a bad state.
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::didClose):
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Find bouncy is missing content on pages with framesets
+ https://bugs.webkit.org/show_bug.cgi?id=53958
+ <rdar://problem/8904447>
+
+ Fix paint rect computation; FrameView::paint expects the paint rect to be in the
+ parent widget's coordinate system.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::updateFindIndicator):
+
+2011-02-07 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/8960434> and https://bugs.webkit.org/show_bug.cgi?id=53957
+ Crash after incorrectly restoring bogus session state.
+
+ In some cases we're writing an invalid session state for a back/forward list where the current entry is 0
+ but the number of entries is also 0.
+ In such cases the current entry should be "NoCurrentEntryIndex."
+
+ When we later read this state in, we set ourselves up to crash later.
+
+ Amusingly an ASSERT caught this, but we should've rejected it before the ASSERT fired.
+
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Fail the restore if the "current index past the end
+ of the list" case occurs, and speculatively bail out of the case where we have no current index but do have a list.
+ Also remove the unhelpful ASSERT.
+
+2011-02-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add bundle API to get the background color of a frame
+ <rdar://problem/8962670>
+ https://bugs.webkit.org/show_bug.cgi?id=53952
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetBodyBackgroundColor):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ Add API function.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::getDocumentBackgroundColor):
+ * WebProcess/WebPage/WebFrame.h:
+ Call down into the document to get either the body's, or if there is no body,
+ the root element's, background color.
+
+2011-02-07 Sam Weinig <sam@webkit.org>
+
+ Fix typo. vectical -> vertical.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
+
+2011-02-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Inform the UIProcess when main frame scrollbars change
+ <rdar://problem/8967496>
+ https://bugs.webkit.org/show_bug.cgi?id=53941
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageHasHorizontalScrollbar):
+ (WKPageHasVerticalScrollbar):
+ * UIProcess/API/C/WKPage.h:
+ Add API to query whether the main frame has scrollbars.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::processDidCrash):
+ (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::hasHorizontalScrollbar):
+ (WebKit::WebPageProxy::hasVerticalScrollbar):
+ Store/update main frame scrollbar state.
+
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::contentsSizeChanged):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ (WebKit::WebChromeClient::WebChromeClient):
+ Post message when main frame scrollbar state changes.
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Some content is not covered by Find-on-page overlay
+ https://bugs.webkit.org/show_bug.cgi?id=53937
+ <rdar://problem/8711353>
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::didInstallPageOverlay):
+ Call LayerTreeHost::didInstallPageOverlay.
+
+ (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
+ Call LayerTreeHost::didUninstallPageOverlay.
+
+ (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
+ Call LayerTreeHost::setPageOverlayNeedsDisplay.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::drawRect):
+ Remove a bogus assertion.
+
+ * WebProcess/WebPage/LayerTreeHost.h:
+ Add new pure virtual member functions.
+
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::setNeedsDisplay):
+ Call DrawingArea::setPageOverlayNeedsDisplay.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::installPageOverlay):
+ Make sure to call PageOverlay::setNeedsDisplay after the page overlay has been installed.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ Create the page overlay layer if needed.
+
+ (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
+ Invalidate the page overlay layer as well.
+
+ (WebKit::LayerTreeHostMac::sizeDidChange):
+ Resize the page overlay layer.
+
+ (WebKit::LayerTreeHostMac::didInstallPageOverlay):
+ Create the page overlay layer.
+
+ (WebKit::LayerTreeHostMac::didUninstallPageOverlay):
+ Destroy the page overlay layer.
+
+ (WebKit::LayerTreeHostMac::setPageOverlayNeedsDisplay):
+ Call setNeedsDisplay on the page overlay layer.
+
+ (WebKit::LayerTreeHostMac::paintContents):
+ Handle painting the page overlay layer.
+
+ (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
+ Flush the page overlay layer changes as well.
+
+ (WebKit::LayerTreeHostMac::createPageOverlayLayer):
+ Create a layer and add it as a sublayer of the root layer.
+
+ (WebKit::LayerTreeHostMac::destroyPageOverlayLayer):
+ Destroy the page overlay layer.
+
+2011-02-06 Adam Roben <aroben@apple.com>
+
+ Make it possible to use DrawingAreaProxyImpl on Windows
+
+ It can be optionally turned on by setting the WEBKIT2_USE_NEW_DRAWING_AREA environment
+ variable. Turning it on by default is covered by <http://webkit.org/b/53805>.
+
+ Fixes <http://webkit.org/b/53879>.
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/BackingStore.h: Add an m_bitmap member on Windows.
+
+ * UIProcess/win/BackingStoreWin.cpp:
+ (WebKit::BitmapDC::operator HDC):
+ (WebKit::BitmapDC::BitmapDC):
+ (WebKit::BitmapDC::~BitmapDC):
+ Added this helper class, which uses RAII to select a bitmap into a new memory DC.
+ (WebKit::BackingStore::paint): Wrap our bitmap in a BitmapDC and use ::BitBlt to copy the
+ specified rect into the destination DC.
+ (WebKit::createBitmap): New helper function, just creates a DIB section with the specified
+ size.
+ (WebKit::BackingStore::incorporateUpdate): Ported from BackingStoreMac.mm. It seems like
+ this code could be shared at some point.
+ (WebKit::BackingStore::scroll): Wrap our bitmap in a BitmapDC and use ::ScrollDC to scroll
+ the specified rect.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::useNewDrawingArea): Added. Returns true if the WEBKIT2_USE_NEW_DRAWING_AREA
+ environment variable is set.
+ (WebKit::drawPageBackground): New helper function. Code came from onPaintEvent.
+ (WebKit::WebView::onPaintEvent): Ported from -[WKView drawRect:].
+ (WebKit::WebView::createDrawingAreaProxy): Create a DrawingAreaProxyImpl if we're using the
+ new drawing area.
+
+ (WebKit::WebView::enterAcceleratedCompositingMode):
+ (WebKit::WebView::exitAcceleratedCompositingMode):
+ (WebKit::WebView::pageDidEnterAcceleratedCompositing):
+ (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
+ Added some assertions to make sure these are only called when expected. We don't expect
+ enter/exitAcceleratedCompositingMode to be called at all right now, because accelerated
+ compositing is turned off in WebKit2 on Windows.
+
+ (WebKit::WebView::switchToDrawingAreaTypeIfNecessary): Ditto, and added a case for the
+ DrawingAreaInfo::Impl constant.
+
+2011-02-07 Adam Roben <aroben@apple.com>
+
+ Start compiling DrawingArea[Proxy]Impl and dependencies on Windows
+
+ Fixes <http://webkit.org/b/53875> WebKit2 on Windows should build DrawingArea[Proxy]Impl
+
+ Reviewed by Sam Weinig and Darin Adler.
+
+ * Platform/Region.cpp:
+ (WebKit::Region::Shape::shapeOperation): Initialize variable to avoid a bogus "potentially
+ uninitialized variable" warning.
+
+ * UIProcess/BackingStore.cpp: Removed #error for non-Mac platforms.
+
+ * UIProcess/BackingStore.h: Added a PlatformGraphicsContext typedef for Windows.
+
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ Allow Windows to compile the new drawing area code.
+
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create): Allow creating a DrawingAreaImpl on Windows, too.
+
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ * WebProcess/WebPage/LayerTreeHost.cpp:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveMessage):
+ Allow Windows to compile the new drawing area code.
+
+ * Shared/win/LayerTreeContextWin.cpp: Added.
+ * UIProcess/win/BackingStoreWin.cpp: Added.
+ Stubbed out these files.
+
+ * win/WebKit2.vcproj: Added new files.
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Rename some drawing area related member functions
+ https://bugs.webkit.org/show_bug.cgi?id=53935
+
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::setPageOverlayNeedsDisplay):
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setNeedsDisplay):
+ (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ * WebProcess/WebPage/LayerTreeHost.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
+ (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
+
+2011-02-07 Adam Roben <aroben@apple.com>
+
+ Use the right calling convention when calling WebKitMain
+
+ Fixes <http://webkit.org/b/53923> REGRESSION (r77678): Crash on quit in web process in
+ wWinMain
+
+ Reviewed by Steve Falkenburg.
+
+ * win/MainWin.cpp:
+ (wWinMain): Use __cdecl instead of WINAPI (__stdcall) when calling WebKitMain, since that is
+ how that function is declared.
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ The drawing area should be in charge of drawing the page overlay
+ https://bugs.webkit.org/show_bug.cgi?id=53927
+
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::didInstallPageOverlay):
+ (WebKit::DrawingArea::didUninstallPageOverlay):
+ (WebKit::DrawingArea::setOverlayNeedsDisplay):
+ Add empty stubs.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::didInstallPageOverlay):
+ Add empty function. This will eventually ask the layer tree host to
+ create a GraphicsLayer for the page overlay.
+
+ (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
+ Tell the page that it needs to be repainted.
+
+ (WebKit::DrawingAreaImpl::setOverlayNeedsDisplay):
+ Just call setNeedsDisplay for now.
+
+ (WebKit::DrawingAreaImpl::display):
+ Paint the page overlay too.
+
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::drawRect):
+ Only call drawPageOverlay if we have an old drawing area.
+
+ (WebKit::WebPage::drawPageOverlay):
+ Draw the page overlay. Code moved here from WebPage::drawRect.
+
+ (WebKit::WebPage::installPageOverlay):
+ Call DrawingArea::installPageOverlay.
+
+ (WebKit::WebPage::uninstallPageOverlay):
+ Call DrawingArea::uninstallPageOverlay.
+
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::hasPageOverlay):
+ Add getter.
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add WebPage::bounds and use it
+ https://bugs.webkit.org/show_bug.cgi?id=53926
+
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::resumePainting):
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::resumePainting):
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::bounds):
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Don't exclude overlay scrollers from the page overlay bounds
+ https://bugs.webkit.org/show_bug.cgi?id=53924
+
+ Don't subtract the scrollbars from the page overlay bounds if
+ overlay scrollers are enabled.
+
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::bounds):
+
+2011-02-07 Adam Roben <aroben@apple.com>
+
+ Windows build fix after r77794
+
+ * win/WebKit2.def: Export WebCore symbols used by WebKitTestRunner.
+
+2011-02-07 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Add WKURLRequestCopyURL API (needed for tests and also generally useful)
+ https://bugs.webkit.org/show_bug.cgi?id=53909
+
+ * Shared/API/c/WKURLRequest.cpp:
+ (WKURLRequestCopyURL):
+ * Shared/API/c/WKURLRequest.h:
+ * Shared/WebURLRequest.h:
+ (WebKit::WebURLRequest::url):
+
+2011-02-06 Ryosuke Niwa <rniwa@webkit.org>
+
+ Unreviewed; speculative Qt build fix.
+
+ * WebKit2.pro:
+
+2011-02-06 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
+ https://bugs.webkit.org/show_bug.cgi?id=52867
+
+ * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
+ (WebKit::NetscapePluginModule::getPluginInfo): Calls adoptArrayPtr.
+
+2011-02-06 Benjamin Poulain <ikipou@gmail.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] WebKit does not build on Mac with WebKit 2
+ https://bugs.webkit.org/show_bug.cgi?id=53380
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp: Use fcntl() to set close on exec so
+ we do not rely on recent kernel.
+ (CoreIPC::Connection::readyReadHandler):
+ * Platform/qt/SharedMemoryQt.cpp: ditto
+ (WebKit::SharedMemory::create):
+ (WebKit::SharedMemory::createHandle):
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Guard prctl() since it is
+ a Linux specific function.
+ (WebKit::QtWebProcess::setupChildProcess):
+ * UIProcess/DrawingAreaProxy.h: Differentiate between building on Mac
+ and the Mac port.
+ * UIProcess/DrawingAreaProxyImpl.cpp: ditto
+ * UIProcess/WebPageProxy.cpp: ditto
+ (WebKit::WebPageProxy::didReceiveMessage):
+ * WebProcess/WebPage/DrawingArea.cpp: ditto
+ (WebKit::DrawingArea::create):
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp: ditto
+ * WebProcess/WebPage/WebPage.cpp: ditto
+ (WebKit::WebPage::didReceiveMessage):
+
+2011-02-05 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ REGRESSION: New drawing area is causing some WebProcess crashes in layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=53865
+ <rdar://problem/8963148>
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): Handle the case
+ where this is called repeatedly without exiting accelerated composting mode
+ first.
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Handle the case
+ of being called more than once.
+
+2011-02-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Need a way to resize and scroll the page at the same time
+ https://bugs.webkit.org/show_bug.cgi?id=53814
+ <rdar://problem/8498008>
+
+ Add -[WKView setFrame:andScrollBy:].
+
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView setFrame:andScrollBy:]):
+ Stash away the scroll offset and call setFrame:.
+
+ (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
+ (-[WKView _setDrawingAreaSize:]):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::setViewportSize):
+ DrawingAreaProxy::setSize now takes a scroll offset.
+
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::setSize):
+ This now takes a scroll offset and stores it in m_scrollOffset.
+
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::sendSetSize):
+ Send along the scroll offset and set it back to zero.
+
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::didSetSize):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onSizeEvent):
+ (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
+ DrawingAreaProxy::setSize now takes a scroll offset.
+
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::setSize):
+ Add a scrollOffset parameter.
+
+ * WebProcess/WebPage/DrawingArea.messages.in:
+ Add a scroll offset parameter to the SetSize message.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setSize):
+ Call WebPage::scrollMainFrameIfNotAtMaxScrollPosition.
+
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::scrollMainFrameIfNotAtMaxScrollPosition):
+ Compute a scroll offset and call setScrollPosition on the main frame view.
+
+2011-02-04 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ WebKit2: Crash when InjectedBundlePageLoaderClient::willSendRequestForFrame returns a null WKURLRequestRef
+ https://bugs.webkit.org/show_bug.cgi?id=53829
+
+ Store the result of m_client.willSendRequestForFrame in a RefPtr, and null check it before
+ calling resourceRequest() on it.
+
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::willSendRequestForFrame):
+
+2011-02-04 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebProcess/mac/WebProcessMac.mm:
+
+2011-02-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Link opened in background tab fails to paint when activated if it completes loading before tab is selected
+ https://bugs.webkit.org/show_bug.cgi?id=53827
+ <rdar://problem/8962355>
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::resumePainting):
+ Invalidate the entire page.
+
+2011-02-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix <rdar://problem/8961227> WebKit2 does not work with symlinked home directories.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformSetCacheModel):
+ Don't adopt an autoreleased pointer, this would lead to a crash.
+
+ (WebKit::appendSandboxParameterPath):
+ (WebKit::appendSandboxParameterConfPath):
+ (WebKit::initializeSandbox):
+ Clean up the sandbox parameter code and make sure that realpath is called for all parameters.
+
+2011-02-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Sandbox violations when visiting a site using HTTP authentication
+ <rdar://problem/8951079>
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-02-04 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53823
+ Print layout sometimes seen on screen
+
+ <rdar://problem/8948742> REGRESSION (WebKit2) - When I print a page, I visually see it re-layout
+ <rdar://problem/8899389> REGRESSION(WebKit2): Wrong content can appear when print dialog is up
+
+ * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::setAutodisplay): Removed a
+ branch that didn't do anything useful.
+
+ * UIProcess/API/mac/WKPrintingView.h:
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (-[WKPrintingView _suspendAutodisplay]):
+ (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
+ (-[WKPrintingView _delayedResumeAutodisplay]):
+ (-[WKPrintingView knowsPageRange:]):
+ (-[WKPrintingView beginDocument]):
+ (-[WKPrintingView endDocument]):
+ When page setup changes, or when going from print preview to actual printing, AppKit calls
+ -endDocument just to begin it again. Delay resuming autodisplay until the next run loop
+ iteration.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::invalidateContentsAndWindow):
+ (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
+ Tightened it up from other side - we should never send pixels to UI process while in
+ printing mode. This is not 100% reliable, because relayout doesn't happen immediately,
+ and we can still have print layout in screen mode - but it helps.
+
+2011-02-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Fix for <rdar://problem/8961580>.
+ Work around for <rdar://problem/8957845>.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-02-04 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2 doesn't hide mouse pointer on keypress
+ https://bugs.webkit.org/show_bug.cgi?id=53821
+ rdar://problem/8630895
+
+ * UIProcess/PageClient.h: Renamed didNotHandleKeyEvent to
+ doneWithKeyEvent and added a bool wasEventHandled argument.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveEvent): Changed code to call
+ doneWithKeyEvent and call even if event was handled.
+
+ * UIProcess/API/mac/PageClientImpl.h: Updated for above change.
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::doneWithKeyEvent): Ditto. But also
+ call [NSCursor setHiddenUntilMouseMoves:YES] when a key down
+ event was handled. This matches what -[WebHTMLView keyDown:] does.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::doneWithKeyEvent): Ditto.
+ * UIProcess/API/qt/qwkpage_p.h: Ditto.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::doneWithKeyEvent): Ditto.
+ * UIProcess/win/WebView.h: Ditto.
+
+2011-02-04 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2 clients fail to launch on Windows if client exe is in a different directory from WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=53810
+ <rdar://problem/8946085>
+
+ If WebKit2WebProcess.exe is in a different directory from the client process, and that
+ client process uses CreateProcess to launch WebKit2WebProcess, the DLL search path may
+ end up excluding the directory containing WebKit. To address this, we use SetDllDirectory
+ to explicitly include the WebKit directory in the DLL search path.
+
+ * win/MainWin.cpp:
+ (wWinMain): Use SetDllDirectory and LoadLibrary to load WebKit.dll from WebKit2WebProcess.exe
+ * win/WebKit2WebProcessCommon.vsprops: Don't link directly to WebKit. Link against shlwapi.
+
+2011-02-04 Adam Roben <aroben@apple.com>
+
+ Allow passing a null filter callback to WKPageCopySessionState
+
+ WebKit2 part of <http://webkit.org/b/53616> <rdar://problem/8949883>.
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Check if the filter is null
+ before calling it.
+
+2011-02-04 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by John Sullivan.
+
+ WebKit2: DidInitiateLoadForResource needs to know if the resource is being loaded by a committed or provisional frame
+ https://bugs.webkit.org/show_bug.cgi?id=53794
+
+ When we navigate from one page to another, there can be multiple subresource requests between when
+ the new page has started its provisional load and when it has committed the load.
+
+ There can be:
+
+ - The main resource load of the provisional page
+ - Synchronous XHR from the unload event of the loaded page.
+
+ WebKit clients need to be able to differentiate between these loads.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didInitiateLoadForResource): Pass whether or not the page is provisionally loading
+ to the client.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in: Add a new parameter to DidInitiateLoadForResource.
+ * UIProcess/WebResourceLoadClient.cpp:
+ (WebKit::WebResourceLoadClient::didInitiateLoadForResource): a new parameter to didInitiateLoadForResource.
+ * UIProcess/WebResourceLoadClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest): Pass whether or not the page is currently
+ in a provisional load (checked by seeing if the DocumentLoader matches the FrameLoader's provisionalDocumentLoader)
+ to the UI Process.
+
+2011-02-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Mac WebKit2 should use the new drawing area
+ https://bugs.webkit.org/show_bug.cgi?id=53802
+ <rdar://problem/7881419>
+ <rdar://problem/7881447>
+ <rdar://problem/8252632>
+ <rdar://problem/8479422>
+ <rdar://problem/8633813>
+ <rdar://problem/8734512>
+ <rdar://problem/8787660>
+
+ * UIProcess/API/mac/WKView.mm:
+ (useNewDrawingArea):
+ Return true. Eventually this function should be removed, but let's keep it for now so
+ we can go back to the old drawing area if necessary.
+
+2011-02-04 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Crash in WebPageProxy::setPendingAPIRequestURL after web process crashed
+ https://bugs.webkit.org/show_bug.cgi?id=53799
+ <rdar://problem/8943956>
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::reload):
+
+2011-02-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix a shared memory leak
+ https://bugs.webkit.org/show_bug.cgi?id=53800
+
+ Move the send right representing the shared memory.
+
+ * Platform/mac/SharedMemoryMac.cpp:
+ (WebKit::SharedMemory::Handle::encode):
+
+2011-02-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/8636239> and https://bugs.webkit.org/show_bug.cgi?id=53785
+ WebKit2: Pages with dynamically inserted iframes can add extraneous back/forward items.
+
+ WebCore doesn't gracefully handle the case where the decidePolicyForNavigationAction callback
+ does not occur synchronously. Let's make it synchronous.
+
+ Change WebPageProxy to handle this message reply synchronously:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::receivedPolicyDecision):
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in: Make the navigation policy action message be synchronous.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction): Add a 6-argument varient
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Send the message synchronously.
+
+2011-02-04 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+ Correct prebuild build-stopping rule to allow project only rebuilds.
+
+ * win/WebKit2WebProcessPreBuild.cmd:
+
+2011-02-04 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Assertion failure in WebInspectorProxy::platformClose closing main window when inspecting a popup
+ window, or when running regression tests.
+ https://bugs.webkit.org/show_bug.cgi?id=53798
+ <rdar://problem/8814364>
+
+ Only assert about the state of m_inspectorWindow and m_inspectorView if the inspector is visible.
+ Also, only call ::DestroyWindow if the HWND is non-null, just to be safe.
+
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::platformClose):
+
+2011-02-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Go out of accelerated compositing mode when the drawing area is destroyed
+ https://bugs.webkit.org/show_bug.cgi?id=53788
+
+ This fixes a crash in the UI process if a web process crashes while in accelerated compositing mode.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl):
+
+2011-02-03 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: remove settings related methods from InspectorClient
+ https://bugs.webkit.org/show_bug.cgi?id=53686
+
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
+
+2011-02-03 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
+ https://bugs.webkit.org/show_bug.cgi?id=52897
+ <rdar://problem/8898294>
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::willSendRequestForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
+
+2011-02-03 Ivan Krstić <ike@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Make WebProcess pass explicit homedir parameter to the sandbox
+ <rdar://problem/8405760>
+ <https://webkit.org/b/53558>
+
+ * WebProcess/com.apple.WebProcess.sb:
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::initializeSandbox):
+
+2011-02-03 James Kozianski <koz@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add navigator.registerProtocolHandler behind a flag.
+ https://bugs.webkit.org/show_bug.cgi?id=52609
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2011-02-03 Adam Langley <agl@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Plumb mixed script URL to FrameLoaderClient
+ https://bugs.webkit.org/show_bug.cgi?id=52384
+
+ Regressions covered by http/tests/security/mixedContent/*
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::didRunInsecureContent):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2011-02-03 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Download bundles should be moved to their final destination when they
+ finish.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53668
+
+ Reviewed by Adam Roben.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::Download):
+ Initialize m_allowOverwrite.
+ (WebKit::Download::retrieveDestinationWithSuggestedFilename):
+ Return the result of requesting the destination filename from the UI
+ process.
+ (WebKit::Download::decideDestinationWithSuggestedFilename):
+ Call retrieveDestinationWithSuggestedFilename().
+ (WebKit::Download::didFinish):
+ Call platformDidFinish().
+
+ * WebProcess/Downloads/Download.h:
+ Declare retrieveDestinationWithSuggestedFilename() and
+ platformDidFinish(). Add a member variable to store whether the UI
+ process would like us to overwrite existing files.
+
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ (WebKit::willResumeWithResponseCallback):
+ Remove some trailing whitespace.
+
+ * WebProcess/Downloads/curl/DownloadCurl.cpp:
+ (WebKit::Download::platformDidFinish):
+ Stubbed.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::Download::platformDidFinish):
+ Stubbed.
+
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ (WebKit::Download::platformDidFinish):
+ Stubbed.
+
+ * WebProcess/Downloads/cf/win/DownloadCFNetWin.cpp:
+ (WebKit::Download::didDecideDestination):
+ Store whether the UI process would like us to overwrite existing files.
+ (WebKit::Download::platformDidFinish):
+ Try to move the bundle to the final destination. If that fails, ask the
+ UI process for a new destination. If we receive one, try again to move
+ the bundle. Call didCreateDestination() to report the updated path of
+ file whether it's the bundle that we failed to move, or the new final
+ destination.
+
+ This is similar to what is done by WebKit 1's CFNetwork port.
+
+ * win/WebKit2.vcproj:
+ Add DownloadWin.cpp.
+
+2011-02-01 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Small clean-up in DownloadCFNet.cpp.
+
+ Rubber-stamped by Mark Rowe.
+
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ (WebKit::Download::didDecideDestination):
+ Moved out of the section labeled "CFURLDownload callbacks" and up near
+ the other member functions.
+
+2011-02-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Paint non-composited contents in a layer
+ https://bugs.webkit.org/show_bug.cgi?id=53742
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setNeedsDisplay):
+ Call LayerTreeHost::setNonCompositedContentsNeedDisplayInRect.
+
+ (WebKit::DrawingAreaImpl::scroll):
+ Call LayerTreeHost::scrollNonCompositedContents.
+
+ (WebKit::DrawingAreaImpl::setSize):
+ Call LayerTreeHost::sizeDidChange.
+
+ * WebProcess/WebPage/LayerTreeHost.h:
+ Add new pure virtual member functions.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ Create the non-composited content layer.
+
+ (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
+ Call setNeedsDisplay on the GraphicsLayer.
+
+ (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
+ Just call setNonCompositedContentsNeedDisplayInRect.
+
+ (WebKit::LayerTreeHostMac::sizeDidChange):
+ Resize the layers and flush any changes.
+
+ (WebKit::LayerTreeHostMac::paintContents):
+ Call WebPage::drawRect.
+
+ (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback):
+ Lay out the web page.
+
+ (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
+ Call syncCompositingStateForThisLayerOnly on the non-composited content layer.
+
+2011-02-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ When in accelerated compositing mode, wait for DidSetSize messages
+ https://bugs.webkit.org/show_bug.cgi?id=53736
+
+ Normally we wait for DidSetSize messages from ::paint, but that's never called in
+ accelerated compositing mode so we just do it right after sending the SetSize message.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::paint):
+ Call waitForAndDispatchDidSetSize.
+
+ (WebKit::DrawingAreaProxyImpl::sendSetSize):
+ Call waitForAndDispatchDidSetSize when in accelerated compositing mode.
+
+ (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidSetSize):
+ New utility function which waits for and dispatches a DidSetSize message.
+
+ * UIProcess/DrawingAreaProxyImpl.h:
+
+2011-02-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Pass along an UpdateInfo object to the ExitAcceleratedCompositingMode message
+ https://bugs.webkit.org/show_bug.cgi?id=53734
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
+ Add an UpdateInfo parameter.
+
+ * UIProcess/DrawingAreaProxy.messages.in:
+ Add an UpdateInfo parameter to the ExitAcceleratedCompositingMode message.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+ Incorporate the passed in update.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
+ Create a new UpdateInfo object, paint into it and pass it along as a parameter
+ to the ExitAcceleratedCompositingMode message.
+
+2011-02-03 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for <rdar://problem/8944544> Ability to animate track
+ for WKPainter scrollers
+
+ * WebCoreSupport/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
+2011-02-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Change DidSetSize to take a LayerTreeContext parameter
+ https://bugs.webkit.org/show_bug.cgi?id=53724
+
+ Since SetSize can cause layout to happen, we need to pass along a layer tree context to
+ the DidSetSize message so the UI process can enter/exit accelerated compositing mode appropriately.
+
+ * Shared/LayerTreeContext.h:
+ * Shared/mac/LayerTreeContextMac.mm:
+ Add equality operators to LayerTreeContext.
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::didSetSize):
+ This now takes a LayerTreeContext parameter.
+
+ * UIProcess/DrawingAreaProxy.messages.in:
+ Add LayerTreeContext parameter.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ Get rid of m_isInAcceleratedCompositingMode and use the current layer context instead.
+
+ (WebKit::DrawingAreaProxyImpl::paint):
+ Bail if the call to DidSetSize ended up entering accelerated compositing mode.
+
+ (WebKit::DrawingAreaProxyImpl::didSetSize):
+ If the new layer tree context is different, enter/exit accelerated compositing mode accordingly.
+
+ (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+ Update the layer tree context.
+
+ * UIProcess/DrawingAreaProxyImpl.h:
+ (WebKit::DrawingAreaProxyImpl::isInAcceleratedCompositingMode):
+ Add simple getter.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setSize):
+ Pass along the layer tree context.
+
+2011-02-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Get rid of LayerTreeContext::seed on Mac.
+ Add sequence checks to enterAcceleratedCompositingMode and exitAcceleratedCompositingMode and
+ have them call newly added overloads that don't have the checks.
+
+ * Shared/LayerTreeContext.h:
+ * Shared/mac/LayerTreeContextMac.mm:
+ (WebKit::LayerTreeContext::LayerTreeContext):
+ (WebKit::LayerTreeContext::encode):
+ (WebKit::LayerTreeContext::decode):
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+ * UIProcess/DrawingAreaProxyImpl.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+
+2011-02-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Get rid of timestamps in UpdateInfo
+ https://bugs.webkit.org/show_bug.cgi?id=53713
+
+ Add a 64-bit sequence number to all DrawingAreaProxy messages, and use it to
+ check whether Update messages should be handled or not.
+
+ * Shared/UpdateInfo.cpp:
+ (WebKit::UpdateInfo::encode):
+ (WebKit::UpdateInfo::decode):
+ * Shared/UpdateInfo.h:
+ (WebKit::UpdateInfo::UpdateInfo):
+ * UIProcess/BackingStore.cpp:
+ (WebKit::BackingStore::BackingStore):
+ (WebKit::BackingStore::incorporateUpdate):
+ * UIProcess/BackingStore.h:
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::update):
+ (WebKit::DrawingAreaProxy::didSetSize):
+ (WebKit::DrawingAreaProxy::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
+ * UIProcess/DrawingAreaProxy.messages.in:
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
+ (WebKit::DrawingAreaProxyImpl::update):
+ (WebKit::DrawingAreaProxyImpl::didSetSize):
+ (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+ * UIProcess/DrawingAreaProxyImpl.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::generateSequenceNumber):
+ (WebKit::DrawingAreaImpl::setSize):
+ (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
+ (WebKit::DrawingAreaImpl::display):
+
+2011-02-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Don't send enter/exit accelerated compositing mode messages when handling setSize
+ https://bugs.webkit.org/show_bug.cgi?id=53706
+
+ Don't send EnterAcceleratedCompositingMode/ExitAcceleratedCompositing mode when
+ the mode changes happen as a result of relayout in setSize, since an updated state
+ is going to be sent back in the DidSetSize message.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::didSetSize):
+ Add an assert.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::DrawingAreaImpl):
+ Initialize m_inSetSize.
+
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ Factor out code into enterAcceleratedCompositingMode and exitAcceleratedCompositingMode.
+
+ (WebKit::DrawingAreaImpl::setSize):
+ Set m_inSetSize to true while handling setSize.
+
+ (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
+ Take over the message sending responsibility from LayerTreeHostMac, and don't send messages
+ if we're currently handling a SetSize message.
+
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ Add m_inSetSize.
+
+ * WebProcess/WebPage/LayerTreeHost.h:
+ Add layerTreeHost getter.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ Don't send EnterAcceleratedCompositingMode messages.
+
+ (WebKit::LayerTreeHostMac::layerTreeContext):
+ Add getter for the current layer tree context.
+
+ (WebKit::LayerTreeHostMac::invalidate):
+ Don't send ExitAcceleratedCompositingMode messages.
+
+2011-02-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make the layer tree host keep track of the layer tree context
+ https://bugs.webkit.org/show_bug.cgi?id=53698
+
+ Add a LayerTreeContext member variable to the LayerTreeHost object,
+ and also add a seed count to the LayerTreeContext so we can keep track of
+ how layer tree contexts relate to each other.
+
+ * Shared/LayerTreeContext.h:
+ * Shared/mac/LayerTreeContextMac.mm:
+ (WebKit::LayerTreeContext::LayerTreeContext):
+ (WebKit::LayerTreeContext::makeWithSeed):
+ (WebKit::LayerTreeContext::encode):
+ (WebKit::LayerTreeContext::decode):
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ Add the layer tree context as a member variable.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ Initialize the layer tree context.
+
+2011-02-03 Sam Weinig <sam@webkit.org>
+
+ Fix Qt build.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+
+2011-02-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add notification of the end of a rubber band.
+ <rdar://problem/8940648>
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::drawHeader):
+ (WebKit::WebPageProxy::drawFooter):
+ (WebKit::WebPageProxy::didCompleteRubberBandForMainFrame):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::didCompleteRubberBandForMainFrame):
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::didCompleteRubberBandForMainFrame):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ Pipe the notification up to the WKUIClient.
+
+2011-02-03 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r77449.
+ http://trac.webkit.org/changeset/77449
+ https://bugs.webkit.org/show_bug.cgi?id=53663
+
+ causes many WebKit2 tests to crash (Requested by othermaciej
+ on #webkit).
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ (WebKit::toCopiedAPI):
+ (WebKit::toURLRef):
+ (WebKit::toCopiedURLAPI):
+ * Shared/WebString.h:
+ (WebKit::WebString::isNull):
+ (WebKit::WebString::WebString):
+
+2011-02-02 Sam Weinig <sam@webkit.org>
+
+ Fix license block issues pointed out by Daniel Bates.
+
+ * Shared/API/c/WKGraphicsContext.cpp:
+ * Shared/API/c/WKGraphicsContext.h:
+ * Shared/API/c/cg/WKGraphicsContextCG.cpp:
+ * Shared/API/c/cg/WKGraphicsContextCG.h:
+ * Shared/WebGraphicsContext.cpp:
+
+2011-02-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Add WKBundleFrameGetVisibleContentBoundsExcludingScrollbars API for WebKit2.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetContentBounds):
+ (WKBundleFrameGetVisibleContentBounds):
+ (WKBundleFrameGetVisibleContentBoundsExcludingScrollbars):
+ (WKBundleFrameGetScrollOffset):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::contentBounds):
+ (WebKit::WebFrame::visibleContentBounds):
+ (WebKit::WebFrame::visibleContentBoundsExcludingScrollbars):
+ (WebKit::WebFrame::scrollOffset):
+ * WebProcess/WebPage/WebFrame.h:
+ Move implementation of frame geometry to the implementation file
+ instead of keeping it in the API file.
+
+2011-02-02 Stephanie Lewis <slewis@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53361
+ <rdar://problem/8921729> REGRESSION: Membuster accumulates 1GB+ memory due to autorelease
+ pools not being drained.
+ Call into AppKit to add observers that push and pop autorelease pools on entry
+ and exit from the CFRunLoop. This will prevent memory from accumulating.
+
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+
+2011-02-02 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make null WTF::String objects turn into 0 pointers for WKStringRef and WKURLRef.
+ rdar://problem/8948688
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI): Return 0 if the passed in string is 0.
+ (WebKit::toCopiedAPI): Ditto.
+ (WebKit::toURLRef): Ditto. Old code was trying to do this but was missing a return.
+ (WebKit::toCopiedURLAPI): Ditto. Old code was trying to do this but had incorrect
+ nll check.
+
+ * Shared/WebString.h: Removed isNull function. It can never return true.
+ Removed constructor code that turns the null string into the empty string.
+ Instead assert that the passed in string is not null.
+
+2011-02-02 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/8928367> Crash when loading canvas pages inside HTMLCanvasElement::createImageBuffer().
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface): Add some missing initializers.
+
+2011-02-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Add ChromeClient function to paint custom overhang areas.
+ https://bugs.webkit.org/show_bug.cgi?id=53639
+
+ * Shared/API/c/WKBase.h:
+ * Shared/API/c/WKGraphicsContext.cpp: Added.
+ (WKGraphicsContextGetTypeID):
+ * Shared/API/c/WKGraphicsContext.h: Added.
+ * Shared/API/c/WKSharedAPICast.h:
+ * Shared/API/c/cg/WKGraphicsContextCG.cpp: Added.
+ (WKGraphicsContextGetCGContext):
+ * Shared/API/c/cg/WKGraphicsContextCG.h: Added.
+ * Shared/APIObject.h:
+ * Shared/WebGraphicsContext.cpp: Added.
+ (WebKit::WebGraphicsContext::WebGraphicsContext):
+ * Shared/WebGraphicsContext.h: Added.
+ (WebKit::WebGraphicsContext::create):
+ (WebKit::WebGraphicsContext::platformContext):
+ (WebKit::WebGraphicsContext::type):
+ Add WebGraphicsContext API type.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ (WebKit::InjectedBundlePageUIClient::pageDidScroll):
+ (WebKit::InjectedBundlePageUIClient::shouldPaintCustomOverhangArea):
+ (WebKit::InjectedBundlePageUIClient::paintCustomOverhangArea):
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::paintCustomOverhangArea):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ Pipe paintCustomOverhangArea to the InjectedBundlePageUIClient.
+
+ * UIProcess/API/C/WebKit2.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2011-02-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Work towards making the layer tree host be in charge of all painting
+ https://bugs.webkit.org/show_bug.cgi?id=53636
+
+ Make sure that DrawingAreaImpl::display is never called when in accelerated compositing mode,
+ since the layer tree host is supposed to handle all drawing in that case.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::scroll):
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ (WebKit::DrawingAreaImpl::setSize):
+ (WebKit::DrawingAreaImpl::didUpdate):
+
+2011-02-02 Mark Rowe <mrowe@apple.com>
+
+ Fix the 32-bit build.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::computeFakeWindowBoundsRect):
+
+2011-02-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make sure that we don't try to call display() when in accelerated compositing mode
+ https://bugs.webkit.org/show_bug.cgi?id=53629
+
+ When in accelerated compositing mode, the layer tree host should handle all painting, so make sure that display() is never called.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setNeedsDisplay):
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ (WebKit::DrawingAreaImpl::display):
+
+2011-02-02 Adam Roben <aroben@apple.com>
+
+ Assert WebBackForwardList's current index is valid to help catch errors
+
+ Hopefully this will help catch a crash I saw once but haven't yet been able to reproduce.
+
+ Fixes <http://webkit.org/b/53622>.
+
+ Reviewed by Brady Eidson.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::WebBackForwardList):
+ (WebKit::WebBackForwardList::addItem):
+ (WebKit::WebBackForwardList::goToItem):
+ (WebKit::WebBackForwardList::currentItem):
+ (WebKit::WebBackForwardList::backItem):
+ (WebKit::WebBackForwardList::forwardItem):
+ (WebKit::WebBackForwardList::itemAtIndex):
+ (WebKit::WebBackForwardList::backListCount):
+ (WebKit::WebBackForwardList::forwardListCount):
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+ (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
+ (WebKit::WebBackForwardList::clear):
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
+ (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
+ Assert that m_current is valid.
+
+ * UIProcess/WebBackForwardList.h: Moved the NoCurrentItemIndex to a static data member so
+ that it can be used from WebBackForwardListCF.cpp.
+
+2011-02-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ The drawing area proxy should keep track of the accelerated compositing state
+ https://bugs.webkit.org/show_bug.cgi?id=53624
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
+ Initialize m_isInAcceleratedCompositingMode to false.
+
+ (WebKit::DrawingAreaProxyImpl::paint):
+ Don't try to paint if we're in accelerated compositing mode.
+
+ (WebKit::DrawingAreaProxyImpl::didSetSize):
+ Bail if we're in accelerated compositing mode.
+
+ (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
+ Set m_isInAcceleratedCompositingMode to true, null out the backing store.
+
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+ Set m_isInAcceleratedCompositingMode back to false.
+
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+ Assert that we're not in accelerated compositing mode.
+
+ * UIProcess/DrawingAreaProxyImpl.h:
+
+2011-02-02 Timothy Hatcher <timothy@apple.com>
+
+ Give the Web Process access to the Safari RSS preferences.
+
+ <rdar://problem/8916870> Sandbox violation related to RSS during initial
+ page load with WebKit2 (prevents RSS from working)
+
+ Reviewed by Darin Adler.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-02-02 Steve Lacey <sjl@chromium.org>
+
+ Reviewed by Eric Carlson.
+
+ Implement basic media statistics on media elements.
+ https://bugs.webkit.org/show_bug.cgi?id=53322
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2011-02-01 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53561
+ <rdar://problem/8900228> Stepping through print previews in WebKit2 mode steps in and out of
+ printing mode a lot
+
+ Disable NSView autodisplay, so that -[WKView drawRect:] isn't called (other than when
+ resizing the window), so that we don't have to switch modes all the time.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setAutodisplay):
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setAutodisplay):
+ * UIProcess/WebPageProxy.h:
+ Pipe the call from WKPrintingView down to WKView.
+
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (-[WKPrintingView beginDocument]): Added. We don't want to autodisplay WKView while printing,
+ because layout is changed to print at the time, and drawing to screen requires relayout.
+
+ (-[WKPrintingView endDocument]): When not printing, turn autodisplay back on. Also, call
+ -[super endDocument] for unknown but definitive good (oops!).
+
+2011-02-02 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Conversion of right()/bottom() to maxX()/maxY() as part of the removal of those accessors.
+
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::prepareCandidateWindow):
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::NetscapePlugin::platformGeometryDidChange):
+
+2011-02-01 Darin Adler <darin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Overflow in WebKit2 argument decoder buffer checking
+ https://bugs.webkit.org/show_bug.cgi?id=53536
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ (CoreIPC::roundUpToAlignment): Tweak code a bit for clarity and to replace
+ C casts with C++ casts.
+ (CoreIPC::ArgumentDecoder::alignBufferPosition): Rearrange buffer calculation
+ so we don't do any math with the passed-in size, because that could overflow.
+ (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain): Ditto.
+
+2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed.
+
+ Fix Qt build after r77339.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::enterAcceleratedCompositingMode):
+ (QWKPagePrivate::exitAcceleratedCompositingMode):
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2011-02-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Attach the layer tree in the UI process
+ https://bugs.webkit.org/show_bug.cgi?id=53560
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _enterAcceleratedCompositingMode:]):
+ Make a render layer and add it as a sublayer of our root layer.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ Make LayerTreeHostMac a GraphicsLayerClient.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ Create a root layer, add the layer subtree as a child of the root layer.
+
+ (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
+ Assert that m_rootLayer is null.
+
+ (WebKit::LayerTreeHostMac::invalidate):
+ Null out m_rootLayer.
+
+ (WebKit::LayerTreeHostMac::notifyAnimationStarted):
+ (WebKit::LayerTreeHostMac::notifySyncRequired):
+ (WebKit::LayerTreeHostMac::paintContents):
+ Add stubs.
+
+ (WebKit::LayerTreeHostMac::showDebugBorders):
+ (WebKit::LayerTreeHostMac::showRepaintCounter):
+ Return the correct settings.
+
+ (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
+ Flush the root layer changes.
+
+2011-02-01 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::enterAcceleratedCompositingMode):
+ (WebKit::WebView::exitAcceleratedCompositingMode):
+ * UIProcess/win/WebView.h:
+
+2011-02-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add a layer backed NSView for accelerated content
+ https://bugs.webkit.org/show_bug.cgi?id=53555
+
+ Rename the current _layerHostingView to _oldLayerHostingView and
+ add a new _layerHostingView to be used with the new drawing area.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView hitTest:]):
+ (-[WKView _startAcceleratedCompositing:]):
+ (-[WKView _stopAcceleratedCompositing]):
+ (-[WKView _enterAcceleratedCompositingMode:]):
+ (-[WKView _exitAcceleratedCompositingMode]):
+
+2011-02-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Pass enter/exit accelerated compositing mode to the WKView
+ https://bugs.webkit.org/show_bug.cgi?id=53552
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
+ (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _enterAcceleratedCompositingMode:]):
+ (-[WKView _exitAcceleratedCompositingMode]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::enterAcceleratedCompositingMode):
+ (WebKit::WebPageProxy::exitAcceleratedCompositingMode):
+ * UIProcess/WebPageProxy.h:
+
+2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed Qt buildfix after r77286.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53520
+ Remove the physical terminology from IntRect and FloatRect.
+
+ * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+
+2011-02-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Send messages when entering/exiting accelerated compositing
+ https://bugs.webkit.org/show_bug.cgi?id=53534
+
+ * Shared/LayerTreeContext.h: Added.
+ * Shared/mac/LayerTreeContextMac.mm: Added.
+ Add new LayerTreeContext which holds all information needed to enter
+ accelerated compositing mode.
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
+ Add empty stubs.
+
+ * UIProcess/DrawingAreaProxy.messages.in:
+ Add new messgaes.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+ * UIProcess/DrawingAreaProxyImpl.h:
+ Add empty stubs.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ (WebKit::LayerTreeHostMac::invalidate):
+ Send messages.
+
+2011-02-01 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein and Darin Adler.
+
+ <rdar://problem/8830594> Printed page is sometimes shifted down, making footer invisible
+
+ * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView locationOfPrintRect:]): Instead of
+ letting AppKit compute content position on page, make the view provide it. We can do this
+ because WK(Printing)Views are always printed on their own, not as part of other views.
+
+2011-02-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Make LayerTreeHost ref counted
+ https://bugs.webkit.org/show_bug.cgi?id=53530
+
+ LayerTreeHostMac will soon be able to trigger layout, which could cause
+ the page to leave accelerated compositing mode and free the LayerTreeHostMac object.
+
+ Making LayerTreeHost ref counted will let LayerTreeHostMac protect itself while triggering layout.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ * WebProcess/WebPage/LayerTreeHost.cpp:
+ (WebKit::LayerTreeHost::create):
+ * WebProcess/WebPage/LayerTreeHost.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::create):
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
+ (WebKit::LayerTreeHostMac::invalidate):
+
+2011-02-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Part 2 for <rdar://problem/8492788>
+ Adopt WKScrollbarPainterController
+
+ Use header detection to define scrollbar painting controller #define.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
+2011-02-01 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53520
+
+ Remove the physical terminology from IntRect and FloatRect.
+
+ Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
+ we need to update our terminology to be more accurate.
+
+ I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
+ renaming right() and bottom() to maxX() and maxY(). These terms remain accurate
+ even for flipped rectangles.
+
+ * Platform/Region.cpp:
+ (WebKit::Region::Shape::Shape):
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (pageDidComputePageRects):
+ * UIProcess/FindIndicator.cpp:
+ (WebKit::FindIndicator::draw):
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::invalidate):
+ (WebKit::TiledDrawingAreaProxy::paint):
+ (WebKit::TiledDrawingAreaProxy::createTiles):
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::callSetWindow):
+
+2011-02-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move flushPendingLayerChanges to LayerTreeHostMac
+ https://bugs.webkit.org/show_bug.cgi?id=53525
+
+ In preparation for adding more Mac specific code to flushPendingLayerChanges.
+
+ * WebProcess/WebPage/LayerTreeHost.cpp:
+ * WebProcess/WebPage/LayerTreeHost.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
+
+2011-02-01 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
+
+ Implement NSView's viewWillStartLiveResize and
+ viewDidEndLiveResize and propagate the messages down
+ to WebCore.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView viewWillStartLiveResize]):
+ (-[WKView viewDidEndLiveResize]):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::viewWillStartLiveResize):
+ (WebKit::WebPageProxy::viewWillEndLiveResize):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::viewWillStartLiveResize):
+ (WebKit::WebPage::viewWillEndLiveResize):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+ A bunch of new WebKitSystemInterface functions.
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
+2011-02-01 Dave Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
+ with vertical text.
+
+ Change printing functions to check writing-mode and properly swap width and height
+ as needed.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::computePagesForPrinting):
+
+2011-01-31 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53466
+ Move WebKit2 to printing via API methods
+
+ Also fixes <rdar://problem/8933724> REGRESSION: Wrong pages are printed when not printing from page 1
+
+ Also fixes horizontal tiling (no bug filed).
+
+ The main idea here is that we don't force AppKit to use a different scaling factor when
+ a Web view can't be resized to exact page size, and scale when drawing instead.
+
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (-[WKPrintingView _firstPrintedPageNumber]): Factored out into a separate method.
+ (-[WKPrintingView _lastPrintedPageNumber]): Ditto.
+ (pageDidDrawToPDF): Avoid crashing if data is null.
+ (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Use -_firstPrintedPageNumber
+ and -_lastPrintedPageNumber.
+ (pageDidComputePageRects): Set frame size to what it would have been for a normal NSView
+ that's been asked to resize.
+ (-[WKPrintingView _pageForRect:]): Check x(), because several pages can be at the same y()
+ when tiling horizontally.
+ (-[WKPrintingView _drawPDFDocument:page:atPoint:]): Point to draw at and frame size are
+ now using different units, translate as appropriate.
+ (-[WKPrintingView _drawPreview:]): Scale the rect to WebCore units.
+ (-[WKPrintingView drawRect:]): Correctly calculate page number when the first page to print
+ isn't page 1.
+ (-[WKPrintingView rectForPage:]): Scale the rect to AppKit units.
+
+2011-01-31 Darin Adler <darin@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
+ https://bugs.webkit.org/show_bug.cgi?id=53460
+
+ * UIProcess/API/mac/WKView.mm: Added WEBCORE_COMMAND macro for lots of editor commands that
+ are implemented in WebCore so they will get forwarded. Many of these will probably work without
+ any further changes required. Added comments about the methods that we do not yet forward.
+ (createSelectorExceptionMap): Map scrollPageDown: to ScrollPageForward and
+ scrollPageUp: to ScrollPageBackward because we want the page up and page down
+ keys to follow the document logical order, not physical order. This is equivalent
+ to what we do in WebPage::performDefaultBehaviorForKeyEvent.
+
+2011-01-31 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Steve Falkenburg.
+
+ WebKit2: the cookies used by the WebKit2 Web Process should not go in a top-level
+ directory.
+ https://bugs.webkit.org/show_bug.cgi?id=53278
+
+ Use the name WebKit2WebProcess since the default location for the cookies is determined
+ based on the process name (which is WebKit2WebProcess.exe on Windows).
+
+ * win/WebKit2.make:
+ Copy the WebKit2WebProcess.resources directory into the AppleInternal bin.
+
+ * win/WebKit2WebProcess.resources: Added.
+ * win/WebKit2WebProcess.resources/Info.plist: Added.
+ Copied from the WebKit version of Info.plist.
+
+ * win/WebKit2WebProcessPostBuild.cmd:
+ Copy the WebKit2WebProcess.resources directory into the WebKitOutPutDir's bin.
+
+2011-01-31 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Make LayerTreeHost an abstract base class and make LayerTreeHostMac inherit from it
+ https://bugs.webkit.org/show_bug.cgi?id=53432
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add LayerTreeHostMac.h.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ Make m_layerTreeHost an OwnPtr and initialize/destroy it appropriately.
+
+ * WebProcess/WebPage/LayerTreeHost.cpp:
+ (WebKit::LayerTreeHost::create):
+ On Mac, create a LayerTreeHostMac instance.
+
+ (WebKit::LayerTreeHost::~LayerTreeHost):
+ No need to call platformInvalidate anymore.
+
+ * WebProcess/WebPage/LayerTreeHost.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h: Added.
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
+ Invalidate the run loop observer here instead of in platformInvalidate.
+
+ (WebKit::LayerTreeHostMac::scheduleLayerFlush):
+ (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback):
+ These are now members of LayerTreeHostMac.
+
+2011-01-30 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ [Take 2!]
+ Fixed crash on window close (maybe crash on launch?) due to missing frame null checks
+ https://bugs.webkit.org/show_bug.cgi?id=53408
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didNavigateWithNavigationData):
+ (WebKit::WebContext::didPerformClientRedirect):
+ (WebKit::WebContext::didPerformServerRedirect):
+ (WebKit::WebContext::didUpdateHistoryTitle): Use MESSAGE_CHECK because
+ we don't think we should be able to reach this state under normal conditions.
+
+2011-01-30 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fixed crash on window close (maybe crash on launch?) due to missing
+ frame null checks
+ https://bugs.webkit.org/show_bug.cgi?id=53408
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didNavigateWithNavigationData):
+ (WebKit::WebContext::didPerformClientRedirect):
+ (WebKit::WebContext::didPerformServerRedirect):
+ (WebKit::WebContext::didUpdateHistoryTitle): Check for NULL, since we're
+ calling a function that can return it.
+
+2011-01-30 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt][WK2]REGRESSION (r76991): Fix build errors
+ https://bugs.webkit.org/show_bug.cgi?id=53400
+
+ Revert the temporary build fix (http://trac.webkit.org/changeset/77088)
+ and remove WebKit2Prefix.h from the build.
+ * UIProcess/API/qt/qwkhistory.h:
+ * UIProcess/API/qt/qwkpage.h:
+ * WebKit2.pro:
+
+2011-01-30 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ FindController::updateFindIndicator() crashes if selection isn't visible
+ https://bugs.webkit.org/show_bug.cgi?id=53399
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::updateFindIndicator): Return false if ShareableBitmap::createShareable() returns null (typically because the selection rect is empty).
+
+2011-01-30 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed.
+
+ [Qt][WK2] Buildfix.
+
+ * UIProcess/API/qt/qwkhistory.h:
+ * UIProcess/API/qt/qwkpage.h:
+
+2011-01-29 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Add WKPageCopyPendingAPIRequestURL API
+ https://bugs.webkit.org/show_bug.cgi?id=53383
+
+ This API returns the last URL requested for load via API, if neither that load nor any
+ other load subsequently reaches the provisional state.
+
+ This is useful to be able to track loads initiated via the API
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageCopyPendingAPIRequestURL): Retrieve the pending URL.
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::loadURL): Set pending URL.
+ (WebKit::WebPageProxy::loadURLRequest): ditto
+ (WebKit::WebPageProxy::reload): ditto
+ (WebKit::WebPageProxy::goForward): ditto
+ (WebKit::WebPageProxy::goBack): ditto
+ (WebKit::WebPageProxy::estimatedProgress): Assume the initial
+ progress value when there is a pending URL.
+ (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Clear
+ pending URL; clients should look at the provisional URL now.
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction): Clear
+ pending URL if it doesn't match the policy URL; this means we
+ were interrupted by another load.
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::pendingAPIRequestURL): Helper function.
+ (WebKit::WebPageProxy::clearPendingAPIRequestURL): ditto
+ (WebKit::WebPageProxy::setPendingAPIRequestURL): ditto
+
+2011-01-28 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Downloads in WK2 on Windows should write resume data to bundle
+ https://bugs.webkit.org/show_bug.cgi?id=53282
+ <rdar://problem/8753077>
+
+ Reviewed by Alice Liu.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::decideDestinationWithSuggestedFilename):
+ Call didDecideDestination(), now that the destination is decided.
+
+ * WebProcess/Downloads/Download.h:
+ Declare didDecideDestination(). Added member variables to hold the
+ destination file path and the download bundle path.
+ (WebKit::Download::destination):
+ Return the path to the final destination for this download.
+
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ (WebKit::Download::start):
+ Remove the name of an unused param.
+ (WebKit::Download::startWithHandle):
+ Ditto.
+ (WebKit::Download::cancel):
+ Tell CFNetwork not to delete the file upon failure, and tell it to
+ cancel the download. Copy the resume data for the download, and append
+ it to the download bundle. Call didCancel() with an empty
+ DataReference, since we have written our own resume data.
+ (WebKit::decideDestinationWithSuggestedObjectNameCallback):
+ Remove some unused param names. Removed the call to
+ CFURLDownloadSetDestination() - this is now handled in
+ Download::didDecideDestination().
+ (WebKit::didCreateDestinationCallback):
+ Report that the final destination was created, rather than the download
+ bundle, matching old WebKit.
+ (WebKit::Download::didDecideDestination):
+ Store the final destination and the download bundle paths, and call
+ CFURLDownloadSetDestination(), passing the path to the download bundle.
+
+ * WebProcess/Downloads/curl/DownloadCurl.cpp:
+ (WebKit::Download::didDecideDestination):
+ Stubbed.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::Download::didDecideDestination):
+ Stubbed - unneeded on the Mac.
+
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ (WebKit::Download::didDecideDestination):
+ Stubbed.
+
+2011-01-29 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Support find bouncy in WebKit2 on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=53329
+ <rdar://problem/8565843>
+ The Mac implements the find bouncy inside of WebKit in the UI process for WebKit2, but we need to do this inside Safari for WebKit2 on Windows.
+ Add infrastructure to call back into the app when the find indicator changes.
+
+ * UIProcess/API/C/win/WKView.cpp: Cleanup some code style violations.
+ (WKViewSetFindIndicatorCallback): Added.
+ (WKViewGetFindIndicatorCallback): Added.
+ * UIProcess/API/C/win/WKView.h: Cleanup some code style violations.
+ * UIProcess/FindIndicator.cpp:
+ (WebKit::FindIndicator::create):
+ (WebKit::FindIndicator::FindIndicator):
+ (WebKit::FindIndicator::frameRect):
+ (WebKit::FindIndicator::draw):
+ Rename m_selectionRect to m_selectionRectInWindowCoordinates and m_textRects to m_textRectsInSelectionRectCoordinates (along with similarly named local variables) to be more explict about the coordinate system.
+ * UIProcess/FindIndicator.h:
+ (WebKit::FindIndicator::selectionRectInWindowCoordinates): Added.
+ (WebKit::FindIndicator::textRects): Rename m_textRects to m_textRectsInSelectionRectCoordinates.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setFindIndicator): Rename selectionRect to selectionRectInWindowCoordinates and textRects to textRectsInSelectionRectCoordinates to be more explict about the coordinate system.
+ * UIProcess/WebPageProxy.h: Ditto.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::setFindIndicator): Added.
+ (WebKit::WebView::setFindIndicatorCallback): Added.
+ (WebKit::WebView::getFindIndicatorCallback): Added.
+ * UIProcess/win/WebView.h:
+
+2011-01-28 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53367
+ <rdar://problem/8926460> Remove dysfunctional code from -[WKPrintingView _isPrintingPreview].
+
+ * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _isPrintingPreview]): The common
+ branch works fine for now, no need to make platforms different.
+
+2011-01-28 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WKPageGetEstimatedProgress returns wrong value after a mainframe provisional load has started
+ https://bugs.webkit.org/show_bug.cgi?id=53358
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didStartProgress): Start progress at the magic initial value, not 0.
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Yet another build fix (What was I thinking?)
+
+ * WebProcess/Downloads/Download.h:
+ * WebProcess/Plugins/PluginProxy.h:
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * Shared/PrintInfo.h:
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Fix tyop.
+
+ * Shared/mac/CoreAnimationRenderer.mm:
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add CoreAnimationRenderer class
+ https://bugs.webkit.org/show_bug.cgi?id=53343
+
+ * Shared/mac/CoreAnimationRenderer.h: Added.
+ * Shared/mac/CoreAnimationRenderer.mm: Added.
+
+ (WebKit::CoreAnimationRenderer::CoreAnimationRenderer):
+ Initialize the underlying CARenderer object and hook up a notification observer.
+
+ (WebKit::CoreAnimationRenderer::~CoreAnimationRenderer):
+ Assert that the client is null. It has been set to null by the call to invalidate().
+
+ (WebKit::CoreAnimationRenderer::setBounds):
+ Update the bounds on the CARenderer and the root layer.
+
+ (WebKit::CoreAnimationRenderer::render):
+ Ask the renderer to render and return the next frame time.
+
+ (WebKit::CoreAnimationRenderer::invalidate):
+ Remove the change observer and reset the client.
+
+ (WebKit::CoreAnimationRenderer::rendererDidChange):
+ Call the client member function.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add an OBJC_CLASS macro for forward declaring an Objective-C class
+ https://bugs.webkit.org/show_bug.cgi?id=53337
+
+ * Shared/NativeWebKeyboardEvent.h:
+ * Shared/PrintInfo.h:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/WebInspectorProxy.h:
+ * UIProcess/mac/WebContextMenuProxyMac.h:
+ * UIProcess/mac/WebPopupMenuProxyMac.h:
+ * WebProcess/Downloads/Download.h:
+ * WebProcess/Plugins/PluginProxy.h:
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/WebPage.h:
+ * config.h:
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't put config.h in the message headers.
+
+ * Scripts/webkit2/messages.py:
+ * Scripts/webkit2/messages_unittest.py:
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * Shared/mac/ShareableSurface.cpp:
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Try to unbreak the Windows build.
+
+ * UIProcess/cf/WebPageProxyCF.cpp:
+
+2011-01-28 Brady Eidson <beidson@apple.com>
+
+ Reviewed by John Sullivan.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53330
+ Need InjectedBundle API to get the response MIMEType for a URL
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopyMIMETypeForResourceWithURL):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+
+ Get the MIMEType from the in-memory cache, or cachedResponseMIMETypeForURL() if not available:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::mimeTypeForResourceWithURL):
+ * WebProcess/WebPage/WebFrame.h:
+
+ Get the MIMEType from the platform's disk cache if available:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::cachedResponseMIMETypeForURL):
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::WebPage::cachedResponseMIMETypeForURL):
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::cachedResponseMIMETypeForURL):
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Clean up the mess introduced when config.h was added to the project:
+
+ - Remove the contents of WebKit2Prefix.h that is now in config.h, to avoid including everything
+ twice in each file, probably slowing down compile time.
+
+ - Add config.h to all the files that were forgotten in order to keep the build from breaking.
+
+ - Added trap to ensure that config.h is included at the top of every implementation file. If this
+ had been added it would have caught the previous issue.
+
+2011-01-28 Stephanie Lewis <slewis@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ <rdar://problem/8857651> Implement unregisterWorld for WebKit2
+ Rename unregisterWorld to clearWrappers. Clearing the wrappers reduces the
+ memory use of isolated worlds.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
+ (WKBundleScriptWorldClearWrappers):
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
+ * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
+ (WebKit::InjectedBundleScriptWorld::clearWrappers):
+ * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
+
+2011-01-28 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <select> can't display right-to-left (rtl) languages
+ https://bugs.webkit.org/show_bug.cgi?id=19785
+
+ * Shared/WebPopupItem.cpp:
+ (WebKit::WebPopupItem::WebPopupItem): Added initializers for m_textDirection and m_hasTextDirectionOverride.
+ (WebKit::WebPopupItem::encode): Encode the item's writing direction and direction override values.
+ (WebKit::WebPopupItem::decode): Decode the item's writing direction and direction override values.
+ * Shared/WebPopupItem.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showPopupMenu): Added a parameter for the menu's text direction.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in: Ditto.
+ * UIProcess/WebPopupMenuProxy.h:
+ * UIProcess/mac/WebPopupMenuProxyMac.h:
+ * UIProcess/mac/WebPopupMenuProxyMac.mm:
+ (WebKit::WebPopupMenuProxyMac::populate): Added a parameter for the menu's text direction.
+ Set items' text alignment to match the menu's writing direction. Set items' writing direction
+ and direction override according to their styles.
+ (WebKit::WebPopupMenuProxyMac::showPopupMenu): Set the pop-up's layout direction.
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural): Changed to return false.
+ (WebKit::WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added.
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
+ (WebKit::WebPopupMenu::populateItems): Initialize items' writing direction and direction override
+ values.
+ (WebKit::WebPopupMenu::show): Pass the menu's writing direction.
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add ShareableSurface class
+ https://bugs.webkit.org/show_bug.cgi?id=53313
+
+ * Shared/mac/ShareableSurface.cpp: Added.
+ (WebKit::ShareableSurface::Handle::Handle):
+ Initialize the mach port.
+
+ (WebKit::ShareableSurface::Handle::~Handle):
+ Deallocate our send right if needed.
+
+ (WebKit::ShareableSurface::Handle::encode):
+ Encode the send right, and then null it out.
+
+ (WebKit::ShareableSurface::Handle::decode):
+ Decode the send right.
+
+ (WebKit::createIOSurface):
+ Create an IOSurface with the given size.
+
+ (WebKit::ShareableSurface::create):
+ Create an IOSurface, either from a size or from a handle.
+
+ (WebKit::ShareableSurface::~ShareableSurface):
+ Delete the texture and framebuffer.
+
+ (WebKit::ShareableSurface::createHandle):
+ Create a mach port from the surface.
+
+ (WebKit::ShareableSurface::attach):
+ Create an FBO if needed and bind it.
+
+ (WebKit::ShareableSurface::detach):
+ Unbind the FBO.
+
+ (WebKit::ShareableSurface::textureID):
+ Generate a new texture and bind it to the IOSurface.
+
+ * Shared/mac/ShareableSurface.h: Added.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+2011-01-27 Adam Roben <aroben@apple.com>
+
+ Change BinarySemaphore to wrap an auto-reset Win32 event on Windows
+
+ Fixes <http://webkit.org/b/53208> <rdar://problem/8922490>.
+
+ Reviewed by Dave Hyatt.
+
+ * Platform/CoreIPC/BinarySemaphore.cpp: Wrap this implementation in #if !PLATFORM(WIN).
+
+ * Platform/CoreIPC/BinarySemaphore.h: Make the Windows implementation have a single HANDLE
+ member that holds the event.
+
+ * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Copied from Source/WebKit2/Platform/CoreIPC/BinarySemaphore.cpp.
+ (CoreIPC::BinarySemaphore::BinarySemaphore): Create our event.
+ (CoreIPC::BinarySemaphore::~BinarySemaphore): Destory our event.
+ (CoreIPC::BinarySemaphore::signal): Signal the event.
+ (CoreIPC::BinarySemaphore::wait): Convert the absolute time to a wait interval, then wait
+ for the event to be signaled or for the interval to elapse.
+
+ * win/WebKit2.vcproj: Added BinarySemaphoreWin.cpp. Also let VS have its way with the file.
+
+2011-01-27 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Page flashes just before accelerated compositing animation
+ https://bugs.webkit.org/show_bug.cgi?id=53274
+
+ When switching out of compositing mode, the new ChunkedUpdateDrawingAreaProxy
+ is getting created with the current page size. When the setSize() call is
+ subsequently made, the sizeDidChange() call is not made (which does the initial
+ render of the page) because the old size and new size are the same. The solution
+ is to skip the setting of the size in the ctor and let it go through a size
+ change sequence.
+
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::DrawingAreaProxy):
+
+2011-01-28 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Fix dist compilation for the release
+ https://bugs.webkit.org/show_bug.cgi?id=53290
+
+ * GNUmakefile.am: Remove a file that is not in the repository
+ anymore.
+
+
+2011-01-28 Andreas Kling <kling@webkit.org>
+
+ Rubber-stamped by Simon Hausmann.
+
+ [Qt][WK2] Combine QWKPage::engine{Connected,Disconnected} into one signal.
+
+ Having two signals for this is redundant, combine them into
+ QWKPage::engineConnectionChanged(bool connected).
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::didRelaunchProcess):
+ (QWKPagePrivate::processDidCrash):
+ * UIProcess/API/qt/qwkpage.h:
+
+2011-01-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Build fix for Mac Intel Debug after r76916
+ https://bugs.webkit.org/show_bug.cgi?id=53284
+
+ Fix macro redefinition by guarding the redefined macros.
+
+ * config.h:
+
+2011-01-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed build fix for Mac Intel Debug after r76916.
+
+ Fix macro redefinition by guarding the redefined macros.
+
+ Check if the macro is already defined before defininig it.
+ c++config.h has the same macros with the same values.
+
+ * config.h:
+
+2011-01-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Adam Barth.
+
+ Update the expected results for test-webkitpy after r76916.
+
+ Include "config.h" in the expected results as well.
+
+ * Scripts/webkit2/messages_unittest.py:
+
+2011-01-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed buildfix for SnowLeopard Intel Debug.
+
+ Fix macro redefinition by not including config.h.
+
+ Revert previous change in WebPageProxyCF.cpp.
+
+ * UIProcess/cf/WebPageProxyCF.cpp:
+
+2011-01-27 Greg Coletta <greg.coletta@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ Get rid of prefix header dependency for WebKit2 build system.
+ https://bugs.webkit.org/show_bug.cgi?id=50174
+
+ Add config.h include explicitelly.
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ * Platform/CoreIPC/ArgumentEncoder.cpp:
+ * Platform/CoreIPC/Attachment.cpp:
+ * Platform/CoreIPC/BinarySemaphore.cpp:
+ * Platform/CoreIPC/Connection.cpp:
+ * Platform/CoreIPC/DataReference.cpp:
+ * Platform/CoreIPC/gtk/ConnectionGtk.cpp:
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ * Platform/Logging.cpp:
+ * Platform/Module.cpp:
+ * Platform/Region.cpp:
+ * Platform/RunLoop.cpp:
+ * Platform/WorkQueue.cpp:
+ * Platform/cg/CGUtilities.cpp:
+ * Platform/gtk/RunLoopGtk.cpp:
+ * Platform/gtk/SharedMemoryGtk.cpp:
+ * Platform/gtk/WorkQueueGtk.cpp:
+ * Platform/mac/MachUtilities.cpp:
+ * Platform/mac/SharedMemoryMac.cpp:
+ * Platform/mac/WorkQueueMac.cpp:
+ * Platform/qt/MappedMemoryPool.cpp:
+ * Platform/qt/ModuleQt.cpp:
+ * Platform/qt/RunLoopQt.cpp:
+ * Platform/qt/WorkQueueQt.cpp:
+ * Platform/win/ModuleWin.cpp:
+ * Platform/win/RunLoopWin.cpp:
+ * Platform/win/SharedMemoryWin.cpp:
+ * Platform/win/WorkQueueWin.cpp:
+ * PluginProcess/PluginControllerProxy.cpp:
+ * PluginProcess/PluginProcess.cpp:
+ * PluginProcess/WebProcessConnection.cpp:
+ * Scripts/webkit2/messages.py:
+ * Shared/API/c/WKArray.cpp:
+ * Shared/API/c/WKCertificateInfo.cpp:
+ * Shared/API/c/WKContextMenuItem.cpp:
+ * Shared/API/c/WKData.cpp:
+ * Shared/API/c/WKDictionary.cpp:
+ * Shared/API/c/WKError.cpp:
+ * Shared/API/c/WKImage.cpp:
+ * Shared/API/c/WKMutableArray.cpp:
+ * Shared/API/c/WKMutableDictionary.cpp:
+ * Shared/API/c/WKNumber.cpp:
+ * Shared/API/c/WKSecurityOrigin.cpp:
+ * Shared/API/c/WKSerializedScriptValue.cpp:
+ * Shared/API/c/WKString.cpp:
+ * Shared/API/c/WKType.cpp:
+ * Shared/API/c/WKURL.cpp:
+ * Shared/API/c/WKURLRequest.cpp:
+ * Shared/API/c/WKURLResponse.cpp:
+ * Shared/API/c/WKUserContentURLPattern.cpp:
+ * Shared/API/c/cf/WKStringCF.cpp:
+ * Shared/API/c/cf/WKURLCF.cpp:
+ * Shared/API/c/cf/WKURLRequestCF.cpp:
+ * Shared/API/c/cf/WKURLResponseCF.cpp:
+ * Shared/API/c/cg/WKImageCG.cpp:
+ * Shared/API/c/win/WKCertificateInfoWin.cpp:
+ * Shared/ChildProcess.cpp:
+ * Shared/ImmutableArray.cpp:
+ * Shared/ImmutableDictionary.cpp:
+ * Shared/MutableArray.cpp:
+ * Shared/MutableDictionary.cpp:
+ * Shared/OriginAndDatabases.cpp:
+ * Shared/PlatformPopupMenuData.cpp:
+ * Shared/Plugins/NPIdentifierData.cpp:
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ * Shared/Plugins/NPObjectProxy.cpp:
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ * Shared/Plugins/NPVariantData.cpp:
+ * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
+ * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
+ * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
+ * Shared/Plugins/PluginProcessCreationParameters.cpp:
+ * Shared/PrintInfo.cpp:
+ * Shared/SessionState.cpp:
+ * Shared/ShareableBitmap.cpp:
+ * Shared/UpdateInfo.cpp:
+ * Shared/VisitedLinkTable.cpp:
+ * Shared/WebBackForwardListItem.cpp:
+ * Shared/WebContextMenuItem.cpp:
+ * Shared/WebContextMenuItemData.cpp:
+ * Shared/WebError.cpp:
+ * Shared/WebEvent.cpp:
+ * Shared/WebEventConversion.cpp:
+ * Shared/WebGeolocationPosition.cpp:
+ * Shared/WebImage.cpp:
+ * Shared/WebKeyboardEvent.cpp:
+ * Shared/WebMemorySampler.cpp:
+ * Shared/WebMouseEvent.cpp:
+ * Shared/WebOpenPanelParameters.cpp:
+ * Shared/WebPageCreationParameters.cpp:
+ * Shared/WebPageGroupData.cpp:
+ * Shared/WebPlatformTouchPoint.cpp:
+ * Shared/WebPopupItem.cpp:
+ * Shared/WebPreferencesStore.cpp:
+ * Shared/WebProcessCreationParameters.cpp:
+ * Shared/WebTouchEvent.cpp:
+ * Shared/WebURLRequest.cpp:
+ * Shared/WebURLResponse.cpp:
+ * Shared/WebWheelEvent.cpp:
+ * Shared/cairo/ShareableBitmapCairo.cpp:
+ * Shared/cf/ArgumentCodersCF.cpp:
+ * Shared/cg/ShareableBitmapCG.cpp:
+ * Shared/gtk/ShareableBitmapGtk.cpp:
+ * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
+ * Shared/mac/CommandLineMac.cpp:
+ * Shared/mac/UpdateChunk.cpp:
+ * Shared/qt/CleanupHandler.cpp:
+ * Shared/qt/NativeWebKeyboardEventQt.cpp:
+ * Shared/qt/ShareableBitmapQt.cpp:
+ * Shared/qt/UpdateChunk.cpp:
+ * Shared/qt/WebCoreArgumentCodersQt.cpp:
+ * Shared/qt/WebEventFactoryQt.cpp:
+ * Shared/qt/WebURLRequestQt.cpp:
+ * Shared/qt/WebURLResponseQt.cpp:
+ * Shared/win/CommandLineWin.cpp:
+ * Shared/win/NativeWebKeyboardEventWin.cpp:
+ * Shared/win/PlatformCertificateInfo.cpp:
+ * Shared/win/UpdateChunk.cpp:
+ * Shared/win/WebCoreArgumentCodersWin.cpp:
+ * Shared/win/WebEventFactory.cpp:
+ * Shared/win/WebURLRequestWin.cpp:
+ * Shared/win/WebURLResponseWin.cpp:
+ * UIProcess/API/C/WKAuthenticationChallenge.cpp:
+ * UIProcess/API/C/WKAuthenticationDecisionListener.cpp:
+ * UIProcess/API/C/WKBackForwardList.cpp:
+ * UIProcess/API/C/WKBackForwardListItem.cpp:
+ * UIProcess/API/C/WKContext.cpp:
+ * UIProcess/API/C/WKCredential.cpp:
+ * UIProcess/API/C/WKDatabaseManager.cpp:
+ * UIProcess/API/C/WKDownload.cpp:
+ * UIProcess/API/C/WKFormSubmissionListener.cpp:
+ * UIProcess/API/C/WKFrame.cpp:
+ * UIProcess/API/C/WKFramePolicyListener.cpp:
+ * UIProcess/API/C/WKGeolocationManager.cpp:
+ * UIProcess/API/C/WKGeolocationPermissionRequest.cpp:
+ * UIProcess/API/C/WKGeolocationPosition.cpp:
+ * UIProcess/API/C/WKInspector.cpp:
+ * UIProcess/API/C/WKNavigationData.cpp:
+ * UIProcess/API/C/WKOpenPanelParameters.cpp:
+ * UIProcess/API/C/WKOpenPanelResultListener.cpp:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPageGroup.cpp:
+ * UIProcess/API/C/WKPreferences.cpp:
+ * UIProcess/API/C/WKProtectionSpace.cpp:
+ * UIProcess/API/C/win/WKContextWin.cpp:
+ * UIProcess/API/C/win/WKView.cpp:
+ * UIProcess/API/C/win/WKViewPrivate.cpp:
+ * UIProcess/API/cpp/qt/WKStringQt.cpp:
+ * UIProcess/API/cpp/qt/WKURLQt.cpp:
+ * UIProcess/API/qt/ClientImpl.cpp:
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ * UIProcess/API/qt/qwkcontext.cpp:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/qwkpreferences.cpp:
+ * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
+ * UIProcess/Authentication/AuthenticationDecisionListener.cpp:
+ * UIProcess/Authentication/WebCredential.cpp:
+ * UIProcess/Authentication/WebProtectionSpace.cpp:
+ * UIProcess/BackingStore.cpp:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ * UIProcess/DrawingAreaProxy.cpp:
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ * UIProcess/FindIndicator.cpp:
+ * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
+ * UIProcess/GeolocationPermissionRequestProxy.cpp:
+ * UIProcess/Launcher/ProcessLauncher.cpp:
+ * UIProcess/Launcher/ThreadLauncher.cpp:
+ * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
+ * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ * UIProcess/Plugins/PluginProcessManager.cpp:
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ * UIProcess/ResponsivenessTimer.cpp:
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ * UIProcess/VisitedLinkProvider.cpp:
+ * UIProcess/WebBackForwardList.cpp:
+ * UIProcess/WebContext.cpp:
+ * UIProcess/WebContextInjectedBundleClient.cpp:
+ * UIProcess/WebContextMenuProxy.cpp:
+ * UIProcess/WebDatabaseManagerProxy.cpp:
+ * UIProcess/WebDatabaseManagerProxyClient.cpp:
+ * UIProcess/WebDownloadClient.cpp:
+ * UIProcess/WebEditCommandProxy.cpp:
+ * UIProcess/WebFindClient.cpp:
+ * UIProcess/WebFormClient.cpp:
+ * UIProcess/WebFormSubmissionListenerProxy.cpp:
+ * UIProcess/WebFrameListenerProxy.cpp:
+ * UIProcess/WebFramePolicyListenerProxy.cpp:
+ * UIProcess/WebFrameProxy.cpp:
+ * UIProcess/WebGeolocationManagerProxy.cpp:
+ * UIProcess/WebGeolocationProvider.cpp:
+ * UIProcess/WebHistoryClient.cpp:
+ * UIProcess/WebInspectorProxy.cpp:
+ * UIProcess/WebLoaderClient.cpp:
+ * UIProcess/WebNavigationData.cpp:
+ * UIProcess/WebOpenPanelResultListenerProxy.cpp:
+ * UIProcess/WebPageContextMenuClient.cpp:
+ * UIProcess/WebPageGroup.cpp:
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPolicyClient.cpp:
+ * UIProcess/WebPreferences.cpp:
+ * UIProcess/WebProcessManager.cpp:
+ * UIProcess/WebProcessProxy.cpp:
+ * UIProcess/WebResourceLoadClient.cpp:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ * UIProcess/cf/WebPageProxyCF.cpp:
+ * UIProcess/cf/WebPreferencesCF.cpp:
+ * UIProcess/gtk/TextCheckerGtk.cpp:
+ * UIProcess/gtk/WebInspectorGtk.cpp:
+ * UIProcess/gtk/WebPageProxyGtk.cpp:
+ * UIProcess/gtk/WebPreferencesGtk.cpp:
+ * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
+ * UIProcess/qt/TextCheckerQt.cpp:
+ * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
+ * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
+ * UIProcess/qt/WebContextMenuProxyQt.cpp:
+ * UIProcess/qt/WebContextQt.cpp:
+ * UIProcess/qt/WebInspectorProxyQt.cpp:
+ * UIProcess/qt/WebPageProxyQt.cpp:
+ * UIProcess/qt/WebPopupMenuProxyQt.cpp:
+ * UIProcess/qt/WebPreferencesQt.cpp:
+ * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
+ * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp:
+ * UIProcess/win/TextCheckerWin.cpp:
+ * UIProcess/win/WebContextMenuProxyWin.cpp:
+ * UIProcess/win/WebContextWin.cpp:
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ * UIProcess/win/WebPageProxyWin.cpp:
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ * UIProcess/win/WebView.cpp:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Authentication/AuthenticationManager.cpp:
+ * WebProcess/Downloads/Download.cpp:
+ * WebProcess/Downloads/DownloadManager.cpp:
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ * WebProcess/Downloads/curl/DownloadCurl.cpp:
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
+ * WebProcess/Geolocation/WebGeolocationManager.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
+ * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
+ * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
+ * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+ * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
+ * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
+ * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
+ * WebProcess/Plugins/Netscape/JSNPObject.cpp:
+ * WebProcess/Plugins/Netscape/NPJSObject.cpp:
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
+ * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ * WebProcess/Plugins/Plugin.cpp:
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
+ * WebProcess/Plugins/PluginProxy.cpp:
+ * WebProcess/Plugins/PluginView.cpp:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
+ * WebProcess/WebCoreSupport/WebDragClient.cpp:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
+ * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
+ * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
+ * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
+ * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
+ * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
+ * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp:
+ * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp:
+ * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
+ * WebProcess/WebKitMain.cpp:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ * WebProcess/WebPage/DecoderAdapter.cpp:
+ * WebProcess/WebPage/DrawingArea.cpp:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ * WebProcess/WebPage/EncoderAdapter.cpp:
+ * WebProcess/WebPage/FindController.cpp:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ * WebProcess/WebPage/PageOverlay.cpp:
+ * WebProcess/WebPage/TiledDrawingArea.cpp:
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ * WebProcess/WebPage/WebEditCommand.cpp:
+ * WebProcess/WebPage/WebFrame.cpp:
+ * WebProcess/WebPage/WebInspector.cpp:
+ * WebProcess/WebPage/WebOpenPanelResultListener.cpp:
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebPage/WebPageGroupProxy.cpp:
+ * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
+ * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
+ * WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp:
+ * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp:
+ * WebProcess/WebPage/qt/WebInspectorQt.cpp:
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp:
+ * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp:
+ * WebProcess/WebPage/win/WebInspectorWin.cpp:
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ * WebProcess/WebProcess.cpp:
+ * WebProcess/gtk/WebProcessGtk.cpp:
+ * WebProcess/gtk/WebProcessMainGtk.cpp:
+ * WebProcess/qt/WebProcessMainQt.cpp:
+ * WebProcess/qt/WebProcessQt.cpp:
+ * WebProcess/win/WebProcessMainWin.cpp:
+ * WebProcess/win/WebProcessWin.cpp:
+ * config.h: Copied from Source/WebKit2/WebKit2Prefix.h.
+ * win/WebKit2Common.vsprops:
+
+2011-01-27 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin Adler.
+
+ execCommand("Paste") doesn't work in WebKitTestRunner
+ https://bugs.webkit.org/show_bug.cgi?id=52785
+
+ Thread through the new JavaScriptCanAccessClipboard setting.
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetJavaScriptCanAccessClipboard):
+ (WKPreferencesGetJavaScriptCanAccessClipboard):
+ * UIProcess/API/C/WKPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2011-01-27 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Use Document::url() instead of FrameLoader::url().
+ https://bugs.webkit.org/show_bug.cgi?id=41165
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
+ (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
+ (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
+ (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::url):
+
+2011-01-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Encode/Decode hasPreciseScrollingDeltas bit in WebWheelEvent
+ https://bugs.webkit.org/show_bug.cgi?id=53254
+
+ * Shared/WebWheelEvent.cpp:
+ (WebKit::WebWheelEvent::WebWheelEvent):
+ Initialize m_phase and m_hasPreciseScrollingDeltas.
+
+ (WebKit::WebWheelEvent::encode):
+ (WebKit::WebWheelEvent::decode):
+ Add missing coding for m_hasPreciseScrollingDeltas.
+
+2011-01-26 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler and Adam Roben.
+
+ WebKit2: add support for drag and drop on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=52775
+ <rdar://problem/8514409>
+
+ On Windows the access to the content being dragged is
+ provided via the IDataObject interface that is made available
+ to the window that registers itself as drop target.
+ Since this interface cannot be accessed from the WebProcess,
+ in every call to one of the methods of the IDropTarget interface
+ we serialize the content of the drag clipboard and send it over to
+ the WebProcess. The implementation uses the same messages as the
+ Mac one, with slightly different parameters to pass the serialized
+ clipboard.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::performDragControllerAction): Added Windows
+ specific implementation.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView): Added dropTargetHelper object creation.
+ (WebKit::WebView::initialize): Added to register for drag/drop with out
+ refcount issues.
+ (WebKit::WebView::close):
+ (WebKit::WebView::windowReceivedMessage):
+ (WebKit::WebView::QueryInterface):
+ (WebKit::WebView::AddRef):
+ (WebKit::WebView::Release):
+ (WebKit::dragOperationToDragCursor):
+ (WebKit::WebView::keyStateToDragOperation):
+ (WebKit::WebView::DragEnter):
+ (WebKit::WebView::DragOver):
+ (WebKit::WebView::DragLeave):
+ (WebKit::WebView::Drop):
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::create):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::performDragControllerAction):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2011-01-26 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53197
+ <rdar://problem/8895682> Make WebKit2 printing asynchronous
+
+ <rdar://problem/8899988> REGRESSION(WebKit2): Attempting to print WHATWG HTML spec shows
+ 1-page blank preview
+
+ <rdar://problem/8900078> WebKit2 printing has a separate message exchange per page when
+ printing instead of printing all at once
+
+ * UIProcess/API/mac/WKPrintingView.h: Store a lot more cached information.
+
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): Use PrintOperation stored in
+ class. We generally want that now, because current operation will not be set up on other threads.
+ (-[WKPrintingView _isPrintingPreview]): Added. Preview is different, because it can draw
+ a placeholder - but actual printing need to wait until UI process has data.
+ (-[WKPrintingView _updatePreview]): Force AppKit to update print preview when we have real
+ data to replace placeholder with.
+ (-[WKPrintingView _hasPageRects]): Return if page rects have already been computed.
+ (-[WKPrintingView _expectedPreviewCallbackForRect:]): Find an existing request for this rect,
+ if any.
+ (pageDidDrawToPDF): Update preview - or if actually printing, release control to printing thread.
+ (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Ask for a PDF document with
+ pages the user asked to print.
+ (pageDidComputePageRects): When web process returns page geometry data, we update preview to display
+ a page count (which indirectly triggers a request for a preview). When actually printing,
+ request a PDF right away, we'll need it later.
+ (-[WKPrintingView _askPageToComputePageRects]): Ask web process for page geometry.
+ (prepareDataForPrintingOnSecondaryThread): This function starts preparing all data necessary
+ for actual printing on main thread.
+ (-[WKPrintingView knowsPageRange:]): Changed to be async for preview, and to call main
+ thread for actual printing.
+ (-[WKPrintingView _pageForRect:]): Find page number for a given range, assuming that AppKit
+ always asks for full pages.
+ (-[WKPrintingView _drawPDFDocument:page:atPoint:]): A helper function to draw a PDF document.
+ (-[WKPrintingView _drawPreview:]): Draw the whole page for preview.
+ (-[WKPrintingView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
+ Draw the whole page for actual printing.
+ (-[WKPrintingView _drawPageBorderWithSizeOnMainThread:]): Call drawPageBorderWithSize: with
+ correct graphics context and print operation.
+ (-[WKPrintingView drawPageBorderWithSize:]): Delegate work to main thread when called from a
+ secondary one.
+ (-[WKPrintingView _provideTotalScaleFactorForPrintOperation:]): Added an assertion that
+ our stored NSPrintOperation isn't out of sync with reality.
+ (-[WKPrintingView rectForPage:]): Handle the case where we don't have the data yet, drawing
+ a placeholder.
+ (-[WKPrintingView endDocument]): When page setup changes, we must reset all state.
+
+ * UIProcess/API/mac/WKView.mm: (-[WKView printOperationWithPrintInfo:forFrame:]): Tell
+ NSPrintingView which operation it's serving, so that it knows it even when current operation
+ isn't set.
+
+ * UIProcess/GenericCallback.h:
+ (WebKit::ComputedPagesCallback::create):
+ (WebKit::ComputedPagesCallback::~ComputedPagesCallback):
+ (WebKit::ComputedPagesCallback::performCallbackWithReturnValue):
+ (WebKit::ComputedPagesCallback::invalidate):
+ (WebKit::ComputedPagesCallback::callbackID):
+ (WebKit::ComputedPagesCallback::generateCallbackID):
+ (WebKit::ComputedPagesCallback::ComputedPagesCallback):
+ Added ComputedPagesCallback, which returns a vector of IntRects and a double. Hopefully,
+ it will become a specialization of GenericCallback one day.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close): Added m_voidCallbacks - it looks like they were omitted
+ by accident.
+ (WebKit::WebPageProxy::computedPagesCallback): Added.
+ (WebKit::WebPageProxy::processDidCrash): Added m_computedPagesCallbacks.
+ (WebKit::WebPageProxy::computePagesForPrinting): Async now!
+ (WebKit::WebPageProxy::drawRectToPDF): Ditto.
+ (WebKit::WebPageProxy::drawPagesToPDF): Added.
+ * UIProcess/WebPageProxy.h:
+
+ * UIProcess/WebPageProxy.messages.in: Added ComputedPagesCallback.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::beginPriting): Compute page rects right away - we'll need them in
+ drawPagesToPDF(), which doesn't have a PrintInfo.
+ (WebKit::WebPage::computePagesForPrinting): Send async response.
+ (WebKit::WebPage::drawRectToPDF): This function used to draw into original
+ location at frame coordinates, and now it draws at (0, 0).
+ (WebKit::WebPage::drawPagesToPDF): Added - make a multi-page PDF.
+ * WebProcess/WebPage/WebPage.h:
+
+ * WebProcess/WebPage/WebPage.messages.in: Added DrawPagesToPDF.
+
+2011-01-27 Alejandro G. Castro <alex@igalia.com>
+
+ Unreviewed GTK build fix after r76797.
+
+ * Shared/WebPreferencesStore.h: Use Qt fonts preference for the moment.
+
+2011-01-27 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Allow pop-up menus to contain multiple items that have the same title.
+
+ * UIProcess/mac/WebPopupMenuProxyMac.mm:
+ (WebKit::WebPopupMenuProxyMac::populate): Set the item’s title after adding it rather than
+ when adding it, so that it will not replace any existing item with the same title.
+
+2011-01-27 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Add QWKPage APIs regarding engine process availability
+ https://bugs.webkit.org/show_bug.cgi?id=53237
+
+ QWKPage will now emit engineConnected() and engineDisconnected()
+ when the web process crashes and is relaunched respectively.
+
+ Also added QWKPage::isConnectedToEngine() for convenience.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPagePrivate::didRelaunchProcess):
+ (QWKPagePrivate::processDidCrash):
+ (QWKPage::isConnectedToEngine):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2011-01-27 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Lots of layout test failures due to wrong font type
+ https://bugs.webkit.org/show_bug.cgi?id=53233
+
+ * Shared/WebPreferencesStore.h:
+ Specialize default font families for Qt.
+
+2011-01-26 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKitTestRunner needs to support layoutTestController.evaluateInWebInspector
+ https://bugs.webkit.org/show_bug.cgi?id=42319
+
+ Add WKBundleInspector and APIs needed to implement WebKitTestRunner APIs.
+
+ * GNUmakefile.am:
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp: Added.
+ (WKBundleInspectorGetTypeID):
+ (WKBundleInspectorShow):
+ (WKBundleInspectorClose):
+ (WKBundleInspectorEvaluateScriptForTest):
+ (WKBundleInspectorSetPageProfilingEnabled):
+ * WebProcess/InjectedBundle/API/c/WKBundleInspector.h: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageGetInspector):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/WebPage/WebInspector.cpp:
+ (WebKit::WebInspector::create):
+ (WebKit::WebInspector::evaluateScriptForTest):
+ * WebProcess/WebPage/WebInspector.h:
+ (WebKit::WebInspector::type):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::inspector):
+ * WebProcess/WebPage/WebPage.h:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2011-01-26 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
+ <rdar://problem/8821760>
+
+ Reviewed by Antti Koivisto.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface): Added initialization for
+ GetHTTPPipeliningPriority and SetHTTPPipeliningPriority.
+
+2011-01-26 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics
+ when using WKScrollbars.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
+2011-01-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Add events to represent the start/end of a gesture scroll
+ https://bugs.webkit.org/show_bug.cgi?id=53215
+
+ * Scripts/webkit2/messages.py:
+ * Shared/WebEvent.h:
+ (WebKit::WebGestureEvent::WebGestureEvent):
+ (WebKit::WebGestureEvent::position):
+ (WebKit::WebGestureEvent::globalPosition):
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
+ (WebKit::platform):
+ * Shared/WebEventConversion.h:
+ * Shared/WebGestureEvent.cpp: Added.
+ (WebKit::WebGestureEvent::WebGestureEvent):
+ (WebKit::WebGestureEvent::encode):
+ (WebKit::WebGestureEvent::decode):
+ (WebKit::WebGestureEvent::isGestureEventType):
+ * Shared/mac/WebEventFactory.h:
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::gestureEventTypeForEvent):
+ (WebKit::WebEventFactory::createWebGestureEvent):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView shortCircuitedEndGestureWithEvent:]):
+ (-[WKView beginGestureWithEvent:]):
+ (-[WKView viewDidMoveToWindow]):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::handleGestureEvent):
+ (WebKit::WebPageProxy::didReceiveEvent):
+ * UIProcess/WebPageProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::handleGestureEvent):
+ (WebKit::WebPage::gestureEvent):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ Pipe gesture events down to WebCore.
+
+2011-01-26 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ <rdar://problem/8446709> Allow inter-ideograph justification for CJK
+ https://bugs.webkit.org/show_bug.cgi?id=53184
+
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
+ (WebKit::WebPopupMenu::setUpPlatformData): Added a TrailingExpansionBehavior parameter to the
+ RenderText constructor.
+
+2011-01-26 Jing Jin <jjin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Methods to temporarily disable size updates to the page drawing area in WKView.
+ https://bugs.webkit.org/show_bug.cgi?id=53206
+ Part of <rdar://problem/8818585>
+
+ * UIProcess/API/mac/WKView.h: Added _frameSizeUpdateDisabledCount.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView setFrameSize:]): Only update page size if frame size updates are enabled.
+ (-[WKView _setDrawingAreaSize:]): Helper method to set the page's drawing area's size.
+ (-[WKView disableFrameSizeUpdates]): Increment _frameSizeUpdateDisabledCount
+ (-[WKView enableFrameSizeUpdates]): Decrement _frameSizeUpdateDisabledCount, and if the count is 0, meaning
+ that no one is disabling frame size updates anymore, update the drawing area's size to match the current frame.
+ (-[WKView frameSizeUpdatesDisabled]): Returns YES if at least one caller is disabling frame size updates.
+ * UIProcess/API/mac/WKViewInternal.h: Declared -disableFrameSizeUpdates, -enableFrameSizeUpdates, and -frameSizeUpdatesDisabled.
+ * UIProcess/API/mac/WKViewPrivate.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj: Added WKViewPrivate.h
+
+2011-01-26 Jing Jin <jjin@apple.com>
+
+ Rubber-stamped by Dan Bernstein.
+
+ Several WKView Internal category methods are implemented in the main category.
+ https://bugs.webkit.org/show_bug.cgi?id=53195
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _setEventBeingResent:]): Moved into implementation of WKView (Internal).
+ (-[WKView _interceptKeyEvent:]): Moved into implementation of WKView (Internal).
+ (-[WKView _getTextInputState:selectionEnd:underlines:WebCore::]): Moved into implementation of WKView (Internal).
+ (-[WKView _setAccessibilityChildToken:]): Moved into implementation of WKView (Internal).
+
+2011-01-26 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by John Sullivan.
+
+ WebKit2: Need API to get the frame load state of a BundleFrame
+ https://bugs.webkit.org/show_bug.cgi?id=53193
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetFrameLoadState): Call through to the FrameLoader to get the frame load state.
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+
+2011-01-25 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Crashes loading pages when cancelling subresource loads through WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=53123
+ <rdar://problem/8914361>
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): If our URL is null, return early instead of dispatching
+ a message.
+
+2011-01-25 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WK2 leaks when a page is closed
+ https://bugs.webkit.org/show_bug.cgi?id=53100
+
+ Allow the WKView a chance to clean up on a page close. In this case,
+ cleaning up means removing the references the accessibility token has
+ to the window.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::pageClosed):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _setRemoteAccessibilityWindow:]):
+ (-[WKView _setAccessibilityChildToken:]):
+ (-[WKView _processDidCrash]):
+ (-[WKView _pageClosed]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QWKPagePrivate::pageClosed):
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::pageClosed):
+ * UIProcess/win/WebView.h:
+
+2011-01-25 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Expose WebGL flag set/get in WK2
+ https://bugs.webkit.org/show_bug.cgi?id=53096
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetWebGLEnabled):
+ (WKPreferencesGetWebGLEnabled):
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2011-01-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add and implement LayerTreeHost::scheduleLayerFlush
+ https://bugs.webkit.org/show_bug.cgi?id=53135
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add LayerTreeHostMac.mm.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::scheduleCompositingLayerSync):
+ Call LayerTreeHost::scheduleLayerFlush.
+
+ * WebProcess/WebPage/LayerTreeHost.cpp:
+ (WebKit::LayerTreeHost::~LayerTreeHost):
+ Call platformInvalidate().
+
+ (WebKit::LayerTreeHost::flushPendingLayerChanges):
+ Rename from syncCompositingLayers.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm: Added.
+ (WebKit::LayerTreeHost::scheduleLayerFlush):
+ Create a run loop observer if needed. This code is copied from LayerBackedDrawingAreaMac.mm
+
+ (WebKit::LayerTreeHost::platformInvalidate):
+ Invalidate the run loop observer.
+
+ (WebKit::LayerTreeHost::flushPendingLayerChangesRunLoopObserverCallback):
+ Call flushPendingChanges() and remove the run loop observer if it succeeded.
+
+2011-01-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Add LayerTreeHost class
+ https://bugs.webkit.org/show_bug.cgi?id=53132
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add LayerTreeHost files.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::DrawingAreaImpl):
+ Initialize m_layerTreeHost.
+
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ Call the m_layerTreeHost.
+
+ * WebProcess/WebPage/LayerTreeHost.cpp: Added.
+ (WebKit::LayerTreeHost::attachRootCompositingLayer):
+ (WebKit::LayerTreeHost::detachRootCompositingLayer):
+ Add stubbed out functions.
+
+ (WebKit::LayerTreeHost::syncCompositingLayers):
+ Sync the compositing layers in the main frame.
+
+ * WebProcess/WebPage/LayerTreeHost.h: Added.
+
+2011-01-25 Steve Falkenburg <sfalken@apple.com>
+
+ Rubber-stamped by Adam Roben.
+
+ Windows production build fix.
+ Use correct environment variable escaping
+
+ * win/WebKit2.make:
+ * win/WebKit2Generated.make:
+
+2011-01-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't inform the UI process about compositing changes when using the new drawing area
+ https://bugs.webkit.org/show_bug.cgi?id=53120
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+ Return early if we're using the new drawing area.
+
+ (WebKit::WebPage::exitAcceleratedCompositingMode):
+ Call setRootCompositingLayer(0) so the drawing area knows when we leave accelerated compositing.
+
+2011-01-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Pipe a timestamp down into the PlatformWheelEvent for the Mac.
+ https://bugs.webkit.org/show_bug.cgi?id=53111
+
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
+ Assign the timestamp.
+
+2011-01-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac.
+ https://bugs.webkit.org/show_bug.cgi?id=53107
+
+ * Shared/WebEvent.h:
+ (WebKit::WebWheelEvent::hasPreciseScrollingDeltas):
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
+ * Shared/WebWheelEvent.cpp:
+ (WebKit::WebWheelEvent::WebWheelEvent):
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::WebEventFactory::createWebWheelEvent):
+
+2011-01-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ need a way to request the host CALayer render server port
+ https://bugs.webkit.org/show_bug.cgi?id=53101
+ <rdar://problem/8913620>
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::compositingRenderServerPort):
+ Get the render server port from the plug-in process.
+
+ * PluginProcess/PluginControllerProxy.h:
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue):
+ Call NetscapePlugin::compositingRenderServerPort.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::compositingRenderServerPort):
+ Call PluginController::compositingRenderServerPort.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::compositingRenderServerPort):
+ Get the render server port from the web process.
+
+ * WebProcess/Plugins/PluginView.h:
+ Add compositingRenderServerPort.
+
+2011-01-25 Maciej Stachowiak <mjs@apple.com>
+
+ Rubber stamped by Dan Bernstein.
+
+ Change some floating point constants from 1.0 to 1.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+
+2011-01-25 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Improve scale factor resetting
+ https://bugs.webkit.org/show_bug.cgi?id=53093
+
+ Two key changes:
+ - Don't set the scale factor to what it already is, as this causes an
+ uneeded force layout and scroll
+ - Don't ever set the scale factor based on a non-main frame committing
+
+ This fixes two WebKit2 layout tests.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+
+2011-01-24 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Change ENABLE_3D_CANVAS to ENABLE_WEBGL
+ https://bugs.webkit.org/show_bug.cgi?id=53041
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2011-01-25 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Add QWKPage::processCrashed() signal
+ https://bugs.webkit.org/show_bug.cgi?id=53076
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::processDidCrash):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2011-01-24 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::initializeSandbox):
+
+2011-01-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Reset the page scale factor on standard frame loads
+ https://bugs.webkit.org/show_bug.cgi?id=53058
+ <rdar://problem/8908844>
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::scaleWebView):
+ Don't set m_viewScaleFactor here. It will be set in viewScaleFactorDidChange.
+
+ (WebKit::WebPageProxy::viewScaleFactorDidChange):
+ Update m_viewScaleFactor.
+
+ * UIProcess/WebPageProxy.h:
+ Add viewScaleFactorDidChange.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add ViewScaleFactorDidChange message.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ Set the scale factor.
+
+ (WebKit::WebFrameLoaderClient::restoreViewState):
+ Inform the UI process about the new view scale factor.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::scaleWebView):
+ Send a ViewScaleFactorDidChange message.
+
+2011-01-24 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Use designated temp directory for the database for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=53052
+
+ Add the API necessary to support this. Database path is now
+ determined on the UI process side and passed to the Web process.
+ Reviewed by Anders Carlsson.
+
+ * GNUmakefile.am:
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetDatabaseDirectory):
+ * UIProcess/API/C/WKContextPrivate.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ (WebKit::WebContext::databaseDirectory):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::setDatabaseDirectory):
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformDefaultDatabaseDirectory):
+ * UIProcess/qt/WebContextQt.cpp:
+ (WebKit::WebContext::platformDefaultDatabaseDirectory):
+ * UIProcess/win/WebContextWin.cpp:
+ (WebKit::WebContext::platformDefaultDatabaseDirectory):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
+ (WebKit::WebDatabaseManager::initialize):
+ (WebKit::WebDatabaseManager::WebDatabaseManager):
+ * WebProcess/WebCoreSupport/WebDatabaseManager.h:
+ * WebProcess/WebCoreSupport/gtk/WebDatabaseManagerGtk.cpp: Removed.
+ * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm: Removed.
+ * WebProcess/WebCoreSupport/qt/WebDatabaseManagerQt.cpp: Removed.
+ * WebProcess/WebCoreSupport/win/WebDatabaseManagerWin.cpp: Removed.
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ (WebKit::WebProcess::initializeWebProcess):
+ * WebProcess/com.apple.WebProcess.sb:
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::initializeSandbox):
+ * win/WebKit2.vcproj:
+
+2011-01-24 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix.
+
+ * win/WebKit2.vcproj: Don't build the CG Utilities when building
+ without CG support.
+
+2011-01-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Don't use the timeout checker for non-user-interaction messages
+ https://bugs.webkit.org/show_bug.cgi?id=53046
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
+ (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
+
+2011-01-24 Adam Roben <aroben@apple.com>
+
+ Windows Production build fix
+
+ * win/WebKit2.make: Update for move of WebKit2 into Source.
+
+2011-01-24 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: LayoutTests: The UNIMPLEMENTED warnings in TextCheckerWin should be disabled
+ https://bugs.webkit.org/show_bug.cgi?id=53029
+
+ * UIProcess/win/TextCheckerWin.cpp:
+ Disable the warnings for this file.
+
+2011-01-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Wait for half a second if we're asked to paint when receiving a DidSetSize message
+ https://bugs.webkit.org/show_bug.cgi?id=53028
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::paint):
+
+2011-01-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement forceRedisplay in the new drawing area
+ https://bugs.webkit.org/show_bug.cgi?id=53026
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::forceRepaint):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+
+2011-01-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fill unpainted rects with the background color.
+ https://bugs.webkit.org/show_bug.cgi?id=53025
+
+ * UIProcess/API/mac/WKView.mm:
+ (drawPageBackground):
+ Add new helper function.
+
+ (-[WKView drawRect:]):
+ Iterate over the unpainted rects and fill them with the background color.
+
+2011-01-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by John Sullivan.
+
+ WebKit2 version of <rdar://problem/6097826> Mail's cursor does not become a resize cursor when moving mouse from scrolled email to the horizontal splitter
+
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setCursor): If the current cursor comes from a cursor rect, do not override it.
+
+2011-01-24 Balazs Kelemen <kbalazs@webkit.org>
+
+ Rubber-stamped by Csaba Osztrogonác.
+
+ Typo fix.
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncher::launchProcess): Move the bracket to the right place.
+
+2011-01-24 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Remove CleanupHandler by passing file descriptors.
+
+ Deleting files in signal handler of UI process is not a good idea,
+ because the memory where filenames are stored might not be valid
+ after a crash.
+
+ To avoid the need of using signal handlers for cleanup,
+ change following:
+ 1) Avoid passing filenames between processes, pass fds
+ 2) When mmap'ing files, delete them immediately after
+ opening and mmap'ing them.
+ 3) Pass sockets with fds during fork+exec instead of
+ passing them via the filesystem.
+ 4) Use mmap'ed files for implementation of SharedMemory.
+ QSharedMemory does not support cleanup correctly.
+
+ Consquences:
+ - Move MappedMemory to SharedMemory, make UpdateChunk use this.
+ - Implement CoreIPC::Attachment using mmaped files.
+ - Send messages using datagram socket. This solution works
+ similiarly to Mach ports on Mac.
+ - Send big messages out-of-line and thus avoid increasing
+ the receive buffer.
+ - Remove MemoryMappedPool and rely on libc/kernel caching
+ of mmapped areas.
+ - Unmap memory areas after use.
+ - When UI process crashes, kill the web process using SIGKILL.
+ This is possible again because cleanup handler is not needed.
+
+ [WK2][Qt] Multiple problems with MemoryMappedPool
+ https://bugs.webkit.org/show_bug.cgi?id=51984
+
+ * Platform/CoreIPC/Attachment.cpp:
+ (CoreIPC::Attachment::Attachment):
+ * Platform/CoreIPC/Attachment.h:
+ (CoreIPC::Attachment::size):
+ (CoreIPC::Attachment::releaseFileDescriptor):
+ (CoreIPC::Attachment::fileDescriptor):
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::MessageInfo::MessageInfo):
+ (CoreIPC::MessageInfo::setMessageBodyOOL):
+ (CoreIPC::MessageInfo::isMessageBodyOOL):
+ (CoreIPC::MessageInfo::bodySize):
+ (CoreIPC::MessageInfo::messageID):
+ (CoreIPC::MessageInfo::attachmentCount):
+ (CoreIPC::Connection::platformInitialize):
+ (CoreIPC::Connection::platformInvalidate):
+ (CoreIPC::SocketNotifierDisableGuard::SocketNotifierDisableGuard):
+ (CoreIPC::SocketNotifierDisableGuard::~SocketNotifierDisableGuard):
+ (CoreIPC::Connection::readyReadHandler):
+ (CoreIPC::Connection::open):
+ (CoreIPC::Connection::platformCanSendOutgoingMessages):
+ (CoreIPC::Connection::sendOutgoingMessage):
+ * Platform/SharedMemory.h:
+ * Platform/WorkQueue.h:
+ * Platform/qt/MappedMemoryPool.cpp: Removed.
+ * Platform/qt/MappedMemoryPool.h: Removed.
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::Handle::Handle):
+ (WebKit::SharedMemory::Handle::~Handle):
+ (WebKit::SharedMemory::Handle::isNull):
+ (WebKit::SharedMemory::Handle::encode):
+ (WebKit::SharedMemory::Handle::decode):
+ (WebKit::SharedMemory::Handle::releaseToAttachment):
+ (WebKit::SharedMemory::Handle::adoptFromAttachment):
+ (WebKit::SharedMemory::create):
+ (WebKit::accessModeMMap):
+ (WebKit::SharedMemory::~SharedMemory):
+ (WebKit::accessModeFile):
+ (WebKit::SharedMemory::createHandle):
+ * Platform/qt/WorkQueueQt.cpp:
+ (WorkQueue::registerSocketEventHandler):
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::UpdateChunk):
+ (WebKit::UpdateChunk::~UpdateChunk):
+ (WebKit::UpdateChunk::encode):
+ (WebKit::UpdateChunk::decode):
+ (WebKit::UpdateChunk::createImage):
+ * Shared/qt/UpdateChunk.h:
+ * UIProcess/Launcher/ProcessLauncher.h:
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::QtWebProcess::QtWebProcess):
+ (WebKit::QtWebProcess::setupChildProcess):
+ (WebKit::ProcessLauncher::launchProcess):
+ (WebKit::ProcessLauncher::platformInvalidate):
+ * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
+ (WebKit::webThreadBody):
+ (WebKit::ThreadLauncher::createWebThread):
+ * WebKit2.pro:
+ * WebProcess/qt/WebProcessMainQt.cpp:
+ (WebKit::WebProcessMainQt):
+
+2011-01-24 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt] Move project files into Source
+ https://bugs.webkit.org/show_bug.cgi?id=52891
+
+ * DerivedSources.pro:
+ * WebKit2.pro:
+ * WebProcess.pro:
+
+2011-01-23 Damian Kaleta <dkaleta@apple.com>
+
+ Reviewed by Kevin Decker.
+
+ <rdar://problem/8905171>
+ https://bugs.webkit.org/show_bug.cgi?id=52985
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::scaleWebView): Eliminated early return inside WebPageProxy::scaleWebView, making it
+ consistent with WebKit1.
+
+2011-01-23 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52968
+ Use a separate NSView for printing
+
+ Also addresses <rdar://problem/8900148> Improper check for
+ -[NSGraphicsContext currentContextDrawingToScreen]
+
+ * UIProcess/API/mac/WKPrintingView.h: Added.
+ * UIProcess/API/mac/WKPrintingView.mm: Added.
+ (-[WKPrintingView initWithFrameProxy:]):
+ (-[WKPrintingView isFlipped]):
+ (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]):
+ (-[WKPrintingView knowsPageRange:]):
+ (-[WKPrintingView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
+ (-[WKPrintingView drawPageBorderWithSize:]):
+ (-[WKPrintingView _provideTotalScaleFactorForPrintOperation:]):
+ (-[WKPrintingView rectForPage:]):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView drawRect:]):
+ (-[WKView canChangeFrameLayout:]):
+ (-[WKView printOperationWithPrintInfo:forFrame:]):
+ * WebKit2.xcodeproj/project.pbxproj:
+ Moved printing code to a separate view, simplifying as appropriate. The view is currently not
+ referenced by anything in WebKit2 directly, being owned by NSPrintOperation.
+
+2011-01-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Transparent windows with compositing WebKit2 content show garbage
+ https://bugs.webkit.org/show_bug.cgi?id=52966
+ <rdar://problem/8765051>
+
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
+ (WebKit::LayerBackedDrawingAreaProxy::paint):
+ If the WKView should draw transparent background, do so.
+
+2011-01-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add an asynchronous WKPageForceRepaint
+ https://bugs.webkit.org/show_bug.cgi?id=52964
+ <rdar://problem/8898527>
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageForceRepaint):
+ Call WebPageProxy::forceRepaint.
+
+ * UIProcess/API/C/WKPage.h:
+ Add WKPageForceRepaint.
+
+ * UIProcess/GenericCallback.h:
+ Add a "generic" VoidCallback class.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::forceRepaint):
+ Insert the callback in the m_voidCallbacks map and send a forceRepaint message.
+
+ (WebKit::WebPageProxy::voidCallback):
+ Call the right void callback.
+
+ (WebKit::WebPageProxy::processDidCrash):
+ Invalidate m_voidCallbacks.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add a VoidCallback message.
+
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::forceRepaint):
+ Force a repaint.
+
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ Add forceRepaint.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::forceRepaint):
+ Call forceRepaint on the drawing area.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add a ForceRepaint message.
+
+2011-01-21 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ Introduce FontMetrics abstraction
+ https://bugs.webkit.org/show_bug.cgi?id=51456
+
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Use FontMetrics instead of Font to access the metrics.
+ (WebKit::WebPopupMenu::setUpPlatformData):
+
+2011-01-22 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52950
+ Leak in WebPage::drawRectToPDF
+
+ * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::drawRectToPDF): Use RetainPtr here, too.
+
+2011-01-22 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52951
+ WebKit2 generates a bad PDF for cross process messaging
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
+ Use a correct offset when flipping.
+
+2011-01-21 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52943
+ Objective-C files should use #import, not #include
+
+ * UIProcess/API/C/WebKit2.h: This is an interesting one, because it's cross-platform, and
+ there is more than one WKView.h.
+
+ * Platform/mac/ModuleMac.mm:
+ * Platform/mac/RunLoopMac.mm:
+ * PluginProcess/mac/PluginControllerProxyMac.mm:
+ * PluginProcess/mac/PluginProcessMac.mm:
+ * PluginProcess/mac/PluginProcessMainMac.mm:
+ * Shared/API/c/mac/WKCertificateInfoMac.mm:
+ * Shared/API/c/mac/WKURLRequestNS.mm:
+ * Shared/API/c/mac/WKURLResponseNS.mm:
+ * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
+ * Shared/mac/PlatformCertificateInfo.mm:
+ * Shared/mac/SandboxExtensionMac.mm:
+ * Shared/mac/WebCoreArgumentCodersMac.mm:
+ * Shared/mac/WebMemorySampler.mac.mm:
+ * Shared/mac/WebURLRequestMac.mm:
+ * Shared/mac/WebURLResponseMac.mm:
+ * UIProcess/API/mac/FindIndicatorWindow.mm:
+ * UIProcess/API/mac/WKTextInputWindowController.mm:
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
+ * UIProcess/mac/BackingStoreMac.mm:
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
+ * UIProcess/mac/TextCheckerMac.mm:
+ * UIProcess/mac/WebContextMac.mm:
+ * UIProcess/mac/WebContextMenuProxyMac.mm:
+ * UIProcess/mac/WebPageProxyMac.mm:
+ * UIProcess/mac/WebPopupMenuProxyMac.mm:
+ * UIProcess/mac/WebPreferencesMac.mm:
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
+ * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
+ * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm:
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
+ * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ * WebProcess/mac/WebProcessMac.mm:
+
+2011-01-21 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix the WebKit2 build with clang.
+
+ * Scripts/webkit2/messages.py: Add some more structs to the list.
+ * UIProcess/DrawingAreaProxy.h: Forward-declare UpdateInfo as a class.
+ * UIProcess/TextChecker.h: Forward-declare TextCheckerState as a struct.
+ * UIProcess/WebPageProxy.h: Forward-declare ContextMenuState as a struct.
+ * UIProcess/mac/TextCheckerMac.mm: Fix the type of the string constants so that they can be passed to
+ functions expecting NSString* without generating warnings.
+ * WebProcess/WebPage/DrawingArea.h: Forward-declare WebPageCreationParameters as a struct.
+ * WebProcess/WebPage/DrawingAreaImpl.h: Forward-declare UpdateInfo as a class.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::getResourceDataFromFrame): Add parens around the assignment in the condition of
+ the if statement to suppress a warning.
+
+2011-01-21 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: Need API to stop loading a WKFrame
+ https://bugs.webkit.org/show_bug.cgi?id=52925
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameStopLoading): Call through to WebFrameProxy::stopLoading.
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::stopLoading): Send a message to the WebProcess to stop loading the frame
+ with the passed in ID.
+ * UIProcess/WebFrameProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::stopLoadingFrame): Call stopForUserCancel on the passed-in frame.
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in: Add StopLoadingFrame.
+
+2011-01-21 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Adam Roben.
+
+ <rdar://problem/8894125> and https://bugs.webkit.org/show_bug.cgi?id=52916
+ Expose "suggested filename" for a resource based on its resource response.
+
+ API pieces:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopySuggestedFilenameForResourceURL):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+
+ Implementation:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::suggestedFilenameForResourceURL): See if the DocumentLoader has
+ a resource for this URL and, if so, return the response's suggested filename.
+ * WebProcess/WebPage/WebFrame.h:
+
+2011-01-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ DrawingAreaProxyImpl::paint should return the unpainted region
+ https://bugs.webkit.org/show_bug.cgi?id=52918
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView drawRect:]):
+ Add unpaintedRegion parameter.
+
+ * UIProcess/BackingStore.h:
+ (WebKit::BackingStore::size):
+ Add a size getter.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::paint):
+ Initialize the unpainted region to the dirty region, then subtract the painted region.
+
+2011-01-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein and Maciej Stachowiak.
+
+ Fix for <rdar://problem/8896057>
+
+ Give the Web Process access to the PubSub agent.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-01-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship"
+ https://bugs.webkit.org/show_bug.cgi?id=52779
+
+ Rename ScrollbarClient -> ScrollableArea.
+
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ (WebKit::WebPopupMenuProxyWin::onMouseWheel):
+ (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
+ * UIProcess/win/WebPopupMenuProxyWin.h:
+
+2011-01-21 Adam Roben <aroben@apple.com>
+
+ Update for WKCACFLayerRenderer -> CACFLayerView rename
+
+ Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't
+
+ Reviewed by Simon Fraser.
+
+ * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Just removed all the unnecessary
+ #includes.
+
+2011-01-20 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2: Implement showModalDialog
+ https://bugs.webkit.org/show_bug.cgi?id=52855
+
+ * Shared/WebPageCreationParameters.h: Added canRunModal.
+
+ * UIProcess/API/C/WKPage.h: Added a runModal function pointer to
+ WKPageUIClient. Also removed a lot of redundant typedefs and added
+ a new one, WKPageCallback, for callbacks without arguments or return
+ values.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage): Added a runModal function pointer of 0.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::creationParameters): Set canRunModal
+ based on return value of WebUIClient::canRunModal.
+
+ * UIProcess/WebPageProxy.h: Added runModal.
+ Calls WebUIClient::runModal.
+
+ * UIProcess/WebPageProxy.messages.in: Added RunModal message.
+ Also removed the periods from the phrases in the comments
+ as Maciej requested a while back.
+
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::canRunModal): Added. Returns true or false
+ based on whether a runModal function was supplied in the
+ WKPageUIClient structure.
+ (WebKit::WebUIClient::runModal): Added. Calls the runModal
+ function from the WKPageUIClient structure.
+ * UIProcess/WebUIClient.h: Declared the above functions.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::canRunModal): Call through to WebPage.
+ (WebKit::WebChromeClient::runModal): Ditto.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Initialize m_canRunModal based on the
+ creation parameters. Initialize m_isRunningModal to false.
+ (WebKit::WebPage::close): Stop the nested run loop if we are running modal.
+ (WebKit::WebPage::runModal): Send a message to ask the UI process to run
+ modal and then start a nested run loop. It gets stopped when the page is closed.
+ * WebProcess/WebPage/WebPage.h: Defined the canRunModal function
+ and declared the runModal function.
+
+2011-01-20 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52849
+ Make window.print work with WebKit2
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::printFrame):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::printFrame):
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::print):
+ Just pass through deelagte call to a WebKit2 client.
+
+ * UIProcess/API/C/WKPage.h: Also added "Callback" suffix to other printing related function
+ types.
+
+2011-01-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Keep track of the latest update timestamp in the backing store
+ https://bugs.webkit.org/show_bug.cgi?id=52848
+
+ * Shared/UpdateInfo.h:
+ (WebKit::UpdateInfo::UpdateInfo):
+ Initialize timestamp to 0.
+
+ * UIProcess/BackingStore.cpp:
+ (WebKit::BackingStore::BackingStore):
+ Initialize m_latestUpdateTimestamp to 0.
+
+ (WebKit::BackingStore::incorporateUpdate):
+ If the update is too old, discard it. Otherwise, create a bitmap
+ and pass it to platformIncorporateUpdate. Finally update the timestamp.
+
+ * UIProcess/BackingStore.h:
+ Add m_latestUpdateTimestamp.
+
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::platformIncorporateUpdate):
+ Update now that we are already given the shareable bitmap.
+
+2011-01-20 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Fix for <rdar://problem/8890255>
+
+ Allow WebKitSystemInterface to draw scrollbars
+ when appropriate.
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
+2011-01-20 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ Cleanup Scrollbar/ScrollbarClient relationship
+ https://bugs.webkit.org/show_bug.cgi?id=52779
+
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ (WebKit::WebPopupMenuProxyWin::scrollPosition):
+ (WebKit::WebPopupMenuProxyWin::setScrollOffset):
+ (WebKit::WebPopupMenuProxyWin::scrollTo):
+ (WebKit::WebPopupMenuProxyWin::onMouseWheel):
+ (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
+ * UIProcess/win/WebPopupMenuProxyWin.h:
+ (WebKit::WebPopupMenuProxyWin::verticalScrollbar):
+
+2011-01-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a timestamp to UpdateInfo
+ https://bugs.webkit.org/show_bug.cgi?id=52844
+
+ * Shared/UpdateInfo.cpp:
+ (WebKit::UpdateInfo::encode):
+ (WebKit::UpdateInfo::decode):
+ * Shared/UpdateInfo.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setSize):
+ (WebKit::DrawingAreaImpl::display):
+
+2011-01-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Add Connection::waitForAndDispatchImmediately
+ https://bugs.webkit.org/show_bug.cgi?id=52841
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::waitForAndDispatchImmediately):
+
+2011-01-20 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/8880689> need a way to obtain the rendered rectangle for box elements
+ https://bugs.webkit.org/show_bug.cgi?id=52823
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleGetRenderRect): Added new method that will return a rendered rectangle for box elements
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: Ditto.
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: Ditto.
+ (WebKit::InjectedBundleNodeHandle::renderRect): Ditto.
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Ditto.
+
+2011-01-20 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ Remove null ptr deref that happens when reattaching to
+ a new web process.
+
+ Implement didRelaunchProcess that sets the drawing area size
+ after the drawing area is re-instantiated.
+
+ [Qt][WK2] Null ptr deref in UI process after web process has crashed
+ https://bugs.webkit.org/show_bug.cgi?id=52796
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPagePrivate::init):
+ (QWKPagePrivate::createDrawingAreaProxy):
+ (QWKPagePrivate::didRelaunchProcess): Reset drawing area size after crash.
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2011-01-20 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKitTestRunner needs to support layoutTestController.evaluateScriptInIsolatedWorld
+ https://bugs.webkit.org/show_bug.cgi?id=42327
+
+ Added a new API call, WKBundleFrameForJavaScriptContext, that gets the WKBundleFrameRef
+ that corresponds to a JSContextRef (or null if none).
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameForJavaScriptContext): Simple wrapper, defers to a WebFrame
+ static method.
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::frameForContext): Follow the maze of twisty pointers.
+ * WebProcess/WebPage/WebFrame.h:
+
+2011-01-20 Alejandro G. Castro <alex@igalia.com>
+
+ Fix compilation error in GTK WebKit2.
+
+ * Platform/CoreIPC/gtk/ConnectionGtk.cpp:
+ (CoreIPC::readBytesFromSocket):
+ (CoreIPC::writeBytesToSocket):
+
+2011-01-20 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ Refactoring of the custom allocation framework
+ https://bugs.webkit.org/show_bug.cgi?id=49897
+
+ Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
+ The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
+ equivalent macro implementation at the necessary places.
+
+2011-01-19 Simon Fraser <simon.fraser@apple.com>
+
+ Fix the WebKit2 build.
+
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
+
+2011-01-19 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Need API to get the parent frame of a frame
+ https://bugs.webkit.org/show_bug.cgi?id=52774
+
+ Add the API to get the parent frame of a frame.
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetParentFrame):
+ * UIProcess/API/C/WKFrame.h:
+
+2011-01-19 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: add support for drag and drop
+ https://bugs.webkit.org/show_bug.cgi?id=52343
+ <rdar://problem/7660558>
+
+ This patch contains the remaining work to support drag and drop on Mac.
+ I've added a PasteboardTypes class to encapsulate all the pasteboard formats
+ supported for drag and drop.
+ In this implementation we don't support the promised types, since I could not
+ find an efficient way to do this across processes.
+ The bulk of the patch consists in creating a shareable bitmap for the drag image,
+ pass its handle to the UI process and create a new NSImage from it to be given to
+ AppKit for dragging.
+ I've added the missing implementation of the methods in the drag client to hook
+ up the placement of the data in the pasteboard.
+
+ * Shared/mac/PasteboardTypes.h: Added.
+ * Shared/mac/PasteboardTypes.mm: Added.
+ (WebKit::PasteboardTypes::forEditing):
+ (WebKit::PasteboardTypes::forURL):
+ (WebKit::PasteboardTypes::forImages):
+ (WebKit::PasteboardTypes::forImagesWithArchive):
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setDragImage): Added.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _registerDraggedTypes]): Refactored to use the new PasteboardTypes class.
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ (-[WKView _setMouseDownEvent:]):
+ (-[WKView _mouseHandler:]):
+ (-[WKView mouseDown:]):
+ (-[WKView mouseUp:]):
+ (-[WKView mouseDragged:]):
+ (-[WKView draggedImage:endedAt:operation:]):
+ (-[WKView draggingEntered:]):
+ (-[WKView _setDragImage:at:linkDrag:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setDragImage):
+ (WebKit::WebPageProxy::dragEnded):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebDragClient.cpp:
+ * WebProcess/WebCoreSupport/WebDragClient.h:
+ * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: Added.
+ (WebKit::fontFromNSFont):
+ (WebKit::WebDragClient::startDrag): Added implementation.
+ (WebKit::WebDragClient::createDragImageForLink): Ditto.
+ (WebKit::writeURL): Helper function.
+ (WebKit::writeImage): Helper function.
+ (WebKit::WebDragClient::declareAndWriteDragImage): Added implementation.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::dragEnded):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2011-01-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Put the deprecated Connection member functions next to eachother
+ https://bugs.webkit.org/show_bug.cgi?id=52767
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::sendSync):
+ (CoreIPC::Connection::send):
+
+2011-01-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ When resizing, the web process should repaint the page
+ https://bugs.webkit.org/show_bug.cgi?id=52764
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::didSetSize):
+ Incorporate the update.
+
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+ Return early if the update bounds rect is empty. This can happen if painting is
+ disabled and we get a DidSetSize message.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setSize):
+ If painting is disabled, just send back an empty UpdateInfo struct. Otherwise,
+ paint and fill in the UpdateInfo struct.
+
+ (WebKit::DrawingAreaImpl::display):
+ Assert that painting is not disabled.
+
+2011-01-19 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52739
+ Make it possible for a WebKit2 client to print headers and footers
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::headerHeight):
+ (WebKit::WebPageProxy::footerHeight):
+ (WebKit::WebPageProxy::drawHeader):
+ (WebKit::WebPageProxy::drawFooter):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::headerHeight):
+ (WebKit::WebUIClient::footerHeight):
+ (WebKit::WebUIClient::drawHeader):
+ (WebKit::WebUIClient::drawFooter):
+ * UIProcess/WebUIClient.h:
+ Pass UIClient calls through.
+
+ * UIProcess/API/mac/WKView.mm:
+ (currentPrintOperationScale): A helper to extract scale factor from the current NSPrintOperation.
+ (-[WKView _adjustPrintingMarginsForHeaderAndFooter]): Copied from WebKit1. Change current
+ print info to account for header and footer height as provided by the client.
+ (-[WKView knowsPageRange:]): Call -[self _adjustPrintingMarginsForHeaderAndFooter].
+ (-[WKView drawPageBorderWithSize:]): When AppKit asks to print page border, call the client
+ to do that. Code adapted form WebKit1.
+
+ * UIProcess/API/qt/qwkpage:
+ (QWKPage::QWKPage): Added zeroes for new WKPageUIClient members to avoid breaking the build.
+
+2011-01-19 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Crash in WebDatabaseManagerProxy::getDatabaseOrigins when called after the WebProcess has
+ died at least once
+ https://bugs.webkit.org/show_bug.cgi?id=52730
+
+ WebDatabaseManagerProxy::invalidate was setting m_webContext to 0, and invalidate gets
+ called in WebContext::processDidClose. However, m_webContext is only set in the
+ constructor, which is only called from the constructor of WebContext, so attempting to send
+ a message to any new WebProcess after the first one died was causing a null deref.
+
+ This patch moves setting m_webcontext into clearContext and clearContext is only called in
+ the WebContext destructor.
+
+ This patch also adds checks for a valid WebProcessProxy before attempting to send messages to
+ the WebProcessProxy so that if the WebProcess has died and has not been revived, it does not
+ attempt to dereference a null WebProcessProxy.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::~WebContext):
+ Call WebDatabaseManagerProxy::clearContext.
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::hasValidProcess):
+ Make this method public so that it can be called from WebDatabaseManagerProxy.
+
+ * UIProcess/WebDatabaseManagerProxy.cpp:
+ (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
+ If there isn't a valid process, invalidate the callback and return early.
+ (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
+ Ditto.
+ (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
+ If tehre isn't a valid process return early.
+ (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
+ Ditto.
+ (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
+ Ditto.
+ (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
+ Ditto.
+ (WebKit::WebDatabaseManagerProxy::invalidate):
+ Move setting m_webContext to 0 from here ...
+ * UIProcess/WebDatabaseManagerProxy.h:
+ (WebKit::WebDatabaseManagerProxy::clearContext):
+ ... to here.
+
+2011-01-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Suspend/resume painting as the WKView visibility changes
+ https://bugs.webkit.org/show_bug.cgi?id=52738
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::visibilityDidChange):
+ Add new member function. It should really be pure virtual once setPageIsVisible
+ is removed.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::visibilityDidChange):
+ Send SuspendPainting/ResumePainting messages based on whether the view is visible or not.
+
+ (WebKit::DrawingAreaProxyImpl::setPageIsVisible):
+ Make this a stub; it should really be removed.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::viewStateDidChange):
+ Call visibilityDidChange.
+
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::isViewVisible):
+ Add new getter.
+
+ * WebProcess/WebPage/DrawingArea.messages.in:
+ Add SuspendPainting and ResumePainting messages.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::DrawingAreaImpl):
+ Initialize m_isPaintingSuspended.
+
+ (WebKit::DrawingAreaImpl::suspendPainting):
+ Set m_isPaintingSuspended to true and stop the display timer.
+
+ (WebKit::DrawingAreaImpl::resumePainting):
+ Set m_isPaintingSuspended to false.
+
+ (WebKit::DrawingAreaImpl::scheduleDisplay):
+ (WebKit::DrawingAreaImpl::display):
+ Bail if m_isPaintingSuspended is true.
+
+2011-01-19 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt][WK2] Implement formatLocalizedString() for Qt.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::formatLocalizedString):
+
+2011-01-19 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
+ https://bugs.webkit.org/show_bug.cgi?id=52695
+
+ Added a hostingLayer as the parent of the existing drawingLayer.
+ The hostingLayer is now the root which is passed to the
+ remote context. It never changes except to track the size
+ of the window. The backingLayer is now a child of the
+ hostingLayer, which allow it to switch between tiled and
+ non-tiled.
+
+ I also now give back accurate settings for debug borders and
+ repaint counters.
+
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ (WebKit::LayerBackedDrawingArea::setSize):
+ (WebKit::LayerBackedDrawingArea::showDebugBorders):
+ (WebKit::LayerBackedDrawingArea::showRepaintCounter):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::platformInit):
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+ (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
+
+2011-01-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Send a new SetSize message if the size differs from the current size
+ https://bugs.webkit.org/show_bug.cgi?id=52728
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::didSetSize):
+ Add UpdateInfo parameter.
+
+ * UIProcess/DrawingAreaProxy.messages.in:
+ Add UpdateInfo parameter to the DidSetSize message.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::didSetSize):
+ If the view size differs from the current size send another SetSize message.
+
+ * UIProcess/DrawingAreaProxyImpl.h:
+ Add UpdateInfo parameter to didSetSize.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setSize):
+ The DidSetSize message now takes an UpdateInfo parameter.
+
+2011-01-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Throttle sending of SetSize messages
+ https://bugs.webkit.org/show_bug.cgi?id=52727
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
+ Initialize m_isWaitingForDidSetSize to false.
+
+ (WebKit::DrawingAreaProxyImpl::didSetSize):
+ Null out the backing store.
+
+ (WebKit::DrawingAreaProxyImpl::sendSetSize):
+ If m_isWaitingForDidSetSize is true, do nothing. Otherwise, set m_isWaitingForDidSetSize
+ to true and send a SetSize message.
+
+ * UIProcess/DrawingAreaProxyImpl.h:
+ Add m_isWaitingForDidSetSize.
+
+2011-01-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Pass WebPageCreationParameters to DrawingArea::create
+ https://bugs.webkit.org/show_bug.cgi?id=52726
+
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::create):
+ (WebKit::DrawingAreaImpl::DrawingAreaImpl):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+
+2011-01-19 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Laszlo Gombos and Tor Arne Vestbø.
+
+ [Qt] Remove unnecessary "../Source" from paths
+ after moving source files into Source is finished.
+
+ * DerivedSources.pro:
+ * WebKit2.pro:
+
+2011-01-18 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKitTestRunner should track loading more like DumpRenderTree
+ https://bugs.webkit.org/show_bug.cgi?id=52692
+
+ Relax the message check in didSaveFrameToPageCache a bit more, since
+ layout tests were still hitting the old one.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::isDisconnectedFrame):
+ (WebKit::WebPageProxy::didSaveFrameToPageCache):
+
+2011-01-18 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/8860833> and https://bugs.webkit.org/show_bug.cgi?id=52599
+ UIProcess crash in WebPageProxy::reattachToWebProcess when web process crashes with a new tab/window.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::reattachToWebProcessWithItem): Null check item *both* places it is used.
+
+2011-01-18 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/8752200> and https://bugs.webkit.org/show_bug.cgi?id=52664
+ Need WebKit2 API to asynchronously get the resource data for a URL
+
+ Rename WKFrameGetMainResourceDataFunction to WKFrameGetResourceDataFunction, and add
+ new API to get a resource by URL:
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetMainResourceData):
+ (WKFrameGetResourceData):
+ (callGetResourceDataBlockAndDispose):
+ (WKFrameGetMainResourceData_b):
+ (WKFrameGetResourceData_b):
+ * UIProcess/API/C/WKFrame.h:
+
+ Implement the new API in the UIProcess side:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::getResourceData):
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::getResourceDataFromFrame):
+ * UIProcess/WebPageProxy.h:
+
+ Have the WebProcess get the data and call back to the UIProcess:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::getResourceDataFromFrame):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Make PageClientImpl::scrollView do hardware blitting
+ https://bugs.webkit.org/show_bug.cgi?id=52689
+
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::scrollView):
+ Clip the scroll rect and scroll the view.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+ Scroll before painting.
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Artifacts when scrolling with new drawing area
+ https://bugs.webkit.org/show_bug.cgi?id=52682
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::scroll):
+ When scrolling, we want the intersection of the scroll rect and clip rect.
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Use a CGLayer for the backing store when possible
+ https://bugs.webkit.org/show_bug.cgi?id=52679
+
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::paint):
+ If there is a layer, paint it into the given context.
+
+ (WebKit::BackingStore::backingStoreContext):
+ If we can get the containing window graphics context, use it to create a
+ CGLayer that we'll use for the backing store.
+
+ (WebKit::BackingStore::scroll):
+ Paint the layer into itself.
+
+ * UIProcess/mac/WebPageProxyMac.mm:
+ (WebKit::WebPageProxy::containingWindowGraphicsContext):
+ Call the page client.
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Pass the web page proxy to BackingStore::create
+ https://bugs.webkit.org/show_bug.cgi?id=52673
+
+ * UIProcess/BackingStore.cpp:
+ (WebKit::BackingStore::create):
+ Add WebPageProxy parameter.
+
+ (WebKit::BackingStore::BackingStore):
+ Add WebPageProxy parameter.
+
+ * UIProcess/BackingStore.h:
+ Add WebPageProxy member variable.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+ Pass the web page proxy when creating the backing store.
+
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::backingStoreContext):
+ Set the default blend mode.
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Factor code to create the backing store bitmap context out into a new function
+ https://bugs.webkit.org/show_bug.cgi?id=52670
+
+ * UIProcess/BackingStore.h:
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::backingStoreContext):
+ Create the backing store context.
+
+ (WebKit::BackingStore::incorporateUpdate):
+ Call backingStoreContext.
+
+ (WebKit::BackingStore::scroll):
+ Assert that the context is not null.
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add PageClientImpl::containingWindowGraphicsContext
+ https://bugs.webkit.org/show_bug.cgi?id=52666
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::containingWindowGraphicsContext):
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.h:
+
+2011-01-18 Damian Kaleta <dkaleta@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WK2 methods WKPageScaleWebView and WKPageGetViewScaleFactor need to have consistent names
+ https://bugs.webkit.org/show_bug.cgi?id=52647
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetScaleFactor):
+ (WKPageGetScaleFactor):
+ * UIProcess/API/C/WKPage.h:
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Ask the web page proxy to scroll the view when needed
+ https://bugs.webkit.org/show_bug.cgi?id=52665
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::scrollView):
+ * UIProcess/WebPageProxy.h:
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::scrollView):
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add PageClient::scrollView
+ https://bugs.webkit.org/show_bug.cgi?id=52663
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::scrollView):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::scrollView):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::PageClientImpl::scrollView):
+ * UIProcess/win/WebView.h:
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename scrollDelta to scrollOffset everywhere.
+
+ * Shared/UpdateInfo.cpp:
+ (WebKit::UpdateInfo::encode):
+ (WebKit::UpdateInfo::decode):
+ * Shared/UpdateInfo.h:
+ * UIProcess/BackingStore.h:
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::incorporateUpdate):
+ (WebKit::BackingStore::scroll):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::scroll):
+ (WebKit::WebChromeClient::delegatedScrollRequested):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::scroll):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::scroll):
+ (WebKit::DrawingAreaImpl::display):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::scroll):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Get and paint each individual rect in -[WKView drawRect:]
+ https://bugs.webkit.org/show_bug.cgi?id=52660
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView drawRect:]):
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Assertion when loading two URLs in quick succession
+ https://bugs.webkit.org/show_bug.cgi?id=52649
+ <rdar://problem/8764645>
+
+ If beginLoad is called twice without didStartProvisionalLoad being called in between,
+ m_pendingProvisionalSandboxExtension would be non-null and an assert would fire.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
+ Instead of asserting that m_pendingProvisionalSandboxExtension is null, invalidate it
+ if it is not null, since that's valid.
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_PopUpContextMenu
+ https://bugs.webkit.org/show_bug.cgi?id=52646
+ <rdar://problem/8735616>
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_PopUpContextMenu):
+ Call NetscapePlugin::popUpContextMenu.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize m_currentMouseEvent.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add m_currentMouseEvent.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::popUpContextMenu):
+ Convert the coordinates from the current mouse event to screen coordinates and call
+ WKPopupContextMenu.
+
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ Update m_currentMouseEvent.
+
+2011-01-18 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Do not assert that the provisional and committed URLs cannot be empty/null
+ https://bugs.webkit.org/show_bug.cgi?id=52641
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didStartProvisionalLoad):
+ (WebKit::WebFrameProxy::didCommitLoad):
+ (WebKit::WebFrameProxy::didFinishLoad):
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ ASSERT in plug-in code when going to youtube
+ https://bugs.webkit.org/show_bug.cgi?id=52638
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::paintEntirePlugin):
+ Don't try to paint the plug-in if the plug-in frame is empty.
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Plug-in hosting WebProcess instances appear in Activity Monitor as WebProcess
+ https://bugs.webkit.org/show_bug.cgi?id=52635
+ <rdar://problem/8731337>
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::initialize):
+ Call platformInitialize.
+
+ * PluginProcess/PluginProcess.h:
+ Add platformInitialize.
+
+ * PluginProcess/mac/PluginProcessMac.mm:
+ (WebKit::PluginProcess::platformInitialize):
+ Set the compositing render server port and the visible application name.
+
+ * Shared/Plugins/PluginProcessCreationParameters.cpp:
+ (WebKit::PluginProcessCreationParameters::encode):
+ (WebKit::PluginProcessCreationParameters::decode):
+ Encode/decode the parent process name.
+
+ * Shared/Plugins/PluginProcessCreationParameters.h:
+ Add parentProcessName.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ Encode/decode the parent process name.
+
+ * Shared/WebProcessCreationParameters.h:
+ Add parentProcessName.
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ Don't pass the parent process name here.
+
+ * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
+ (WebKit::PluginProcessProxy::platformInitializePluginProcess):
+ Set the visible name.
+
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ Pass along the parent process name.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ Set the visible name.
+
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+ Don't set the visible name here. It's done in platformInitializeWebProcess.
+
+2011-01-18 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt][WK2] Not implemented warnings should not break layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=52616
+
+ * WebKit2Prefix.h: Define DISABLE_NOT_IMPLEMENTED_WARNINGS on Qt.
+
+2011-01-17 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Windows build fix. Unreviewed.
+
+ * Shared/PrintInfo.cpp:
+ Use #include, not #import.
+
+2011-01-17 Alexey Proskuryakov <ap@apple.com>
+
+ Actually wrote a FIXME promised for a review comment.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
+
+2011-01-17 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson and Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52595
+ Make basic printing work in WebKit2
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetShouldPrintBackgrounds):
+ (WKPreferencesGetShouldPrintBackgrounds):
+ * UIProcess/API/C/WKPreferences.h:
+ Implement a preference for printing backgrounds.
+
+ * Shared/PrintInfo.cpp: Added.
+ (WebKit::PrintInfo::encode):
+ (WebKit::PrintInfo::decode):
+ * Shared/PrintInfo.h: Added.
+ * Shared/mac/PrintInfoMac.mm: Added.
+ (WebKit::PrintInfo::PrintInfo):
+ A new class for passing page setup information down to the web process.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * GNUmakefile.am:
+ * WebKit2.pro:
+ * win/WebKit2.vcproj:
+ Added PrintInfo.
+
+ * Scripts/webkit2/messages.py: Added PrintInfo.h to a list of structs.
+
+ * UIProcess/API/mac/WKView.mm:
+ (WKViewData): Cache page count and geometry.
+ (WebFrameWrapper): Added a wrapper class for adding a WebFrameProxy to an NSDictionary.
+ (-[WKView drawRect:]): Added logging.
+ (setFrameBeingPrinted): Store a frame into NSPrintOperation's NSPrintInfo, so that all
+ methods invoked for this operation would know what's being printed.
+ (frameBeingPrinted): Retrieve this data.
+ (-[WKView printOperationWithPrintInfo:forFrame:]): Create a print operation that's appropriate
+ for the frame.
+ (-[WKView knowsPageRange:]): Ask the web process.
+ (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
+ Take over printing, because I couldn't make drawRect: work correctly with WebKit custom fit
+ to page implementation.
+ (-[WKView _provideTotalScaleFactorForPrintOperation:]): Help AppKit clip correctly.
+ (-[WKView rectForPage:]): Return a pre-calculated rect.
+
+ * UIProcess/WebPageProxy.h: Added m_isInPrintingMode to track whether the web page is in
+ printing mode. The UI process controls that.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy): Initialize m_isInPrintingMode.
+ (WebKit::WebPageProxy::beginPrinting): Change printing mode in web process if the value changes.
+ (WebKit::WebPageProxy::endPrinting): Ditto.
+ (WebKit::WebPageProxy::computePagesForPrinting): Ask the web process about output page geometry.
+ (WebKit::WebPageProxy::drawRectToPDF): Ask the web process about printed page data.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::close): Delete m_printContext while there is still a Frame pointer.
+ (WebKit::WebPage::updatePreferences): Pass through ShouldPrintBackgrounds.
+ (WebKit::WebPage::beginPrinting): Switch into printing mode (or update parameters if we're
+ already in printing mode).
+ (WebKit::WebPage::endPrinting): Delete m_printContext, implicitly calling end().
+ (WebKit::WebPage::computePagesForPrinting): Make sure that we're in printing mode, and
+ copmute page rects.
+ (WebKit::WebPage::drawRectToPDF): Added a CG specific function to create a PDF document out
+ of a page rect. It should really work for onscreen content, but we only need it for printing.
+
+ * WebProcess/WebPage/WebPage.h:
+
+ * WebProcess/WebPage/WebPage.messages.in: Added BeginPrinting, EndPrinting,
+ ComputePagesForPrinting and DrawRectToPDF.
+
+2011-01-17 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fix some headers with missing or misspelled #ifndef guards
+ https://bugs.webkit.org/show_bug.cgi?id=52545
+
+ * Shared/UserMessageCoders.h:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+ * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
+ * WebProcess/WebProcessMain.h:
+
+2011-01-17 Alexey Proskuryakov <ap@apple.com>
+
+ Build fix.
+
+ * Platform/Logging.cpp:
+
+2011-01-17 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52592
+ Add a logging channel for WKView
+
+ * Platform/Logging.cpp:
+ * Platform/Logging.h:
+
+2011-01-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Factor bitmap context drawing code out into a shared function
+ https://bugs.webkit.org/show_bug.cgi?id=52589
+
+ * Platform/cg/CGUtilities.h: Added.
+ * Platform/cg/CGUtilities.cpp: Added.
+ (WebKit::paintBitmapContext):
+ New function that will paint a bitmap context into a CGContext.
+
+ * Shared/cg/ShareableBitmapCG.cpp:
+ (WebKit::ShareableBitmap::paint):
+ Use paintBitmapContext.
+
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::paint):
+ (WebKit::BackingStore::scroll):
+ Use paintBitmapContext.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+ Add CGUtilities.{cpp|h}.
+
+2011-01-17 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Mark Rowe.
+
+ Update xcodeproj svn:ignore to include xcuserdata.
+
+ * WebKit2.xcodeproj: Modified property svn:ignore.
+
+2011-01-17 Alexey Proskuryakov <ap@apple.com>
+
+ Fixing a typo from a bad merge.
+
+ * UIProcess/API/mac/WKView.mm: (-[WKView canChangeFrameLayout:]):
+
+2011-01-17 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by John Sullivan.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52590
+ Should pass a frame into -[WKView canPrintHeadersAndFooters]
+
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm: (-[WKView canChangeFrameLayout:]): Also, renamed the method
+ to canChangeFrameLayout.
+
+2011-01-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement scrolling support
+ https://bugs.webkit.org/show_bug.cgi?id=52502
+
+ * Shared/UpdateInfo.cpp:
+ (WebKit::UpdateInfo::encode):
+ (WebKit::UpdateInfo::decode):
+ * Shared/UpdateInfo.h:
+ Add scrollRect and scrollDelta member variables.
+
+ * UIProcess/BackingStore.h:
+ Add scroll member function.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+ Repaint the scroll rect. Force a display of the view when the update info contains a scroll rect.
+
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::incorporateUpdate):
+ Call scroll.
+
+ (WebKit::BackingStore::scroll):
+ Paint the backing store into itself.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::display):
+ Pass the scroll information in the update info.
+
+2011-01-17 Andrey Kosyakov <caseq@chromium.org>
+
+ Unreviewed. Fixed malformed reference to WebKitVSPropsRedirectionDir that broke win build.
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2GeneratedCommon.vsprops:
+ * win/WebKit2WebProcess.vcproj:
+
+2011-01-17 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: simplify debugger enabling routine.
+ https://bugs.webkit.org/show_bug.cgi?id=52472
+
+ * WebProcess/WebPage/WebInspector.cpp:
+ (WebKit::WebInspector::startJavaScriptDebugging):
+
+2011-01-17 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Crash due to double destruction of QSharedMemory
+ https://bugs.webkit.org/show_bug.cgi?id=52569
+
+ Avoid deleting the QSharedMemory twice.
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::~SharedMemory):
+ * Shared/qt/CleanupHandler.cpp:
+ Renamed m_inDeleteObjects to m_hasStartedDeleting and
+ added a getter for it.
+ (WebKit::CleanupHandler::CleanupHandler):
+ (WebKit::CleanupHandler::deleteObjects):
+ * Shared/qt/CleanupHandler.h:
+ (WebKit::CleanupHandler::unmark):
+ (WebKit::CleanupHandler::hasStartedDeleting):
+
+2011-01-15 Adam Barth <abarth@webkit.org>
+
+ Rubber-stamped by Eric Seidel.
+
+ Move WebKit2 into Source
+ https://bugs.webkit.org/show_bug.cgi?id=52438
+
+ * DerivedSources.pro:
+ * GNUmakefile.am:
+ * WebKit2.pro:
+ * WebProcess.pro:
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+
+2011-01-14 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Antti Koivisto.
+
+ Rename cache() to memoryCache()
+ https://bugs.webkit.org/show_bug.cgi?id=52433
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::shutdownIfPossible):
+ (WebKit::WebProcess::didClose):
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformSetCacheModel):
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::WebProcess::platformSetCacheModel):
+
+2011-01-13 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Split out a MarkedSpace strategy object from Heap.
+ https://bugs.webkit.org/show_bug.cgi?id=52421
+
+ * Shared/mac/WebMemorySampler.mac.mm:
+ (WebKit::WebMemorySampler::sampleWebKit): Updated for class move.
+
+2011-01-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add a new PageClient::displayView function and expose it on WebPageProxy
+ https://bugs.webkit.org/show_bug.cgi?id=52500
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::displayView):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::displayView):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::displayView):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::displayView):
+ * UIProcess/win/WebView.h:
+
+2011-01-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement the "should paint bounds instead of indiviual rects" algorithm from WebKit1
+ https://bugs.webkit.org/show_bug.cgi?id=52499
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::shouldPaintBoundsRect):
+ Port code from -[WebView _mustDrawUnionedRect:singleRects:count:].
+
+ (WebKit::DrawingAreaImpl::display):
+ If shouldPaintBoundsRect returns true, clear the rects vector and append the bounds rect.
+
+2011-01-14 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ ShouldLoadResourceForFrame should use strings, not URLs.
+ https://bugs.webkit.org/show_bug.cgi?id=52476
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::shouldLoadResourceForFrame): Pass resourceURL as a string instead of
+ a URL, and rename from subresourceURL to resourceURL.
+
+2011-01-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for <rdar://problem/8711576> The web process should be able to read resources from the UI process.
+
+ Based on a patch by Ivan Krstić. This also makes the NSURLCache path a sandbox parameter.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ Encode and decode the uiProcessBundleResourcePath member variable.
+
+ * Shared/WebProcessCreationParameters.h:
+ Add uiProcessBundleResourcePath member variable.
+
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ Set the uiProcessBundleResourcePath member variable.
+
+ * WebProcess/com.apple.WebProcess.sb:
+ Allow read-only access to UI_PROCESS_BUNDLE_RESOURCE_DIR and all subdirectories.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::initializeSandbox):
+ When initializing the sandbox, pass UI_PROCESS_BUNDLE_RESOURCE_DIR.
+
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ Remove the code that would consume a sandbox extension for the url cache path.
+
+2011-01-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Delay initializing the sandbox until we get the InitializeWebProcess message.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::initializeSandbox):
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+
+2011-01-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Align import/export directives
+ https://bugs.webkit.org/show_bug.cgi?id=52208
+
+ * Shared/API/c/WKBase.h: Align import/export directives with
+ JavaScriptCore/API/JSBase.h.
+
+2011-01-14 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: extract InspectorSettings from InspectorState,
+ simplify it.
+ https://bugs.webkit.org/show_bug.cgi?id=52429
+
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+
+2011-01-13 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Add support for drag and drop
+ https://bugs.webkit.org/show_bug.cgi?id=52343
+ <rdar://problem/7660558>
+
+ This patch contains the changes required to support dropping content
+ in WebKit on the Mac. The DragData class has been extended to provide
+ additional context from the application (keyboard state, modal windows, etc.)
+ as well as information of the drag pasteboard being used.
+ The support for WebKit as drag source will be added with a separate patch.
+
+ * Shared/DragControllerAction.h: Added.
+ * UIProcess/API/mac/WKView.mm:
+ Added implemention of the methods required to add suport for a drop target.
+ To maintain asynchronous communication with the WebProcess, we always return
+ the previous calculated value for the drag operation.
+ (-[WKView _registerDraggedTypes]):
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ (-[WKView applicationFlags:]):
+ (-[WKView draggingEntered:]):
+ (-[WKView draggingUpdated:]):
+ (-[WKView draggingExited:]):
+ (-[WKView prepareForDragOperation:]):
+ (-[WKView performDragOperation:]):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::performDragControllerAction):
+ (WebKit::WebPageProxy::didPerformDragControllerAction):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::dragOperation):
+ (WebKit::WebPageProxy::resetDragOperation):
+ * UIProcess/WebPageProxy.messages.in:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebDragClient.cpp:
+ (WebKit::WebDragClient::willPerformDragDestinationAction):
+ (WebKit::WebDragClient::willPerformDragSourceAction):
+ (WebKit::WebDragClient::actionMaskForDrag):
+ (WebKit::WebDragClient::dragSourceActionMaskForPoint):
+ (WebKit::WebDragClient::startDrag):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::performDragControllerAction):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2011-01-13 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Incorrect assertion in DrawingAreaImpl::scroll()
+ https://bugs.webkit.org/show_bug.cgi?id=52376
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::scroll): Changed to take the fast path if the rects have the same area.
+ This made the assertion valid, but I removed it anyway.
+
+2011-01-12 Balazs Kelemen <kbalazs@webkit.org>
+
+ Unreviewed.
+
+ Getting rid of the unused 'viewportSize' argument in QWKPagePrivate:init.
+ The argument is unused since http://trac.webkit.org/changeset/75468.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::init):
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement DrawingAreaImpl::scroll
+ https://bugs.webkit.org/show_bug.cgi?id=52346
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::scroll):
+ If there is already an active scroll, compute the area of both scroll rects and
+ invalidate the smallest one. Compute a new dirty region if necessary and also
+ add the scroll repaint region to the dirty region.
+
+ (WebKit::DrawingAreaImpl::display):
+ Reset the scroll area and scroll delta.
+
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ Add scroll area and scroll delta member variables.
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Region improvements
+ https://bugs.webkit.org/show_bug.cgi?id=52344
+
+ * Platform/Region.cpp:
+ (WebKit::Region::Shape::move):
+ (WebKit::Region::move):
+ Change Region::move to take an IntSize.
+
+ * Platform/Region.h:
+ (WebKit::intersect):
+ (WebKit::subtract):
+ (WebKit::move):
+ Add convenience functions.
+
+2011-01-12 Ryosuke Niwa <rniwa@webkit.org>
+
+ Unreviewed Qt build fix for r75661
+
+ * Shared/WebEvent.h: Don't declare phase() on non-Mac platforms.
+
+2011-01-12 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309
+ Expose fixed layout through WebKit SPI
+ -and corresponding-
+ <rdar://problem/8844464>
+
+ And now with getters!
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageUseFixedLayout):
+ (WKPageFixedLayoutSize):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::useFixedLayout):
+ (WebKit::WebPageProxy::fixedLayoutSize):
+
+2011-01-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52337
+ PlatformWheelEvent should know about the scroll phase on the Mac
+
+ Add a phase parameter on Mac WebWheelEvent and pipe it down to PlatformWheelEvent.
+
+ * Shared/WebEvent.h:
+ (WebKit::WebWheelEvent::phase):
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
+ * Shared/WebWheelEvent.cpp:
+ (WebKit::WebWheelEvent::WebWheelEvent):
+ (WebKit::WebWheelEvent::encode):
+ (WebKit::WebWheelEvent::decode):
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::phaseForEvent):
+ (WebKit::WebEventFactory::createWebWheelEvent):
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Get rid of an unneeded parameter from DrawingArea::scroll
+ https://bugs.webkit.org/show_bug.cgi?id=52336
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::scroll):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::scroll):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::scroll):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::scroll):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/TiledDrawingArea.cpp:
+ (WebKit::TiledDrawingArea::scroll):
+ * WebProcess/WebPage/TiledDrawingArea.h:
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Get the new drawing area painting to the screen
+ https://bugs.webkit.org/show_bug.cgi?id=52331
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+ Call setViewNeedsDisplay on all the update rects.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setViewNeedsDisplay):
+ Call through to the page client.
+
+ (WebKit::WebPageProxy::processDidCrash):
+ Null out the drawing area proxy.
+
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::paint):
+ Paint.
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More work on getting the drawing area proxy to paint
+ https://bugs.webkit.org/show_bug.cgi?id=52328
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView drawRect:]):
+ Handle the new drawing area.
+
+ * UIProcess/BackingStore.cpp:
+ (WebKit::BackingStore::BackingStore):
+ Assert that the size isn't empty.
+
+ * UIProcess/BackingStore.h:
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::incorporateUpdate):
+ Paint all update rects into the bitmap context.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::display):
+ Create a handle so the shareable bitmap will actually be transferred over.
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Begin stubbing out some more BackingStore member functions
+ https://bugs.webkit.org/show_bug.cgi?id=52323
+
+ * UIProcess/BackingStore.cpp:
+ (WebKit::BackingStore::~BackingStore):
+ This was accidentally made into a constructor; it should be a destructor.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::paint):
+ Call the backing store.
+
+ (WebKit::DrawingAreaProxyImpl::update):
+ Incorporate the update.
+
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+ Create the backing store if needed and incorporate the update.
+
+ * UIProcess/mac/BackingStoreMac.mm: Added.
+ (WebKit::BackingStore::platformInitialize):
+ Create a bitmap context.
+
+ (WebKit::BackingStore::paint):
+ (WebKit::BackingStore::incorporateUpdate):
+ Add stubs.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add BackingStoreMac.mm
+
+2011-01-12 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
+ fixed layout through WebKit SPI
+ -and corresponding-
+ <rdar://problem/8844464>
+
+ Store useFixedLayout and fixedLayoutSize in the
+ WebPageCreationParameters and the WebPageProxy.
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ * Shared/WebPageCreationParameters.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetUseFixedLayout):
+ (WKPageSetFixedLayoutSize):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::setUseFixedLayout):
+ (WebKit::WebPageProxy::setFixedLayoutSize):
+ (WebKit::WebPageProxy::creationParameters):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setUseFixedLayout):
+ (WebKit::WebPage::setFixedLayoutSize):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Add BackingStore class
+ https://bugs.webkit.org/show_bug.cgi?id=52318
+
+ * UIProcess/BackingStore.cpp: Added.
+ (WebKit::BackingStore::create):
+ (WebKit::BackingStore::BackingStore):
+ * UIProcess/BackingStore.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2011-01-12 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8837307>, <rdar://problem/8637038>, and https://bugs.webkit.org/show_bug.cgi?id=52248
+ Back/forward list recovery after a WebProcess crash is crashy itself.
+
+ Add an isEmpty() accessor so the WebProcess knows if it is actually restoring a session:
+ * Shared/SessionState.cpp:
+ (WebKit::SessionState::isEmpty):
+ * Shared/SessionState.h:
+
+ Keep track of the highest used itemID so a relaunched WebProcess can later be informed:
+ * Shared/WebBackForwardListItem.cpp:
+ (WebKit::WebBackForwardListItem::WebBackForwardListItem):
+ (WebKit::WebBackForwardListItem::highedUsedItemID):
+ * Shared/WebBackForwardListItem.h:
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::generateHistoryItemID):
+ (WebKit::WebBackForwardListProxy::setHighestItemIDFromUIProcess):
+ (WebKit::WebBackForwardListProxy::addItemFromUIProcess): Remove a now-invalid ASSERT, as the UIProcess
+ now tells the WebProcess that a previous WebProcess created.
+ * WebProcess/WebPage/WebBackForwardListProxy.h:
+
+ Encode/decode data relevant to restoring a session on WebPage creation:
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ * Shared/WebPageCreationParameters.h:
+
+ If the WebProcess has crashed since the last load, change reload and the various back/forward APIs to
+ update the current back/forward item (if necessary) then relaunch the process:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::reattachToWebProcessWithItem):
+ (WebKit::WebPageProxy::reattachToWebProcess): Renamed from "relaunch()" and made private.
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::loadURL):
+ (WebKit::WebPageProxy::loadURLRequest):
+ (WebKit::WebPageProxy::reload):
+ (WebKit::WebPageProxy::goForward):
+ (WebKit::WebPageProxy::goBack):
+ (WebKit::WebPageProxy::goToBackForwardItem):
+ (WebKit::WebPageProxy::creationParameters):
+ * UIProcess/WebPageProxy.h:
+
+ Rename "RestoreSession" to "RestoreSessionAndNavigateToCurrentItem"
+ * WebProcess/WebPage/WebPage.messages.in:
+ * UIProcess/cf/WebPageProxyCF.cpp:
+ (WebKit::WebPageProxy::restoreFromSessionStateData):
+
+ Restore a session on page creation if the parameters include it:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Call restoreSession if session state exists.
+ (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem):
+ (WebKit::WebPage::restoreSession):
+ * WebProcess/WebPage/WebPage.h:
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Send Update and DidUpdate messages
+ https://bugs.webkit.org/show_bug.cgi?id=52316
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::update):
+ Add empty stub.
+
+ * UIProcess/DrawingAreaProxy.messages.in:
+ Add Update message.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::update):
+ Just send back a DidUpdate message.
+
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::didUpdate):
+ Add empty stub.
+
+ * WebProcess/WebPage/DrawingArea.messages.in:
+ Add DidUpdate message.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::didUpdate):
+ Call display().
+
+ (WebKit::DrawingAreaImpl::display):
+ Send an Update message.
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make the new drawing area actually draw something
+ https://bugs.webkit.org/show_bug.cgi?id=52314
+
+ * Shared/UpdateInfo.cpp:
+ (WebKit::UpdateInfo::encode):
+ (WebKit::UpdateInfo::decode):
+ Encode and decode newly added fields.
+
+ * Shared/UpdateInfo.h:
+ Add a vector of update rects and a handle for the sharable bitmap.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::display):
+ Get the individual rects from the region and paint them into the shareable bitmap.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::mainFrameHasCustomRepresentation):
+ * WebProcess/WebPage/WebPage.h:
+ Add helper function.
+
+ * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
+ Use helper function.
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add UpdateInfo class
+ https://bugs.webkit.org/show_bug.cgi?id=52306
+
+ * Shared/UpdateInfo.cpp: Added.
+ (WebKit::UpdateInfo::encode):
+ (WebKit::UpdateInfo::decode):
+ * Shared/UpdateInfo.h: Added.
+ (WebKit::UpdateInfo::UpdateInfo):
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More work on the new drawing area implementation
+ https://bugs.webkit.org/show_bug.cgi?id=52302
+
+ * Platform/Region.cpp:
+ (WebKit::Region::Shape::segments_end):
+ segments_end could end up returning an iterator that is one element past the Vector data, so
+ we can't use operator[] since that will assert.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::DrawingAreaImpl):
+ Initialize the timer.
+
+ (WebKit::DrawingAreaImpl::setNeedsDisplay):
+ Unite the rect with the dirty region and schedule a display.
+
+ (WebKit::DrawingAreaImpl::setSize):
+ Tell the web page to resize.
+
+ (WebKit::DrawingAreaImpl::scheduleDisplay):
+ Start a display timer if needed.
+
+ (WebKit::DrawingAreaImpl::display):
+ Add a stub.
+
+2011-01-12 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix after r75527. Rename 'BackingStoreCairo.cpp'
+ to 'ShareableBitmapCairo.cpp' to match VS project changes.
+
+ * Shared/cairo/BackingStoreCairo.cpp: Removed.
+ * Shared/cairo/ShareableBitmapCairo.cpp: Copied from Shared/cairo/BackingStoreCairo.cpp.
+
+2011-01-11 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by John Sullivan.
+
+ WebKit2: "Webpages not responding" dialog appears when <select> popup menu is showing
+ https://bugs.webkit.org/show_bug.cgi?id=52242
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showPopupMenu):
+ On Windows, stop the responsiveness timer before calling showPopupMenu().
+
+2011-01-11 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ UIProcess kills the WebProcess sometimes when detached frames exist
+ https://bugs.webkit.org/show_bug.cgi?id=52227
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didSaveFrameToPageCache): Don't consider the message invalid
+ if it came in for a detached frame.
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Build fix.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a Region class which represents a graphical region
+ https://bugs.webkit.org/show_bug.cgi?id=52255
+
+ * Platform/Region.cpp: Added.
+ (WebKit::Region::Region):
+ (WebKit::Region::rects):
+ (WebKit::Region::Shape::Shape):
+ (WebKit::Region::Shape::appendSpan):
+ (WebKit::Region::Shape::canCoalesce):
+ (WebKit::Region::Shape::appendSpans):
+ (WebKit::Region::Shape::appendSegment):
+ (WebKit::Region::Shape::spans_begin):
+ (WebKit::Region::Shape::spans_end):
+ (WebKit::Region::Shape::segments_begin):
+ (WebKit::Region::Shape::segments_end):
+ (WebKit::Region::Shape::dump):
+ (WebKit::Region::Shape::bounds):
+ (WebKit::Region::Shape::move):
+ (WebKit::Region::Shape::swap):
+ (WebKit::Region::Shape::shapeOperation):
+ (WebKit::Region::Shape::UnionOperation::trySimpleOperation):
+ (WebKit::Region::Shape::unionShapes):
+ (WebKit::Region::Shape::IntersectOperation::trySimpleOperation):
+ (WebKit::Region::Shape::intersectShapes):
+ (WebKit::Region::Shape::SubtractOperation::trySimpleOperation):
+ (WebKit::Region::Shape::subtractShapes):
+ (WebKit::Region::dump):
+ (WebKit::Region::intersect):
+ (WebKit::Region::unite):
+ (WebKit::Region::subtract):
+ (WebKit::Region::move):
+ * Platform/Region.h: Added.
+ (WebKit::Region::bounds):
+ (WebKit::Region::isEmpty):
+ (WebKit::Region::Span::Span):
+ (WebKit::Region::Shape::isEmpty):
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add DidSetSize message
+ https://bugs.webkit.org/show_bug.cgi?id=52254
+
+ * DerivedSources.make:
+ Add DrawingAReaProxy.messages.in.
+
+ * Platform/CoreIPC/MessageID.h:
+ Add DrawingAreaProxy message class.
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::didSetSize):
+ Add CoreIPC message handler function.
+
+ * UIProcess/DrawingAreaProxy.messages.in: Added.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::didSetSize):
+ Add stub.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ Handle DrawingAreaProxy messages.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setSize):
+ Send a DidSetSize message for now.
+
+2011-01-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix spelling mistake. Sharable -> Shareable.
+
+ * Shared/API/c/WKImage.h:
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toImageOptions):
+ * Shared/ImageOptions.h:
+ * Shared/WebImage.cpp:
+ (WebKit::WebImage::create):
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add SetSize message
+ https://bugs.webkit.org/show_bug.cgi?id=52247
+
+ * DerivedSources.make:
+ Add DrawingArea.messages.in
+
+ * Platform/CoreIPC/MessageID.h:
+ Add DrawingArea message class.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::sizeDidChange):
+ Call sendSetSize.
+
+ (WebKit::DrawingAreaProxyImpl::sendSetSize):
+ Send a SetSize message.
+
+ * UIProcess/DrawingAreaProxyImpl.h:
+ Add setSize override.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::setSize):
+ Add setSize member function.
+
+ * WebProcess/WebPage/DrawingArea.messages.in: Added.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ Add setSize.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveMessage):
+ Handle drawing area messages.
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Replace ASSERTs with FIXMEs.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::sizeDidChange):
+ (WebKit::DrawingAreaProxyImpl::setPageIsVisible):
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add DrawingAreaImpl skeleton class
+ https://bugs.webkit.org/show_bug.cgi?id=52246
+
+ * UIProcess/API/mac/WKView.mm:
+ (useNewDrawingArea):
+ New function which controls which drawing area to use, through an environment variable.
+
+ (-[WKView drawRect:]):
+ Bail if we're using the new drawing area (for now).
+
+ (-[WKView WebKit::]):
+ Create a DrawingAreaProxyImpl when asked to.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ Create a DrawingAreaImpl when asked to.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp: Added.
+ * WebProcess/WebPage/DrawingAreaImpl.h: Added.
+ Add DrawingAreaImpl class.
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add Mac-only DrawingAreaProxyImpl class skeleton
+ https://bugs.webkit.org/show_bug.cgi?id=52243
+
+ This is the proxy side of a new drawing area implementation. This is Mac only for now
+ while the design is being fleshed out.
+
+ * Shared/DrawingAreaInfo.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
+ * UIProcess/DrawingAreaProxyImpl.cpp: Added.
+ (WebKit::DrawingAreaProxyImpl::create):
+ (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
+ (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl):
+ (WebKit::DrawingAreaProxyImpl::didReceiveMessage):
+ (WebKit::DrawingAreaProxyImpl::didReceiveSyncMessage):
+ (WebKit::DrawingAreaProxyImpl::paint):
+ (WebKit::DrawingAreaProxyImpl::sizeDidChange):
+ (WebKit::DrawingAreaProxyImpl::setPageIsVisible):
+ (WebKit::DrawingAreaProxyImpl::attachCompositingContext):
+ (WebKit::DrawingAreaProxyImpl::detachCompositingContext):
+ * UIProcess/DrawingAreaProxyImpl.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
+ (WebKit::WebPopupMenu::setUpPlatformData):
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename ShareableBitmap::createSharable to createShareable
+ https://bugs.webkit.org/show_bug.cgi?id=52234
+
+ * Shared/ShareableBitmap.cpp:
+ (WebKit::ShareableBitmap::createShareable):
+ * Shared/ShareableBitmap.h:
+ * Shared/WebImage.cpp:
+ (WebKit::WebImage::create):
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::geometryDidChange):
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::updateFindIndicator):
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename BackingStore to ShareableBitmap
+ https://bugs.webkit.org/show_bug.cgi?id=52228
+
+ * GNUmakefile.am:
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::geometryDidChange):
+ * PluginProcess/PluginControllerProxy.h:
+ * Shared/API/c/cg/WKImageCG.cpp:
+ (WKImageCreateCGImage):
+ * Shared/BackingStore.cpp: Removed.
+ * Shared/BackingStore.h: Removed.
+ * Shared/PlatformPopupMenuData.cpp:
+ (WebKit::PlatformPopupMenuData::decode):
+ * Shared/PlatformPopupMenuData.h:
+ * Shared/ShareableBitmap.cpp: Copied from WebKit2/Shared/BackingStore.cpp.
+ (WebKit::ShareableBitmap::create):
+ (WebKit::ShareableBitmap::createSharable):
+ (WebKit::ShareableBitmap::createHandle):
+ (WebKit::ShareableBitmap::ShareableBitmap):
+ (WebKit::ShareableBitmap::~ShareableBitmap):
+ (WebKit::ShareableBitmap::resize):
+ (WebKit::ShareableBitmap::data):
+ * Shared/ShareableBitmap.h: Copied from WebKit2/Shared/BackingStore.h.
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+ * Shared/WebImage.cpp:
+ (WebKit::WebImage::create):
+ (WebKit::WebImage::WebImage):
+ (WebKit::WebImage::~WebImage):
+ (WebKit::WebImage::size):
+ * Shared/WebImage.h:
+ (WebKit::WebImage::bitmap):
+ * Shared/cairo/BackingStoreCairo.cpp:
+ (WebKit::ShareableBitmap::createGraphicsContext):
+ (WebKit::ShareableBitmap::paint):
+ * Shared/cg/BackingStoreCG.cpp: Removed.
+ * Shared/cg/ShareableBitmapCG.cpp: Copied from WebKit2/Shared/cg/BackingStoreCG.cpp.
+ (WebKit::ShareableBitmap::createGraphicsContext):
+ (WebKit::ShareableBitmap::paint):
+ * Shared/gtk/BackingStoreGtk.cpp: Removed.
+ * Shared/gtk/ShareableBitmapGtk.cpp: Copied from WebKit2/Shared/gtk/BackingStoreGtk.cpp.
+ (WebKit::ShareableBitmap::createGraphicsContext):
+ (WebKit::ShareableBitmap::paint):
+ * Shared/qt/BackingStoreQt.cpp: Removed.
+ * Shared/qt/ShareableBitmapQt.cpp: Copied from WebKit2/Shared/qt/BackingStoreQt.cpp.
+ (WebKit::ShareableBitmap::createGraphicsContext):
+ (WebKit::ShareableBitmap::paint):
+ * UIProcess/FindIndicator.cpp:
+ (WebKit::FindIndicator::create):
+ (WebKit::FindIndicator::FindIndicator):
+ * UIProcess/FindIndicator.h:
+ (WebKit::FindIndicator::contentImage):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::geometryDidChange):
+ * WebProcess/Plugins/PluginProxy.h:
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::updateFindIndicator):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::snapshotInViewCoordinates):
+ (WebKit::WebPage::snapshotInDocumentCoordinates):
+ * win/WebKit2.vcproj:
+
+2011-01-11 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ [WKView setFrameSize:] derefs _page->drawingArea() without null check
+ <https://bugs.webkit.org/show_bug.cgi?id=52231>
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView setFrameSize:]):
+ Null check drawingArea(). This is OK because if it doesn't exist then it will be
+ created later with the correct initial size.
+
+2011-01-07 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Paste and drag and drop use different code paths to interact with the pasteboard.
+ https://bugs.webkit.org/show_bug.cgi?id=52093
+ The change consists in a refactoring of the code to have only one class that
+ deals with the pasteboard on Mac.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: Added two methods to provide to WebCore functionality
+ exposed by NSURLExtras.
+ (WebKit::WebEditorClient::canonicalizeURL):
+ (WebKit::WebEditorClient::canonicalizeURLString):
+
+2011-01-11 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Anders Carlsson and Sam Weinig.
+
+ Fix crash on launch on Windows.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onSizeEvent):
+ The drawing area is no longer initialized before the WebView is created and the first
+ onSize is receieved.
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Automatically reinitialize the web page on relaunch
+ https://bugs.webkit.org/show_bug.cgi?id=52224
+ <rdar://problem/8765695>
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _didRelaunchProcess]):
+ Remove call to reinitializeWebPage.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::relaunch):
+ Call initializeWebPage().
+
+ (WebKit::WebPageProxy::initializeWebPage):
+ Assert that the web page is valid here.
+
+ * UIProcess/WebPageProxy.h:
+ Remove reinitializeWebPage.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::didRelaunchProcess):
+ Remove call to reinitializeWebPage.
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pass the view size to the DrawingAreaProxy constructor
+ https://bugs.webkit.org/show_bug.cgi?id=52189
+
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::DrawingAreaProxy):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::viewSize):
+ * UIProcess/WebPageProxy.h:
+
+2011-01-11 Sam Weinig <sam@webkit.org>
+
+ Roll r75460 back in with build fix.
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Andreas Kling.
+
+ Work towards having the WebPageProxy decide when to create the DrawingAreaProxy
+ https://bugs.webkit.org/show_bug.cgi?id=52184
+
+ Qt part made my Balazs Kelemen.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::createDrawingAreaProxy):
+ Call -[WKView _createDrawingAreaProxy].
+
+ (WebKit::PageClientImpl::setViewNeedsDisplay):
+ Call setNeedsDisplayInRect on the WKView.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ No need to set the drawing area proxy anymore.
+
+ (-[WKView _createDrawingAreaProxy]):
+ Create a chunked update drawing area proxy for now.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ Added a QGraphicsItem* member that is initialized in init to the accociated view.
+ Implement the new functions. This is a temporary solution, in the long term the view
+ and the page should be decoupled.
+ (QGraphicsWKView::QGraphicsWKView):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPagePrivate::init):
+ (QWKPagePrivate::createDrawingAreaProxy):
+ (QWKPagePrivate::setViewNeedsDisplay):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+
+ * UIProcess/PageClient.h:
+ Add new pure virtual member functions.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ Set the new drawing area proxy.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ No need to set the drawing area proxy anymore.
+
+ (WebKit::WebView::createDrawingAreaProxy):
+ Create a chunked update drawing area proxy for now.
+
+ (WebKit::WebView::setViewNeedsDisplay):
+ Invalidate the window.
+
+2011-01-11 Adam Roben <aroben@apple.com>
+
+ Fix a typo in a comment
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+
+2011-01-10 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r75460.
+ http://trac.webkit.org/changeset/75460
+ https://bugs.webkit.org/show_bug.cgi?id=52191
+
+ It broke Qt-WK2 build (Requested by Ossy on #webkit).
+
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKGeolocationPermissionRequest.cpp: Removed.
+ * UIProcess/API/C/WKGeolocationPermissionRequest.h: Removed.
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WebKit2.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: Removed.
+ * UIProcess/GeolocationPermissionRequestManagerProxy.h: Removed.
+ * UIProcess/GeolocationPermissionRequestProxy.cpp: Removed.
+ * UIProcess/GeolocationPermissionRequestProxy.h: Removed.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::processDidCrash):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/WebUIClient.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: Removed.
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.h: Removed.
+ * WebProcess/Geolocation/WebGeolocationManager.cpp:
+ * WebProcess/Geolocation/WebGeolocationManager.h:
+ * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
+ (WebKit::WebGeolocationClient::requestPermission):
+ (WebKit::WebGeolocationClient::cancelPermissionRequest):
+ * WebProcess/WebCoreSupport/WebGeolocationClient.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2011-01-10 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed, rolling out r75459
+ http://trac.webkit.org/changeset/75459
+
+ Work towards having the WebPageProxy decide when to create the DrawingAreaProxy
+ https://bugs.webkit.org/show_bug.cgi?id=52184
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ * UIProcess/API/mac/WKView.mm:
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ * UIProcess/win/WebView.h:
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove size parameter to WebPageProxy::initializeWebPage
+ https://bugs.webkit.org/show_bug.cgi?id=52188
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::init):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Didn't mean to land this.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ * UIProcess/WebPageProxy.h:
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebPageProxy::creationParameters no longer needs to take a size
+ https://bugs.webkit.org/show_bug.cgi?id=52187
+
+ WebPageProxy::creationParameters can just ask the page client for the view size now.
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::createInspectorPage):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ (WebKit::WebPageProxy::createNewPage):
+ (WebKit::WebPageProxy::creationParameters):
+ * UIProcess/WebPageProxy.h:
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pass information about the view in the WebPageCreationParameters
+ https://bugs.webkit.org/show_bug.cgi?id=52186
+
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ Encode and decode the state flags.
+
+ * Shared/WebPageCreationParameters.h:
+ Add new state flags.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::creationParameters):
+ Initialize the state flags.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ Update the page state from the state flags.
+
+2011-01-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Make Geolocation features work in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=52078
+
+ Step 2 - Add support for requesting and granting permission for geolocation.
+
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ * UIProcess/API/C/WebKit2.h:
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKGeolocationPermissionRequest.cpp: Added.
+ * UIProcess/API/C/WKGeolocationPermissionRequest.h: Added.
+ Add new API type, WKGeolocationPermissionRequestRef.
+
+ * UIProcess/API/C/WKPage.h:
+ Add new UIClient function for requesting permission.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ Stub out the UIClient.
+
+ * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: Added.
+ * UIProcess/GeolocationPermissionRequestManagerProxy.h: Added.
+ * UIProcess/GeolocationPermissionRequestProxy.cpp: Added.
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/WebUIClient.h:
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: Added.
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.h: Added.
+ * WebProcess/Geolocation/WebGeolocationManager.cpp:
+ * WebProcess/Geolocation/WebGeolocationManager.h:
+ * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
+ * WebProcess/WebCoreSupport/WebGeolocationClient.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::didReceiveGeolocationPermissionDecision):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::geolocationPermissionRequestManager):
+ * WebProcess/WebPage/WebPage.messages.in:
+ Track the permission request through both sides of the process divide.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Work towards having the WebPageProxy decide when to create the DrawingAreaProxy
+ https://bugs.webkit.org/show_bug.cgi?id=52184
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::createDrawingAreaProxy):
+ Call -[WKView _createDrawingAreaProxy].
+
+ (WebKit::PageClientImpl::setViewNeedsDisplay):
+ Call setNeedsDisplayInRect on the WKView.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ No need to set the drawing area proxy anymore.
+
+ (-[WKView _createDrawingAreaProxy]):
+ Create a chunked update drawing area proxy for now.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::createDrawingAreaProxy):
+ (QWKPagePrivate::setViewNeedsDisplay):
+ Add stubs.
+
+ * UIProcess/PageClient.h:
+ Add new pure virtual member functions.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ Set the new drawing area proxy.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ No need to set the drawing area proxy anymore.
+
+ (WebKit::WebView::createDrawingAreaProxy):
+ Create a chunked update drawing area proxy for now.
+
+ (WebKit::WebView::setViewNeedsDisplay):
+ Invalidate the window.
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build again.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::isViewWindowActive):
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onShowWindowEvent):
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Use a pull model for view state changes
+ https://bugs.webkit.org/show_bug.cgi?id=52175
+
+ Instead of having the WKView call setFocused, setActive etc on the WebPageProxy, the
+ WKView now simply informs the WebPageProxy what has changed, using the WebPageProxy::viewStateDidChange
+ function. The WebPageProxy can then fetch the relevant information using newly added PageClient functions.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::viewSize):
+ (WebKit::PageClientImpl::isViewWindowActive):
+ (WebKit::PageClientImpl::isViewFocused):
+ (WebKit::PageClientImpl::isViewVisible):
+ (WebKit::PageClientImpl::isViewInWindow):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ (-[WKView becomeFirstResponder]):
+ (-[WKView resignFirstResponder]):
+ (-[WKView viewDidMoveToWindow]):
+ (-[WKView _windowDidBecomeKey:]):
+ (-[WKView _windowDidResignKey:]):
+ (-[WKView viewDidHide]):
+ (-[WKView viewDidUnhide]):
+ (-[WKView _isFocused]):
+ (-[WKView _didRelaunchProcess]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::focusInEvent):
+ (QGraphicsWKView::focusOutEvent):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPagePrivate::viewSize):
+ (QWKPagePrivate::isViewWindowActive):
+ (QWKPagePrivate::isViewFocused):
+ (QWKPagePrivate::isViewVisible):
+ (QWKPagePrivate::isViewInWindow):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::createWebPage):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::create):
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::viewStateDidChange):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::createWebPage):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::onSetFocusEvent):
+ (WebKit::WebView::onKillFocusEvent):
+ (WebKit::WebView::onShowWindowEvent):
+ (WebKit::WebView::updateActiveState):
+ (WebKit::WebView::viewSize):
+ (WebKit::WebView::isViewWindowActive):
+ (WebKit::WebView::isViewFocused):
+ (WebKit::WebView::isViewVisible):
+ (WebKit::WebView::isViewInWindow):
+ (WebKit::WebView::didRelaunchProcess):
+ (WebKit::WebView::setIsInWindow):
+ * UIProcess/win/WebView.h:
+
+2011-01-10 Adam Roben <aroben@apple.com>
+
+ Don't pass a reference type to va_start
+
+ C++ says this results in undefined behavior:
+
+ The restrictions that ISO C places on the second parameter to the
+ va_start() macro in header <stdarg.h> are different in this
+ International Standard. The parameter parmN is the identifier of
+ the rightmost parameter in the variable parameter list of the
+ function definition (the one just before the ...).221) If the
+ parameter parmN is declared with a function, array, or reference
+ type, or with a type that is not compatible with the type that
+ results when passing an argument for which there is no parameter,
+ the behavior is undefined.
+
+ Fixes <http://webkit.org/b/52168> Title of standalone image document
+ includes bogus image dimensions
+
+ Rubber-stamped by Eric Seidel.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::formatLocalizedString): Don't use a reference type for
+ |format|.
+
+2011-01-10 Siddharth Mathur <siddharth.mathur@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Support for ARM's RVCT(ARMCC) compiler in import/export directives
+ https://bugs.webkit.org/show_bug.cgi?id=52146
+
+ * Shared/API/c/WKBase.h:
+
+2011-01-10 Sam Weinig <sam@webkit.org>
+
+ Fix the build.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+
+2011-01-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Make Geolocation features work in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=52078
+
+ Step 1 - Add enough support to get position data from a provider.
+ This does not include permission support.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ Add #include of Arguments.h for CoreIPC::In and Out definitions.
+
+ * Platform/CoreIPC/MessageID.h:
+ Add new message types.
+
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ Add new API types.
+
+ * Shared/WebGeolocationPosition.cpp: Added.
+ * Shared/WebGeolocationPosition.h: Added.
+ Internal position representation.
+
+ * UIProcess/API/C/WKAPICast.h:
+ Add casts for new API types.
+
+ * UIProcess/API/C/WKContext.cpp:
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/API/C/WKGeolocationManager.cpp: Added.
+ * UIProcess/API/C/WKGeolocationManager.h: Added.
+ * UIProcess/API/C/WKGeolocationPosition.cpp: Added.
+ * UIProcess/API/C/WKGeolocationPosition.h: Added.
+ * UIProcess/API/C/WebKit2.h:
+ Add API to provide and control geolocation data.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::~WebContext):
+ (WebKit::WebContext::processDidClose):
+ (WebKit::WebContext::didReceiveMessage):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::geolocationManagerProxy):
+ * UIProcess/WebGeolocationManagerProxy.cpp: Added.
+ (WebKit::WebGeolocationManagerProxy::create):
+ (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
+ (WebKit::WebGeolocationManagerProxy::~WebGeolocationManagerProxy):
+ (WebKit::WebGeolocationManagerProxy::invalidate):
+ (WebKit::WebGeolocationManagerProxy::initializeProvider):
+ (WebKit::WebGeolocationManagerProxy::providerDidChangePosition):
+ (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
+ (WebKit::WebGeolocationManagerProxy::didReceiveMessage):
+ (WebKit::WebGeolocationManagerProxy::startUpdating):
+ (WebKit::WebGeolocationManagerProxy::stopUpdating):
+ * UIProcess/WebGeolocationManagerProxy.h: Added.
+ (WebKit::WebGeolocationManagerProxy::clearContext):
+ (WebKit::WebGeolocationManagerProxy::type):
+ * UIProcess/WebGeolocationManagerProxy.messages.in: Added.
+ * UIProcess/WebGeolocationProvider.cpp: Added.
+ (WebKit::WebGeolocationProvider::startUpdating):
+ (WebKit::WebGeolocationProvider::stopUpdating):
+ * UIProcess/WebGeolocationProvider.h: Added.
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ * WebProcess/Geolocation: Added.
+ * WebProcess/Geolocation/WebGeolocationManager.cpp: Added.
+ (WebKit::WebGeolocationManager::WebGeolocationManager):
+ (WebKit::WebGeolocationManager::~WebGeolocationManager):
+ (WebKit::WebGeolocationManager::didReceiveMessage):
+ (WebKit::WebGeolocationManager::registerWebPage):
+ (WebKit::WebGeolocationManager::unregisterWebPage):
+ (WebKit::WebGeolocationManager::didChangePosition):
+ (WebKit::WebGeolocationManager::didFailToDeterminePosition):
+ * WebProcess/Geolocation/WebGeolocationManager.h: Added.
+ * WebProcess/Geolocation/WebGeolocationManager.messages.in: Added.
+ * WebProcess/WebCoreSupport/WebGeolocationClient.cpp: Added.
+ (WebKit::WebGeolocationClient::geolocationDestroyed):
+ (WebKit::WebGeolocationClient::startUpdating):
+ (WebKit::WebGeolocationClient::stopUpdating):
+ (WebKit::WebGeolocationClient::setEnableHighAccuracy):
+ (WebKit::WebGeolocationClient::lastPosition):
+ (WebKit::WebGeolocationClient::requestPermission):
+ (WebKit::WebGeolocationClient::cancelPermissionRequest):
+ * WebProcess/WebCoreSupport/WebGeolocationClient.h: Added.
+ (WebKit::WebGeolocationClient::WebGeolocationClient):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ (WebKit::WebProcess::geolocationManager):
+ Pipe geolocation positions/errors from the UIProcess to the WebProcess.
+
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2011-01-10 Martin Robinson <mrobinson@igalia.com>
+
+ GTK+ build fix. Continue to fix 'make dist.'
+
+ * GNUmakefile.am: Remove more non-existent files from the WebKit2 build.
+
+2011-01-10 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Remove webkit2 files that are still not added to the
+ repository from the makefile
+ https://bugs.webkit.org/show_bug.cgi?id=52145
+
+ This change is required for the release, we can add the lines
+ again to the makefiles with the patches adding the files.
+
+ * GNUmakefile.am:
+
+2011-01-10 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] [WK2] MiniBrowser does not load pages opened in new windows
+ https://bugs.webkit.org/show_bug.cgi?id=52111
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::context): Implement this method.
+
+2011-01-09 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/8839498> Assertion failure in KURL::KURL when calling WKURLRequestCreateWithWKURL with a non-parsed URL
+ https://bugs.webkit.org/show_bug.cgi?id=52132
+
+ * Shared/API/c/WKURLRequest.cpp:
+ (WKURLRequestCreateWithWKURL): Parse the URL.
+ * Shared/WebString.h: Fixed a comment.
+ * Shared/WebURL.h: Ditto.
+
+2011-01-09 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
+
+ Reviewed by Martin Robinson.
+
+ Changes to add Process Launcher and Thread Launcher implementation to the WebKit2 GTK port.
+ The main() implementation for WebKitWebProcess binary to launch Web process from UI process.
+ https://bugs.webkit.org/show_bug.cgi?id=48511
+
+ * UIProcess/Launcher/gtk: Added.
+ * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: Added. GTK (UNIX_X11 specific) implementation
+ (WebKit::ProcessLauncher::launchProcess):
+ (WebKit::ProcessLauncher::terminateProcess):
+ (WebKit::ProcessLauncher::platformInvalidate):
+ * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
+ (WebKit::ThreadLauncher::createWebThread):
+ * WebProcess/gtk: Added.
+ * WebProcess/gtk/WebProcessGtk.cpp: Added. The stubbed implementations of virtual functions of WebProcess.h for GTK port.
+ (WebKit::WebProcess::platformSetCacheModel):
+ (WebKit::WebProcess::platformClearResourceCaches):
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ (WebKit::WebProcess::platformShutdown):
+ * WebProcess/gtk/WebProcessMainGtk.cpp: Added. The WebProcessMain call which initiates the Web Process for GTK port.
+ (WebKit::WebProcessMainGtk):
+ * WebProcess/gtk/WebProcessMainGtk.h: Added. The WebProcessMain declaration for Web Process for GTK port.
+ * gtk/MainGtk.cpp: Added. The main function implementation for binary WebKitWebProcess.
+ (main):
+
+2011-01-07 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] WebKit2 GNUmakefile is out of date from trunk
+ https://bugs.webkit.org/show_bug.cgi?id=51883
+
+ * GNUmakefile.am: Updated sources list as per latest revision
+ * Platform/gtk/RunLoopGtk.cpp:
+ (RunLoop::TimerBase::start):
+ * Platform/gtk/WorkQueueGtk.cpp:
+ (WorkQueue::scheduleWorkAfterDelay):
+ * Shared/gtk/BackingStoreGtk.cpp:
+ (WebKit::BackingStore::paint):
+ * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
+ (WebKit::InjectedBundle::load):
+ * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
+ (WebKit::NetscapePlugin::platformInvalidate):
+
+2011-01-08 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8812759> In WebKit2, PDF view settings (mode and scale) do not stick
+ https://bugs.webkit.org/show_bug.cgi?id=52118
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::encode): Encode the double values map.
+ (WebKit::WebPreferencesStore::decode): Decode the double values map.
+ (WebKit::defaultValueForKey): Added double instance.
+ (WebKit::WebPreferencesStore::setDoubleValueForKey): Added.
+ (WebKit::WebPreferencesStore::getDoubleValueForKey): Added.
+ * Shared/WebPreferencesStore.h: Added PDFScaleFactor and PDFDisplayMode preferences.
+ * UIProcess/API/mac/PDFViewController.mm:
+ (-[WKPDFView initWithFrame:PDFViewController:WebKit::]): Initialize the _pdfViewController ivar.
+ (-[WKPDFView invalidate]): Changed 'nil' to '0' in assignment to a non-Objective-C pointer.
+ (-[WKPDFView setDocument:]): Added.
+ (-[WKPDFView _applyPDFPreferences]): Added.
+ (-[WKPDFView _updatePreferences:]): Added.
+ (-[WKPDFView _updatePreferencesSoon]): Added.
+ (-[WKPDFView _scaleOrDisplayModeOrPageChanged:]): Added.
+ (-[WKPDFView viewDidMoveToWindow]): Added. Starts observing the PDF view for changes to scale
+ and display mode.
+ (-[WKPDFView viewWillMoveToWindow:]): Added. Stops observing for changes.
+ (WebKit::PDFViewController::setPDFDocumentData): Changed to call throguh -[WKPDFView setDocument:].
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::updateDoubleValueForKey): Added.
+ * UIProcess/WebPreferences.h:
+ * UIProcess/cf/WebPreferencesCF.cpp:
+ (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added empty implementation.
+ * UIProcess/gtk/WebPreferencesGtk.cpp:
+ (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added stub.
+ * UIProcess/mac/WebPreferencesMac.mm:
+ (WebKit::setDoubleValueIfInUserDefaults): Added.
+ (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added.
+ * UIProcess/qt/WebPreferencesQt.cpp:
+ (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added.
+
+2011-01-08 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ In WebKit2, page zooming does not work with PDF
+ https://bugs.webkit.org/show_bug.cgi?id=52113
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSupportsTextZoom): Added. Returns whether the page currently supports text-only zoom.
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/mac/PDFViewController.h: Made pdfDocumentClass() private and declared new
+ member functions.
+ * UIProcess/API/mac/PDFViewController.mm:
+ (WebKit::PDFViewController::zoomFactor): Added.
+ (WebKit::PDFViewController::setZoomFactor): Added.
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::customRepresentationZoomFactor): Added. Calls through to the WKView.
+ (WebKit::PageClientImpl::setCustomRepresentationZoomFactor): Ditto.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _customRepresentationZoomFactor]): Added. Calls through to the PDFViewController.
+ (-[WKView _setCustomRepresentationZoomFactor:]): Ditto.
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QWKPagePrivate::customRepresentationZoomFactor): Added.
+ (QWKPagePrivate::setCustomRepresentationZoomFactor): Added.
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy): Coding style fix.
+ (WebKit::WebPageProxy::supportsTextZoom): Added. Returns false if the main frame has a custom
+ representation or is a standalone image, true otherwise.
+ (WebKit::WebPageProxy::setTextZoomFactor): Bail out if the main frame has a custom representation.
+ (WebKit::WebPageProxy::pageZoomFactor): If the main frame has a custom representation, get the
+ zoom factor from the page client.
+ (WebKit::WebPageProxy::setPageZoomFactor): If the main frame has a custom representation, have
+ the client set the zoom factor.
+ (WebKit::WebPageProxy::setPageAndTextZoomFactors): Ditto.
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::textZoomFactor): Changed to return 1 if the main frame has a custom
+ representation.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::customRepresentationZoomFactor): Added.
+ (WebKit::WebView::setCustomRepresentationZoomFactor): Added.
+ * UIProcess/win/WebView.h:
+
+2011-01-08 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Add WKBundleFrameGetVisibleContentBounds().
+ https://bugs.webkit.org/show_bug.cgi?id=52089
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetVisibleContentBounds):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ Added WKBundleFrameGetVisibleContentBounds().
+
+2011-01-08 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] QWKView does not propagate show and hide events to the drawing area
+ https://bugs.webkit.org/show_bug.cgi?id=52108
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::event): Call setPageIsVisible on the drawing area
+ if the event is Show or Hide.
+
+2011-01-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][Symbian] Make sure WebKit headers are included before platform headers on Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=31273
+
+ On Symbian PREPEND_INCLUDEPATH is the best way to make sure that WebKit headers
+ are included before platform headers. On all other platforms continue to use
+ INCLUDEPATH (as before).
+
+ * WebKit2.pro:
+
+2011-01-08 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt][WK2] Unreviewed buildfix after r75313.
+
+ * Scripts/generate-forwarding-headers.pl:
+
+2011-01-08 Adam Barth <abarth@webkit.org>
+
+ Moving WebCore changes the layout of the Qt build directory as well,
+ which means we need to change where we look for these generated files.
+
+ * DerivedSources.pro:
+
+2011-01-07 Adam Barth <abarth@webkit.org>
+
+ Rubber-stamped by Eric Seidel.
+
+ Move WebCore to Source
+ https://bugs.webkit.org/show_bug.cgi?id=52050
+
+ * WebKit2.pro:
+
+2011-01-07 Stephanie Lewis <slewis@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ <rdar://problem/8649617> Migrate memory tracking from Safari to WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=50799 Add Memory Sampler to WebKit
+
+ Add a sampler for printing off process memory statistics.
+ This tool can track:
+
+ WebCore
+ - FastMalloc allocations bytes (in use or committed)
+ JavaScriptCore
+ - Garbage collector heap bytes (in use or committed)
+ - Stack bytes (committed only!)
+ - JIT Code bytes (committed only!)
+ Malloc zones
+ - In use bytes for the following zones:
+ * Default zone (in use or committed)
+ * DispCon zone (in use or committed)
+ * Purgable zone (in use or committed)
+ Task Info
+ - Resident size memory (RSIZE)
+
+ Data collected is dumped to a temporary file.
+
+ Create a sandbox for a temporary file.
+ * Shared/SandboxExtension.h:
+ (WebKit::SandboxExtension::createHandleForTemporaryFile):
+ * Shared/mac/SandboxExtensionMac.mm:
+ (WebKit::SandboxExtension::createHandleForTemporaryFile):
+
+ Memory Sampler files
+
+ * Shared/WebMemorySampler.cpp: Added.
+ (WebKit::WebMemorySampler::shared):
+ (WebKit::WebMemorySampler::WebMemorySampler):
+ (WebKit::WebMemorySampler::start):
+ (WebKit::WebMemorySampler::initializeTimers):
+ (WebKit::WebMemorySampler::stop):
+ (WebKit::WebMemorySampler::isRunning):
+ (WebKit::WebMemorySampler::initializeTempLogFile):
+ (WebKit::WebMemorySampler::initializeSandboxedLogFile):
+ (WebKit::WebMemorySampler::writeHeaders):
+ (WebKit::WebMemorySampler::sampleTimerFired):
+ (WebKit::WebMemorySampler::stopTimerFired):
+ (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
+ * Shared/WebMemorySampler.h: Added.
+ * Shared/mac/WebMemorySampler.mac.mm: Added.
+ (WebKit::WebMemorySampler::sampleSystemMalloc):
+ (WebKit::WebMemorySampler::sampleProcessCommittedBytes):
+ (WebKit::WebMemorySampler::processName):
+ (WebKit::WebMemorySampler::sampleWebKit):
+
+ API to start and stop UIProcess and WebProcess sampling.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextStartMemorySampler):
+ (WKContextStopMemorySampler):
+ * UIProcess/API/C/WKContext.h:
+
+ Send messages to WebProcess to start and stop memory sampling.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::processDidFinishLaunching):
+ (WebKit::WebContext::startMemorySampler):
+ (WebKit::WebContext::stopMemorySampler):
+ * UIProcess/WebContext.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::startMemorySampler):
+ (WebKit::WebProcess::stopMemorySampler):
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in:
+
+2011-01-07 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2: Need WKBundleFrameCopyProvisionalURL
+ https://bugs.webkit.org/show_bug.cgi?id=52083
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopyProvisionalURL):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::provisionalURL):
+ Grab the URL from the provisional document loader.
+ * WebProcess/WebPage/WebFrame.h:
+
+2011-01-07 James Robinson <jamesr@chromium.org>
+
+ Revert "Implement mozilla's animationTime property"
+ https://bugs.webkit.org/show_bug.cgi?id=51952
+
+ This approach isn't quite right.
+
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::display):
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::drawRect):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
+
+2011-01-07 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] WebKit2 GNUmakefile is out of date from trunk
+ Adding new stub files for compiling on latest revision
+ https://bugs.webkit.org/show_bug.cgi?id=51883
+
+ * UIProcess/gtk: Added.
+ * UIProcess/gtk/TextCheckerGtk.cpp: Added.
+ (WebKit::TextChecker::state):
+ (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
+ (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
+ (WebKit::TextChecker::setGrammarCheckingEnabled):
+ (WebKit::TextChecker::uniqueSpellDocumentTag):
+ (WebKit::TextChecker::closeSpellDocumentWithTag):
+ (WebKit::TextChecker::checkTextOfParagraph):
+ (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
+ (WebKit::TextChecker::getGuessesForWord):
+ (WebKit::TextChecker::learnWord):
+ (WebKit::TextChecker::ignoreWord):
+ * UIProcess/gtk/WebInspectorGtk.cpp: Added.
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+ (WebKit::WebInspectorProxy::platformOpen):
+ (WebKit::WebInspectorProxy::platformClose):
+ (WebKit::WebInspectorProxy::inspectorPageURL):
+ * UIProcess/gtk/WebPageProxyGtk.cpp: Added.
+ (WebKit::WebPageProxy::standardUserAgent):
+ * UIProcess/gtk/WebPreferencesGtk.cpp: Added.
+ (WebKit::WebPreferences::platformInitializeStore):
+ (WebKit::WebPreferences::platformUpdateStringValueForKey):
+ (WebKit::WebPreferences::platformUpdateBoolValueForKey):
+ (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
+ * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: Added.
+ (WebKit::WebContextMenuClient::lookUpInDictionary):
+ (WebKit::WebContextMenuClient::isSpeaking):
+ (WebKit::WebContextMenuClient::speak):
+ (WebKit::WebContextMenuClient::stopSpeaking):
+ * WebProcess/WebCoreSupport/gtk/WebDatabaseManagerGtk.cpp: Added.
+ (WebKit::WebDatabaseManager::databaseDirectory):
+ * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp: Added.
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ * WebProcess/WebPage/gtk: Added.
+ * WebProcess/WebPage/gtk/WebInspectorGtk.cpp: Added.
+ (WebKit::WebInspector::localizedStringsURL):
+
+2011-01-06 Adam Roben <aroben@apple.com>
+
+ Don't ever call ::SetCursor(0)
+
+ Doing so makes the cursor disappear from the screen.
+
+ Fixes <http://webkit.org/b/52024> Mouse cursor flashes when moving it
+ around a WKView before the web process has finished launching
+
+ Reviewed by Jon Honeycutt.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onSetCursor): If we don't have a cursor to set, just
+ let Windows do its default thing (which is to set the cursor to the
+ window class's cursor, which in our case is the arrow cursor).
+ (WebKit::WebView::cursorToShow): Just return 0 when the page has
+ crashed so that we'll show the default cursor (which is the arrow
+ cursor). This change has no visible effect, but seems slightly better
+ conceptually.
+ (WebKit::WebView::updateNativeCursor): Don't do anything if we don't
+ have a cursor to set.
+
+2011-01-06 Adam Roben <aroben@apple.com>
+
+ Fill the WKView with white when the web process hasn't drawn anything
+ yet
+
+ Fixes <http://webkit.org/b/52023> WKView accumulates pixel garbage
+ before web process has had a chance to draw anything (if Aero is
+ disabled)
+
+ Reviewed by Jon Honeycutt.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::paint):
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::paint):
+ * UIProcess/TiledDrawingAreaProxy.h:
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
+ * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
+ * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
+ * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::paint):
+ Changed these functions to return a boolean indicating whether we
+ actually painted anything.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onPaintEvent): Fill with white (and don't call
+ didDraw) when the DrawingAreaProxy isn't able to paint.
+
+2011-01-06 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ WebKit2: Need WKBundlePagePrivate equivalent of WebKit1's WebViewPrivate's setDefersCallbacks
+ https://bugs.webkit.org/show_bug.cgi?id=52038
+
+ The implementation of WebKit1's WebViewPrivate's setDefersCallbacks on both Windows and Mac
+ calls WebCore::Page::setDefersLoading.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetDefersLoading):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setDefersLoading):
+ * WebProcess/WebPage/WebPage.h:
+
+2011-01-06 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/8261624> and https://bugs.webkit.org/show_bug.cgi?id=47355
+ Change WebKit2 session restoring to restore the full back/forward list.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::registerNewWebBackForwardListItem): Let the UIProcess register its own
+ WebBackForwardListItems in its ID map upon creation.
+ * UIProcess/WebProcessProxy.h:
+
+ * UIProcess/cf/WebPageProxyCF.cpp:
+ (WebKit::WebPageProxy::restoreFromSessionStateData): Register each new list entry in the
+ UIProcess ID map.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::addItemFromUIProcess): Add this method to register UIProcess
+ created items without doing any of the other work normally associated with adding a new back/forward item
+ (such as notifying the UIProcess).
+ * WebProcess/WebPage/WebBackForwardListProxy.h:
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::restoreSession): Map all of the back/forward list entries from the UIProcess then
+ cause a load of the current entry.
+
+2011-01-06 Adam Roben <aroben@apple.com>
+
+ Always show the arrow cursor when the web process has crashed
+
+ Fixes <http://webkit.org/b/52006> WKView shows a stale cursor when the
+ web process crashes
+
+ Reviewed by Ada Chan.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::processDidCrash):
+ (WebKit::WebView::didRelaunchProcess):
+ Update the cursor to reflect the new state.
+
+ (WebKit::WebView::cursorToShow): Always show the arrow cursor when the
+ web process has crashed.
+
+2011-01-06 Adam Roben <aroben@apple.com>
+
+ Reduce code duplication in WebView::updateNativeCursor
+
+ Fixes <http://webkit.org/b/52005> It's not easy to add new behavior to
+ WebView::updateNativeCursor
+
+ Reviewed by Ada Chan.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::cursorToShow): Moved code to choose a cursor here...
+ (WebKit::WebView::updateNativeCursor): ...from here.
+
+ * UIProcess/win/WebView.h: Added cursorToShow.
+
+2011-01-06 Adam Roben <aroben@apple.com>
+
+ Make WKView fill with white when the web process has crashed
+
+ Previously we would just draw whatever we had last drawn into the
+ WKView (i.e., a stale picture of the web page), which was confusing
+ (because the web page would mysteriously not respond to input) and ugly
+ (because it wouldn't behave properly if the window was resized).
+
+ Fixes <http://webkit.org/b/52004> WKView keeps painting a stale
+ picture of the web page when the web process crashes
+
+ Reviewed by Ada Chan.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onPaintEvent): Ported code from -[WKView drawRect:]
+ to fill with white if the page is invalid or has no DrawingArea. As a
+ bonus, also ported the call to WebPageProxy::didDraw from that method.
+
+ (WebKit::WebView::processDidCrash):
+ (WebKit::WebView::didRelaunchProcess):
+ Invalidate our window so that we'll redraw with white or the new page.
+
+2011-01-06 Adam Roben <aroben@apple.com>
+
+ Make WKViews work on Windows after a crashed web process gets relaunched
+
+ Fixes <http://webkit.org/b/52001> Relaunching the web process fails to
+ revivify WKViews on Windows
+
+ Reviewed by Ada Chan.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::didRelaunchProcess): Implemented by porting code from
+ -[WKView _didRelaunchProcess].
+
+2011-01-06 Adam Roben <aroben@apple.com>
+
+ Remove WebView::m_rect
+
+ It was only used in the constructor, and wasn't even kept up-to-date as
+ the WebView's size changed.
+
+ Fixes <http://webkit.org/b/52000> WebView::m_rect is unnecessary
+
+ Reviewed by Ada Chan.
+
+ * UIProcess/win/WebView.cpp:
+ * UIProcess/win/WebView.h:
+
+2011-01-05 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Ada Chan.
+
+ WebKit2: Should be able to call into injected bundle to ask if we should allow resource loads
+ https://bugs.webkit.org/show_bug.cgi?id=51969
+
+ Add the ability to call into the injected bundle to ask if we should allow resource loads.
+ If the injected bundle says we should cancel, we clear out the ResourceRequest that was
+ passed into willSendRequest, which cancels the resource load.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add the new callback for allowing/cancelling
+ resource loads.
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::shouldLoadResourceForFrame): Calls through to the client.
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchWillSendRequest): Ask the InjectedBundlePageLoaderClient if we
+ should load the resource or not.
+
+2011-01-06 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Add APIs to WKBundleFrame to get content bounds and scroll offset
+ https://bugs.webkit.org/show_bug.cgi?id=51968
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetContentBounds):
+ (WKBundleFrameGetScrollOffset):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ Add WKBundleFrameGetContentBounds() and WKBundleFrameGetScrollOffset().
+
+2011-01-06 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Implement mozilla's animationTime property
+ https://bugs.webkit.org/show_bug.cgi?id=51952
+
+ Tells the page to clear the current animation time after producing a frame.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::drawRect):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::display):
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
+
+2011-01-06 Darin Adler <darin@apple.com>
+
+ Redo the half-done rename from the last check-in.
+ Sorry for the broken build last night.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::removeItem): Renamed.
+ * WebProcess/WebPage/WebBackForwardListProxy.h: Updated
+ for new name.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didRemoveBackForwardItem): Updated to
+ use the new name.
+
+2011-01-06 Maciej Stachowiak <mjs@apple.com>
+
+ Rubber stamped by Dan Bernstein.
+
+ Fix build for Darin's previous change w/ the obvious renaming.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didRemoveBackForwardItem):
+
+2011-01-05 Darin Adler <darin@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Back/Forward entries in WebKit2 leak
+ https://bugs.webkit.org/show_bug.cgi?id=51983
+
+ Besides fixing the leak, this also fixes a problem where
+ all history items were sent over to the UI process, but
+ we wanted to send only back/forward items.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::pageClosed): Added.
+ Tells the web process about all the back/forward
+ items being removed.
+ (WebKit::WebBackForwardList::addItem): Ditto.
+ Also removed a redundant call to didChangeBackForwardList.
+ (WebKit::WebBackForwardList::clear): Ditto.
+
+ * UIProcess/WebBackForwardList.h: Added pageClosed.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close): Added a call to pageClosed.
+ (WebKit::WebPageProxy::backForwardRemovedItem): Added.
+ Sends a message to the web page in the web process.
+
+ * UIProcess/WebPageProxy.h: Added backForwardRemovedItem.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::updateBackForwardItem): Added an itemID argument,
+ since callers will now be getting it and we don't want to
+ get it twice. Removed the code to generate an ID. Also
+ removed some local variables to make the code a little
+ tighter and clearer.
+ (WebKit::WK2NotifyHistoryItemChanged): Only call
+ updateBackForwardItem for items that already have IDs.
+ We don't want to send cross-process messages for every
+ history item; just the ones that are top level back/forward
+ items.
+ (WebKit::WebBackForwardListProxy::removeItem):
+ Added. For use when the UI process tells us to remove it.
+ (WebKit::WebBackForwardListProxy::addItem): Added code to
+ assign an ID and put this item into the maps. This is called
+ exactly once on each back/forward item.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.h: Added
+ removeItem.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didRemoveBackForwardItem): Added.
+
+ * WebProcess/WebPage/WebPage.h: Added didRemoveBackForwardItem.
+
+ * WebProcess/WebPage/WebPage.messages.in: Added
+ DidRemoveBackForwardItem message.
+
+2011-01-05 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Debug and Release builds on Windows clobber each other
+ https://bugs.webkit.org/show_bug.cgi?id=49185
+
+ Changes the structure of WebKitBuild build products directory so we
+ completely separate each build configuration into independent directories.
+
+ Although we previously had per-configuration directories for obj, this change adds
+ per-configuration directories for bin, lib, obj, and include. Each configuration's
+ build products are stored within a directory inside of WebKitBuild.
+
+ Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
+ defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).
+
+ * win/WebKit2.make:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+ * win/WebKit2Generated.make:
+ * win/WebKit2GeneratedCommon.vsprops:
+ * win/WebKit2WebProcessPostBuild.cmd:
+ * win/WebKit2WebProcessPreBuild.cmd:
+ * win/WebKitPostBuild.cmd:
+ * win/WebKitPreBuild.cmd:
+
+2011-01-05 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51973
+ Make main frame PDF printing work
+
+ * UIProcess/API/mac/PDFViewController.h:
+ * UIProcess/API/mac/PDFViewController.mm: (WebKit::PDFViewController::makePrintOperation):
+ Ask PDFDocument to create an NSPrintOperation.
+
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView printOperationWithPrintInfo:forFrame:]): Create a new NSPrintOperation, either
+ from scratch or from a PDF view.
+ (-[WKView canPrintHeadersAndFooters]): Report if the view can be re-paginated to add headers
+ and footers.
+
+2011-01-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8750248>
+ Need a way to create a new DownloadProxy from an arbitrary resource request
+
+ <rdar://problem/8750465>
+ Need a way to start a download in WKDownload
+
+ <rdar://problem/8752204>
+ WK2 Context Menus - "Save linked file" support
+
+ * Shared/ContextMenuState.h: Added.
+ Add a ContextMenuState struct which contains state for context menus.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextDownloadURLRequest):
+ Call WebContext::download.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::download):
+ Send a DownloadRequest message to the web process.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showContextMenu):
+ Set the active context menu state.
+
+ (WebKit::WebPageProxy::contextMenuItemSelected):
+ Handle ContextMenuItemTagDownloadImageToDisk and ContextMenuItemTagDownloadLinkToDisk by calling
+ WebContext::Download, passing the respective URLs.
+
+ * UIProcess/WebPageProxy.messages.in:
+ ShowContextMenu now takes state as well.
+
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ (WebKit::WebContextMenuClient::downloadURL):
+ Assert that this is never reached; downloads are handled in the UI process.
+
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ (WebKit::WebContextMenu::show):
+ Pass the context menu state along when sending the ShowContextMenu message.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::downloadRequest):
+ Call the shared DownloadManager.
+
+ * WebProcess/WebProcess.messages.in:
+ Add DownloadRequest message.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add ContextMenuState.h.
+
+2011-01-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed build fix.
+
+ [Qt] [Symbian] Fix building NPAPI support
+
+ NPEvent is mapped to QAction on Symbian. QAction has no
+ default constructor, so toNP() fails to build. Add a case for
+ Symbian behind the OS(SYMBIAN) guard.
+
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
+ (WebKit::toNP):
+
+2011-01-05 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Copy WKImageCG.h to include\WebKit2 in build output
+ https://bugs.webkit.org/show_bug.cgi?id=51944
+
+ * win/WebKit2Generated.make:
+ Add xcopy command to copy WKImageCG.h.
+
+2011-01-05 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Part of <rdar://problem/8261624> and https://bugs.webkit.org/show_bug.cgi?id=47355
+ Change WebKit2 session restoring to restore the full back/forward list
+
+ Add a new message to tell the WebProcess to restore a session state:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::restoreSession):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in: Add the new message, AND fix the intentional misspellings.
+
+ Also, Sam sucks.
+
+ Change WebProcess back/forward list item ids to be odd (UIProcess's will be even):
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::generateHistoryItemID):
+
+ Provide accessors to the entries in the list to pass to the WebProcess:
+ * UIProcess/WebBackForwardList.h:
+ (WebKit::WebBackForwardList::entries):
+ (WebKit::WebBackForwardList::currentIndex):
+
+ Add decoding of the saved back/forward list itmes (we already encode them):
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ (WebKit::generateWebBackForwardItemID):
+ (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
+
+ Instead of loading the current URL, pass the entire last back to the WebProcess:
+ * UIProcess/cf/WebPageProxyCF.cpp:
+ (WebKit::WebPageProxy::restoreFromSessionStateData):
+
+2011-01-05 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51953
+ Add a "SessionState" object for IPC messaging.
+
+ This object includes all data necessary to restore a session state;
+ For now, this is just the back/forward list to restore.
+
+ * Shared/SessionState.cpp: Added.
+ (WebKit::SessionState::SessionState):
+ (WebKit::SessionState::encode):
+ (WebKit::SessionState::decode):
+ * Shared/SessionState.h: Added.
+ (WebKit::SessionState::list):
+ (WebKit::SessionState::currentIndex):
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2011-01-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed build fix.
+
+ Include unistd.h for _exit() for non-Windows builds.
+
+ Build break noticed on QtWebkit Symbian builds.
+
+ * Shared/ChildProcess.cpp:
+
+2011-01-05 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51949
+ Make WebBackForwardListItem shared, and add encoders and decoders
+
+ * Shared/WebBackForwardListItem.cpp: Copied from UIProcess/WebBackForwardListItem.cpp.
+ (WebKit::WebBackForwardListItem::encode):
+ (WebKit::WebBackForwardListItem::decode):
+ * Shared/WebBackForwardListItem.h: Copied from UIProcess/WebBackForwardListItem.h.
+ * UIProcess/WebBackForwardListItem.cpp: Removed.
+ * UIProcess/WebBackForwardListItem.h: Removed.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2011-01-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Handle smart insert/delete
+ https://bugs.webkit.org/show_bug.cgi?id=51946
+
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ * Shared/WebPageCreationParameters.h:
+ Add isSmartInsertDelete enabled.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]):
+ Handle toggleSmartInsertDelete:.
+
+ (-[WKView toggleSmartInsertDelete:]):
+ Toggle the smart insert/delete state.
+
+ * UIProcess/TextChecker.h:
+ Add isSmartInsertDeleteEnabled and setSmartInsertDeleteEnabled.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ Initialize m_isSmartInsertDeleteEnabled.
+
+ (WebKit::WebPageProxy::contextMenuItemSelected):
+ Handle ContextMenuItemTagSmartCopyPaste.
+
+ (WebKit::WebPageProxy::setSmartInsertDeleteEnabled):
+ Update the state and send a SetSmartInsertDeleteEnabled message.
+
+ (WebKit::WebPageProxy::creationParameters):
+ Initialize isSmartInsertDeleteEnabled.
+
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::isSmartInsertDeleteEnabled):
+ Return m_isSmartInsertDeleteEnabled.
+
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::isSmartInsertDeleteEnabled):
+ (WebKit::TextChecker::setSmartInsertDeleteEnabled):
+ Store and fetch the smart insert delete state.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::smartInsertDeleteEnabled):
+ Call WebPage::isSmartInsertDeleteEnabled.
+
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::toggleSmartInsertDelete):
+ Assert that this is never called.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ Initialize m_isSmartInsertDeleteEnabled
+
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::isSmartInsertDeleteEnabled):
+ (WebKit::WebPage::setSmartInsertDeleteEnabled):
+ Add getter and setter.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add SetSmartInsertDeleteEnabled message.
+
+2011-01-05 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * WebProcess/WebPage/WebPage.cpp:
+
+2011-01-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Implement word transformation
+ https://bugs.webkit.org/show_bug.cgi?id=51943
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]):
+ Handle the word transformation selectors.
+
+ (-[WKView uppercaseWord:]):
+ (-[WKView lowercaseWord:]):
+ (-[WKView capitalizeWord:]):
+ Call down to the WebPageProxy.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::uppercaseWord):
+ (WebKit::WebPageProxy::lowercaseWord):
+ (WebKit::WebPageProxy::capitalizeWord):
+ Send messages to the WebPage.
+
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::changeWordCase):
+ Add helper function.
+
+ (WebKit::WebEditorClient::uppercaseWord):
+ (WebKit::WebEditorClient::lowercaseWord):
+ (WebKit::WebEditorClient::capitalizeWord):
+ Call helper function.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::changeSpellingToWord):
+ Call replaceSelectionWithText.
+
+ (WebKit::WebPage::uppercaseWord):
+ (WebKit::WebPage::lowercaseWord):
+ (WebKit::WebPage::capitalizeWord):
+ Call the editor functions.
+
+ (WebKit::WebPage::replaceSelectionWithText):
+ New helper function that replaces the selected string with another string.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add new messages.
+
+2011-01-05 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51935
+ Add WebKit2 API for largest frame
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetFrameSetLargestFrame):
+ * UIProcess/API/C/WKPage.h:
+
+2011-01-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More work on spelling
+ https://bugs.webkit.org/show_bug.cgi?id=51939
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]):
+ Handle changeSpelling: as well.
+
+ (-[WKView showGuessPanel:]):
+ Show or hide the guess panel.
+
+ (-[WKView checkSpelling:]):
+ Pass false to advanceToNextMisspelling.
+
+ (-[WKView changeSpelling:]):
+ Call changeSpellingToWord.
+
+ * UIProcess/TextChecker.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ Initialize m_pendingLearnOrIgnoreWordMessageCount.
+
+ (WebKit::WebPageProxy::contextMenuItemSelected):
+ Handle smart toggles directly in the UI process, keep track of whether
+ we're asked to learn or ignore a word.
+
+ (WebKit::WebPageProxy::advanceToNextMisspelling):
+ Pass the boolean through.
+
+ (WebKit::WebPageProxy::changeSpellingToWord):
+ Send a ChangeSpellingToWord message.
+
+ (WebKit::WebPageProxy::learnWord):
+ (WebKit::WebPageProxy::ignoreWord):
+ Check that we do have a pending learn or ignore word message. Call through to
+ the text checker.
+
+ (WebKit::WebPageProxy::processDidCrash):
+ Reset the m_pendingLearnOrIgnoreWordMessageCount variable.
+
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ Add new messages.
+
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::learnWord):
+ (WebKit::TextChecker::ignoreWord):
+ Implement in terms of NSSpellChecker.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::ignoreWordInSpellDocument):
+ (WebKit::WebEditorClient::learnWord):
+ Send IgnoreWord and LearnWord messages.
+
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::toggleAutomaticQuoteSubstitution):
+ (WebKit::WebEditorClient::toggleAutomaticLinkDetection):
+ (WebKit::WebEditorClient::toggleAutomaticDashSubstitution):
+ (WebKit::WebEditorClient::toggleAutomaticTextReplacement):
+ Add assertions.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::advanceToNextMisspelling):
+ Pass the bool along to the Editor.
+
+ (WebKit::WebPage::changeSpellingToWord):
+ Replace the selected text.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add new ChangeSpellingToWord message and add a boolean to AdvanceToNextMisspelling.
+
+2011-01-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Keep track of active text substitution preferences
+ https://bugs.webkit.org/show_bug.cgi?id=51931
+
+ * Shared/TextCheckerState.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]):
+ Handle new selectors, mostly copied from WebKit1 code.
+
+ (-[WKView orderFrontSubstitutionsPanel:]):
+ Open the substitution panel.
+
+ (-[WKView isAutomaticQuoteSubstitutionEnabled]):
+ (-[WKView setAutomaticQuoteSubstitutionEnabled:]):
+ (-[WKView toggleAutomaticQuoteSubstitution:]):
+ (-[WKView isAutomaticDashSubstitutionEnabled]):
+ (-[WKView setAutomaticDashSubstitutionEnabled:]):
+ (-[WKView toggleAutomaticDashSubstitution:]):
+ (-[WKView isAutomaticLinkDetectionEnabled]):
+ (-[WKView setAutomaticLinkDetectionEnabled:]):
+ (-[WKView toggleAutomaticLinkDetection:]):
+ (-[WKView isAutomaticTextReplacementEnabled]):
+ (-[WKView setAutomaticTextReplacementEnabled:]):
+ (-[WKView toggleAutomaticTextReplacement:]):
+ Call the text checker, and update the state in the web process if needed.
+
+ * UIProcess/TextChecker.h:
+ Add new flags.
+
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::initializeState):
+ Initialize flags from user defaults.
+
+ (WebKit::TextChecker::setAutomaticQuoteSubstitutionEnabled):
+ (WebKit::TextChecker::setAutomaticDashSubstitutionEnabled):
+ (WebKit::TextChecker::setAutomaticLinkDetectionEnabled):
+ (WebKit::TextChecker::setAutomaticTextReplacementEnabled):
+ Update and save the flags.
+
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::isAutomaticQuoteSubstitutionEnabled):
+ (WebKit::WebEditorClient::isAutomaticLinkDetectionEnabled):
+ (WebKit::WebEditorClient::isAutomaticDashSubstitutionEnabled):
+ (WebKit::WebEditorClient::isAutomaticTextReplacementEnabled):
+ Get the text checker state.
+
+2011-01-05 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Darin Adler.
+
+ Cleaned up com.apple.WebProcess.sb
+
+ * WebProcess/com.apple.WebProcess.sb: Moved the closing parentheses of multi-line blocks to
+ their own lines. Changed to use WebKit-standard 4-space indentation.
+
+2011-01-05 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51903
+ Tell UI process which subframe is largest
+
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::frameSetLargestFrame):
+ Remember largest frame in frameset pages.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::frameDidBecomeFrameSet): Reset stored largest frame if main frame
+ changes to a frameset or back.
+ (WebKit::WebPageProxy::frameSetLargestFrameChanged): Store a new largest frame when notified
+ of a change.
+
+ * UIProcess/WebPageProxy.messages.in: Added FrameSetLargestFrameChanged.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::area): Calculate area of a frame.
+ (WebKit::findLargestFrameInFrameSet): Find largest first-level subframe in a frameset page.
+ (WebKit::WebChromeClient::contentsSizeChanged): Recalculate largest frame, and notify UI
+ process if it changed.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.h: Store the latest largest frame.
+
+ * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::size):
+ * WebProcess/WebPage/WebFrame.h:
+ Expose frame size.
+
+2011-01-04 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [WK2] Add support for non-trivial context menu action
+ https://bugs.webkit.org/show_bug.cgi?id=51902
+
+ Implement a call back from the QAction triggered in the UIProcess to the
+ action in WebProcess.
+
+ A few basic actions have been implemented based on this feature.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (contextMenuActionForWebAction):
+ (QWKPage::triggerAction):
+ (QWKPage::action):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/qt/WebContextMenuProxyQt.cpp:
+ (WebKit::webActionForContextMenuAction):
+
+2011-01-04 Siddharth Mathur <siddharth.mathur@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ Include unistd.h for sleep() for non-Windows builds.
+
+ * WebProcess/WebProcess.cpp:
+ * WebProcess/qt/WebProcessMainQt.cpp:
+
+2011-01-04 Brian Weinstein <bweinstein@apple.com>
+
+ Windows build fix. Change the inline type of consumePermanently.
+
+ * Shared/SandboxExtension.h:
+ (WebKit::SandboxExtension::consumePermanently):
+
+2011-01-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/8821203> Sandbox violations trying to access the Safari cache
+
+ * Shared/SandboxExtension.h:
+ (WebKit::SandboxExtension::consumePermanently):
+ New function which consumes a sandbox extension and destroys it, making it impossible
+ to later revoke it.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ Encode and decode the path extension handle.
+
+ * Shared/mac/SandboxExtensionMac.mm:
+ (WebKit::SandboxExtension::createHandle):
+ Standardize the path before creating the handle.
+
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ Create a sandbox extension for the cache path.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ Consume the sandbox extension.
+
+2011-01-04 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::getGuessesForWord):
+
+2011-01-04 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Mouse events in WebKit2 on Windows need to know whether the click activated the WebView to match WebKit1 behavior.
+ https://bugs.webkit.org/show_bug.cgi?id=51228
+
+ * Shared/WebEvent.h:
+ (WebKit::WebMouseEvent::didActivateWebView):
+ Add m_didActivateWebView to WebMouseEvent on Windows.
+
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
+ Propagate whether the click activated the WebView when converting to a PlatformMouseEvent.
+
+ * Shared/WebMouseEvent.cpp:
+ (WebKit::WebMouseEvent::WebMouseEvent):
+ Add m_didActivateWebView to WebMouseEvent on Windows.
+
+ (WebKit::WebMouseEvent::encode):
+ (WebKit::WebMouseEvent::decode):
+ Encode and decode new m_didActivateWebView member variable.
+
+ * Shared/win/WebEventFactory.cpp:
+ (WebKit::WebEventFactory::createWebMouseEvent):
+ * Shared/win/WebEventFactory.h:
+ Add didActivateWebView parameter to createWebMouseEvent().
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::wndProc):
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::onMouseEvent):
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::setWasActivatedByMouseEvent):
+ Keep track of whether the click activated the WebView.
+
+2011-01-04 Ivan Krstić <ike@apple.com>
+
+ Reviewed and landed by Anders Carlsson.
+
+ <rdar://problem/8602585>
+ <rdar://problem/8711641>
+
+ * WebProcess/com.apple.WebProcess.sb:
+ Fix a misplaced right parenthesis and add a new system path regex.
+
+2011-01-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More work on spelling and grammar
+ https://bugs.webkit.org/show_bug.cgi?id=51910
+
+ * Scripts/webkit2/messages.py:
+ Add special case for WebCore::TextCheckingResult.
+
+ * Shared/NotImplemented.h:
+ Fix macro so that defining DISABLE_NOT_IMPLEMENTED_WARNINGS to 0 will enable the warnings.
+
+ * Shared/WebCoreArgumentCoders.h:
+ Add argument coders for WebCore::GrammarDetail and WebCore::TextCheckingResult.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView checkSpelling:]):
+ Call advanceToNextMisspelling.
+
+ * UIProcess/TextChecker.h:
+ Add new NSSpellChecker wrappers.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ Initialize the new member variables.
+
+ (WebKit::WebPageProxy::~WebPageProxy):
+ Call TextChecker::closeSpellDocumentWithTag.
+
+ (WebKit::WebPageProxy::advanceToNextMisspelling):
+ Send the AdvanceToNextMisspelling message.
+
+ (WebKit::WebPageProxy::spellDocumentTag):
+ Create a spell document tag if necessary.
+
+ (WebKit::WebPageProxy::checkTextOfParagraph):
+ (WebKit::WebPageProxy::updateSpellingUIWithMisspelledWord):
+ (WebKit::WebPageProxy::getGuessesForWord):
+ Call the TextChecker.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add new messages.
+
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::uniqueSpellDocumentTag):
+ (WebKit::TextChecker::closeSpellDocumentWithTag):
+ (WebKit::TextChecker::checkTextOfParagraph):
+ (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
+ (WebKit::TextChecker::getGuessesForWord):
+ Add NSSpellChecker wrappers.
+
+ * UIProcess/qt/TextCheckerQt.cpp:
+ * UIProcess/win/TextCheckerWin.cpp:
+ Add stubs.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::isContinuousSpellCheckingEnabled):
+ (WebKit::WebEditorClient::isGrammarCheckingEnabled):
+ Get the text checking state from the web process.
+
+ (WebKit::WebEditorClient::updateSpellingUIWithMisspelledWord):
+ (WebKit::WebEditorClient::getGuessesForWord):
+ Proxy calls to the UI process.
+
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::isAutomaticSpellingCorrectionEnabled):
+
+ (WebKit::WebEditorClient::checkTextOfParagraph):
+ Proxy calls to the UI process.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::advanceToNextMisspelling):
+ Call the frame.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add AdvanceToNextMisspelling message.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ Set the text checker state.
+
+2011-01-04 Chris Fleizach <cfleizach@apple.com>
+
+ Unreviewed. Build fix.
+
+ WK2: Support Accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=51859
+
+ * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
+
+2011-01-04 Chris Fleizach <cfleizach@apple.com>
+
+ Unreviewed. Build fix.
+
+ WK2: Support Accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=51859
+
+ * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
+ (-[AccessibilityWebPageObject accessibilityAttributeValue:]):
+
+2011-01-04 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WK2: Support Accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=51859
+
+ Implement remote accessibility API to support cross process accessibility
+ on the Mac platform.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::accessibilityChildTokenReceived):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ (-[WKView _updateWindowAndViewFrames]):
+ (-[WKView _setAccessibilityChildToken:]):
+ (-[WKView accessibilityIsIgnored]):
+ (-[WKView accessibilityHitTest:]):
+ (-[WKView accessibilityAttributeValue:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::windowAndViewFramesChanged):
+ (WebKit::WebPageProxy::didReceiveAccessibilityPageToken):
+ (WebKit::WebPageProxy::sendAccessibilityPresenterToken):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::accessibilityRemoteObject):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::windowAndViewFramesChanged):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::accessibilityPosition):
+ * WebProcess/WebPage/WebPage.messages.in:
+ * WebProcess/WebPage/mac/AccessibilityWebPageObject.h: Added.
+ * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: Added.
+ (-[AccessibilityWebPageObject setWebPage:]):
+ (-[AccessibilityWebPageObject setRemoteParent:]):
+ (-[AccessibilityWebPageObject dealloc]):
+ (-[AccessibilityWebPageObject accessibilityIsIgnored]):
+ (-[AccessibilityWebPageObject accessibilityAttributeNames]):
+ (-[AccessibilityWebPageObject accessibilityIsAttributeSettable:]):
+ (-[AccessibilityWebPageObject accessibilitySetValue:forAttribute:]):
+ (-[AccessibilityWebPageObject accessibilityActionNames]):
+ (-[AccessibilityWebPageObject accessibilityChildren]):
+ (-[AccessibilityWebPageObject accessibilityAttributeValue:]):
+ (-[AccessibilityWebPageObject accessibilityShouldUseUniqueId]):
+ (-[AccessibilityWebPageObject accessibilityHitTest:]):
+ (-[AccessibilityWebPageObject accessibilityFocusedUIElement]):
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::platformInitialize):
+ (WebKit::WebPage::sendAccessibilityPresenterToken):
+ (WebKit::WebPage::accessibilityRemoteObject):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ * WebProcess/WebProcess.h:
+ (WebKit::WebProcess::presenterApplicationPid):
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+
+2011-01-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Get rid of an extra copy in the back/forward item IPC message by using a DataReference.
+
+ * UIProcess/WebBackForwardListItem.cpp:
+ (WebKit::WebBackForwardListItem::WebBackForwardListItem):
+ (WebKit::WebBackForwardListItem::setBackForwardData):
+ * UIProcess/WebBackForwardListItem.h:
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::dataCallback): Get rid of no-longer-needed check for size 0.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::addBackForwardItem):
+ * UIProcess/WebProcessProxy.h:
+
+ * UIProcess/WebProcessProxy.messages.in:
+
+ * WebProcess/WebPage/EncoderAdapter.cpp:
+ (WebKit::EncoderAdapter::data):
+ * WebProcess/WebPage/EncoderAdapter.h:
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+
+2011-01-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Store more data per history entry in the session state blob.
+
+ * UIProcess/WebBackForwardListItem.cpp:
+ (WebKit::WebBackForwardListItem::WebBackForwardListItem):
+ * UIProcess/WebBackForwardListItem.h:
+ (WebKit::WebBackForwardListItem::create):
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::addBackForwardItem):
+
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
+
+ * UIProcess/cf/WebPageProxyCF.cpp:
+
+2011-01-04 Darin Adler <darin@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ Add back/forward encoding and decoding to WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=51901
+
+ * GNUmakefile.am: Added new source files.
+ * WebKit2.pro: Ditto.
+ * WebKit2.xcodeproj/project.pbxproj: Ditto.
+ * win/WebKit2.vcproj: Ditto.
+
+ * WebProcess/WebPage/DecoderAdapter.cpp: Added.
+ * WebProcess/WebPage/DecoderAdapter.h: Added.
+ * WebProcess/WebPage/EncoderAdapter.cpp: Added.
+ * WebProcess/WebPage/EncoderAdapter.h: Added.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::updateBackForwardItem): Added code to encode the back/forward
+ tree and send it along. The code to decode needs to wait on Brady's
+ current project.
+
+2011-01-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8766999> WebKit2: Sandboxing causes certificate error on access to any HTTPS URL
+
+ Allow read access to /Library/Preferences/com.apple.security.plist.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-01-04 Anders Carlsson <andersca@apple.com>
+
+ Build fixes.
+
+ * UIProcess/qt/TextCheckerQt.cpp:
+ * UIProcess/win/TextCheckerWin.cpp:
+
+2011-01-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Don't use macros for the key names.
+
+ * UIProcess/mac/TextCheckerMac.mm:
+
+2011-01-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Send over text checker state to the web process
+ https://bugs.webkit.org/show_bug.cgi?id=51896
+
+ * Platform/CoreIPC/Arguments.h:
+ Remove 'const' from the argument, this matches all the other Arguments classes.
+
+ * Shared/TextCheckerState.h: Added.
+ New class with text checker state.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ Add textCheckerState.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]):
+ (-[WKView toggleContinuousSpellChecking:]):
+ (-[WKView toggleGrammarChecking:]):
+ (-[WKView toggleAutomaticSpellingCorrection:]):
+ Get the needed flags from the text checker state.
+
+ * UIProcess/TextChecker.h:
+ Add state() function, remove getters.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ Initialize the text checker state.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::updateTextCheckerState):
+ Send the SetTextCheckerState message to the web process.
+
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::initializeState):
+ Initialize the state from the user defaults.
+
+ (WebKit::TextChecker::state):
+ Return the state.
+
+ (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
+ (WebKit::TextChecker::setGrammarCheckingEnabled):
+ (WebKit::TextChecker::setAutomaticSpellingCorrectionEnabled):
+ Make sure to write the new state.
+
+ * UIProcess/qt/TextCheckerQt.cpp:
+ (WebKit::TextChecker::state):
+ * UIProcess/win/TextCheckerWin.cpp:
+ (WebKit::TextChecker::state):
+ Add stubs.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add TextCheckerState.h.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ Initialize m_textCheckerState.
+
+ (WebKit::WebProcess::setTextCheckerState):
+ Update.
+
+ * WebProcess/WebProcess.messages.in:
+ Add SetTextCheckerState message.
+
+ * win/WebKit2.vcproj:
+ Add TextCheckerState.h.
+
+2011-01-04 Brady Eidson <beidson@apple.com>
+
+ Rubberstamped by Anders Carlsson.
+
+ Attach a radar # to this FIXME:
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+
+2011-01-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Add more spelling/grammar related methods
+ https://bugs.webkit.org/show_bug.cgi?id=51886
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]):
+ Handle more selectors.
+
+ (-[WKView showGuessPanel:]):
+ Add stub.
+
+ (-[WKView checkSpelling:]):
+ Ditto.
+
+ (-[WKView toggleAutomaticSpellingCorrection:]):
+ Toggle automatic spelling correction.
+
+ * UIProcess/TextChecker.h:
+ Add setAutomaticSpellingCorrectionEnabled and isAutomaticSpellingCorrectionEnabled.
+
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::setAutomaticSpellingCorrectionEnabled):
+ (WebKit::TextChecker::isAutomaticSpellingCorrectionEnabled):
+ Update the toggle.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
+ Add a Radar URL for the localization FIXMEs.
+
+2011-01-04 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix.
+
+ * win/WebKit2.vcproj: Correct the missing $(WebKitVSPropsRedirectionDir)
+ variables that Visual Studio helpfully removes when making changes.
+
+2011-01-04 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix.
+
+ * win/WebKit2.vcproj: Disable CG-specific WKImageCG.cpp from
+ Debug_Cairo_CFLite/Release_Cario_CFLite builds.
+
+2011-01-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51856
+ Pass encoded back/forward tree data from the WebProcess to the UIProcess
+
+ Remove the WKBackForwardListItemCopyOriginalURL API as it's not needed:
+ * UIProcess/API/C/WKBackForwardListItem.cpp:
+ * UIProcess/API/C/WKBackForwardListItem.h:
+ * UIProcess/API/qt/qwkhistory.cpp:
+ * UIProcess/API/qt/qwkhistory.h:
+
+ * UIProcess/WebBackForwardListItem.cpp:
+ (WebKit::WebBackForwardListItem::WebBackForwardListItem):
+ * UIProcess/WebBackForwardListItem.h:
+ (WebKit::WebBackForwardListItem::create):
+ (WebKit::WebBackForwardListItem::setBackForwardData):
+ (WebKit::WebBackForwardListItem::backForwardData):
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::addBackForwardItem):
+ * UIProcess/WebProcessProxy.h:
+
+ * UIProcess/WebProcessProxy.messages.in:
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::updateBackForwardItem):
+
+2011-01-04 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Incomplete clean up on termination
+ https://bugs.webkit.org/show_bug.cgi?id=51474
+
+ Do not kill the web process to force it's termination.
+ Fix object destruction and cleanup logic and make the cleanup more reliable.
+ Do not try to cleanup on crash because it is not reliable.
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::platformInvalidate): Do not delete the socket if we
+ do not own it. This is the case with a server connection.
+ * Platform/qt/MappedMemoryPool.cpp:
+ Turn MappedMemoryPool into a QObject so the CleanupHandler can destruct it
+ in the same way as the other objects.
+ (WebKit::MappedMemoryPool::instance):
+ (WebKit::MappedMemoryPool::~MappedMemoryPool):
+ * Platform/qt/MappedMemoryPool.h:
+ (WebKit::MappedMemoryPool::MappedMemoryPool):
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::create): No need to care about QCoreApplication::aboutToQuit.
+ It is handled by the CleanupHandler.
+ (WebKit::SharedMemory::~SharedMemory): Ditto.
+ * Shared/qt/CleanupHandler.cpp: Renamed from WebKit2/Shared/qt/CrashHandler.cpp.
+ No longer try to handle crash but just normal termination.
+ (WebKit::CleanupHandler::CleanupHandler): Connect deleteObjects with QCoreApplication::aboutToQuit.
+ Ensure appropriate thread affinity.
+ (WebKit::CleanupHandler::sigTermHandler): Stop the main event loop.
+ (WebKit::CleanupHandler::deleteObjects): Use deleteLater instead of delete since it is more reliable.
+ * Shared/qt/CleanupHandler.h: Renamed from WebKit2/Shared/qt/CrashHandler.h.
+ (WebKit::CleanupHandler::instance):
+ (WebKit::CleanupHandler::markForCleanup):
+ (WebKit::CleanupHandler::unmark):
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ Do not kill the web process immidiately but give it a chance to cleanup.
+ Use QLocalServer::removeServer for assuring that the socket file will be removed.
+ (WebKit::ProcessLauncherHelper::serverName):
+ (WebKit::cleanupAtExit): Renamed from cleanupProcesses. Only kill the web process when it times
+ out terminating. Fixed the bug of changing the list while iterating it over by disconnecting
+ from the processStateChanged slot.
+ (WebKit::QtWebProcess::QtWebProcess): Added missing meta type registration of QProcess::ProcessState.
+ (WebKit::ProcessLauncherHelper::~ProcessLauncherHelper):
+ (WebKit::ProcessLauncherHelper::ProcessLauncherHelper): No need to add the the instance to the
+ CleanupHandler because we will remove the socket file in cleanupAtExit.
+ (WebKit::ProcessLauncherHelper::instance):
+ (WebKit::ProcessLauncher::terminateProcess):
+ * WebKit2.pro:
+
+2011-01-04 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [WK2] create an initial implementation of the context menu handling for WebKit 2
+ https://bugs.webkit.org/show_bug.cgi?id=51825
+
+ Implement the necessary methods to get a basic context menu working for Qt.
+
+ Only 4 basic WebAction have been added on the UIProcess side: back, forward, stop and reload.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ (QGraphicsWKView::showContextMenu):
+ (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
+ * UIProcess/API/qt/qgraphicswkview.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::createContextMenuProxy):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/qt/WebContextMenuProxyQt.cpp:
+ (WebKit::webActionForContextMenuAction):
+ (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
+ (WebKit::WebContextMenuProxyQt::create):
+ (WebKit::WebContextMenuProxyQt::showContextMenu):
+ (WebKit::WebContextMenuProxyQt::hideContextMenu):
+ (WebKit::WebContextMenuProxyQt::createContextMenu):
+ * UIProcess/qt/WebContextMenuProxyQt.h:
+
+2011-01-03 Yi Shen <yi.4.shen@nokia.com>
+
+ Reviewed by Adam Barth.
+
+ [Qt] Add SelectAll option to the context menu for the editor
+ https://bugs.webkit.org/show_bug.cgi?id=50049
+
+ Add WebPlatformStrategies::contextMenuItemTagSelectAll for Qt.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::contextMenuItemTagSelectAll):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2011-01-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Ensure that the correct initial focusable area is focused when tabbing
+ and shift-tabbing into the WKView.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView becomeFirstResponder]): Use the keyViewSelectionDirection to set
+ the initial focus.
+
+2011-01-02 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Simon Fraser.
+
+ <rdar://problem/8812159> Update copyright strings
+
+ * Info.plist:
+ * WebProcess/Info.plist:
+
+2011-01-02 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Csaba Osztrogonác.
+
+ WebKit 2 does not build on 64bits with a recent GCC
+ https://bugs.webkit.org/show_bug.cgi?id=51754
+
+ Change the argument coding for DatabaseDetails to use explicitly the 64 bits type.
+
+ * Shared/OriginAndDatabases.h:
+ * Shared/WebCoreArgumentCoders.h:
+
+2011-01-02 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Move JavaScriptCore to Source
+ https://bugs.webkit.org/show_bug.cgi?id=51604
+
+ Workaround until moving all sources to Source directory is finished.
+
+ * Scripts/generate-forwarding-headers.pl: Add Sources to searching path for JavaScriptCore.
+
+2011-01-01 Adam Barth <abarth@webkit.org>
+
+ Speculative build fix for Qt. Add some more include paths.
+
+ * WebKit2.pro:
+
+2011-01-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move JavaScriptCore to Source
+ https://bugs.webkit.org/show_bug.cgi?id=51604
+
+ * WebKit2.pro:
+ - Point to JavaScriptCore in its new location.
+
+2010-12-15 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Enable building whatever already exists of WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=37369
+
+ * GNUmakefile.am: Added.
+ * WebKit2Prefix.h: Included WebCore/config.h for GTK port as the first header
+ file for WebKit2 sources files.
+ * gtk: Added.
+ * gtk/webkit2.pc.in: Added.
+
+2010-12-29 Juha Savolainen <juha.savolainen@weego.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [WK2] Added more webattributes to the qwkpreferences
+ https://bugs.webkit.org/show_bug.cgi?id=51697
+
+ Added PrivateBrowsingEnabled, DeveloperExtrasEnabled, DnsPrefetchEnabled attributes
+
+ * UIProcess/API/qt/qwkpreferences.cpp:
+ (QWKPreferences::testAttribute):
+ (QWKPreferences::setAttribute):
+ * UIProcess/API/qt/qwkpreferences.h:
+
+2010-12-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2 snapshots should contain accelerated content
+ <rdar://problem/8807393>
+ https://bugs.webkit.org/show_bug.cgi?id=51660
+
+ When creating a snapshot, flatten the layer tree for painting so that
+ accelerated content is included in the snapshot.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::snapshotInViewCoordinates):
+ (WebKit::WebPage::snapshotInDocumentCoordinates):
+
+2010-12-27 Daniel Bates <dbates@rim.com>
+
+ Attempt to fix the WebKit2 Windows build after changeset 74698
+ <http://trac.webkit.org/changeset/74698> (bug #51656).
+
+ Add "..\Shared\API\c\WKImage.h" to WebKit2Generated.make.
+
+ * win/WebKit2Generated.make:
+
+2010-12-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Add API for getting snapshots
+ https://bugs.webkit.org/show_bug.cgi?id=51656
+
+ * Shared/API/c/WKBase.h:
+ * Shared/API/c/WKImage.cpp: Added.
+ (WKImageGetTypeID):
+ (WKImageCreate):
+ (WKImageGetSize):
+ * Shared/API/c/WKImage.h: Added.
+ * Shared/WebImage.cpp: Added.
+ (WebKit::WebImage::create):
+ (WebKit::WebImage::size):
+ * Shared/WebImage.h: Added.
+ (WebKit::WebImage::backingStore):
+ (WebKit::WebImage::WebImage):
+ (WebKit::WebImage::type):
+ Add a general purpose API image class.
+
+ * Shared/API/c/cg: Added.
+ * Shared/API/c/cg/WKImageCG.cpp: Added.
+ (WKImageCreateCGImage):
+ * Shared/API/c/cg/WKImageCG.h: Added.
+ Add function to convert a WKImageRef to a CGImageRef for platforms that use CG.
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toFloatRect):
+ (WebKit::toIntSize):
+ (WebKit::toIntPoint):
+ (WebKit::toIntRect):
+ (WebKit::toImageOptions):
+ Make conversion functions that are ambiguous more explicit.
+
+ * Shared/APIObject.h:
+ * Shared/BackingStore.h:
+ (WebKit::BackingStore::isBackedBySharedMemory):
+ * Shared/ImageOptions.h: Added.
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+ Allow a WKImageRef to be passed in user messages. Right now, it only
+ works if the image is sharable.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageScaleWebView):
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::windowFrame):
+ Use the more explicit conversion function name.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageCreateSnapshotInViewCoordinates):
+ (WKBundlePageCreateSnapshotInDocumentCoordinates):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
+ (WKBundlePageOverlaySetNeedsDisplay):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::snapshotInViewCoordinates):
+ (WebKit::WebPage::snapshotInDocumentCoordinates):
+ Add function to take the snapshot.
+
+ * WebProcess/WebPage/WebPage.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-12-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Add additional API for managing databases
+ https://bugs.webkit.org/show_bug.cgi?id=51629
+
+ - Adds client for the database manager to get notifications
+ of changes to databases.
+
+ * UIProcess/API/C/WKDatabaseManager.cpp:
+ (WKDatabaseManagerSetClient):
+ * UIProcess/API/C/WKDatabaseManager.h:
+ * UIProcess/WebDatabaseManagerProxy.cpp:
+ (WebKit::WebDatabaseManagerProxy::initializeClient):
+ (WebKit::WebDatabaseManagerProxy::didModifyOrigin):
+ (WebKit::WebDatabaseManagerProxy::didModifyDatabase):
+ * UIProcess/WebDatabaseManagerProxy.h:
+ * UIProcess/WebDatabaseManagerProxy.messages.in:
+ * UIProcess/WebDatabaseManagerProxyClient.cpp: Added.
+ (WebKit::WebDatabaseManagerProxyClient::didModifyOrigin):
+ (WebKit::WebDatabaseManagerProxyClient::didModifyDatabase):
+ * UIProcess/WebDatabaseManagerProxyClient.h: Added.
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
+ (WebKit::WebDatabaseManager::WebDatabaseManager):
+ (WebKit::WebDatabaseManager::~WebDatabaseManager):
+ (WebKit::WebDatabaseManager::dispatchDidModifyOrigin):
+ (WebKit::WebDatabaseManager::dispatchDidModifyDatabase):
+ * WebProcess/WebCoreSupport/WebDatabaseManager.h:
+ * win/WebKit2.vcproj:
+
+2010-12-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Add additional API for managing databases
+ https://bugs.webkit.org/show_bug.cgi?id=51629
+
+ - Adds WKDatabaseManagerGetDatabasesByOrigin, which asynchronously returns
+ an array of dictionaries containing details about each origin using
+ databases and details about each database. Keys were added for accessing
+ the data in the dictionaries.
+ - Adds WKDatabaseManagerDeleteDatabasesWithNameForOrigin to delete a database
+ with a specific identifier.
+ - Adds WKDatabaseManagerSetQuotaForOrigin to set the quota for an origin.
+
+ * Shared/OriginAndDatabases.cpp: Added.
+ (WebKit::OriginAndDatabases::encode):
+ (WebKit::OriginAndDatabases::decode):
+ * Shared/OriginAndDatabases.h: Added.
+ * Shared/WebCoreArgumentCoders.h:
+ * UIProcess/API/C/WKDatabaseManager.cpp:
+ (WKDatabaseManagerGetOriginKey):
+ (WKDatabaseManagerGetOriginQuotaKey):
+ (WKDatabaseManagerGetOriginUsageKey):
+ (WKDatabaseManagerGetDatabaseDetailsKey):
+ (WKDatabaseManagerGetDatabaseDetailsNameKey):
+ (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
+ (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
+ (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
+ (WKDatabaseManagerGetDatabasesByOrigin):
+ (callGetDatabasesByOriginBlockAndDispose):
+ (WKDatabaseManagerGetDatabasesByOrigin_b):
+ (WKDatabaseManagerGetDatabaseOrigins):
+ (callGetDatabaseOriginsBlockBlockAndDispose):
+ (WKDatabaseManagerGetDatabaseOrigins_b):
+ (WKDatabaseManagerDeleteDatabasesWithNameForOrigin):
+ (WKDatabaseManagerDeleteDatabasesForOrigin):
+ (WKDatabaseManagerDeleteAllDatabases):
+ (WKDatabaseManagerSetQuotaForOrigin):
+ * UIProcess/API/C/WKDatabaseManager.h:
+ * UIProcess/WebDatabaseManagerProxy.cpp:
+ (WebKit::WebDatabaseManagerProxy::originKey):
+ (WebKit::WebDatabaseManagerProxy::originQuotaKey):
+ (WebKit::WebDatabaseManagerProxy::originUsageKey):
+ (WebKit::WebDatabaseManagerProxy::databaseDetailsKey):
+ (WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey):
+ (WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey):
+ (WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey):
+ (WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey):
+ (WebKit::WebDatabaseManagerProxy::invalidate):
+ (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
+ (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
+ (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
+ (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
+ (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
+ (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
+ (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
+ * UIProcess/WebDatabaseManagerProxy.h:
+ * UIProcess/WebDatabaseManagerProxy.messages.in:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
+ (WebKit::WebDatabaseManager::getDatabasesByOrigin):
+ (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
+ (WebKit::WebDatabaseManager::setQuotaForOrigin):
+ * WebProcess/WebCoreSupport/WebDatabaseManager.h:
+ * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
+ * win/WebKit2.vcproj:
+
+2010-12-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Rename DrawingAreaMessage and DrawingAreaLegacyMessage and
+ DrawingAreaProxyMessage to DrawingAreaProxyLegacyMessage.
+
+ * Platform/CoreIPC/MessageID.h:
+ * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
+ * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::update):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveMessage):
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
+ (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
+ (WebKit::LayerBackedDrawingAreaProxy::update):
+ (WebKit::LayerBackedDrawingAreaProxy::didReceiveMessage):
+ (WebKit::LayerBackedDrawingAreaProxy::didReceiveSyncMessage):
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::sizeDidChange):
+ (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
+ (WebKit::TiledDrawingAreaProxy::didReceiveMessage):
+ (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
+ (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
+ (WebKit::TiledDrawingAreaProxy::takeSnapshot):
+ (WebKit::TiledDrawingAreaProxy::removeTile):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::display):
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
+ (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::setSize):
+ (WebKit::LayerBackedDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/TiledDrawingArea.cpp:
+ (WebKit::TiledDrawingArea::display):
+ (WebKit::TiledDrawingArea::setSize):
+ (WebKit::TiledDrawingArea::updateTile):
+ (WebKit::TiledDrawingArea::tileUpdateTimerFired):
+ (WebKit::TiledDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+
+2010-12-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Drawing area cleanup. Remove a bunch of redundant functions that just ended
+ up calling setNeedsDisplay.
+
+ * UIProcess/DrawingAreaProxy.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::invalidateWindow):
+ (WebKit::WebChromeClient::invalidateContentsAndWindow):
+ (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/TiledDrawingArea.cpp:
+ * WebProcess/WebPage/TiledDrawingArea.h:
+
+2010-12-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fill in some more preferences for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=51610
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetAuthorAndUserStylesEnabled):
+ (WKPreferencesGetAuthorAndUserStylesEnabled):
+ (WKPreferencesSetWebArchiveDebugModeEnabled):
+ (WKPreferencesGetWebArchiveDebugModeEnabled):
+ (WKPreferencesSetLocalFileContentSniffingEnabled):
+ (WKPreferencesGetLocalFileContentSniffingEnabled):
+ (WKPreferencesSetPageCacheEnabled):
+ (WKPreferencesGetPageCacheEnabled):
+ (WKPreferencesSetPaginateDuringLayoutEnabled):
+ (WKPreferencesGetPaginateDuringLayoutEnabled):
+ (WKPreferencesSetDOMPasteAllowedEnabled):
+ (WKPreferencesGetDOMPasteAllowedEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ Pipe through some more preferences.
+
+2010-12-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ REGRESSION (r74648): XHR layout test failures
+ https://bugs.webkit.org/show_bug.cgi?id=51603
+
+ Reverted r74648.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage):
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+
+2010-12-24 Simon Fraser <simon.fraser@apple.com>
+
+ Fix the Qt build after r74650.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+
+2010-12-24 Benjamin Poulain <ikipou@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ [Qt] [WK2] WebKit 2 does not build on mac, missing reference to RetainPtr
+ https://bugs.webkit.org/show_bug.cgi?id=51598
+
+ Fix the build, add the missing header.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+
+2010-12-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/8758386> The web process uses its own credential storage
+ https://bugs.webkit.org/show_bug.cgi?id=51599
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveAuthenticationChallenge): Try to answer the challenge using
+ the UI process’s credential storage first.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Prevent the web process from using
+ its own credential storage.
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain): Ditto.
+
+2010-12-23 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make dragging work again after r74591.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveEvent): Fixed a typo.
+
+2010-12-23 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Need WebKit2 API to create a SecurityOrigin from protocol, host, and port
+ https://bugs.webkit.org/show_bug.cgi?id=51563
+
+ Add WKSecurityOriginCreate(WKStringRef protocol, WKStringRef host, int port).
+
+ * Shared/API/c/WKSecurityOrigin.cpp:
+ (WKSecurityOriginCreateFromIdentifier):
+ Renamed so as not to clash with the new WKSecurityOriginCreate.
+ (WKSecurityOriginCreate):
+ * Shared/API/c/WKSecurityOrigin.h:
+ * Shared/WebSecurityOrigin.h:
+ (WebKit::WebSecurityOrigin::create):
+
+2010-12-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Ensure that we are not getting too many mouse move events
+ https://bugs.webkit.org/show_bug.cgi?id=51568
+ <rdar://problem/7881470>
+ <rdar://problem/8735512>
+
+ Implement throttling of mouse move events.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ Initialize m_processingMouseMoveEvent to false.
+
+ (WebKit::WebPageProxy::handleMouseEvent):
+ If we're already processing a mouse move events, just update
+ m_nextMouseMoveEvent and return.
+
+ (WebKit::WebPageProxy::didReceiveEvent):
+ If we received a mouse move event, send the next mouse move event if there is one.
+
+2010-12-23 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Assertion when loading www.yahoo.com in WebKit2 under decodeResourceRequest
+ https://bugs.webkit.org/show_bug.cgi?id=51562
+
+ Don't assert that our data reference isn't empty when we try to get the data from it.
+ If it is empty, just return 0.
+
+ All callers are safe with this function returning 0.
+
+ * Platform/CoreIPC/DataReference.h:
+ (CoreIPC::DataReference::data): Change the assert to an early return.
+ * Shared/cf/ArgumentCodersCF.cpp:
+ (CoreIPC::decode): Add an assert, and remove a ternarny operator because the function now does
+ this for us (if the data is empty, return 0).
+
+2010-12-23 Sam Weinig <sam@webkit.org>
+
+ Fix incorrect assertion causing all pages with subframes to crash.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::appendChild):
+
+2010-12-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Clean up the selection handling code
+ https://bugs.webkit.org/show_bug.cgi?id=51550
+
+ * Shared/SelectionState.h: Added.
+ Add SelectionState class which hold information about the current selection.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ Remove selectionChanged function.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ Remove all the selection related state; it lives in the WebPageProxy object now.
+
+ (-[WKView insertText:]):
+ (-[WKView selectedRange]):
+ (-[WKView hasMarkedText]):
+ Get the selection information from the WebPageProxy.
+
+ * UIProcess/API/mac/WKViewInternal.h:
+ Remove _selectionChanged declaration.
+
+ * UIProcess/PageClient.h:
+ Remove selectionChanged functions.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::selectionStateChanged):
+ Update the selection state.
+
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::selectionState):
+ Return the selection state.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add SelectionStateChanged message.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ Remove all the selection related state; it lives in the WebPageProxy object now.
+
+ (WebKit::WebView::compositionSelectionChanged):
+ (WebKit::WebView::onIMEComposition):
+ (WebKit::WebView::onIMEEndComposition):
+ (WebKit::WebView::onIMERequestCharPosition):
+ (WebKit::WebView::onIMERequest):
+ Get the selection information from the WebPageProxy.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add SelectionState.h
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::respondToChangedSelection):
+ Send a SelectionStateChanged message with the updated state.
+
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ Remove mac specific code.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::getLocationAndLengthFromRange):
+ Rename this function from convertRangeToPlatformRange and move it out of WebPageMac.mm
+
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::getMarkedRange):
+ (WebKit::WebPage::characterIndexForPoint):
+ Call getLocationAndLengthFromRange.
+
+ * win/WebKit2.vcproj:
+ Add SelectionState.h
+
+2010-12-23 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WKView should not try to do asynchronous validation for selectors that are not editor commands
+ https://bugs.webkit.org/show_bug.cgi?id=51555
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]): Removed the special case for startSpeaking.
+ Added call to commandIsSupportedFromMenuOrKeyBinding so we only try to do validation
+ for commands that are supported. Tweaked comments and added some bug numbers.
+ (-[WKView _setUserInterfaceItemState:enabled:state:]): Tweaked comment and added
+ bug number.
+
+2010-12-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/8799032>
+ REGRESSION(r74436) Crash opening many pages with WebKit2
+
+ * Shared/cf/ArgumentCodersCF.cpp:
+ (CoreIPC::decode):
+ Fix paste-o. Decode into a CFDataRef not a CFDictionaryRef
+ when decoding CFDataRefs.
+
+2010-12-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ WebKit2 needs to mirror the frame tree in the UIProcess
+ https://bugs.webkit.org/show_bug.cgi?id=51546
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameCopyChildFrames):
+ * UIProcess/API/C/WKFrame.h:
+ Add API to get the child frames of a frame.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::WebFrameProxy):
+ (WebKit::WebFrameProxy::disconnect):
+ (WebKit::WebFrameProxy::appendChild):
+ (WebKit::WebFrameProxy::removeChild):
+ (WebKit::WebFrameProxy::isDescendantOf):
+ (WebKit::WebFrameProxy::dumpFrameTree):
+ (WebKit::WebFrameProxy::didRemoveFromHierarchy):
+ (WebKit::WebFrameProxy::childFrames):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::parentFrame): Add getter.
+ (WebKit::WebFrameProxy::nextSibling): Add getter.
+ (WebKit::WebFrameProxy::previousSibling): Add getter.
+ (WebKit::WebFrameProxy::firstChild): Add getter.
+ (WebKit::WebFrameProxy::lastChild): Add getter.
+ Make frames keep track of their subframes.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didCreateSubframe):
+ Use the now passed parentID to insert the frame into the hierarchy
+
+ (WebKit::WebPageProxy::didSaveFrameToPageCache):
+ When a frame is added to the page cache, remove it from the hierarchy.
+
+ (WebKit::WebPageProxy::didRestoreFrameFromPageCache):
+ When a frame is restored from the page cache, add it back to the hierarchy.
+
+ (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
+ Detached frames should also be removed from the hierarchy.
+
+ * UIProcess/WebPageProxy.h:
+ Add new declarations for didSaveFrameToPageCache and didRestoreFrameFromPageCache.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add messages for DidSaveFrameToPageCache and DidRestoreFrameFromPageCache.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::savePlatformDataToCachedFrame):
+ (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
+ Remove notImplemented, there is no work we need to do here.
+
+ (WebKit::WebFrameLoaderClient::didSaveToPageCache):
+ (WebKit::WebFrameLoaderClient::didRestoreFromPageCache):
+ Send message to UIProcess to indicate this happened.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::createSubframe):
+ Send parent frameID in addition to our own in the message to UIProcess.
+
+2010-12-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ New popup windows open disproportionately big
+ https://bugs.webkit.org/show_bug.cgi?id=51547
+ <rdar://problem/8637029>
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::createNewPage):
+ Pass the correct size back to the UI process.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::pageRect):
+ Implement this and return the size of the page.
+
+2010-12-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Nothing happens clicking "launch live player" on live.cnn.com
+ https://bugs.webkit.org/show_bug.cgi?id=51540
+ <rdar://problem/8791086>
+
+ Implement NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_PushPopupsEnabledState):
+ Call NetscapePlugin::pushPopupsEnabledState.
+
+ (WebKit::NPN_PopPopupsEnabledState):
+ Call NetscapePlugin::popPopupsEnabledState.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::pushPopupsEnabledState):
+ Append the boolean to the vector.
+
+ (WebKit::NetscapePlugin::popPopupsEnabledState):
+ Remove the last boolean from the vector.
+
+ (WebKit::NetscapePlugin::allowPopups):
+ Return the last boolean from the vector.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::performJavaScriptURLRequest):
+ Update the "allowPopupsFromPlugin" state.
+
+2010-12-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Webkit2: WebProcess crashes when Private browsing is turned on on yahoo.com
+ https://bugs.webkit.org/show_bug.cgi?id=51516
+ <rdar://problem/8766995>
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NPP_SetValue):
+ Add a null check for NPP_SetValue.
+
+2010-12-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ REGRESSION (WK2): Plugins swallow CMD-W, CMD-Q, and probably other shortcuts
+ https://bugs.webkit.org/show_bug.cgi?id=51515
+ <rdar://problem/8740926>
+
+ Always return false for keyboard events where the command key is down.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
+
+2010-12-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ WebProcess should be terminated if invalid frameIDs are
+ passed to the UIProcess.
+ https://bugs.webkit.org/show_bug.cgi?id=51508
+
+ - Introduce a mechanism to mark a messages as invalid due to
+ reasons other than in ability to decode the message, eg. an
+ invalid frameID is passed in a message.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::Connection):
+ (CoreIPC::Connection::markCurrentlyDispatchedMessageAsInvalid): Sets
+ the m_didReceiveInvalidMessage bit so that it can be picked up in
+ (CoreIPC::Connection::dispatchMessages): Check for m_didReceiveInvalidMessage in
+ addition to tainted arguments.
+ * Platform/CoreIPC/Connection.h:
+ Add base macro for others to extend, that calls markCurrentlyDispatchedMessageAsInvalid()
+ ASSERTs, and returns.
+
+ * UIProcess/WebPageProxy.cpp:
+ Add Message checks for all WebFrameProxy's gotten from frameIDs passed
+ over the wire.
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::isGoodMapKey):
+ Checks that the key can be inserted safely into a map (eg. not the empty or deleted value).
+
+ (WebKit::WebProcessProxy::webFrame):
+ Return null for bad keys (eg. 0 or -1).
+
+ (WebKit::WebProcessProxy::canCreateFrame):
+ Added. Checks that the ID is good and not in the map yet. Used
+ as a consistency check before creating frames.
+
+ (WebKit::WebProcessProxy::frameCreated):
+ ASSERT that the key is good, in addition to not in the map yet.
+
+ (WebKit::WebProcessProxy::didDestroyFrame):
+ ASSERT that the key is good.
+
+ * UIProcess/WebProcessProxy.h:
+ Move WebFrameProxy HashMap type into a typedef.
+
+2010-12-22 Darin Adler <darin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2 needs a way to return the main resource data
+ https://bugs.webkit.org/show_bug.cgi?id=51510
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetMainResourceData): Added.
+ (callGetMainResourceDataBlockAndDispose): Added.
+ (WKFrameGetMainResourceData_b): Added.
+ * UIProcess/API/C/WKFrame.h: Added WKFrameGetMainResourceData.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::getMainResourceData): Added.
+ * UIProcess/WebFrameProxy.h: Ditto.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::getMainResourceDataOfFrame): Added.
+ (WebKit::WebPageProxy::dataCallback): Replaced the individual callbacks
+ with just these two.
+ (WebKit::WebPageProxy::stringCallback): Ditto.
+ * UIProcess/WebPageProxy.h: Ditto.
+ * UIProcess/WebPageProxy.messages.in: Ditto.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::runJavaScriptInMainFrame): Send the string callback
+ message instead of a specific one.
+ (WebKit::WebPage::getContentsAsString): Ditto.
+ (WebKit::WebPage::getRenderTreeExternalRepresentation): Ditto.
+ (WebKit::WebPage::getSelectionOrContentsAsString): Ditto.
+ (WebKit::WebPage::getSourceForFrame): Ditto.
+ (WebKit::WebPage::getMainResourceDataOfFrame): Added.
+ (WebKit::WebPage::getWebArchiveOfFrame): Send the data callback message
+ instead of a specific one.
+ * WebProcess/WebPage/WebPage.h: Added getMainResourceDataOfFrame.
+ * WebProcess/WebPage/WebPage.messages.in: Ditto.
+
+2010-12-22 Darin Adler <darin@apple.com>
+
+ * WebProcess/WebPage/WebPage.cpp: Add #if to try to fix non-Mac builds.
+
+2010-12-22 Darin Adler <darin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Make Speech menu items work in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=51504
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetWebArchive): Updated to use new-named typedef.
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageRunJavaScriptInMainFrame): Ditto.
+ (WKPageRenderTreeExternalRepresentation): Ditto.
+ (WKPageGetSourceForFrame): Ditto.
+ (WKPageGetContentsAsString): Ditto.
+
+ * UIProcess/API/mac/WKView.mm:
+ (menuItem): Added. Helper function to make it easy to call menu item
+ functions on arbitrary user interface items.
+ (toolbarItem): Ditto.
+ (-[WKView validateUserInterfaceItem:]): Added validation for startSpeaking
+ and stopSpeaking commands. Reworked the code to fix a bug where
+ toggleContinuousSpellChecking would always be enabled even when it should
+ be disabled. Reworked the asynchronous validation code so it works for
+ items other than menu items and can also handle more than one item for the
+ same command. Added some comments.
+ (speakString): Added. Helper function to be used as a callback when we
+ get the selection or contents to speak.
+ (-[WKView startSpeaking:]): Added. Uses getSelectionOrContentsAsString.
+ (-[WKView stopSpeaking:]): Added.
+ (-[WKView _setUserInterfaceItemState:enabled:state:]): Reworked to work
+ with the changes to validateUserInterfaceItem above.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::isDisplayingMarkupDocument): Added a FIXME about
+ a problem I noticed.
+ (WebKit::WebFrameProxy::didCommitLoad): Tweaked argument name.
+ (WebKit::WebFrameProxy::getWebArchive): Changed to use new-named typedef.
+ * UIProcess/WebFrameProxy.h: Changed WebArchiveCallback to DataCallaback.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close): Invalidate the two callback maps since
+ we only have two now.
+ (WebKit::WebPageProxy::runJavaScriptInMainFrame): Changed to use merged
+ maps and typedefs so we don't need a separate callback map for each function.
+ (WebKit::WebPageProxy::getRenderTreeExternalRepresentation): Ditto.
+ (WebKit::WebPageProxy::getSourceForFrame): Ditto.
+ (WebKit::WebPageProxy::getContentsAsString): Ditto.
+ (WebKit::WebPageProxy::getSelectionOrContentsAsString): Added.
+ (WebKit::WebPageProxy::getWebArchiveOfFrame): Ditto.
+ (WebKit::WebPageProxy::didGetContentsAsString): Ditto.
+ (WebKit::WebPageProxy::didGetSelectionOrContentsAsString): Ditto.
+ (WebKit::WebPageProxy::didRunJavaScriptInMainFrame): Ditto.
+ (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation): Ditto.
+ (WebKit::WebPageProxy::didGetSourceForFrame): Ditto.
+ (WebKit::WebPageProxy::didGetWebArchiveOfFrame): Ditto.
+ (WebKit::WebPageProxy::processDidCrash): Ditto.
+
+ * UIProcess/WebPageProxy.h: Updated for changes above.
+
+ * UIProcess/WebPageProxy.messages.in: Added DidGetSelectionOrContentsAsString,
+ GetIsSpeaking, Speak, and StopSpeaking.
+
+ * UIProcess/mac/WebPageProxyMac.mm:
+ (WebKit::WebPageProxy::getIsSpeaking): Added.
+ (WebKit::WebPageProxy::speak): Added.
+ (WebKit::WebPageProxy::stopSpeaking): Added.
+
+ * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
+ (WebKit::WebContextMenuClient::isSpeaking): Call WebPage instead of doing
+ the work directly, so it can run in the UI process.
+ (WebKit::WebContextMenuClient::speak): Ditto.
+ (WebKit::WebContextMenuClient::stopSpeaking): Ditto.
+ (WebKit::WebContextMenuClient::searchWithSpotlight): Added FIXME comment and
+ changed code to avoid a C-style cast.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::selectionAsString): Added.
+ * WebProcess/WebPage/WebFrame.h: Ditto.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::changeAcceleratedCompositingMode): Use sendSync in the
+ modern way instead of explicitly calling WebProcess.
+ (WebKit::WebPage::getSelectionOrContentsAsString): Added.
+ (WebKit::WebPage::isSpeaking): Added.
+ (WebKit::WebPage::speak): Added.
+ (WebKit::WebPage::stopSpeaking): Added.
+ * WebProcess/WebPage/WebPage.h: Added functions.
+
+ * WebProcess/WebPage/WebPage.messages.in: Added GetSelectionOrContentsAsString.
+
+2010-12-22 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * Platform/mac/MachUtilities.cpp:
+
+2010-12-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Detect WebProcess crashes sooner, without waiting for ReportCrash to finish
+ https://bugs.webkit.org/show_bug.cgi?id=51505
+
+ * Platform/CoreIPC/CoreIPCMessageKinds.h:
+ Add SetExceptionPort.
+
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::platformInvalidate):
+ If we have an exception port, unregister it.
+
+ (CoreIPC::Connection::platformInitialize):
+ Set m_exceptionPort to null.
+
+ (CoreIPC::Connection::open):
+ If we have an exception port, register an event handler for it and send it over
+ to the other side.
+
+ (CoreIPC::Connection::receiveSourceEventHandler):
+ Handle the SetExceptionPort message.
+
+ (CoreIPC::Connection::exceptionSourceEventHandler):
+ Receive the message, forward it to the real exception handler and call connectionDidClose.
+
+ (CoreIPC::Connection::setShouldCloseConnectionOnMachExceptions):
+ Create an exception port.
+
+ * Platform/mac/MachUtilities.cpp:
+ (machExceptionPort):
+ (setMachExceptionPort):
+ * Platform/mac/MachUtilities.h:
+ Add helper functions for getting and setting the mach exception port.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didFinishLaunching):
+ Call setShouldCloseConnectionOnMachExceptions on Mac.
+
+2010-12-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Move Mach message receiving code out into a new function
+ https://bugs.webkit.org/show_bug.cgi?id=51502
+
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::readFromMachPort):
+ (CoreIPC::Connection::receiveSourceEventHandler):
+
+2010-12-22 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ InjectedBundle methods should use the relative URL constructor for KURL instead of the ParsedURLStringTag version
+ https://bugs.webkit.org/show_bug.cgi?id=51491
+
+ The url passed to various InjectedBundle methods is not from KURL::string(), i.e. it has not already been parsed by KURL,
+ so we have to use the relative URL constructor for KURL instead of the ParsedURLStringTag version.
+
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::addUserScript):
+ (WebKit::InjectedBundle::addUserStyleSheet):
+ (WebKit::InjectedBundle::removeUserScript):
+ (WebKit::InjectedBundle::removeUserStyleSheet):
+
+2010-12-22 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Move more of WebPageProxy::didCommitLoadForFrame into WebFrameProxy::didCommitLoad.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didCommitLoad): Added type and certificate info arguments,
+ and set m_MIMEType, m_isFrameSet, and m_certificateInfo.
+ * UIProcess/WebFrameProxy.h: Removed setMIMEType and setCertificateInfo and added
+ arguments to didCommitLoad.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didCommitLoadForFrame): Removed code that is now inside the
+ WebFrameProxy::didCommitLoad function.
+
+2010-12-21 Darin Adler <darin@apple.com>
+
+ Reviewed by Brady Eidson and Sam Weinig.
+
+ Add a way to get a web archive in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=51437
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetWebArchive): Added.
+ (callGetWebArchiveBlockAndDispose): Added.
+ (WKFrameGetWebArchive_b): Added.
+ * UIProcess/API/C/WKFrame.h: Added functions above.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close): Clear out m_webArchiveCallbacks.
+ (WebKit::WebPageProxy::getWebArchiveOfFrame): Added.
+ (WebKit::WebPageProxy::didGetWebArchiveOfFrame): Added.
+ (WebKit::WebPageProxy::processDidCrash): Clear out m_webArchiveCallbacks.
+ * UIProcess/WebPageProxy.h: Added functions above.
+ * UIProcess/WebPageProxy.messages.in: Added DidGetWebArchiveOfFrame.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::getWebArchiveOfFrame): Added.
+ * WebProcess/WebPage/WebPage.h: Added function above.
+ * WebProcess/WebPage/WebPage.messages.in: Added GetWebArchiveOfFrame.
+
+2010-12-21 Siddharth Mathur <siddharth.mathur@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] [WK2] Guard gcc-specific syntax
+
+ * WebKit2.pro: Non-gcc based compliers choke on the "-include"
+ syntax for preinclude, make sure it has guard around it.
+
+2010-12-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Can't stop QT music on santastreefarm.com
+ https://bugs.webkit.org/show_bug.cgi?id=51438
+ <rdar://problem/8741152>
+
+ Implement NPN_ConvertPoint.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_ConvertPoint):
+ Call NetscapePlugin::convertPoint.
+
+ (WebKit::initializeBrowserFuncs):
+ Only initialize NPN_ConvertPoint and NPN_PopUpContextMenu on Mac.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::convertPoint):
+ Implement conversion routines.
+
+ (WebKit::NetscapePlugin::windowAndViewFramesChanged):
+ Keep track of the window and view frames, they are needed to do coordinate conversion.
+
+2010-12-21 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Implement encoding/decoding of ResourceRequest and
+ ResourceResponse for Windows/CFNetwork.
+
+ * Shared/win/WebCoreArgumentCodersWin.cpp:
+ (CoreIPC::encodeResourceRequest):
+ (CoreIPC::decodeResourceRequest):
+ (CoreIPC::encodeResourceResponse):
+ (CoreIPC::decodeResourceResponse):
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+
+2010-12-21 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Mac WebKit delivers an extra didCommit when loading web archives
+ https://bugs.webkit.org/show_bug.cgi?id=51419
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didStartProvisionalLoad): Added assertions so we catch
+ inconsistencies here instead of at the application level. Later, we will have
+ to decide what to do in cases these assertions fail. The right policy is probably
+ to consider it a web process failure and do whatever we do for those.
+ (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad): Ditto.
+ (WebKit::WebFrameProxy::didFailProvisionalLoad): Ditto.
+ (WebKit::WebFrameProxy::didCommitLoad): Ditto.
+ (WebKit::WebFrameProxy::didFinishLoad): Ditto.
+ (WebKit::WebFrameProxy::didFailLoad): Ditto.
+
+2010-12-21 Anders Carlsson <andersca@apple.com>
+
+ Fix Snow Leopard build.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue):
+
+2010-12-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix crash when a Carbon plug-in fails to initialize correctly
+ https://bugs.webkit.org/show_bug.cgi?id=51415
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue):
+ Don't claim to support the QuickDraw event model.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformDestroy):
+ Only try to remove the window from the map if it's not null.
+
+2010-12-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add ArgumentCoder support for CFDataRef
+ https://bugs.webkit.org/show_bug.cgi?id=51412
+
+ * Shared/cf/ArgumentCodersCF.cpp:
+ (CoreIPC::typeFromCFTypeRef):
+ (CoreIPC::encode):
+ (CoreIPC::decode):
+ * Shared/cf/ArgumentCodersCF.h:
+
+2010-12-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Clicking missing plug-in text does not show a sheet
+ https://bugs.webkit.org/show_bug.cgi?id=51403
+
+ * UIProcess/API/C/WKPage.h:
+ Add missingPluginButtonClicked to WKPageUIClient.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::missingPluginButtonClicked):
+ Call the WebUIClient member function.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add MissingPluginButtonClicked message.
+
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::missingPluginButtonClicked):
+ Call the WKPageUIClient callback.
+
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::shouldMissingPluginMessageBeButton):
+ Always return true for now.
+
+ (WebKit::WebChromeClient::missingPluginButtonClicked):
+ Send a MissingPluginButtonClicked message.
+
+2010-12-21 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Set BUILDING_QT__ consistently
+ https://bugs.webkit.org/show_bug.cgi?id=51341
+
+ * WebKit2.pro: Remove the definition of BUILDING_QT__ as it
+ is already defined in WebKit.pri.
+
+2010-12-20 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Add resource load client API
+ https://bugs.webkit.org/show_bug.cgi?id=51370
+
+ This just pipes through the basic resource load client data.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetPageResourceLoadClient):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeResourceLoadClient):
+ (WebKit::WebPageProxy::didInitiateLoadForResource):
+ (WebKit::WebPageProxy::didSendRequestForResource):
+ (WebKit::WebPageProxy::didReceiveResponseForResource):
+ (WebKit::WebPageProxy::didReceiveContentLengthForResource):
+ (WebKit::WebPageProxy::didFinishLoadForResource):
+ (WebKit::WebPageProxy::didFailLoadForResource):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebResourceLoadClient.cpp: Added.
+ (WebKit::WebResourceLoadClient::didInitiateLoadForResource):
+ (WebKit::WebResourceLoadClient::didSendRequestForResource):
+ (WebKit::WebResourceLoadClient::didReceiveResponseForResource):
+ (WebKit::WebResourceLoadClient::didReceiveContentLengthForResource):
+ (WebKit::WebResourceLoadClient::didFinishLoadForResource):
+ (WebKit::WebResourceLoadClient::didFailLoadForResource):
+ * UIProcess/WebResourceLoadClient.h: Added.
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
+ (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
+ * win/WebKit2.vcproj:
+
+2010-12-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a TextChecker class, hook up spelling and grammar toggling
+ https://bugs.webkit.org/show_bug.cgi?id=51363
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]):
+ (-[WKView toggleContinuousSpellChecking:]):
+ (-[WKView toggleGrammarChecking:]):
+ * UIProcess/TextChecker.h: Added.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::unmarkAllMisspellings):
+ (WebKit::WebPageProxy::unmarkAllBadGrammar):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/mac/TextCheckerMac.mm: Added.
+ (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
+ (WebKit::TextChecker::isContinuousSpellCheckingEnabled):
+ (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
+ (WebKit::TextChecker::isGrammarCheckingEnabled):
+ (WebKit::TextChecker::setGrammarCheckingEnabled):
+ * UIProcess/qt/TextCheckerQt.cpp: Added.
+ (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
+ (WebKit::TextChecker::isContinuousSpellCheckingEnabled):
+ (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
+ (WebKit::TextChecker::isGrammarCheckingEnabled):
+ (WebKit::TextChecker::setGrammarCheckingEnabled):
+ * UIProcess/win/TextCheckerWin.cpp: Added.
+ (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
+ (WebKit::TextChecker::isContinuousSpellCheckingEnabled):
+ (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
+ (WebKit::TextChecker::isGrammarCheckingEnabled):
+ (WebKit::TextChecker::setGrammarCheckingEnabled):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::unmarkAllMisspellings):
+ (WebKit::WebPage::unmarkAllBadGrammar):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ * win/WebKit2.vcproj:
+
+2010-12-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Flash plug-in does not work on YouTube video page when accelerated compositing is disabled
+ https://bugs.webkit.org/show_bug.cgi?id=51348
+ <rdar://problem/8787667>
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ Add new overload.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::create):
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ These now take an additional isAcceleratedCompositingEnabled parameter.
+
+ (WebKit::PluginControllerProxy::isAcceleratedCompositingEnabled):
+ Return m_isAcceleratedCompositingEnabled.
+
+ * PluginProcess/PluginControllerProxy.h:
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::createPlugin):
+ This now takes an additional isAcceleratedCompositingEnabled parameter.
+
+ * PluginProcess/WebProcessConnection.messages.in:
+ Add isAcceleratedCompositingEnabled parameter to the CreatePlugin message.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::initialize):
+ Pass isAcceleratedCompositingEnabled when sending the CreatePlugin message.
+
+2010-12-20 Anders Carlsson <andersca@apple.com>
+
+ Unreviewed, rolling out r74345.
+ http://trac.webkit.org/changeset/74345
+ https://bugs.webkit.org/show_bug.cgi?id=51115
+
+ Not the correct fix.
+
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::open):
+
+2010-12-20 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Crash in web process after the connection had been closed
+ https://bugs.webkit.org/show_bug.cgi?id=51115
+
+ Do not call connectionDidClose with a connection that has been explicitly
+ invalidated on the listener thread.
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::disconnectHandler): Added.
+ (CoreIPC::Connection::open):
+
+2010-12-19 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Improve the fix for <rdar://problem/8769525>.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView performKeyEquivalent:]): Do not retain the view. Doing so is necessary in
+ -[WebHTMLView performKeyEquivalent:], which this method was based upon, but not here, because
+ there is no way for the web process to cause the WKView to be released while it is handling
+ the event.
+
+2010-12-19 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8769525> WKView leak when performing key equivalents
+ https://bugs.webkit.org/show_bug.cgi?id=51315
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView performKeyEquivalent:]): Use a RetainPtr to ensure that the view is released in the
+ early return code path.
+
+2010-12-19 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [WK2] QWKPagePrivate::paint() does not need to save the graphics context
+ https://bugs.webkit.org/show_bug.cgi?id=51300
+
+ Remove the unnecessary save() and restore() on the QPainter.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::paint):
+
+2010-12-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] [WK2] Client are expected to render their own background for WebPages
+ https://bugs.webkit.org/show_bug.cgi?id=51296
+
+ Remove the rendering of the checkerboard from the tiled DrawingAreaProxy
+
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::paint):
+ * UIProcess/TiledDrawingAreaTile.h:
+ * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
+
+2010-12-19 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [WK2] Client are expected to render their own background for WebPages
+ https://bugs.webkit.org/show_bug.cgi?id=51296
+
+ Do not render a white background before rendering the page with DrawingAreaProxy.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::paint):
+
+2010-12-17 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Window title for image documents shows corrupted characters instead of multiplication sign when using WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=43505
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Changed UI_STRING macros to return
+ WebCore::String objects instead of C strings.
+ (WebKit::formatLocalizedString): Added. Uses the Core Foundation string formatting function for
+ reasons explained in the comment.
+ (WebKit::WebPlatformStrategies::multipleFileUploadText): Use formatLocalizedString instead of
+ String::format.
+ (WebKit::WebPlatformStrategies::imageTitle): Ditto.
+ (WebKit::WebPlatformStrategies::localizedMediaTimeDescription): Ditto.
+
+2010-12-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Resizing a WKView while loading a page can leave the page at a size that doesn't match the window
+ https://bugs.webkit.org/show_bug.cgi?id=51282
+ <rdar://problem/8133142>
+
+ Fix a race condition in waitForMessage. If we time out on the wait condition, we would keep the
+ m_waitForMessageMutex mutex unlocked for a brief period of time before taking the lock again and
+ then removing the messageID/destinationID pair from the hash map. Under some circumstances, the
+ connection queue would update the hash map right before we removed it, leading to a lost message.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::waitForMessage):
+
+2010-12-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Clean up ChunkedUpdateDrawingAreaProxy
+ https://bugs.webkit.org/show_bug.cgi?id=51277
+
+ Get rid of m_lastSetViewSize since it was always equal to m_size.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::sizeDidChange):
+ Call sendSetSize().
+
+ (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
+ Call sendSetSize if the size differs.
+
+ (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
+ Move code from sizeDidChange over here.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::setSize):
+ Add back the early return if the sizes are equal.
+
+2010-12-17 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix.
+
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::canHandleRequest): Provide alternative for
+ non-CFNetwork implementation.
+
+2010-12-17 Ada Chan <adachan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Implement WKView::setInitialFocus().
+ https://bugs.webkit.org/show_bug.cgi?id=51274
+
+ * UIProcess/API/C/win/WKView.cpp:
+ (WKViewSetInitialFocus):
+ * UIProcess/API/C/win/WKView.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setInitialFocus): Send message to the Web Process to set
+ initial focus.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setInitialFocus):
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setInitialFocus): Set the focused node to null initially. Then
+ ask FocusController to set the initial focus based on the focus direction.
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in: Add a new message for SetInitialFocus.
+
+2010-12-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove a check that probably uncovered a resizing bug.
+
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::setSize):
+
+2010-12-17 Brian Weinstein <bweinstein@apple.com>
+
+ Qt build fix.
+
+ * UIProcess/qt/WebPopupMenuProxyQt.h:
+
+2010-12-17 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Text area does not update when you arrow through a <select> in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=51269
+ <rdar://problem/8612853>
+
+ Patch by Sam Weinig.
+
+ Insteaed of keeping track of the selected index of a <select> just in the UI process, we
+ need to pass this information along to the web process so that the web process can draw
+ the correct text in the text field at the top of the select, when the selection changes (via
+ the arrows or other typing while the select is opened).
+
+ When the selected item in a popup changes, the UI process sends a message to the web process, telling
+ it about the new selected index. The web process gets this message, and then sets the text that
+ is visible in the select element.
+
+ * UIProcess/API/mac/PageClientImpl.h: CreatePopupMenuProxy now takes a WebPageProxy.
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::createPopupMenuProxy): Pass the WebPageProxy to create.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::createPopupMenuProxy):
+ * UIProcess/API/qt/qwkpage_p.h: CreatePopupMenuProxy now takes a WebPageProxy.
+ * UIProcess/PageClient.h: CreatePopupMenuProxy now takes a WebPageProxy.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::valueChangedForPopupMenu): Send that the selected index changed to the
+ web process.selected
+ (WebKit::WebPageProxy::setTextFromItemForPopupMenu): Send that we should update the text for the
+ active popup menu (with the index of the item to show).
+ (WebKit::WebPageProxy::showPopupMenu): Pass the WebPageProxy to createPopupMenuProxy.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPopupMenuProxy.h: Add a client who has virtual functions for the state changing of the
+ popup menu. ShowPopupMenu doesn't take a new selected index anymore, that is handled by the client,
+ and calling down to the web process.
+ (WebKit::WebPopupMenuProxy::Client::~Client):
+ (WebKit::WebPopupMenuProxy::WebPopupMenuProxy): Initialize the client.
+ * UIProcess/mac/WebPopupMenuProxyMac.h:
+ (WebKit::WebPopupMenuProxyMac::create): Takes a WebPopupMenuProxy::Client, and passes it to the constructor.
+ * UIProcess/mac/WebPopupMenuProxyMac.mm:
+ (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac): Update what's initialized by the constructor.
+ (WebKit::WebPopupMenuProxyMac::showPopupMenu): Call through to the web process that the value changed.
+ * UIProcess/qt/WebPopupMenuProxyQt.cpp:
+ (WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt): Update what's initialized by the constructor.
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ (WebKit::WebPopupMenuProxyWin::WebPopupMenuProxyWin): Ditto.
+ (WebKit::WebPopupMenuProxyWin::showPopupMenu): Call through to the web process that the value changed.
+ (WebKit::WebPopupMenuProxyWin::setFocusedIndex): Resolve a FIXME to set the text of the popup menu.
+ * UIProcess/win/WebPopupMenuProxyWin.h:
+ (WebKit::WebPopupMenuProxyWin::create): Take in a WebPopupMenuProxy::client, and pass it to the constructor.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::createPopupMenuProxy): Pass the WebPageProxy to create.
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
+ (WebKit::WebPopupMenu::setTextForIndex): Call through to setTextFromItem to set the select text.
+ * WebProcess/WebCoreSupport/WebPopupMenu.h:
+ * WebProcess/WebPage/WebPage.cpp: Call through to setTextForIndex on the active popup menu.
+ (WebKit::WebPage::setTextForActivePopupMenu):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in: Add a new message.
+
+2010-12-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ DrawingAreaProxy::setSize shouldn't be a virtual member function
+ https://bugs.webkit.org/show_bug.cgi?id=51275
+
+ Add a pure virtual sizeDidChange member function to DrawingAreaProxy, and only
+ call it if the size changes.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::sizeDidChange):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::setSize):
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::size):
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::sizeDidChange):
+ * UIProcess/TiledDrawingAreaProxy.h:
+
+2010-12-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a WebPageProxy parameter to the DrawingAreaProxy constructor
+ https://bugs.webkit.org/show_bug.cgi?id=51271
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::create):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::DrawingAreaProxy):
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::create):
+ (WebKit::LayerBackedDrawingAreaProxy::LayerBackedDrawingAreaProxy):
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::create):
+ (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
+ * UIProcess/TiledDrawingAreaProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
+
+2010-12-17 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add API for "Always Use the Complex Text Code Path"
+ https://bugs.webkit.org/show_bug.cgi?id=51265
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Initialize shouldAlwaysUseComplexTextCodePath.
+ (WebKit::WebProcessCreationParameters::encode): Encode shouldAlwaysUseComplexTextCodePath.
+ (WebKit::WebProcessCreationParameters::decode): Decode shouldAlwaysUseComplexTextCodePath.
+ * Shared/WebProcessCreationParameters.h:
+ * UIProcess/API/C/WKContext.cpp:
+ (_WKContextSetAlwaysUsesComplexTextCodePath): Added.
+ * UIProcess/API/C/WKContextPrivate.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext): Initialize m_alwaysUsesComplexTextCodePath.
+ (WebKit::WebContext::ensureWebProcess): Set shouldAlwaysUseComplexTextCodePath in the creation parameters.
+ (WebKit::WebContext::setAlwaysUsesComplexTextCodePath): Added. Sets m_alwaysUsesComplexTextCodePath and
+ sends a message to the WebProcess.
+ * UIProcess/WebContext.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess): Call setAlwaysUsesComplexTextCodePath() based on the creation
+ parameters.
+ (WebKit::WebProcess::setAlwaysUsesComplexTextCodePath): Added.
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in: Added SetAlwaysUsesComplexTextCodePath.
+
+2010-12-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Implement a title attribute per frame
+ https://bugs.webkit.org/show_bug.cgi?id=51266
+
+ Cache the title of each frame on the WebFrameProxy. Removes
+ the WebPageProxy's cache of the main frame title to just
+ access the main frame.
+
+ We clear the cached title on new committed loads and on failures
+ to load.
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameCopyTitle):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didCommitLoad):
+ (WebKit::WebFrameProxy::didFailLoad):
+ (WebKit::WebFrameProxy::didChangeTitle):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::title):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::pageTitle):
+ (WebKit::WebPageProxy::didReceiveTitleForFrame):
+ (WebKit::WebPageProxy::processDidCrash):
+ * UIProcess/WebPageProxy.h:
+
+2010-12-16 Darin Adler <darin@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Add text encoding menu API for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=51226
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSupportsTextEncoding): Added.
+ (WKPageCopyCustomTextEncodingName): Added.
+ (WKPageSetCustomTextEncodingName): Added.
+ * UIProcess/API/C/WKPage.h: Added the functions above.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy): Initialize
+ m_mainFrameHasCustomRepresentation to false.
+ (WebKit::WebPageProxy::supportsTextEncoding): Added.
+ (WebKit::WebPageProxy::setCustomTextEncodingName): Added.
+ (WebKit::WebPageProxy::didCommitLoadForFrame): Set
+ m_mainFrameHasCustomRepresentation.
+
+ * UIProcess/WebPageProxy.h: Added supportsTextEncoding,
+ setCustomTextEncodingName, customTextEncodingName, and
+ m_mainFrameHasCustomRepresentation.
+
+ * UIProcess/WebPageProxy.messages.in: Tweaked formatting
+ (added a blank line).
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setCustomTextEncodingName): Added.
+ * WebProcess/WebPage/WebPage.h: Added setCustomTextEncodingName.
+
+ * WebProcess/WebPage/WebPage.messages.in: Added the
+ SetCustomTextEncodingName message. Tweaked formatting of the
+ dummy message.
+
+2010-12-17 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r74201.
+ http://trac.webkit.org/changeset/74201
+ https://bugs.webkit.org/show_bug.cgi?id=51248
+
+ It broke ~6000 layout tests (Requested by Ossy_ on #webkit).
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::setGeometry):
+ (QGraphicsWKView::itemChange):
+
+2010-12-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Add svn:eol-style native to the message.in files as a favor to Darin Adler.
+
+ * PluginProcess/PluginControllerProxy.messages.in: Added property svn:eol-style.
+ * PluginProcess/PluginProcess.messages.in: Added property svn:eol-style.
+ * PluginProcess/WebProcessConnection.messages.in: Added property svn:eol-style.
+ * Shared/Plugins/NPObjectMessageReceiver.messages.in: Added property svn:eol-style.
+ * UIProcess/Downloads/DownloadProxy.messages.in: Added property svn:eol-style.
+ * UIProcess/Plugins/PluginProcessProxy.messages.in: Added property svn:eol-style.
+ * UIProcess/WebContext.messages.in: Added property svn:eol-style.
+ * UIProcess/WebDatabaseManagerProxy.messages.in: Added property svn:eol-style.
+ * UIProcess/WebInspectorProxy.messages.in: Added property svn:eol-style.
+ * UIProcess/WebPageProxy.messages.in: Added property svn:eol-style.
+ * UIProcess/WebProcessProxy.messages.in: Added property svn:eol-style.
+ * WebProcess/Authentication/AuthenticationManager.messages.in: Added property svn:eol-style.
+ * WebProcess/Plugins/PluginProxy.messages.in: Added property svn:eol-style.
+ * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: Added property svn:eol-style.
+ * WebProcess/WebPage/WebInspector.messages.in: Added property svn:eol-style.
+ * WebProcess/WebPage/WebPage.messages.in: Added property svn:eol-style.
+ * WebProcess/WebProcess.messages.in: Added property svn:eol-style.
+
+2010-12-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Move NSURLCache initialization from the ProcessLauncherMac to the centralized
+ WebContext initialize WebProcess mechanism.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ (WebKit::WebProcess::setShouldPaintNativeControls):
+
+2010-12-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Defer getting a PluginProcessConnection object until the plug-in is initialized
+ https://bugs.webkit.org/show_bug.cgi?id=51207
+ <rdar://problem/8731306>
+
+ Before this change, we would pass the PluginProcessConnection to the PluginProxy constructor, but not
+ call PluginProcessConnection::addPluginProxy (which associates the plug-in proxy with the connection)
+ until the plug-in is initialized.
+
+ This could lead to a PluginProxy holding a reference to a PluginProcessConnection when the PluginProxyConnection
+ itself did not know anything about the PluginProxy. This would happen when a page with plug-ins is opened in a background
+ tab, with the plug-ins not yet initialized.
+
+ Because of this, we could end up in a weird state, where the PluginProcessConnection would think that there are no
+ more plug-ins alive, and invalidate (and null out) the underlying CoreIPC connection, which would lead to crashes
+ when trying to send messages to the connection during later initialization.
+
+ The fix is to pass the plug-in path to the PluginProxy constructor, and get the connection from PluginProxy::initialize.
+
+ PluginProcessConnection object
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::create):
+ (WebKit::PluginProxy::PluginProxy):
+ (WebKit::PluginProxy::initialize):
+ * WebProcess/Plugins/PluginProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+
+2010-12-16 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ WebKit2: Cannot copy two successive selections using cmd-c
+ <rdar://problem/8680309>
+ https://bugs.webkit.org/show_bug.cgi?id=51203
+
+ The previous implementation assumed a call sequence from AppKit that
+ was not always happening.
+ When the user clicks on the pulldown menu, AppKit sends validateUserInterfaceItem
+ calls for each element that needs validation and we used to count the number of
+ validation requests being sent to the web process.
+ All these calls are made before we have the chance to get one reply from the WebProcess.
+ We also delayed the menu update until we had received all the replies to the validation requests.
+ At that point we called update on the menu to trigger the validation one more time with
+ the data retrived from the WebProcess.
+ When the user simply presses cmd-c, only one call to vaidateUserInterfaceItem is made
+ and the menu update triggered the validation of all the menu entries causing the internal
+ state to be out of sync.
+ The new implementation is very simple: for each validation request from AppKit we send
+ a request to the WebProcess and we cache a reference to the menu item being validated.
+ When the WebProcess replies, we retrieve the menu item from our cache and update its state.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]): Removed initialization of deleted memebers.
+ (-[WKView validateUserInterfaceItem:]): Request validation to the WebProcess and return YES to
+ allow AppKit to do the keyBinding processing.
+ (-[WKView _setUserInterfaceItemState:enabled:state:]): Called when the WebProcess replies to the
+ validation request to check/uncheck and enable/disable the menu item.
+
+2010-12-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Don't try to call plug-in member functions if the plug-in hasn't been initialized
+ https://bugs.webkit.org/show_bug.cgi?id=51205
+ <rdar://problem/8730204>
+
+ Make sure that all PluginView functions that can be called while a plug-in has not been
+ initialized (if the plug-in page is in a background tab for example) have an additional
+ check for m_isInitialized.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::setWindowIsFocused):
+ (WebKit::PluginView::windowAndViewFramesChanged):
+ (WebKit::PluginView::platformLayer):
+ (WebKit::PluginView::scriptObject):
+ (WebKit::PluginView::privateBrowsingStateChanged):
+ (WebKit::PluginView::handleEvent):
+ (WebKit::PluginView::viewGeometryDidChange):
+ (WebKit::PluginView::setFocus):
+
+2010-12-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Add a bunch of m_isStarted assertions to plug-in code.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::frameDidFinishLoading):
+ (WebKit::NetscapePlugin::frameDidFail):
+ (WebKit::NetscapePlugin::didEvaluateJavaScript):
+ (WebKit::NetscapePlugin::streamDidReceiveResponse):
+ (WebKit::NetscapePlugin::streamDidReceiveData):
+ (WebKit::NetscapePlugin::streamDidFinishLoading):
+ (WebKit::NetscapePlugin::streamDidFail):
+ (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
+ (WebKit::NetscapePlugin::manualStreamDidReceiveData):
+ (WebKit::NetscapePlugin::manualStreamDidFinishLoading):
+ (WebKit::NetscapePlugin::manualStreamDidFail):
+ (WebKit::NetscapePlugin::handleMouseEvent):
+ (WebKit::NetscapePlugin::handleWheelEvent):
+ (WebKit::NetscapePlugin::handleMouseEnterEvent):
+ (WebKit::NetscapePlugin::handleMouseLeaveEvent):
+ (WebKit::NetscapePlugin::handleKeyboardEvent):
+ (WebKit::NetscapePlugin::setFocus):
+ (WebKit::NetscapePlugin::pluginScriptableNPObject):
+ (WebKit::NetscapePlugin::privateBrowsingStateChanged):
+
+2010-12-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Save the manual plug-in stream data and redeliver it when the plug-in is initialized
+ https://bugs.webkit.org/show_bug.cgi?id=51201
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ Initialize m_manualStreamState.
+
+ (WebKit::PluginView::manualLoadDidReceiveResponse):
+ If the plug-in hasn't been initialized, store the response.
+
+ (WebKit::PluginView::manualLoadDidReceiveData):
+ If the plug-in hasn't been initialized, store the data.
+
+ (WebKit::PluginView::manualLoadDidFinishLoading):
+ If the plug-in hasn't been initialized, update the state.
+
+ (WebKit::PluginView::manualLoadDidFail):
+ If the plug-in hasn't been initialized, store the error and update the state.
+
+ (WebKit::PluginView::initializePlugin):
+ Call redeliverManualStream.
+
+ (WebKit::PluginView::redeliverManualStream):
+ Redeliver the manual stream to the plug-in.
+
+ * WebProcess/Plugins/PluginView.h:
+
+2010-12-16 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Turn off drawing area updates if the item is not visible
+
+ The updates are controlled by the QGraphicsItem::visible property.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKViewPrivate::updateViewportSize):
+ (QGraphicsWKView::setGeometry):
+ (QGraphicsWKView::itemChange):
+
+2010-12-15 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8731320> WebProcess’s CFNetwork cache is in ~/Library/Caches/com.apple.WebProcess
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess): Get the location, disk capacity and memory capacity
+ of the UI process’s NSURLCache and pass them to the WebProcess.
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain): If an NSURLCache location was passed on the command line, set the
+ shared NSURLCache to that path and use the specified capacities as initial values.
+
+2010-12-15 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam “I blame andersca” Weinig.
+
+ Allow responses to be cached by the NSURLCache.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::willCacheResponse): Changed to return the response instead of 0.
+
+2010-12-14 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add IME support to WebKit2 on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=51049
+ The implementation is very close to the one in WebKit.
+ The main change is the addition of handlers for WM_IME_STARTCOMPOSITION,
+ WM_IME_REQUEST, WM_IME_COMPOSITION, WM_IME_ENDCOMPOSITION,
+ WM_IME_SELECT, WM_IME_SETCONTEXT and a number of new messages
+ between the UI process and the WebProcess to send/retrieve
+ the data being handled by the messages listed above.
+
+ * UIProcess/PageClient.h: Added compositionSelectionChanged for Windows platform.
+ * UIProcess/WebPageProxy.cpp:
+ The following methods send synchronous messages to the WebProcess.
+ (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange): Retrieves the rectangle to position
+ the cnadidates window.
+ (WebKit::WebPageProxy::getSelectedText): Retrieves the currently selected text.
+ The following methods send asynchronous messages to the WebProcess.
+ (WebKit::WebPageProxy::confirmComposition):
+ (WebKit::WebPageProxy::setComposition):
+ (WebKit::WebPageProxy::didChangeSelection): Name changed.
+ (WebKit::WebPageProxy::didChangeCompositionSelection): Called when there is a change
+ in the composition selection.
+ * UIProcess/WebPageProxy.messages.in: Added messages corresponding to the methods above.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::wndProc): Added handling of messages for IME.
+ The following are the handlers for the window message being sent during composition.
+ (WebKit::WebView::onIMEComposition):
+ (WebKit::WebView::onIMEEndComposition):
+ (WebKit::WebView::onIMERequestCharPosition):
+ (WebKit::WebView::onIMERequestReconvertString):
+ (WebKit::WebView::onIMERequest):
+ (WebKit::WebView::onIMESelect):
+ (WebKit::WebView::onIMESetContext):
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::respondToChangedSelection): Added notification
+ of composition selection changed for Windows.
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ The following are the WebProcess counterparts of the new messages.
+ (WebKit::WebPage::confirmComposition):
+ (WebKit::WebPage::setComposition):
+ (WebKit::WebPage::firstRectForCharacterInSelectedRange):
+ (WebKit::WebPage::getSelectedText):
+
+2010-12-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brady Eidson.
+
+ Loading webkit.org over and over is slower in WebKit2 than WebKit1, looks like page is not cached
+ <rdar://problem/8774683>
+ https://bugs.webkit.org/show_bug.cgi?id=51143
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::canCachePage): Return true as long as we
+ are not a custom representation (eg. a PDF).
+ (WebKit::WebFrameLoaderClient::shouldCacheResponse): Always return true.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences): Enable the page cache.
+
+2010-12-15 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ WebKit2 in compositing mode no longer has font smoothing
+ https://bugs.webkit.org/show_bug.cgi?id=50733
+
+ Tell the root GraphicsLayer that its contents are opaque
+ if the WebPage draws its background, and that background
+ is not transparent.
+
+ The GraphicsLayer then uses the 'contentsOpaque' setting to
+ determine whether to use font smoothing.
+
+ Add pageBackgroundTransparencyChanged() to DrawingArea
+ so that the WebPage can inform the DrawingArea when the
+ background transparency changes.
+
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::pageBackgroundTransparencyChanged):
+ (WebKit::DrawingArea::onPageClose):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ (WebKit::LayerBackedDrawingArea::pageBackgroundTransparencyChanged):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setDrawsBackground):
+ (WebKit::WebPage::setDrawsTransparentBackground):
+
+2010-12-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix assertion in plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html test
+ https://bugs.webkit.org/show_bug.cgi?id=51136
+
+ Ensure that a plug-in that has explicitly cancelled the manual stream won't get any more callbacks.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ (WebKit::PluginControllerProxy::cancelManualStreamLoad):
+ (WebKit::PluginControllerProxy::manualStreamDidReceiveResponse):
+ (WebKit::PluginControllerProxy::manualStreamDidReceiveData):
+ (WebKit::PluginControllerProxy::manualStreamDidFinishLoading):
+ (WebKit::PluginControllerProxy::manualStreamDidFail):
+ * PluginProcess/PluginControllerProxy.h:
+
+2010-12-15 Brian Weinstein <bweinstein@apple.com>
+
+ Windows Build Fix. A .h file was added to the vcproj twice, but not its corresponding cpp file.
+
+ * win/WebKit2.vcproj:
+
+2010-12-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Can't add files to an <input type=file>
+ https://bugs.webkit.org/show_bug.cgi?id=51087
+
+ * Scripts/webkit2/messages.py:
+ Adds new types.
+
+ * Shared/API/c/WKBase.h:
+ Adds WKOpenPanelParametersRef and WKOpenPanelResultListenerRef.
+
+ * Shared/APIObject.h:
+ Adds TypeOpenPanelParameters and TypeOpenPanelResultListener.
+
+ * Shared/WebOpenPanelParameters.cpp: Added.
+ (WebKit::WebOpenPanelParameters::create):
+ (WebKit::WebOpenPanelParameters::WebOpenPanelParameters):
+ (WebKit::WebOpenPanelParameters::~WebOpenPanelParameters):
+ (WebKit::WebOpenPanelParameters::Data::encode):
+ (WebKit::WebOpenPanelParameters::Data::decode):
+ * Shared/WebOpenPanelParameters.h: Added.
+ (WebKit::WebOpenPanelParameters::allowMultipleFiles):
+ (WebKit::WebOpenPanelParameters::type):
+ Class representing options one can pass to open panel.
+
+ * UIProcess/API/C/WKAPICast.h:
+ Add casts for WebOpenPanelParameters and WebOpenPanelResultListenerProxy.
+
+ * UIProcess/API/C/WKOpenPanelParameters.cpp: Added.
+ (WKOpenPanelParametersGetTypeID):
+ (WKOpenPanelParametersGetAllowsMultipleFiles):
+ * UIProcess/API/C/WKOpenPanelParameters.h: Added.
+ * UIProcess/API/C/WKOpenPanelResultListener.cpp: Added.
+ (WKOpenPanelResultListenerGetTypeID):
+ (WKOpenPanelResultListenerChooseFiles):
+ (WKOpenPanelResultListenerCancel):
+ * UIProcess/API/C/WKOpenPanelResultListener.h: Added.
+ Add API wrappers.
+
+ * UIProcess/API/C/WKPage.h:
+ Add new UI callback, WKPageRunOpenPanelCallback.
+
+ * UIProcess/API/C/WebKit2.h:
+ Add includes for new API headers.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ Stub out the runOpenPanel callback.
+
+ * UIProcess/WebOpenPanelResultListenerProxy.cpp: Added.
+ (WebKit::WebOpenPanelResultListenerProxy::WebOpenPanelResultListenerProxy):
+ (WebKit::WebOpenPanelResultListenerProxy::~WebOpenPanelResultListenerProxy):
+ (WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
+ (WebKit::WebOpenPanelResultListenerProxy::cancel):
+ (WebKit::WebOpenPanelResultListenerProxy::invalidate):
+ * UIProcess/WebOpenPanelResultListenerProxy.h: Added.
+ (WebKit::WebOpenPanelResultListenerProxy::create):
+ (WebKit::WebOpenPanelResultListenerProxy::type):
+ Adds the listener used to choose files for <input type=file>
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::runOpenPanel):
+ (WebKit::WebPageProxy::didChooseFilesForOpenPanel):
+ (WebKit::WebPageProxy::didCancelForOpenPanel):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::runOpenPanel):
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::runOpenPanel):
+ * WebProcess/WebPage/WebOpenPanelResultListener.cpp: Added.
+ (WebKit::WebOpenPanelResultListener::create):
+ (WebKit::WebOpenPanelResultListener::WebOpenPanelResultListener):
+ (WebKit::WebOpenPanelResultListener::~WebOpenPanelResultListener):
+ (WebKit::WebOpenPanelResultListener::didChooseFiles):
+ * WebProcess/WebPage/WebOpenPanelResultListener.h: Added.
+ (WebKit::WebOpenPanelResultListener::disconnectFromPage):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::close):
+ (WebKit::WebPage::setActiveOpenPanelResultListener):
+ (WebKit::WebPage::didChooseFilesForOpenPanel):
+ (WebKit::WebPage::didCancelForOpenPanel):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::activeOpenPanelResultListener):
+ * WebProcess/WebPage/WebPage.messages.in:
+ Pipe through file choosing.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2010-12-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Semi-reproducible crash in ChunkedUpdateDrawingArea::paintIntoUpdateChunk closing a particular yahoo page
+ https://bugs.webkit.org/show_bug.cgi?id=51126
+ <rdar://problem/8771219>
+
+ Laying out the web page can cause the drawing area to change so we need to protect against this.
+
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::display):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::display):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverFired):
+
+2010-12-15 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: WebPageWin needs implementations of hasLocalDataForURL and canHandleRequest
+ https://bugs.webkit.org/show_bug.cgi?id=51090
+
+ Implement these functions for WebKit2 on Windows.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::hasLocalDataForURL): Does the cross-platform part of the check for having local
+ data (file URL or subresource), then calls platformHasLocalDataForURL to let the platform do
+ their specific checks.
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::platformHasLocalDataForURL): Moved the cross-platform code from here to WebPage::hasLocalDataForURL.
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::WebPage::platformHasLocalDataForURL): Renamed from hasLocalDataForURL.
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::platformHasLocalDataForURL): Renamed from hasLocalDataForURL and implemented with CFNetwork calls. This is the
+ CFNetwork equivalent of the code in WebPageMac::platformHasLocalDataForURL.
+ (WebKit::WebPage::canHandleRequest): Copied the line of code from WebView::canHandleRequest in WebKit1, with a FIXME saying
+ this might not be enough (although it was in WebKit1 on Windows).
+
+2010-12-15 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r74117.
+ http://trac.webkit.org/changeset/74117
+ https://bugs.webkit.org/show_bug.cgi?id=51113
+
+ This broke the GTK1 build. (Requested by mrobinson on
+ #webkit).
+
+ * GNUmakefile.am: Removed.
+ * Scripts/generate-forwarding-headers.pl:
+ * WebKit2Prefix.h:
+ * gtk/webkit2.pc.in: Removed.
+
+2010-12-15 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
+
+ Reviewed by Martin Robinson.
+
+ Changes to enable building WebKit2 for Gtk port.
+ (https://bugs.webkit.org/show_bug.cgi?id=37369)
+
+ * GNUmakefile.am: Added.
+ * Scripts/generate-forwarding-headers.pl: For GTK port, taking 1 extra argument for copying network headers.
+ * WebKit2Prefix.h: Included WebCore/config.h for GTK port as the first header file for WebKit2 sources files.
+ * gtk: Added.
+ * gtk/webkit2.pc.in: Added.
+
+2010-12-15 Jan Erik Hanssen <jhanssen@sencha.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] webkit2 does not compile on OS X
+ https://bugs.webkit.org/show_bug.cgi?id=50128
+
+ prctl(2) is only available on Linux, so use an atexit handler for killing
+ all the child processes when the process is exiting.
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::cleanupProcesses):
+ (WebKit::QtWebProcess::QtWebProcess):
+ (WebKit::QtWebProcess::processStateChanged):
+ (WebKit::ProcessLauncherHelper::instance):
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * win/WebKit2Common.vsprops:
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Fix Qt build.
+
+ * WebKit2.pro:
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by TYPO FIX.
+
+ Fix a typo.
+
+ * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
+ (WebKit::NetscapePluginModule::determineQuirks):
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Cannot type into plugin edit field
+ https://bugs.webkit.org/show_bug.cgi?id=51074
+ <rdar://problem/8483741>
+
+ Add a PrognameShouldBeWebKitPluginHost quirk, since it turns out Flash Player calls getprogname() and checks
+ if the return value is "WebKitPluginHost" in order to determine when to handle NPCocoaEventKeyDown events.
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::netscapePluginModule):
+ If the plug-in module has the PrognameShouldBeWebKitPluginHost quirk, call setprogname("WebKitPluginHost").
+
+ * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::load):
+ Call determineQuirks()
+
+ * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
+ (WebKit::NetscapePluginModule::determineQuirks):
+ Add the PrognameShouldBeWebKitPluginHost quirk for Flash.
+
+ * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
+ (WebKit::NetscapePluginModule::determineQuirks):
+ * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
+ (WebKit::NetscapePluginModule::determineQuirks):
+ Add stubs.
+
+ * Shared/Plugins/PluginQuirks.h:
+ Add new PluginQuirks file.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add PluginQuirks.h
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a NetscapePluginModuleX11 and move the Qt implementation of PluginInfoStore::getPluginInfo there
+ https://bugs.webkit.org/show_bug.cgi?id=51066
+
+ * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: Copied from WebKit2/UIProcess/Plugins/qt/PluginInfoStoreQt.cpp.
+ (WebKit::NetscapePluginModule::getPluginInfo):
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ (WebKit::PluginInfoStore::getPluginInfo):
+ * WebKit2.pro:
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Move Windows version of getPluginInfo to NetscapePluginModule
+ https://bugs.webkit.org/show_bug.cgi?id=51073
+
+ * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Added.
+ (WebKit::getVersionInfo):
+ (WebKit::fileVersion):
+ (WebKit::NetscapePluginModule::getPluginInfo):
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::PluginInfoStore::getPluginInfo):
+ * win/WebKit2.vcproj:
+
+2010-12-14 Alice Liu <alice.liu@apple.com>
+
+ Fix clang++ build.
+
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::sendSync):
+ Move the default argument to the declaration.
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move PluginInfoStore::getPluginInfo to NetscapePluginModule
+ https://bugs.webkit.org/show_bug.cgi?id=51058
+
+ * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
+ Move implementation of PluginInfoStore::getPluginInfo and related
+ helper functions here.
+
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::PluginInfoStore::getPluginInfo):
+ Just call NetscapePluginModule::getPluginInfo here for now.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add NetscapePluginModuleMac.mm.
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Switch name and description order when fetching Carbon plug-in info
+ https://bugs.webkit.org/show_bug.cgi?id=46211
+
+ The plug-in description comes before the name in the Carbon string list resource.
+
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::getPluginInfoFromCarbonResources):
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move NetscapePluginModule.{cpp|h} to Shared/Plugins/Netscape
+ https://bugs.webkit.org/show_bug.cgi?id=51052
+
+ * Shared/Plugins/Netscape/NetscapePluginModule.cpp: Renamed from WebKit2/WebProcess/Plugins/Netscape/NetscapePluginModule.cpp.
+ * Shared/Plugins/Netscape/NetscapePluginModule.h: Renamed from WebKit2/WebProcess/Plugins/Netscape/NetscapePluginModule.h.
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Handle complex text input for plug-ins
+ https://bugs.webkit.org/show_bug.cgi?id=51047
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::sendComplexTextInput):
+ Pass along the text input to the plug-in.
+
+ * PluginProcess/PluginControllerProxy.messages.in:
+ Add SendComplexTextInput message.
+
+ * UIProcess/API/mac/WKTextInputWindowController.h: Added.
+ * UIProcess/API/mac/WKTextInputWindowController.mm: Added.
+ Add text input window controller, mostly copied from WebKit1.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView keyDown:]):
+ If needed, pass along the event to the text input window controller.
+
+ (-[WKView inputContext]):
+ Return the input context of the text input window controller.
+
+ (-[WKView _setComplexTextInputEnabled:pluginComplexTextInputIdentifier:]):
+ Notify the input window controller that the input source changed.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::sendComplexTextInputToPlugin):
+ Send the complex text input to the web process.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::convertStringToKeyCodes):
+ Convert a string to a vector of key codes in the current encoding.
+
+ (WebKit::NetscapePlugin::sendComplexTextInput):
+ In the Cocoa event model, create and dispatch an NPCocoaEventTextInput event.
+ In the Carbon event model, convert the string to individual key codes and send them
+ as key down events.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::sendComplexTextInput):
+ Send the text to the plug-in controller proxy.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::sendComplexTextInput):
+ If the plug-in has a matching text input identifier, call Plugin::sendComplexTextInput.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add SendComplexTextInputToPlugin message.
+
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::sendComplexTextInputToPlugin):
+ Iterate over all known plug-in views and try to find one to send the text input to.
+
+2010-12-13 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=50953
+ DNS Prefetch should be an opt-in feature
+
+ Pass the preference through WebKit2.
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetDNSPrefetchingEnabled):
+ (WKPreferencesGetDNSPrefetchingEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2010-12-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Kevin Decker.
+
+ Pass the complex text input status to the WKView
+ https://bugs.webkit.org/show_bug.cgi?id=50993
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setComplexTextInputEnabled):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _setComplexTextInputEnabled:pluginComplexTextInputIdentifier:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setComplexTextInputEnabled):
+
+2010-12-14 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ WebKit 2 does not send touch cancel events correctly between processes
+ https://bugs.webkit.org/show_bug.cgi?id=50235
+
+ The classes WebKit2PlatformTouchPoint and WebKit2PlatformTouchEvent
+ misses the conversion of TouchCancel events and points.
+
+ This patch add the missing enums when converting from a WebTouchEvent
+ to a PlatformTouchEvent.
+
+ Testing is already covered by fast/events/touch/send-oncancel-event.html
+
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
+ (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
+
+2010-12-14 Zalan Bujtas <zbujtas@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add loadFinished() for provisional load error
+ This fixes the hanging UI state, when provisional load error occurs due to
+ the async nature of policy check.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48724
+
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (loadFinished):
+ (qt_wk_didFailProvisionalLoadWithErrorForFrame):
+ (qt_wk_didFinishLoadForFrame):
+ (qt_wk_didFailLoadWithErrorForFrame):
+
+2010-12-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Need to be able to set the application name for the user agent for a WKPage
+ https://bugs.webkit.org/show_bug.cgi?id=51011
+
+ Fixes:
+ WebKit2: Need to be able to set the application name for the user agent for a WKPage
+ <rdar://problem/8564532>
+ WebKit2: Need to be able to get the computed user agent for a WKPage
+ <rdar://problem/8637285>
+
+ Moves user agent computation to the UIProcess and just passes it to the WebProcess
+ when it has changed.
+
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ * Shared/WebPageCreationParameters.h:
+ Add a user agent to the creation parameters.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageCopyUserAgent):
+ (WKPageCopyApplicationNameForUserAgent):
+ (WKPageSetApplicationNameForUserAgent):
+ (WKPageSetCustomUserAgent):
+ * UIProcess/API/C/WKPage.h:
+ Add new API to set the application name and access the computed user agent.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::setUserAgent):
+ (WebKit::WebPageProxy::setApplicationNameForUserAgent):
+ (WebKit::WebPageProxy::setCustomUserAgent):
+ (WebKit::WebPageProxy::processDidCrash):
+ (WebKit::WebPageProxy::creationParameters):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::userAgent):
+ (WebKit::WebPageProxy::applicationNameForUserAgent):
+ * UIProcess/mac/WebPageProxyMac.mm: Added.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::setUserAgent):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::userAgent):
+ * WebProcess/WebPage/WebPage.messages.in:
+ Pipe through user agent.
+
+ (WebKit::callGestalt):
+ (WebKit::macOSXVersionString):
+ (WebKit::userVisibleWebKitVersionString):
+ (WebKit::WebPageProxy::standardUserAgent):
+ * UIProcess/win/WebPageProxyWin.cpp: Added.
+ (WebKit::windowsVersion):
+ (WebKit::userVisibleWebKitVersionString):
+ (WebKit::WebPageProxy::standardUserAgent):
+ Port standardUserAgent computation from WebKit1.
+
+ * UIProcess/qt/WebPageProxyQt.cpp: Added.
+ (WebKit::WebPageProxy::standardUserAgent):
+ Stub out the user agent so there is no change in behavior.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new file.
+
+2010-12-13 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Jon Honeycutt (and Brian Weinstein in heart).
+
+ <rdar://problem/8752202> and https://bugs.webkit.org/show_bug.cgi?id=50997
+ Expose "link title" and "link label" to InjectedBundleHitTestResult API
+
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
+ (WKBundleHitTestResultCopyLinkLabel):
+ (WKBundleHitTestResultCopyLinkTitle):
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
+
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
+ (WebKit::InjectedBundleHitTestResult::linkLabel):
+ (WebKit::InjectedBundleHitTestResult::linkTitle):
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
+
+2010-12-13 Brian Weinstein <bweinstein@apple.com>
+
+ Windows Build Fix. Add a needed include.
+
+ * UIProcess/win/WebView.cpp:
+
+2010-12-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Remove associated page concept from WKView constructor
+ https://bugs.webkit.org/show_bug.cgi?id=50983
+
+ Step 2: Remove WebPageNamespace. It no longer does anything.
+
+ * Shared/APIObject.h:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ * UIProcess/API/qt/qwkcontext.cpp:
+ (QWKContext::QWKContext):
+ * UIProcess/API/qt/qwkcontext_p.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::~WebContext):
+ (WebKit::WebContext::createWebPage):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebPageNamespace.cpp: Removed.
+ * UIProcess/WebPageNamespace.h: Removed.
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::context):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::createWebPage):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ * UIProcess/win/WebView.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-12-13 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * UIProcess/win/WebView.h:
+
+2010-12-13 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::create):
+
+2010-12-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Remove associated page concept from WKView constructor
+ https://bugs.webkit.org/show_bug.cgi?id=50983
+
+ Step 1: Remove associate page constructors from WKView and make
+ all views use the shared namespace for the context.
+
+ * UIProcess/API/C/win/WKView.cpp:
+ * UIProcess/API/C/win/WKView.h:
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ * UIProcess/API/qt/qwkcontext.cpp:
+ * UIProcess/API/qt/qwkcontext.h:
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::create):
+
+2010-12-13 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/WebPageProxy.h:
+
+2010-12-13 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: Leaks a WebView when opening/closing Web Inspector on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=50975
+ <rdar://problem/8763501>
+
+ Make m_inspectorView be a RefPtr<WebView>, instead of a WebView*.
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::WebInspectorProxy): If we are on Windows, include WebView.h.
+ * UIProcess/WebInspectorProxy.h: Change the type of m_inspectorView to a RefPtr<WebView>.
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage): Remove the call to leakRef when creating the WebView.
+
+2010-12-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Pass the complex text input state all the way to the UI process
+ https://bugs.webkit.org/show_bug.cgi?id=50980
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::setComplexTextInputEnabled):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setComplexTextInputEnabled):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::pluginComplexTextInputIdentifier):
+ * WebProcess/Plugins/Plugin.h:
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::pluginComplexTextInputIdentifier):
+ (WebKit::PluginProxy::setComplexTextInputEnabled):
+ * WebProcess/Plugins/PluginProxy.h:
+ * WebProcess/Plugins/PluginProxy.messages.in:
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::setComplexTextInputEnabled):
+
+2010-12-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Change the WebKit2 public API so there is no explicit WKPageNamespace object
+ https://bugs.webkit.org/show_bug.cgi?id=50898
+
+ * Shared/API/c/WKBase.h: Remove definition of WKPageNamespaceRef.
+ * UIProcess/API/C/WKAPICast.h: Remove toAPI/toImpl for WKPageNamespaceRef.
+
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+ Replace WKPageGetPageNamespace with WKPageGetContext.
+
+ * UIProcess/API/C/WKPageNamespace.cpp: Removed.
+ * UIProcess/API/C/WKPageNamespace.h: Removed.
+
+ * UIProcess/API/C/WebKit2.h: Remove #include of WKPageNamespace.h.
+
+ * UIProcess/API/C/win/WKView.cpp:
+ (WKViewCreate): Changed to take a WKContextRef instead of a WKPageNamespaceRef.
+ (WKViewCreateUsingSharedProcess): Added. Similar to WKViewCreate except that
+ all callers of it will have their views end up in the same shared process, whereas
+ with WKViewCreate, a new internal page namespace will be created and could place
+ the view's WebPage into a new process.
+ (WKViewCreateForAssociatedPage): Added. Creates a view that is forced to use the
+ same process as the passed in page.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::initialize):
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::create):
+ (WebKit::WebView::createUsingSharedProcess):
+ (WebKit::WebView::createForAssociatedPage):
+ Implementation of the WKView create functions.
+
+ * UIProcess/API/C/win/WKView.h:
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:]):
+ (-[WKView initWithFrame:contextRef:]):
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ (-[WKView initWithFrame:contextRef:usingSharedProcess:]):
+ (-[WKView initWithFrame:contextRef:pageGroupRef:usingSharedProcess:]):
+ (-[WKView initWithFrame:forAssociatedPageRef:]):
+ (-[WKView initWithFrame:forAssociatedPageRef:pageGroupRef:]):
+ (-[WKView initWithFrame:pageNamespace:pageGroup:]):
+ Add new initializers for the objective-c WKView. It follows the same
+ pattern as WKViewRef.
+
+ * UIProcess/API/qt/qwkcontext.cpp:
+ (QWKContext::QWKContext):
+ * UIProcess/API/qt/qwkcontext.h:
+ Remove uses of WKPageNamespaceRef.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::sharedPageNamespace): Returns a shared
+ page namespace used by the view's createUsingSharedProcess constructions.
+ (WebKit::WebContext::createPageNamespace): Change to return
+ a PassRefPtr to make things clearer.
+ (WebKit::WebContext::pageNamespaceWasDestroyed): Clear the shared
+ namespace if it is cleared.
+ * UIProcess/WebContext.h:
+
+ * UIProcess/WebPageNamespace.h: Remove unused "struct WKContextStatistics".
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::context):
+ * UIProcess/WebPageProxy.h:
+ Add context getter.
+
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+ Use forAssociatedPageRef constructor for the WebInspector view.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Remove WKPageNamespace.h/cpp.
+
+2010-12-13 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix.
+
+ * UIProcess/win/WebInspectorProxyWin.cpp: Non-Apple builds
+ need to include <wtf/RetainPtr.h>.
+
+2010-12-13 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix after r73807.
+
+ Added stub implementation of Download object.
+
+ * WebProcess/Downloads/curl: Added.
+ * WebProcess/Downloads/curl/DownloadCurl.cpp: Added.
+ (WebKit::Download::start):
+ (WebKit::Download::startWithHandle):
+ (WebKit::Download::cancel):
+ (WebKit::Download::platformInvalidate):
+ * win/WebKit2.vcproj: Exclude DownloadCFNet for Cairo builds,
+ added DownloadCurl (excluded for regular Apple builds.)
+
+2010-12-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add the ability for plug-ins to toggle complex text input
+ https://bugs.webkit.org/show_bug.cgi?id=50966
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ Initialize m_isComplexTextInputEnabled.
+
+ (WebKit::PluginControllerProxy::setComplexTextInputEnabled):
+ Update m_isComplexTextInputEnabled.
+
+ * PluginProcess/PluginControllerProxy.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize m_pluginHasFocus and m_windowHasFocus.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ (WebKit::NetscapePlugin::isWindowActive):
+ Return m_windowHasFocus.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformSetFocus):
+ Update m_pluginHasFocus and call setComplexTextInputEnabled.
+
+ (WebKit::NetscapePlugin::windowFocusChanged):
+ Update m_windowHasFocus and call setComplexTextInputEnabled.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add setComplexTextInputEnabled.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::setComplexTextInputEnabled):
+ * WebProcess/Plugins/PluginView.h:
+ Add setComplexTextInputEnabled
+
+2010-12-13 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Remove the space behavior that I added. It's covered in EventHandler in WebCore
+ already for Windows.
+
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+
+2010-12-13 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PageUp/PageDwn should respect writing-mode. Use
+ logical scrolling instead of physical scrolling for those keys in WebKit2.
+
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::logicalScroll):
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::logicalScroll):
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::logicalScroll):
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+
+2010-12-13 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Focusing Web Inspector window doesn't focus contents on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=50947
+ <rdar://problem/8762468>
+
+ When we get the notification that the inspector window has focused, focus the inner inspector view.
+
+ * UIProcess/WebInspectorProxy.h:
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::onSetFocusEvent): Set the focus of the inspector view, because that is what
+ needs to be focused in the inspector window.
+
+2010-12-13 Dan Bernstein <mitz@apple.com>
+
+ Coding style fix.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::originatingURLFromBackForwardList):
+
+2010-12-13 Balazs Kelemen <kbalazs@webkit.org>
+
+ Unreviewed trivial build fix (linux, 64 bit, gcc-4.5.1)
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::exceededDatabaseQuota):
+ Don't use unsigned long long as alias for uint64_t.
+
+2010-12-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Crash when clicking a download link that targets a new tab
+ https://bugs.webkit.org/show_bug.cgi?id=50935
+ <rdar://problem/8760572>
+
+ Check for a null history item.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::originatingURLFromBackForwardList):
+
+2010-12-13 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt][WK2] Fix build if WebKitTools are not available
+ https://bugs.webkit.org/show_bug.cgi?id=50242
+
+ * DerivedSources.pro: Remove dependency to WebKitTools.
+ * Scripts/generate-forwarding-headers.pl: Moved from WebKitTools/Scripts/generate-forwarding-headers.pl.
+
+2010-12-13 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed.
+
+ * WebKit2.pro: Remove non-existant Shared/DrawingAreaBase.h from build system.
+
+2010-10-28 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Ojan Vafai.
+
+ spellcheck does not check pasted text
+ https://bugs.webkit.org/show_bug.cgi?id=40092
+
+ Added a stub implememntation.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::requestCheckingOfString):
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+
+2010-12-12 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ WebKit2: Implement WebInspector::localizedStringsURL on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=50896
+
+ Find the localized strings file using CFBundleCopyResourceURL.
+
+ * WebProcess/WebPage/win/WebInspectorWin.cpp:
+ (WebKit::WebInspector::localizedStringsURL):
+
+2010-12-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Give LogTextInput a sensible flag value.
+
+ * Platform/Logging.cpp:
+
+2010-12-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Remove incorrect assertion that has been firing in the API tester.
+
+ * UIProcess/WebDatabaseManagerProxy.cpp:
+ (WebKit::WebDatabaseManagerProxy::~WebDatabaseManagerProxy):
+
+2010-12-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Disable WebKit2 logging by default.
+ https://bugs.webkit.org/show_bug.cgi?id=50878
+
+ * Platform/Logging.cpp:
+ (initializeLogChannelsIfNecessary):
+
+2010-12-11 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Web Inspector: Make inspector on Windows show and be usable in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=50877
+
+ Hook up the unimplemented methods in WebInspectorProxyWin to get the web inspector
+ showing and usable in WebKit2 on Windows.
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::WebInspectorProxy): Initialize Windows-specific variables to 0.
+ * UIProcess/WebInspectorProxy.h:
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::registerInspectorViewWindowClass): Sets up the inspector view class.
+ (WebKit::WebInspectorProxy::InspectorViewWndProc): Calls through to the WebInspectorProxy's non-static
+ WndProc.
+ (WebKit::WebInspectorProxy::wndProc): Handles WM_SIZE, WM_CLOSE, and WM_GETMINMAXINFO, the rest go to
+ ::DefWindowProc.
+ (WebKit::WebInspectorProxy::onSizeEvent): Resize the WKView that has the inspector page to match the
+ outer window that was just resized.
+ (WebKit::WebInspectorProxy::onMinMaxInfoEvent): Set the minimum size the window can be resized to.
+ (WebKit::WebInspectorProxy::onCloseEvent): Hide the window, and call WebInspectorProxy::close.
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create a WKView and return its page.
+ (WebKit::WebInspectorProxy::platformOpen): Create an HWND for the inspector, put the inspector's WKView
+ inside of it, and show the window.
+ (WebKit::WebInspectorProxy::platformClose): Destroy the inspector's window (which destroys the child WKView),
+ and 0 out instance variables.
+ (WebKit::WebInspectorProxy::inspectorPageURL): Finds inspector/inspector.html in the WebKit bundle.
+
+2010-12-12 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Crash in WebPage constructor.
+ https://bugs.webkit.org/show_bug.cgi?id=50892
+
+ * WebProcess/qt/WebProcessQt.cpp:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ Disable runtime enabled features that have no WebKit2 implementation yet.
+
+2010-12-10 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Select menus with short option titles do not paint properly
+ https://bugs.webkit.org/show_bug.cgi?id=50860
+ <rdar://problem/8660807>
+
+ The backing stores used for painting the popup menu items were only as
+ wide as the widest option title, but the popup window that we create is
+ at least as wide as the <select> element. This adjusts the backing
+ stores to be at least as wide as the <select>, as well.
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ (WebKit::WebPopupMenuProxyWin::paint):
+ Paint using the width of the backing store.
+
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
+ (WebKit::WebPopupMenu::show):
+ Pass the page coordinates of the <select> element to
+ setUpPlatformData().
+
+ * WebProcess/WebCoreSupport/WebPopupMenu.h:
+ Added new parameter to setUpPlatformData().
+
+ * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ Ditto.
+
+ * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp:
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ Ditto.
+
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ Fixed a typo in a comment. Adjust the backing store size to be at least
+ as wide as the <select> element, and use that width when painting the
+ items to the backing store.
+
+2010-12-11 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed Qt buildfix after r73808.
+
+ WebKit2: Need a WebKit2 equivalent of the WebKit1 WebDatabaseManager
+ https://bugs.webkit.org/show_bug.cgi?id=50606
+
+ * DerivedSources.pro:
+
+2010-12-11 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r73834.
+ http://trac.webkit.org/changeset/73834
+ https://bugs.webkit.org/show_bug.cgi?id=50866
+
+ It broke Qt-WebKit2 build, because of missing WK2_DIR variable
+ (Requested by Ossy on #webkit).
+
+ * WebKit2.pro:
+
+2010-12-10 Siddharth Mathur <siddharth.mathur@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt][WK2] Make WebKit2 static library compile on Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=50861
+
+ * WebKit2.pro:
+
+2010-12-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Ensure that we are not getting too many wheel events
+ <rdar://problem/7881465>
+
+ Add simple coalescing of wheel events being sent to the WebProcess. This
+ adds two models, one which drops interim events and one which merges events
+ together. For now, we are using the simpler dropping model.
+
+ * Shared/WebEvent.h:
+ (WebKit::WebEvent::modifiers):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::coalesceWheelEvents):
+ (WebKit::WebPageProxy::handleWheelEvent):
+ (WebKit::WebPageProxy::didReceiveEvent):
+ * UIProcess/WebPageProxy.h:
+
+2010-12-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Make WKContextGetStatistics gather global statistics
+ https://bugs.webkit.org/show_bug.cgi?id=50850
+
+ Change WKContextGetStatistics to work on all objects in the process, and
+ make it more robust by incrementing/decrementing the counts in the constructor
+ and destructor respectively.
+
+ Also, rename WKContextGetStatistics to WKContextGetGlobalStatistics to better match
+ what it's actually doing.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextGetStatistics):
+ * UIProcess/API/C/WKContextPrivate.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:pageGroupRef:]):
+ (-[WKView dealloc]):
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::statistics):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::WebFrameProxy):
+ (WebKit::WebFrameProxy::~WebFrameProxy):
+ * UIProcess/WebPageNamespace.cpp:
+ * UIProcess/WebPageNamespace.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::~WebPageProxy):
+ * UIProcess/WebPageProxy.h:
+
+2010-12-10 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Context menu support on Windows
+ <https://bugs.webkit.org/show_bug.cgi?id=50514>
+
+ Implment showing of the context menu on Windows for WebKit2, and calling through to
+ WebPageProxy::contextMenuItemSelected.
+
+ * UIProcess/win/WebContextMenuProxyWin.cpp:
+ (WebKit::WebContextMenuProxyWin::WebContextMenuProxyWin): Initialize the member variables.
+ (WebKit::WebContextMenuProxyWin::populateMenu): Iterate over the vector of WebContextMenuItemData
+ that was passed in, adding the menu items and recursively calling back into this function to populate
+ any submenus that are needed. This function also sets up the map from action identifierss to WebContextMenuItemData,
+ to use to find the WebContextMenuItemData from a selected menu item.
+ (WebKit::WebContextMenuProxyWin::showContextMenu): Destroy any menu we have already created, populate the menu
+ to show, and show the context menu. Once TrackPopupMenuEx returns, it returns identifier of the selected menu item.
+ Look up that identifier in the map we created, and tell the WebPageProxy that a context menu item was selected.
+ (WebKit::WebContextMenuProxyWin::hideContextMenu): Destroy the HMENU if it is non-null, and clear the identifier map.
+ * UIProcess/win/WebContextMenuProxyWin.h:
+ (WebKit::WebContextMenuProxyWin::create): Call through to the constructor, and change the arguments that it takes.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::createContextMenuProxy): Call with the correct arguments.
+
+2010-12-10 Jessie Berlin <jberlin@apple.com>
+
+ Qt Build Fix. Unreviewed.
+
+ * WebKit2.pro:
+ Add the Messages.h and MessageReceivers.h.
+
+2010-12-10 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Adam Roben and Sam Weinig.
+
+ WebKit2: Need a WebKit2 equivalent of the WebKit1 WebDatabaseManager
+ https://bugs.webkit.org/show_bug.cgi?id=50606
+
+ Add a WebDatabaseManagerProxy owned by the WebContext.
+
+ Expose API (similar to the WebKit1 API) to get a list of origins for which there are
+ Databases, delete all the databases for a given origin, and delete all the databases.
+
+ Add WebDatabaseManager and WebDatabaseManagerProxy as messages receivers.
+ * DerivedSources.make:
+ * Platform/CoreIPC/MessageID.h:
+
+ Add the WebDatabaseManagerProxy as a UIProcess type (DatabaseManager).
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ * UIProcess/API/C/WKAPICast.h:
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextGetDatabaseManager):
+ Expose API to get the DatabaseManager.
+ * UIProcess/API/C/WKContext.h:
+
+ * UIProcess/API/C/WKDatabaseManager.cpp: Added.
+ (WKDatabaseManagerGetTypeID):
+ (WKDatabaseManagerGetDatabaseOrigins):
+ (callGetDatabaseOriginsBlockBlockAndDispose):
+ (WKDatabaseManagerGetDatabaseOrigins_b):
+ (WKDatabaseManagerDeleteDatabasesForOrigin):
+ (WKDatabaseManagerDeleteAllDatabases):
+ * UIProcess/API/C/WKDatabaseManager.h: Added.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ Create the WebDatabaseManagerProxy.
+ (WebKit::WebContext::processDidClose):
+ Invalidate the WebDatabaseManagerProxy.
+ (WebKit::WebContext::didReceiveMessage):
+ Forward messages to the WebDatabaseManagerProxy.
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::databaseManagerProxy):
+
+ * UIProcess/WebDatabaseManagerProxy.cpp: Added.
+ (WebKit::WebDatabaseManagerProxy::create):
+ (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
+ (WebKit::WebDatabaseManagerProxy::~WebDatabaseManagerProxy):
+ (WebKit::WebDatabaseManagerProxy::invalidate):
+ Invalidate the map of callbacks for getDatabaseOrigins.
+ (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
+ Store the callback and send the request for the origins which have databases to the
+ WebProcess.
+ (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
+ Call the callback function with the SecurityOrigins created from the identifiers received.
+ (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
+ If the origin exists, send the message on to the WebProcess to delete the databases
+ associated with that origin.
+ (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
+ Send the message to the WebProcess to delete all the databases.
+ * UIProcess/WebDatabaseManagerProxy.h: Added.
+ (WebKit::WebDatabaseManagerProxy::type):
+ * UIProcess/WebDatabaseManagerProxy.messages.in: Added.
+
+ * UIProcess/WebPageProxy.cpp:
+ Move invalidateCallbackMap from here ...
+ * UIProcess/GenericCallback.h:
+ (WebKit::invalidateCallbackMap):
+ .. to here so that it can be used elsewhere (e.g. by WebDatabaseManagerProxy).
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ Forward on all messages destined for the WebDatabaseManagerProxy to the WebContext.
+
+ * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
+ (WebKit::WebDatabaseManager::didReceiveMessage):
+ (WebKit::WebDatabaseManager::getDatabaseOrigins):
+ Send an array of the identifiers for the SecurityOrigins for which there are databases to
+ the UIProcess.
+ (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
+ If the SecurityOrigin with that identifier exists, tell the DatabaseTracker to delete the
+ databases for that origin.
+ (WebKit::WebDatabaseManager::deleteAllDatabases):
+ Tell the DatabaseTracker to delete the databases for that origin.
+ * WebProcess/WebCoreSupport/WebDatabaseManager.h:
+ * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: Added.
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveMessage):
+
+ * WebKit2.pro:
+ Add WKDatabaseManager.cpp/.h and WebDatabaseManagerProxy.cpp/.h
+ * WebKit2.xcodeproj/project.pbxproj:
+ Ditto, also add WebDatabaseManagerProxy.messages.in and WebDatabaseManager.messages.in.
+ * win/WebKit2.vcproj:
+ Ditto.
+ * win/WebKit2Generated.make:
+ Make sure WKDatabaseManager.h is copied into WebKitBuild on Windows.
+
+2010-12-10 Ada Chan <adachan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Implement Download::start() and Download::startWithHandle() on Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=50844
+
+ * WebProcess/Downloads/Download.h:
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ (WebKit::Download::start): Create a CFURLDownloadRef and schedule it.
+ (WebKit::Download::startWithHandle): Create a CFURLDownloadRef with the loading connection
+ retrieved from the ResourceHandle.
+ (WebKit::Download::platformInvalidate):
+ (WebKit::downloadFromClientInfo):
+ (WebKit::didStartCallback):
+ (WebKit::willSendRequestCallback):
+ (WebKit::didReceiveAuthenticationChallengeCallback):
+ (WebKit::didReceiveResponseCallback):
+ (WebKit::willResumeWithResponseCallback):
+ (WebKit::didReceiveDataCallback):
+ (WebKit::shouldDecodeDataOfMIMETypeCallback):
+ (WebKit::decideDestinationWithSuggestedObjectNameCallback):
+ (WebKit::didCreateDestinationCallback):
+ (WebKit::didFinishCallback):
+ (WebKit::didFailCallback):
+
+2010-12-10 Enrica Casucci <enrica@apple.com>
+
+ Windows build fix. Unreviewed.
+
+ Adding a dummy synchronous message for platforms
+ that don't have any.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::dummy):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-12-09 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Prep for WebKit2: Context menu support on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=50514
+
+ Update WebKit2 to call the correct code when CROSS_PLATFORM_CONTEXT_MENUS is set.
+
+ * Shared/WebContextMenuItemData.cpp:
+ (WebKit::WebContextMenuItemData::WebContextMenuItemData): Add a branch based on whether or not
+ CROSS_PLATFORM_CONTEXT_MENUS is set.
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ (WebKit::WebContextMenuClient::customizeMenu): Define different functions based on
+ whether or not CROSS_PLATFORM_CONTEXT_MENUS. Both of these are stubs, so functionality
+ doesn't need to be shared.
+ * WebProcess/WebCoreSupport/WebContextMenuClient.h: Define different functions based on
+ whether or not CROSS_PLATFORM_CONTEXT_MENUS.
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ (WebKit::WebContextMenu::show): Add a branch based on whether or not
+ CROSS_PLATFORM_CONTEXT_MENUS is set.
+
+2010-12-09 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Implement IME support for Mac.
+ <rdar://problem/7660589> WebKit2: Implement IME support for Mac.
+ https://bugs.webkit.org/show_bug.cgi?id=50788
+
+ This patch addes support for input methods in WebKit2.
+ In order to support IME, it was necessary to add synchronous calls from the UIProcess
+ to the WebProcess. These calls all have a timeout of 1 second.
+ The current implementation still uses the NSTextInput protocol, but the plan is to move
+ to the NSTextInputClient protocol. This has not been done yet for ease of comparison with
+ WebKit. attributedSubstringFromRange is the only method that has not been implemented, because
+ I have not yet decided what is the best way to send an NSAttributedString across the process
+ boundary.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction): Added template for member function.
+ with four reply arguments.
+ * Scripts/webkit2/messages.py: Added CompositionUnderline and relevant header.
+ * Shared/WebCoreArgumentCoders.h:
+ (CoreIPC::): Added encoder/decoder for CompositionUnderline.
+ * UIProcess/API/mac/PageClientImpl.h: Added parameters to interceptKeyEvent and selectionChanged.
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::selectionChanged): Added parameters.
+ (WebKit::PageClientImpl::interceptKeyEvent): Added parameters.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:pageGroupRef:]): Added initialization of new private members.
+ (-[WKView insertText:]):
+ (-[WKView _selectionChanged:isEditable:isPassword:hasMarkedText:range:]): Added parameters.
+ (-[WKView _interceptKeyEvent:hasComposition:start:end:lines:WebCore::]): Added parameters.
+ (-[WKView keyDown:]): Modified to reset state on each keyDown.
+ (-[WKView selectedRange]): Added.
+ (-[WKView hasMarkedText]): Added.
+ (-[WKView unmarkText]): Added.
+ (-[WKView validAttributesForMarkedText]): Added.
+ (extractUnderlines): Added.
+ (-[WKView setMarkedText:selectedRange:]): Added.
+ (-[WKView markedRange]): Added.
+ (-[WKView attributedSubstringFromRange:]): Added.
+ (-[WKView characterIndexForPoint:]): Added.
+ (-[WKView firstRectForCharacterRange:]): Added.
+ (-[WKView conversationIdentifier]): Added.
+ * UIProcess/API/mac/WKViewInternal.h: Added parameters to _interceptKeyEvent and _selectionChanged.
+ * UIProcess/PageClient.h: Added parameters to interpretKeyEvent and selectionChanged.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::getMarkedRange): Added.
+ (WebKit::WebPageProxy::characterIndexForPoint): Added.
+ (WebKit::WebPageProxy::firstRectForCharacterRange): Added.
+ (WebKit::WebPageProxy::interpretKeyEvent): Additional parameters.
+ (WebKit::WebPageProxy::didSelectionChange): Additional parameters for Mac platform.
+ * UIProcess/WebPageProxy.h: Added new methods and parameters to didSelectionChange
+ and interpretKeyEvent.
+ * UIProcess/WebPageProxy.messages.in: Added parameters to interpretKeyEvent and selectionChanged messages.
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::sendSync): Added support for synchronous messages.
+ The default timeout is 1 second.
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp: respondToChangedSelection is now
+ only for non Mac platform.
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::respondToChangedSelection): Added implementation for Mac platform.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveSyncMessage): Added.
+ * WebProcess/WebPage/WebPage.h: Added new methods and support for synchronous messages.
+ * WebProcess/WebPage/WebPage.messages.in: Added new messages.
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::interceptEditingKeyboardEvent): Added parameters.
+ (WebKit::WebPage::convertRangeToPlatformRange): Added.
+ (WebKit::WebPage::getMarkedRange): Added.
+ (WebKit::characterRangeAtPoint): Added.
+ (WebKit::WebPage::characterIndexForPoint): Added.
+ (WebKit::convertToRange): Added.
+ (WebKit::WebPage::firstRectForCharacterRange): Added.
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveSyncMessage): Added.
+ * WebProcess/WebProcess.h: Added didReceiveSyncMessage.
+
+2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Add the QWKContext API class to wrap the WebContext.
+ https://bugs.webkit.org/show_bug.cgi?id=50750
+
+ * UIProcess/API/qt/WKView.h:
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ Change the WKPageNamespaceRef argument to QWKContext*
+ * UIProcess/API/qt/qgraphicswkview.h:
+ * UIProcess/API/qt/qwkcontext.cpp: Added.
+ * UIProcess/API/qt/qwkcontext.h: Added.
+ * UIProcess/API/qt/qwkcontext_p.h: Added.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPage::QWKPage):
+ Change the WKPageNamespaceRef argument to QWKContext*
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ * WebKit2.pro:
+
+2010-12-10 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Flush IPC connection send buffer after each message.
+
+ [Qt] [WK2] IPC messages are not sent until send buffer fills up
+ https://bugs.webkit.org/show_bug.cgi?id=50667
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::sendOutgoingMessage):
+
+2010-12-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Use a single QNetworkAccessManager per web process.
+ https://bugs.webkit.org/show_bug.cgi?id=50757
+
+ This allows a better management of network resources and the use
+ of global cookie jar and disk cache across all frames.
+
+ * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
+ (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
+ (WebCore::WebFrameNetworkingContext::networkAccessManager):
+ * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ (WebKit::WebProcess::initializeWebProcess):
+ (WebKit::WebProcess::shutdownIfPossible):
+ * WebProcess/WebProcess.h:
+ (WebKit::WebProcess::networkAccessManager):
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ (WebKit::WebProcess::platformShutdown):
+ * WebProcess/qt/WebProcessQt.cpp:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ (WebKit::WebProcess::platformShutdown):
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ (WebKit::WebProcess::platformShutdown):
+
+2010-12-09 Mark Rowe <mrowe@apple.com>
+
+ Fix the 32-bit build.
+
+ * Shared/cf/ArgumentCodersCF.cpp:
+ (CoreIPC::sizeForNumberType):
+
+2010-12-09 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ WebKit2: Control-click doesn't invoke context menu
+ https://bugs.webkit.org/show_bug.cgi?id=50793
+ <rdar://problem/8664800>
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::isContextClick): New helper function - on Mac, not only right clicks
+ but also control-left-clicks are context clicks.
+ (WebKit::handleMouseEvent): Use above.
+
+2010-12-09 Anders Carlsson <andersca@apple.com>
+
+ Fix clang++ build.
+
+ * Scripts/webkit2/messages.py:
+ DrawingAreaInfo is a struct.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::valueForKey):
+ Move valueForKey above code that uses it.
+
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ (-[WebInspectorProxyObjCAdapter windowWillClose:]):
+ Remove trailing semicolon.
+
+2010-12-09 Timothy Hatcher <timothy@apple.com>
+
+ Add support for transparent WebKit2 WKViews.
+
+ https://webkit.org/b/50785
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode): Encode drawsBackground and drawsTransparentBackground.
+ (WebKit::WebPageCreationParameters::decode): Decode drawsBackground and drawsTransparentBackground.
+ * Shared/WebPageCreationParameters.h:
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView setDrawsBackground:]): Added.
+ (-[WKView drawsBackground]): Added.
+ (-[WKView setDrawsTransparentBackground:]): Added.
+ (-[WKView drawsTransparentBackground]): Added.
+ (-[WKView drawRect:]): Only fill the background if the WebProcess isn't valid and drawsBackground.
+ Use white or clear based on setDrawsTransparentBackground.
+ (-[WKView isOpaque]): Return drawsBackground.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy): Initialize m_drawsBackground and m_drawsTransparentBackground.
+ (WebKit::WebPageProxy::setDrawsBackground): Added. Send a SetDrawsBackground message.
+ (WebKit::WebPageProxy::setDrawsTransparentBackground): Added. Send a SetDrawsTransparentBackground message.
+ (WebKit::WebPageProxy::creationParameters): Set drawsBackground and drawsTransparentBackground.
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::drawsBackground): Added. Return m_drawsBackground.
+ (WebKit::WebPageProxy::drawsTransparentBackground): Added. Return m_drawsTransparentBackground.
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint): Use the copy blend mode when drawing a background.
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore): Use the copy blend mode to replace existing content.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Setup the new view's background color and transparent flag.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Initialize m_drawsBackground and m_drawsTransparentBackground.
+ (WebKit::WebPage::setDrawsBackground): Added. Propagate the flag to the FrameViews.
+ (WebKit::WebPage::setDrawsTransparentBackground): Added. Propagate the background color to the FrameViews.
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::drawsBackground): Added. Return m_drawsBackground.
+ (WebKit::WebPage::drawsTransparentBackground): Added. Return m_drawsTransparentBackground.
+ * WebProcess/WebPage/WebPage.messages.in: Added SetDrawsBackground and SetDrawsTransparentBackground.
+
+2010-12-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Cannot use NSKeyedArchiver in WK2 for ResourceResponses
+ https://bugs.webkit.org/show_bug.cgi?id=50792
+ <rdar://problem/8741799>
+
+ When encoding, first convert the requests and responses to the serializable dictionary representation
+ and use the newly added CF CoreIPC encoders. When decoding, do the opposite.
+
+ * Shared/mac/WebCoreArgumentCodersMac.mm:
+ (CoreIPC::encodeResourceRequest):
+ (CoreIPC::decodeResourceRequest):
+ (CoreIPC::encodeResourceResponse):
+ (CoreIPC::decodeResourceResponse):
+
+2010-12-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add CoreIPC coders for CF types
+ https://bugs.webkit.org/show_bug.cgi?id=50791
+
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ (CoreIPC::ArgumentDecoder::decodeEnum):
+ * Platform/CoreIPC/ArgumentEncoder.h:
+ (CoreIPC::ArgumentEncoder::encodeEnum):
+ * Shared/cf/ArgumentCodersCF.cpp: Added.
+ (CoreIPC::tokenNullTypeRef):
+ (CoreIPC::typeFromCFTypeRef):
+ (CoreIPC::encode):
+ (CoreIPC::decode):
+ (CoreIPC::sizeForNumberType):
+ * Shared/cf/ArgumentCodersCF.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-12-09 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8749750> and https://bugs.webkit.org/show_bug.cgi?id=50786
+ WK2 authentication never consults WebCore session credential storage.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Since we don't need to expose this as
+ API at this time, always return true.
+
+2010-12-09 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebKit2: Add support for access keys
+ https://bugs.webkit.org/show_bug.cgi?id=49832
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::handleKeyEvent): Match windows WebKit and call
+ the event handler's for handleAccessKey function for
+ system keys. This will never be hit on the Mac.
+
+2010-12-09 Darin Adler <darin@apple.com>
+
+ Qt build fix.
+
+ * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: Include "NotImplemented.h".
+
+2010-12-09 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp:
+
+2010-12-09 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/8613779> and https://bugs.webkit.org/show_bug.cgi?id=50777
+ WebKit2 ContextMenuClient support
+
+ Implement google search in a cross platform manner, and add a FIXME for download support:
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ (WebKit::WebContextMenuClient::downloadURL):
+ (WebKit::WebContextMenuClient::searchWithGoogle):
+
+ Mac implementations for speaking and searching:
+ * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: Added.
+ (WebKit::WebContextMenuClient::lookUpInDictionary): Add a FIXME for now.
+ (WebKit::WebContextMenuClient::isSpeaking):
+ (WebKit::WebContextMenuClient::speak):
+ (WebKit::WebContextMenuClient::stopSpeaking):
+ (WebKit::WebContextMenuClient::searchWithSpotlight):
+
+ Stubs for Win and Qt:
+ * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: Added.
+ (WebKit::WebContextMenuClient::lookUpInDictionary):
+ (WebKit::WebContextMenuClient::isSpeaking):
+ (WebKit::WebContextMenuClient::speak):
+ (WebKit::WebContextMenuClient::stopSpeaking):
+ * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp: Added.
+ (WebKit::WebContextMenuClient::lookUpInDictionary):
+ (WebKit::WebContextMenuClient::isSpeaking):
+ (WebKit::WebContextMenuClient::speak):
+ (WebKit::WebContextMenuClient::stopSpeaking):
+
+ Project file stuffs:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-12-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't leak the PDFDocument
+ https://bugs.webkit.org/show_bug.cgi?id=50771
+
+ * UIProcess/API/mac/PDFViewController.mm:
+ (WebKit::PDFViewController::setPDFDocumentData):
+
+2010-12-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a basic implementation of PDF support on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=50768
+
+ * UIProcess/API/mac/PDFViewController.h:
+ * UIProcess/API/mac/PDFViewController.mm: Added.
+ (-[WKPDFView initWithFrame:PDFViewController:WebKit::]):
+ Setup the view hierarchy.
+
+ (-[WKPDFView invalidate]):
+ Set the controller to null.
+
+ (-[WKPDFView pdfView]):
+ Return the PDF view.
+
+ (WebKit::PDFViewController::create):
+ (WebKit::PDFViewController::PDFViewController):
+ Create a WKPDFView and insert it as a subview of the WKView.
+
+ (WebKit::PDFViewController::~PDFViewController):
+ Remove the WKPDFView from the view hierarchy and invalidate it.
+
+ (WebKit::convertPostScriptDataSourceToPDF):
+ Convert the data in the data reference to PDF and return it as a CFDataRef.
+
+ (WebKit::PDFViewController::setPDFDocumentData):
+ Create a PDFDocument and set it on the PDF view.
+
+ (WebKit::PDFViewController::pdfDocumentClass):
+ (WebKit::PDFViewController::pdfPreviewViewClass):
+ (WebKit::PDFViewController::pdfKitBundle):
+ Add soft-linking helper functions.
+
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::didCommitLoadForMainFrame):
+ (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
+ Call the WKView methods.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _setPageHasCustomRepresentation:]):
+ Create a PDF view controller if necessary.
+
+ (-[WKView _didFinishLoadingDataForCustomRepresentation:CoreIPC::]):
+ Pass the data along to the PDF view controller.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+2010-12-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add support for custom representation
+ https://bugs.webkit.org/show_bug.cgi?id=50767
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ Add mimeTypesWithCustomRepresentation and encode and decode accordingly.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::didCommitLoadForMainFrame):
+ (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
+ Add empty stubs for now.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::didCommitLoadForMainFrame):
+ (QWKPagePrivate::didFinishLoadingDataForCustomRepresentation):
+ * UIProcess/API/qt/qwkpage_p.h:
+ Add empty stubs.
+
+ * UIProcess/PageClient.h:
+ Add new functions for custom representations.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::canShowMIMEType):
+ Check that the mime type is not null.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didCommitLoadForFrame):
+ This now takes an additional frameHasCustomRepresentation parameter.
+ Call the page client function.
+
+ (WebKit::WebPageProxy::didFinishLoadingDataForCustomRepresentation):
+ Call the page client function.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Change DidCommitLoadForFrame message, add DidFinishLoadingDataForCustomRepresentation message.
+
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ We want to use custom representations for PDF and PostScript MIME types.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::didCommitLoadForMainFrame):
+ (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
+ * UIProcess/win/WebView.h:
+ Add stubs.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
+ Initialize m_frameHasCustomRepresentation.
+
+ (WebKit::WebFrameLoaderClient::hasHTMLView):
+ The frame has a HTML view unless it has a custom representation.
+
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ Pass along whether the frame has a custom representation.
+
+ (WebKit::WebFrameLoaderClient::committedLoad):
+ Don't send data back to WebCore if the frame has a custom representation.
+
+ (WebKit::WebFrameLoaderClient::finishedLoading):
+ Send all the data to the UI process.
+
+ (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
+ Update the m_frameHasCustomRepresentation state based on the MIME type.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ (WebKit::WebFrameLoaderClient::frameHasCustomRepresentation):
+ Add getter.
+
+ * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
+ Don't do any painting if the main frame has a custom representation.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ Add all the MIME types with custom representations.
+
+ * WebProcess/WebProcess.h:
+ (WebKit::WebProcess::shouldUseCustomRepresentationForMIMEType):
+ Add getter.
+
+2010-12-09 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Implement "Use Selection for Find" in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=50737
+ <rdar://problem/8564881>
+
+ * UIProcess/API/mac/WKView.mm: Add support for the takeFindStringFromSelection:
+ selector as a command.
+
+2010-12-09 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
+ WebKit2 Authentication Support
+
+ Implement authentication-related coders:
+ * Shared/WebCoreArgumentCoders.h:
+
+ Allow the ResourceResponse coders to handle null responses:
+ * Shared/mac/WebCoreArgumentCodersMac.mm:
+ (CoreIPC::encodeResourceResponse):
+ (CoreIPC::decodeResourceResponse):
+
+ Add new API and Impl casts for ProtectionSpace and Credential enums:
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toAPI):
+ (WebKit::toCredentialPersistence):
+
+ Move the DecisionListener to be accessed off the challenge itself, and fill in other
+ necessary API:
+ * UIProcess/API/C/WKAuthenticationChallenge.cpp:
+ (WKAuthenticationChallengeGetDecisionListener):
+ (WKAuthenticationChallengeGetProtectionSpace):
+ (WKAuthenticationChallengeGetProposedCredential):
+ (WKAuthenticationChallengeGetPreviousFailureCount):
+ * UIProcess/API/C/WKAuthenticationChallenge.h:
+ * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
+ (WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy):
+ (WebKit::AuthenticationChallengeProxy::proposedCredential):
+ (WebKit::AuthenticationChallengeProxy::protectionSpace):
+ * UIProcess/Authentication/AuthenticationChallengeProxy.h:
+ (WebKit::AuthenticationChallengeProxy::previousFailureCount):
+
+ Fill in some credential API:
+ * UIProcess/API/C/WKCredential.cpp:
+ (WKCredentialCreate):
+ (WKCredentialCopyUser):
+ * UIProcess/API/C/WKCredential.h:
+ * UIProcess/API/C/WKCredentialTypes.h: Added.
+ * UIProcess/Authentication/WebCredential.cpp:
+ (WebKit::WebCredential::WebCredential):
+ (WebKit::WebCredential::user):
+ * UIProcess/Authentication/WebCredential.h:
+ (WebKit::WebCredential::create):
+
+ Fill in some protection space API:
+ * UIProcess/API/C/WKProtectionSpace.cpp:
+ (WKProtectionSpaceCopyHost):
+ (WKProtectionSpaceGetPort):
+ (WKProtectionSpaceCopyRealm):
+ (WKProtectionSpaceGetIsProxy):
+ (WKProtectionSpaceGetServerType):
+ (WKProtectionSpaceGetReceivesCredentialSecurely):
+ (WKProtectionSpaceGetAuthenticationScheme):
+ * UIProcess/API/C/WKProtectionSpace.h:
+ * UIProcess/API/C/WKProtectionSpaceTypes.h: Added.
+ * UIProcess/Authentication/WebProtectionSpace.cpp:
+ (WebKit::WebProtectionSpace::WebProtectionSpace):
+ (WebKit::WebProtectionSpace::host):
+ (WebKit::WebProtectionSpace::port):
+ (WebKit::WebProtectionSpace::realm):
+ (WebKit::WebProtectionSpace::isProxy):
+ (WebKit::WebProtectionSpace::serverType):
+ (WebKit::WebProtectionSpace::receivesCredentialSecurely):
+ (WebKit::WebProtectionSpace::authenticationScheme):
+ * UIProcess/Authentication/WebProtectionSpace.h:
+
+ Change the authentication challenge callback to reflect the new ownership of
+ the DecisionListener:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didReceiveAuthenticationChallengeInFrame):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-12-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey "Error" Garen.
+
+ Fix typo: Diplaying -> Displaying
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameIsDisplayingStandaloneImageDocument):
+ (WKFrameIsDisplayingMarkupDocument):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::canProvideSource):
+ (WebKit::WebFrameProxy::isDisplayingStandaloneImageDocument):
+ (WebKit::WebFrameProxy::isDisplayingMarkupDocument):
+ * UIProcess/WebFrameProxy.h:
+
+2010-12-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Add WebKit2 Preference for TabsToLinks behavior.
+ <rdar://problem/8664263>
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetTabsToLinks):
+ (WKPreferencesGetTabsToLinks):
+ * UIProcess/API/C/WKPreferences.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::tabsToLinks):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::updatePreferences):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::tabsToLinks):
+
+2010-12-08 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ WebTouchEvent::isTouchEventType() does not take into account the type TouchCancel
+ https://bugs.webkit.org/show_bug.cgi?id=50680
+
+ Add the missing type check to WebTouchEvent::isTouchEventType().
+
+ * Shared/WebTouchEvent.cpp:
+ (WebKit::WebTouchEvent::isTouchEventType):
+
+2010-12-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Need a way to get a WKBundleFrameRef from JS HTMLIFrameElement
+ https://bugs.webkit.org/show_bug.cgi?id=50726
+
+ Adds WKBundleNodeHandleCopyDocumentFrame, WKBundleNodeHandleCopyHTMLFrameElementContentFrame
+ and WKBundleNodeHandleCopyHTMLIFrameElementContentFrame, to handle the document, <frame>
+ and <iframe> cases.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleCopyDocumentFrame):
+ (WKBundleNodeHandleCopyHTMLFrameElementContentFrame):
+ (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::copyDocumentFrame):
+ (WebKit::InjectedBundleNodeHandle::copyHTMLFrameElementContentFrame):
+ (WebKit::InjectedBundleNodeHandle::copyHTMLIFrameElementContentFrame):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+
+2010-12-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Need a WebKit2 way to test whether a frame is displaying a standalone image
+ <rdar://problem/8443059>
+ WebKit2: Need a way to test whether a page or frame is showing HTML content
+ <rdar://problem/8642563>
+
+ Add WKFrameIsDiplayingStandaloneImageDocument and WKFrameIsDiplayingMarkupDocument.
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameIsDiplayingStandaloneImageDocument):
+ (WKFrameIsDiplayingMarkupDocument):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::canProvideSource): This now just calls isDiplayingMarkupDocument.
+ (WebKit::WebFrameProxy::isDiplayingStandaloneImageDocument):
+ (WebKit::WebFrameProxy::isDiplayingMarkupDocument):
+ * UIProcess/WebFrameProxy.h:
+
+2010-12-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebFrameProxy::canShowMIMEType should return true for PDF MIME types in the main frame
+ https://bugs.webkit.org/show_bug.cgi?id=50724
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::pdfAndPostScriptMIMETypes):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::canShowMIMEType):
+
+2010-12-08 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ WebMenuTarget implemented in both WebKit and WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=50665
+ <rdar://problem/8742640>
+
+ Rename WebMenuTarget to WKMenuTarget to prevent this warning and stay consistent with
+ other WebKit2 namings.
+
+ * UIProcess/mac/WebContextMenuProxyMac.mm:
+ (+[WKMenuTarget sharedMenuTarget]):
+ (WebKit::nsMenuItemVector):
+ (WebKit::WebContextMenuProxyMac::showContextMenu):
+
+2010-12-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Move canShowMIMEType to Frame
+ https://bugs.webkit.org/show_bug.cgi?id=50723
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameCanShowMIMEType):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::canShowMIMEType):
+ * UIProcess/WebFrameProxy.h:
+
+2010-12-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Rename WKPreferencesGetFTPDirectoryTemplatePath to WKPreferencesCopyFTPDirectoryTemplatePath
+ since it copies the value.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesCopyFTPDirectoryTemplatePath):
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+
+2010-12-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brady Eidson.
+
+ WebKit2: Can't open ftp directory
+ <rdar://problem/8489321>
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetForceFTPDirectoryListings):
+ (WKPreferencesGetForceFTPDirectoryListings):
+ (WKPreferencesSetFTPDirectoryTemplatePath):
+ (WKPreferencesGetFTPDirectoryTemplatePath):
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ Pipe through the FTP directory listing preferences.
+
+2010-12-08 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
+ https://bugs.webkit.org/show_bug.cgi?id=49388
+
+ Fixes a build failure because WebChromeClient.cpp uses WebCore::Cursor.
+ This patch adds an include of QuartzCore/CATransform3D, which includes
+ a file that has a 'Cursor' object defined. So I had to qualify the
+ use of Cursor in WebChromeClient.cpp.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setCursor):
+
+2010-12-07 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Layering Violation in ContextMenu - member variable of type HitTestResult
+ https://bugs.webkit.org/show_bug.cgi?id=50586
+
+ Update users of ContextMenu and ContextMenuController to match where the new functions
+ are located.
+
+ * Shared/WebContextMenuItemData.cpp:
+ (WebKit::WebContextMenuItemData::WebContextMenuItemData): Remove the call to checkOrEnableItem, that call will be made when
+ the ContextMenuItem is added to the ContextMenu through the ContextMenuController.
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ (WebKit::WebContextMenu::show):
+
+2010-12-08 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: Implement WebChromeClient::exceededDatabaseQuota
+ https://bugs.webkit.org/show_bug.cgi?id=50656
+
+ The exceededDatabaseQuota call from the WebProcess to the UIProcess needs to be synchronous
+ because the new quota is checked directly after exceededDatabaseQuota returns in order to
+ determine if the new Database can be created.
+
+ Pass all of the details from the WebProcess to the UIProcess in order to inform the
+ decision in the UIProcess about the new quota. In WebKit1, these details were
+ fetched through an additional call to the API detailsForDatabase (which is infeasible in
+ WebKit2 since exceededDatabaseQuota is a synchronous call).
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ Add a version that takes 7 parameters.
+
+ * UIProcess/API/C/WKPage.h:
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ Indicate that exceededDatabaseQuota is not implemented.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::exceededDatabaseQuota):
+ Call the UIClient's exceededDatabaseQuota
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::exceededDatabaseQuota):
+ If the client does not implement exceededDatabaseQuota, return a the current quota.
+ * UIProcess/WebUIClient.h:
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::exceededDatabaseQuota):
+ Send a synchronous message to the UIProcess to ask for the new quota for the origin for the
+ given frame.
+
+2010-12-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ fast/loader/empty-embed-src-attribute.html asserts in debug builds
+ https://bugs.webkit.org/show_bug.cgi?id=50643
+
+ Just always ignore attempts to load requests with empty URLs.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+
+2010-12-07 Jessie Berlin <jberlin@apple.com>
+
+ Build fix. Unreviewed.
+
+ * WebKit2.pro:
+ Added WebDatabaseManagerQt.cpp.
+ * WebProcess/WebCoreSupport/qt/WebDatabaseManagerQt.cpp: Added.
+ (WebKit::WebDatabaseManager::databaseDirectory):
+ Added a FIXME to implement and return an empty string.
+
+2010-12-07 Darin Adler <darin@apple.com>
+
+ Get a bit closer to making Qt WebKit2 compile again.
+
+ * WebKit2.pro: Add the WebDatabaseManager source files.
+ Still missing: The Qt version of the databaseDirectory function.
+
+2010-12-07 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Need to set the location of the Databases directory when the WebProcess is initialized
+ https://bugs.webkit.org/show_bug.cgi?id=50604
+
+ * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: Added.
+ (WebKit::WebDatabaseManager::shared):
+ (WebKit::WebDatabaseManager::WebDatabaseManager):
+ Initialize the DatabaseTracker with the Database directory.
+ * WebProcess/WebCoreSupport/WebDatabaseManager.h: Added.
+ * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm: Added.
+ (WebKit::WebDatabaseManager::databaseDirectory):
+ Copied from WebKitInitializeDatabasesIfNecessary in WebKit/mac/Storage/WebDatabaseManager.mm.
+ * WebProcess/WebCoreSupport/win/WebDatabaseManagerWin.cpp: Added.
+ (WebKit::WebDatabaseManager::databaseDirectory):
+ Copied from WebKitInitializeWebDatabasesIfNecessary in WebKit/win/WebDatabaseManager.cpp.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ Make sure that the Databases directory has been set by calling WebDatabaseManager::shared().
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add WebDatabaseManager.cpp/.h/Mac.cpp
+ * win/WebKit2.vcproj:
+ Add WebDatabaseManager.cpp/.h/Win.cpp
+
+2010-12-06 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pass security origin to make local file decision correctly
+ https://bugs.webkit.org/show_bug.cgi?id=48603
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::loadURL): Pass security origin.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchCreatePage): Ditto.
+
+2010-12-06 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix two WebKit2 prefs issues.
+
+ * Shared/WebPreferencesStore.h: Include font-family preferences
+ in the FOR_EACH_WEBKIT_STRING_PREFERENCE macro, actually propagating
+ font family prefs to WebCore settings.
+
+ * UIProcess/WebPageGroup.cpp:
+ (WebKit::WebPageGroup::WebPageGroup):
+ (WebKit::WebPageGroup::~WebPageGroup): Add and remove the WebPageGroup
+ from the preference object it creates. This allows preference changes
+ to actually be propagated to the web process.
+
+2010-12-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ The plug-in process crashes if it can't load the plug-in module
+ https://bugs.webkit.org/show_bug.cgi?id=50601
+ <rdar://problem/8692654>
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::initialize):
+ Handle m_plugin being 0.
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::netscapePluginModule):
+ Create the plug-in module if it doesn't exist.
+
+ (WebKit::PluginProcess::initialize):
+ Store the plug-in path.
+
+ * PluginProcess/PluginProcess.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::create):
+ Return null if the plug-in module doesn't exist.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ Simplify code.
+
+2010-12-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebProcess crash in NPRemoteObjectMap::invalidate when closing tab
+ https://bugs.webkit.org/show_bug.cgi?id=50597
+ <rdar://problem/8655584>
+
+ When invalidating the NPRemoteObjectMap, we don't want NPObjectMessageReceiver to
+ release all objects NPObjects blindly because NPJSObjects have already been deallocated by the plug-in view.
+
+ This is not an ideal solution; an ideal solution would involve NPJSObjects notifying any NPObjectMessageReceiver objects
+ that the NPJSObject is being destroyed. The NPObjectMessageReceiver could then simply null out the NPObject pointer.
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
+ (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
+ * Shared/Plugins/NPObjectMessageReceiver.h:
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::NPRemoteObjectMap):
+ (WebKit::NPRemoteObjectMap::invalidate):
+ * Shared/Plugins/NPRemoteObjectMap.h:
+ (WebKit::NPRemoteObjectMap::isInvalidating):
+
+2010-12-06 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Generalize didChangeLocationWithinPageForFrame for all same document navigations
+ https://bugs.webkit.org/show_bug.cgi?id=50584
+
+ - Rename didChangeLocationWithinPageForFrame callbacks to didSameDocumentNavigationForFrame
+ - Add WKSameDocumentNavigationType to didChangeLocationWithinPageForFrame.
+ - Call didSameDocumentNavigationForFrame for HTML session state changes.
+
+ * Shared/API/c/WKPageLoadTypes.h: Added.
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ Moved WKFrameNavigationType here from WKPage.h and add WKSameDocumentNavigationType.
+
+ * Shared/SameDocumentNavigationType.h: Added.
+ * UIProcess/API/C/WKAPICast.h:
+ Moved WKFrameNavigationType conversion from here.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ Update comment.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didSameDocumentNavigation):
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didSameDocumentNavigationForFrame):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ Pipe new name through.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
+ (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
+ (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
+ (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
+ Call didChangeLocationWithinPageForFrame for session state changes.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2010-12-06 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2: Expose the preference to enable or disable HTML5 Databases.
+ https://bugs.webkit.org/show_bug.cgi?id=50411
+
+ * Shared/WebPreferencesStore.h:
+ Make the preference to enable HTML5 Databases default ot true.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetDatabasesEnabled):
+ (WKPreferencesGetDatabasesEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ Set AbstractDatabase::isAvailable (mimicking how the preference is set in WebKit1).
+
+2010-12-06 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformHandleKeyboardEvent): Wrap Carbon-specific code in #ifndef NP_NO_CARBON.
+
+2010-12-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a shim for GetCurrentEventButtonState
+ https://bugs.webkit.org/show_bug.cgi?id=50583
+
+ * PluginProcess/mac/PluginProcessMac.mm:
+ (WebKit::getCurrentEventButtonState):
+ Get the event button state from the plug-in.
+
+ (WebKit::PluginProcess::initializeShim):
+ Add new shim callback.
+
+ * PluginProcess/mac/PluginProcessShim.cpp:
+ (WebKit::shimGetCurrentEventButtonState):
+ Add shim.
+
+ * PluginProcess/mac/PluginProcessShim.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::buttonState):
+ Return the button state.
+
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ Update the button state. Also, make sure to actually pass the modifiers to NPP_HandleEvent.
+
+
+2010-12-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a shim for IsWindowActive
+ https://bugs.webkit.org/show_bug.cgi?id=50582
+
+ * PluginProcess/mac/PluginProcessMac.mm:
+ (WebKit::isWindowActive):
+ Get the NetscapePlugin from the WindowRef and check if the plug-in's window is active.
+
+ (WebKit::PluginProcess::initializeShim):
+ * PluginProcess/mac/PluginProcessShim.cpp
+ (WebKit::shimIsWindowActive):
+ Call isWindowActive. If it returns true, return the result value. Otherwise, call the real
+ IsWindowActive function.
+
+ * PluginProcess/mac/PluginProcessShim.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize m_isWindowactive.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ (WebKit::NetscapePlugin::isWindowActive):
+ Return whether the window is active.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::windowMap):
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ (WebKit::NetscapePlugin::platformDestroy):
+ (WebKit::NetscapePlugin::netscapePluginFromWindow):
+ Add a mapping between windows and the corresponding NetscapePlugin objects.
+
+ (WebKit::NetscapePlugin::windowFocusChanged):
+ Update the window focus member variable.
+
+2010-12-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ REGERSSION (r73310?): Contents of <select> popup menus are upside-down on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=50544
+ <rdar://problem/8732336>
+
+ * Shared/BackingStore.cpp:
+ * Shared/BackingStore.h:
+ * Shared/cairo/BackingStoreCairo.cpp:
+ Remove BackingStore::createFlippedGraphicsContext.
+
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ Don't create a flipped graphics context.
+
+2010-12-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ REGRESSION: Text in Find indicator is vertically flipped
+ https://bugs.webkit.org/show_bug.cgi?id=50524
+ <rdar://problem/8732978>
+
+ Don't flip the graphics context.
+
+ * UIProcess/FindIndicator.cpp:
+ (WebKit::FindIndicator::draw):
+
+2010-12-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Dispatch keyboard events in the Carbon event model
+ https://bugs.webkit.org/show_bug.cgi?id=50503
+
+ * Shared/WebEvent.h:
+ (WebKit::WebKeyboardEvent::macCharCode):
+ * Shared/WebKeyboardEvent.cpp:
+ (WebKit::WebKeyboardEvent::WebKeyboardEvent):
+ (WebKit::WebKeyboardEvent::encode):
+ (WebKit::WebKeyboardEvent::decode):
+ Add macCharCode field.
+
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::WebEventFactory::createWebKeyboardEvent):
+ * Shared/qt/WebEventFactoryQt.cpp:
+ (WebKit::WebEventFactory::createWebKeyboardEvent):
+ * Shared/win/WebEventFactory.cpp:
+ (WebKit::WebEventFactory::createWebKeyboardEvent):
+ Pass along the Mac char code.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
+ Convert the event to a Carobn event.
+
+2010-12-03 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=50504
+ Expose some more WebCore settings in WebKit2 preferences
+
+ * Shared/WebPreferencesStore.h:
+ Changed name of existing FOR_EACH_WEBKIT_STRING_PREFERENCE macro to
+ FOR_EACH_WEBKIT_FONT_FAMILY_PREFERENCE since it was all about platform-specific
+ font families, and I'm now introducing a non-platform-spacific string, and
+ I didn't want to put the new preference in two platform-specific lists. Then
+ added a new FOR_EACH_WEBKIT_STRING_PREFERENCE to hold the new preference. Note
+ that the other preferences exposed in this patch were already declared here.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetDefaultFontSize):
+ New wrapper.
+ (WKPreferencesGetDefaultFontSize):
+ Ditto.
+ (WKPreferencesSetDefaultFixedFontSize):
+ Ditto.
+ (WKPreferencesGetDefaultFixedFontSize):
+ Ditto.
+ (WKPreferencesSetDefaultTextEncodingName):
+ Ditto.
+ (WKPreferencesCopyDefaultTextEncodingName):
+ Ditto.
+
+ * UIProcess/API/C/WKPreferences.h:
+ Declare new wrappers.
+
+2010-12-05 Adam Roben <aroben@apple.com>
+
+ Windows production build fix
+
+ Put spaces after trailing backslashes when setting
+ %WebKitVSPropsRedirectionDir%. According to MSDN
+ <http://msdn.microsoft.com/en-us/library/2kzfk8c7(v=VS.80).aspx>:
+
+ A backslash ( \ ) followed by a newline character is interpreted as
+ a space in the command; use a backslash at the end of a line to
+ continue a command onto the next line. NMAKE interprets the
+ backslash literally if any other character, including a space or
+ tab, follows the backslash.
+
+ * win/WebKit2.make:
+
+2010-12-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ WebKit2: Need client functions to notify app when the url changes due to a fragment navigation
+ https://bugs.webkit.org/show_bug.cgi?id=50511
+
+ Pipe didChangeLocationWithinPageForFrame up through the UIProcess to the WKPageLoadClient,
+ updating the WebFrameProxy's URL on the way.
+
+ Test: PageLoadDidChangeLocationWithinPageForFrame
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didChangeURLWithoutNavigation):
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didChangeLocationWithinPageForFrame):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didChangeLocationWithinPageForFrame):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didChangeLocationWithinPageForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidCancelClientRedirect): Fix typo.
+ (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
+
+2010-12-03 Timothy Hatcher <timothy@apple.com>
+
+ Make the Web Inspector window show and be usable on Mac.
+
+ https://webkit.org/b/50490
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::invalidate): Call platformClose.
+ (WebKit::WebInspectorProxy::didLoadInspectorPage): Call platformOpen.
+ (WebKit::WebInspectorProxy::didClose): Call platformClose.
+ * UIProcess/WebInspectorProxy.h:
+ * UIProcess/WebInspectorProxy.messages.in: Added DidClose.
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ (-[WebInspectorProxyObjCAdapter initWithWebInspectorProxy:]): Added.
+ (-[WebInspectorProxyObjCAdapter windowWillClose:]): Added. Call WebInspectorProxy::close.
+ (WebKit::WebInspectorProxy::platformOpen): Added.
+ (WebKit::WebInspectorProxy::platformClose): Added.
+ * UIProcess/qt/WebInspectorProxyQt.cpp:
+ (WebKit::WebInspectorProxy::platformOpen): Added stub.
+ (WebKit::WebInspectorProxy::platformClose): Added stub.
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::platformOpen): Added stub.
+ (WebKit::WebInspectorProxy::platformClose): Added stub.
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ (WebKit::WebInspectorClient::sendMessageToFrontend): Added more null checks to avoid a crash.
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ (WebKit::WebInspectorFrontendClient::closeWindow): Call WebInspector::didClose.
+ (WebKit::WebInspectorFrontendClient::disconnectFromBackend): Ditto.
+ (WebKit::WebInspectorFrontendClient::sendMessageToBackend): Removed. This does not need to be
+ implemented by our subclass since we are in a single process.
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: Removed sendMessageToBackend.
+ * WebProcess/WebPage/WebInspector.cpp:
+ (WebKit::WebInspector::didClose): Added. Send a DidClose message to the UI process.
+ * WebProcess/WebPage/WebInspector.h:
+
+2010-12-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig and Dan Bernstein.
+
+ Clean up the BackingStore implementation
+ https://bugs.webkit.org/show_bug.cgi?id=50498
+
+ * Shared/BackingStore.cpp:
+ (WebKit::BackingStore::create):
+ (WebKit::BackingStore::createSharable):
+ (WebKit::BackingStore::resize):
+ Use new numBytesForSize helper function.
+
+ (WebKit::BackingStore::createFlippedGraphicsContext):
+ Make this function platform independent.
+
+ * Shared/BackingStore.h:
+ (WebKit::BackingStore::numBytesForSize):
+ Given a size, return the number of bytes needed for it.
+
+ (WebKit::BackingStore::sizeInBytes):
+ Implement.
+
+ * Shared/cg/BackingStoreCG.cpp:
+ (WebKit::BackingStore::paint):
+ Don't use CGBitmapContextCreateImage; it creates an extra copy of the image data.
+
+ * Shared/qt/BackingStoreQt.cpp:
+ Remove createFlippedGraphicsContext.
+
+2010-12-03 Siddharth Mathur <siddharth.mathur@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] [WK2] Build system improvements for non-Unix targets
+ https://bugs.webkit.org/show_bug.cgi?id=50257
+
+ * DerivedSources.pro:
+ Fix dir seperator errors on Windows build host. Thanks to Laszlo Gombos.
+
+2010-12-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Enable <a ping> for Mac/Windows/WebKit2 builds
+ <rdar://problem/8504473>
+ https://bugs.webkit.org/show_bug.cgi?id=50488
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetHyperlinkAuditingEnabled):
+ (WKPreferencesGetHyperlinkAuditingEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ Add "HyperlinkAuditing" preference and enabled it by default.
+
+2010-12-03 Brady Eidson <beidson@apple.com>
+
+ Reviewed by good sense in fixing builds.
+
+ Export the 4 new API headers I added today.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-12-03 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8725679> and https://bugs.webkit.org/show_bug.cgi?id=50482
+ Crash trying to empty caches with no WebProcess.
+
+ * Shared/WebProcessCreationParameters.h: Add the "clear this cache" flags.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::ensureWebProcess): If either of the clear cache flags are set when a new WebProcess is
+ created, include those flags in the parameters.
+ (WebKit::WebContext::clearResourceCaches): If the current process isn't valid, flag this action to be done later.
+ (WebKit::WebContext::clearApplicationCache): Ditto.
+ * UIProcess/WebContext.h:
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess): Clear the caches if told to.
+
+2010-12-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Fix failing API test. The default san serif font on the mac
+ should be Helvetica, not Courier.
+
+ * Shared/WebPreferencesStore.h:
+
+2010-12-03 Jia Pu <jpu@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Need to move all code that applies correction into correction panel callback.
+ https://bugs.webkit.org/show_bug.cgi?id=50426
+ <rdar://problem/8720832>
+
+ Adopted new signature of dismissCorrectionPanel.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::dismissCorrectionPanel):
+
+2010-12-03 Jessie Berlin <jberlin@apple.com>
+
+ Windows build fix. Unreviewed.
+
+ * win/WebKit2Generated.make:
+ Add the new API files from http://trac.webkit.org/changeset/73281.
+
+2010-12-03 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Groundwork for <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
+ WebKit2 Authentication Support
+
+ With this patch in place, authentication challenges are sent up from WebCore and shipped over the IPC layer.
+ Client apps can implement the related client methods to attempt to continue without credentials or cancel a
+ challenge.
+
+ There's not yet API to inspect a challenge or create a credential to use in reply - that will come later.
+
+ Build-system changes:
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+
+ Messages and casts for IPC and APIs:
+ * Platform/CoreIPC/MessageID.h:
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ * Shared/WebCoreArgumentCoders.h:
+ * UIProcess/API/C/WKAPICast.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveMessage):
+
+ Stub out the AuthenticationChallenge class family:
+ * UIProcess/API/C/WKAuthenticationChallenge.cpp: Added.
+ (WKAuthenticationChallengeGetTypeID):
+ * UIProcess/API/C/WKAuthenticationChallenge.h: Added.
+ * UIProcess/API/C/WKCredential.cpp: Added.
+ (WKCredentialGetTypeID):
+ * UIProcess/API/C/WKCredential.h: Added.
+ * UIProcess/API/C/WKProtectionSpace.cpp: Added.
+ (WKProtectionSpaceGetTypeID):
+ * UIProcess/API/C/WKProtectionSpace.h: Added.
+
+ Add an Authentication listener for the client app to respond to:
+ * UIProcess/API/C/WKAuthenticationDecisionListener.cpp: Added.
+ (WKAuthenticationDecisionListenerGetTypeID):
+ (WKAuthenticationDecisionListenerUseCredential):
+ (WKAuthenticationDecisionListenerCancel):
+ * UIProcess/API/C/WKAuthenticationDecisionListener.h: Added.
+
+ Add Authentication related methods to the page loader client:
+ * UIProcess/API/C/WKPage.h:
+
+ Add empty implementations of the new API objects:
+ * UIProcess/Authentication: Added.
+ * UIProcess/Authentication/AuthenticationChallengeProxy.cpp: Added.
+ (WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):
+ (WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy):
+ (WebKit::AuthenticationChallengeProxy::useCredential):
+ (WebKit::AuthenticationChallengeProxy::cancel):
+ * UIProcess/Authentication/AuthenticationChallengeProxy.h: Added.
+ (WebKit::AuthenticationChallengeProxy::create):
+ (WebKit::AuthenticationChallengeProxy::listener):
+ (WebKit::AuthenticationChallengeProxy::type):
+
+ * UIProcess/Authentication/WebCredential.cpp: Added.
+ (WebKit::WebCredential::core):
+ * UIProcess/Authentication/WebCredential.h: Added.
+ (WebKit::WebCredential::create):
+ (WebKit::WebCredential::type):
+ * UIProcess/Authentication/WebProtectionSpace.cpp: Added.
+ (WebKit::WebProtectionSpace::WebProtectionSpace):
+ * UIProcess/Authentication/WebProtectionSpace.h: Added.
+ (WebKit::WebProtectionSpace::create):
+ (WebKit::WebProtectionSpace::type):
+
+ Add implementation of the Authentication decision listener:
+ * UIProcess/Authentication/AuthenticationDecisionListener.cpp: Added.
+ (WebKit::AuthenticationDecisionListener::AuthenticationDecisionListener):
+ (WebKit::AuthenticationDecisionListener::useCredential):
+ (WebKit::AuthenticationDecisionListener::cancel):
+ (WebKit::AuthenticationDecisionListener::detachChallenge):
+ * UIProcess/Authentication/AuthenticationDecisionListener.h: Added.
+ (WebKit::AuthenticationDecisionListener::create):
+ (WebKit::AuthenticationDecisionListener::type):
+
+ WebPage and PageLoaderClient glue:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
+ (WebKit::WebLoaderClient::didReceiveAuthenticationChallengeInFrame):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
+ (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+
+ Add a manager to map the actual platform authentication challenges to a challenge ID,
+ as at least some platforms require the object identity to persist:
+ * WebProcess/Authentication: Added.
+ * WebProcess/Authentication/AuthenticationManager.cpp: Added.
+ (WebKit::generateAuthenticationChallengeID):
+ (WebKit::AuthenticationManager::shared):
+ (WebKit::AuthenticationManager::AuthenticationManager):
+ (WebKit::AuthenticationManager::didReceiveMessage):
+ (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
+ (WebKit::AuthenticationManager::useCredentialForChallenge):
+ (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
+ (WebKit::AuthenticationManager::cancelChallenge):
+ * WebProcess/Authentication/AuthenticationManager.h: Added.
+ * WebProcess/Authentication/AuthenticationManager.messages.in: Added.
+
+ Hand off Authentication challenges to the manager to be sent over IPC:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
+ (WebKit::WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
+
+ * UIProcess/API/qt/qwkpage.cpp:
+
+2010-12-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Flip the destination context when painting a backing store into the destination
+ https://bugs.webkit.org/show_bug.cgi?id=50491
+
+ * Shared/cg/BackingStoreCG.cpp:
+ (WebKit::BackingStore::paint):
+
+2010-12-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ The chunked update drawing area is flipped twice when drawing
+ https://bugs.webkit.org/show_bug.cgi?id=50465
+ <rdar://problem/8726836>
+
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+ Flip the destination contexts, thus unflipping them. (Turns out two wrongs make a right here).
+
+2010-12-03 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Need a WebKit2 Equivalent of WebSecurityOrigin
+ https://bugs.webkit.org/show_bug.cgi?id=50170
+
+ * Shared/API/c/WKBase.h:
+ Add the WKSecurityOriginRef typedef.
+
+ * Shared/APIObject.h:
+ Add the SecurityOrigin type as a Shared type.
+
+ * Shared/API/c/WKSharedAPICast.h::
+ Add the mapping between WKSecurityOriginRef and WebSecurityOrigin.
+
+ * UIProcess/API/C/WKSecurityOrigin.cpp: Added.
+ (WKSecurityOriginGetTypeID):
+ (WKSecurityOriginCreate):
+ (WKSecurityOriginGetProtocol):
+ (WKSecurityOriginGetHost):
+ (WKSecurityOriginGetPort):
+ * UIProcess/API/C/WKSecurityOrigin.h: Added.
+
+ * UIProcess/WebSecurityOrigin.h: Added.
+ (WebKit::WebSecurityOrigin::create):
+ Create based on the database identifier, which contains the protocol, host and port.
+ (WebKit::WebSecurityOrigin::protocol):
+ (WebKit::WebSecurityOrigin::host):
+ (WebKit::WebSecurityOrigin::port):
+ (WebKit::WebSecurityOrigin::databaseIdentifier):
+ (WebKit::WebSecurityOrigin::WebSecurityOrigin):
+ (WebKit::WebSecurityOrigin::type):
+
+ * WebKit2.pro:
+ Add WKSecurityOrigin.cpp/.h.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add the WebSecurityOrigin.h and WKSecurityOrigin.cpp/.h.
+
+ * win/WebKit2Generated.make:
+ Make sure WKSecurityOrigin.h file gets copied over to the WebKitBuild directory on Windows.
+
+2010-12-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt] Fix compilation with !ENABLE(OFFLINE_WEB_APPLICATIONS) and
+ !ENABLE(TILED_BACKING_STORE) for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=50071
+
+ Add appropriate guards. No functional change if guards are set.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::setActualVisibleContentsRect):
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
+ * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
+ * UIProcess/qt/WebContextQt.cpp:
+ (WebKit::WebContext::applicationCacheDirectory):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+
+2010-12-02 Sam Weinig <sam@webkit.org>
+
+ Fix Qt.
+
+ * UIProcess/API/qt/qwkpreferences.cpp:
+ (QWKPreferencesPrivate::createPreferences):
+
+2010-12-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2 Preferences should be held off the PageGroup, not the Context
+ https://bugs.webkit.org/show_bug.cgi?id=50414
+
+ - In addition, this now makes the preference held off the PageGroup have
+ the identifier of the PageGroup and autosave to disk (only on the mac
+ for now).
+ - Adds ability to create an arbitrary preference that can be autosaved
+ via a new WKPreferencesCreateWithIdentifier function.
+
+ * UIProcess/API/C/WKContext.cpp:
+ * UIProcess/API/C/WKContext.h:
+ Remove preference related code.
+
+ * UIProcess/API/C/WKPageGroup.cpp:
+ (WKPageGroupSetPreferences):
+ (WKPageGroupGetPreferences):
+ * UIProcess/API/C/WKPageGroup.h:
+ Add getter/setter for preferences.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesCreateWithIdentifier):
+ * UIProcess/API/C/WKPreferences.h:
+ Add WKPreferencesCreateWithIdentifier and remove WKPreferencesCreateCopy which is
+ unused.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::~WebContext):
+ * UIProcess/WebContext.h:
+ Remove preference related code.
+
+ * UIProcess/WebPageGroup.cpp:
+ (WebKit::WebPageGroup::WebPageGroup):
+ (WebKit::WebPageGroup::addPage):
+ (WebKit::WebPageGroup::removePage):
+ (WebKit::WebPageGroup::setPreferences):
+ (WebKit::WebPageGroup::preferences):
+ (WebKit::WebPageGroup::preferencesDidChange):
+ * UIProcess/WebPageGroup.h:
+ Add preference and page tracking.
+
+ * UIProcess/WebPageNamespace.cpp:
+ * UIProcess/WebPageNamespace.h:
+ Remove preference change notification code.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::~WebPageProxy):
+ Add/remove self from page group set.
+
+ (WebKit::WebPageProxy::preferencesDidChange):
+ (WebKit::WebPageProxy::creationParameters):
+ Get preferences from the pageGroup.
+
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::WebPreferences):
+ (WebKit::WebPreferences::addPageGroup):
+ (WebKit::WebPreferences::removePageGroup):
+ (WebKit::WebPreferences::update):
+ * UIProcess/WebPreferences.h:
+ (WebKit::WebPreferences::create):
+ Change to track page groups instead of contexts.
+
+ * UIProcess/mac/WebPreferencesMac.mm:
+ (WebKit::makeKey): Add ".WebKit2" prefix for keys.
+
+2010-12-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Flash videos on YouTube flicker
+ https://bugs.webkit.org/show_bug.cgi?id=50409
+ <rdar://problem/8668757>
+
+ When painting from a backing store, we need to add the source location
+ to the destination point.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::paint):
+ (WebKit::PluginProxy::update):
+
+2010-12-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2 needs API to turn on popup blocking
+ https://bugs.webkit.org/show_bug.cgi?id=50407
+
+ Pipe-through a preference for javascript being able to open
+ windows without user gesture.
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetJavaScriptCanOpenWindowsAutomatically):
+ (WKPreferencesGetJavaScriptCanOpenWindowsAutomatically):
+ * UIProcess/API/C/WKPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2010-12-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Plug-ins should be able to update the mouse cursor
+ https://bugs.webkit.org/show_bug.cgi?id=50399
+
+ Call WKEnableSettingCursorWhenInBackground.
+
+ * PluginProcess/mac/PluginProcessMainMac.mm:
+ (WebKit::PluginProcessMain):
+
+2010-12-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=50368
+ Overhaul WebKit2 preferences code
+
+ - Reduces the number of places you have to touch to add a new preference
+ (From 9 down to 4, but with a bit of elbow grease, we should get that
+ down to 2 or 3).
+ - Add hooks so that platforms can initialize the preferences based on an
+ identifier. This is currently only used on the Mac to initialize a
+ preference store from NSUserDefaults and autosave the changes to disk.
+ It is not yet enabled due to no way to set the identifier from client
+ code.
+
+ * Shared/WebPageCreationParameters.cpp:
+ Add necessary #include of WebCoreArgumentCoders.h which is now needed
+ due to cleanup in WebPreferencesStore.h.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ (WebKit::defaultValueForKey):
+ (WebKit::setValueForKey):
+ (WebKit::valueForKey):
+ (WebKit::WebPreferencesStore::setStringValueForKey):
+ (WebKit::WebPreferencesStore::getStringValueForKey):
+ (WebKit::WebPreferencesStore::setBoolValueForKey):
+ (WebKit::WebPreferencesStore::getBoolValueForKey):
+ (WebKit::WebPreferencesStore::setUInt32ValueForKey):
+ (WebKit::WebPreferencesStore::getUInt32ValueForKey):
+ * Shared/WebPreferencesStore.h:
+ Complete overhaul of this class to store the preferences as
+ a set of HashMaps and use macros to define the keys and default
+ values.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesGetFontSmoothingLevel):
+ Add cast to keep conversion function working.
+
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::WebPreferences): Add identifier constructor.
+ (WebKit::WebPreferences::updateStringValueForKey):
+ (WebKit::WebPreferences::updateBoolValueForKey):
+ (WebKit::WebPreferences::updateUInt32ValueForKey):
+ Add type based updaters. These currently give hooks to the platform and
+ call the generic update, but in the future, we can use this to optimize
+ updating preferences to not send the entire store for each change.
+
+ * UIProcess/WebPreferences.h:
+ Generate the getters and setters via macro instantiation.
+
+ * UIProcess/cf/WebPreferencesCF.cpp: Added.
+ (WebKit::WebPreferences::platformInitializeStore):
+ (WebKit::WebPreferences::platformUpdateStringValueForKey):
+ (WebKit::WebPreferences::platformUpdateBoolValueForKey):
+ (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
+ Stubbed out.
+
+ * UIProcess/mac/WebPreferencesMac.mm: Added.
+ (WebKit::makeKey):
+ (WebKit::setStringValueIfInUserDefaults):
+ (WebKit::setBoolValueIfInUserDefaults):
+ (WebKit::setUInt32ValueIfInUserDefaults):
+ (WebKit::WebPreferences::platformInitializeStore):
+ (WebKit::WebPreferences::platformUpdateStringValueForKey):
+ (WebKit::WebPreferences::platformUpdateBoolValueForKey):
+ (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
+ Use the platform hooks to initialize and update the store from
+ NSUserDefaults.
+
+ * UIProcess/qt/WebPreferencesQt.cpp: Added.
+ (WebKit::WebPreferences::platformInitializeStore):
+ (WebKit::WebPreferences::platformUpdateStringValueForKey):
+ (WebKit::WebPreferences::platformUpdateBoolValueForKey):
+ (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
+ Stubbed out.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::platformPreferencesDidChange):
+ Update to pull the value using the new type based getters.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-12-02 Steve Falkenburg <sfalken@apple.com>
+
+ Mac build fix.
+
+ * WebProcess/WebKitMain.cpp:
+ (enableDataExecutionPrevention):
+
+2010-11-30 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Implement RunLoop, WorkQueue, Connection classes for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=48507
+
+ * Platform/CoreIPC/Connection.h: UNIX_X11 specific changes for GTK port.
+ (CoreIPC::Connection::messageProcessingCompleted):
+ * Platform/CoreIPC/gtk: Added.
+ * Platform/CoreIPC/gtk/ConnectionGtk.cpp: Added. Connection class implementation for GTK port (UNIX_X11 specific).
+ (CoreIPC::readBytesFromSocket):
+ (CoreIPC::writeBytesToSocket):
+ (CoreIPC::Connection::platformInitialize):
+ (CoreIPC::Connection::platformInvalidate):
+ (CoreIPC::Connection::processCompletedMessage):
+ (CoreIPC::Connection::readEventHandler):
+ (CoreIPC::Connection::open):
+ (CoreIPC::Connection::platformCanSendOutgoingMessages):
+ (CoreIPC::Connection::sendOutgoingMessage):
+ * Platform/PlatformProcessIdentifier.h: UNIX_X11 specific changes for GTK port.
+ * Platform/RunLoop.h: GTK port specific changes.
+ * Platform/WorkQueue.h: GTK port specific changes.
+ * Platform/gtk/RunLoopGtk.cpp: Added. Runs an event loop using GMainLoop and handles the incoming messages.
+ (RunLoop::RunLoop):
+ (RunLoop::~RunLoop):
+ (RunLoop::run):
+ (RunLoop::mainLoop):
+ (RunLoop::stop):
+ (RunLoop::queueWork):
+ (RunLoop::wakeUp):
+ (RunLoop::TimerBase::TimerBase):
+ (RunLoop::TimerBase::~TimerBase):
+ (RunLoop::TimerBase::resetTimerSource):
+ (RunLoop::TimerBase::oneShotTimerFired):
+ (RunLoop::TimerBase::repeatingTimerFired):
+ (RunLoop::TimerBase::start):
+ (RunLoop::TimerBase::stop):
+ (RunLoop::TimerBase::isActive):
+ * Platform/gtk/WorkQueueGtk.cpp: Added. Creates a thread and polls on a given fd using GIOChannel.
+ Dispatches the obtained messages to RunLoop's GMainLoop.
+ (WorkQueue::EventSource::EventSource):
+ (WorkQueue::EventSource::dispatchSource):
+ (WorkQueue::EventSource::performWorkOnce):
+ (WorkQueue::EventSource::performWork):
+ (WorkQueue::EventSource::deleteEventSource):
+ (WorkQueue::platformInitialize):
+ (WorkQueue::platformInvalidate):
+ (WorkQueue::startWorkQueueThread):
+ (WorkQueue::workQueueThreadBody):
+ (WorkQueue::registerEventSourceHandler):
+ (WorkQueue::unregisterEventSourceHandler):
+ (WorkQueue::scheduleWork):
+
+2010-12-02 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move enableExecutionPrevention to WebKitMain
+ https://bugs.webkit.org/show_bug.cgi?id=50392
+
+ * WebProcess/WebKitMain.cpp:
+ (enableDataExecutionPrevention):
+ (WebKitMain):
+ * WebProcess/win/WebProcessMainWin.cpp:
+ (WebKit::WebProcessMain):
+
+2010-12-02 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Enable DEP at runtime to allow for compatibility with older versions of ATL
+ https://bugs.webkit.org/show_bug.cgi?id=50378
+
+ * WebProcess/win/WebProcessMainWin.cpp:
+ (WebKit::enableDataExecutionPrevention):
+ (WebKit::WebProcessMain):
+ * win/WebKit2WebProcessCommon.vsprops:
+
+2010-12-01 Sam Weinig <sam@webkit.org>
+
+ Fix 64-bit build.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::windowAndViewFramesChanged):
+
+2010-12-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Give the fake Carbon window the right bounds
+ https://bugs.webkit.org/show_bug.cgi?id=50361
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::windowAndViewFramesChanged):
+ * PluginProcess/PluginControllerProxy.h:
+ * PluginProcess/PluginControllerProxy.messages.in:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _updateWindowAndViewFrames]):
+ Pass both the window frame and view frame along.
+
+ (-[WKView renewGState]):
+ Call _updateWindowAndViewFrames.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::windowAndViewFramesChanged):
+ Pass both the window frame and view frame along.
+
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ We don't want a title bar in our fake window.
+
+ (WebKit::computeFakeWindowBoundsRect):
+ Compute the fake window bounds.
+
+ (WebKit::NetscapePlugin::windowAndViewFramesChanged):
+ Update the fake window bounds.
+
+ * WebProcess/Plugins/Plugin.h:
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::windowAndViewFramesChanged):
+ * WebProcess/Plugins/PluginProxy.h:
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::windowAndViewFramesChanged):
+ (WebKit::PluginView::initializePlugin):
+ * WebProcess/Plugins/PluginView.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::windowAndViewFramesChanged):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::windowFrameInScreenCoordinates):
+ (WebKit::WebPage::viewFrameInWindowCoordinates):
+ * WebProcess/WebPage/WebPage.messages.in:
+ Pass both the window frame and view frame along.
+
+2010-12-01 Jia Pu <jpu@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Support multiple correction candidates panel for misspelled word on Mac OS X.
+ https://bugs.webkit.org/show_bug.cgi?id=50137
+ <rdar://problem/8568059>
+
+ Adopted new function signatures defined in base class.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::getGuessesForWord):
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::showCorrectionPanel):
+
+2010-12-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Hit testing broken on sibling views of the WKView
+ <rdar://problem/8718397>
+
+ Make sure that hitView is not null when comparing with the
+ _layerHostingView.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView hitTest:]):
+
+2010-12-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement the remaining PluginController/Plugin member functions
+ https://bugs.webkit.org/show_bug.cgi?id=50356
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::cancelStreamLoad):
+ (WebKit::PluginControllerProxy::cancelManualStreamLoad):
+ (WebKit::PluginControllerProxy::setStatusbarText):
+ (WebKit::PluginControllerProxy::pluginProcessCrashed):
+ (WebKit::PluginControllerProxy::frameDidFinishLoading):
+ (WebKit::PluginControllerProxy::frameDidFail):
+ (WebKit::PluginControllerProxy::manualStreamDidReceiveResponse):
+ (WebKit::PluginControllerProxy::manualStreamDidReceiveData):
+ (WebKit::PluginControllerProxy::manualStreamDidFinishLoading):
+ (WebKit::PluginControllerProxy::manualStreamDidFail):
+ * PluginProcess/PluginControllerProxy.h:
+ * PluginProcess/PluginControllerProxy.messages.in:
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::frameDidFinishLoading):
+ (WebKit::PluginProxy::frameDidFail):
+ (WebKit::PluginProxy::manualStreamDidReceiveResponse):
+ (WebKit::PluginProxy::manualStreamDidReceiveData):
+ (WebKit::PluginProxy::manualStreamDidFinishLoading):
+ (WebKit::PluginProxy::manualStreamDidFail):
+ (WebKit::PluginProxy::windowFrameChanged):
+ (WebKit::PluginProxy::cancelStreamLoad):
+ (WebKit::PluginProxy::cancelManualStreamLoad):
+ (WebKit::PluginProxy::setStatusbarText):
+ * WebProcess/Plugins/PluginProxy.h:
+ * WebProcess/Plugins/PluginProxy.messages.in:
+
+2010-12-01 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WinCairo build should not use link-time code generation (LTCG)
+ https://bugs.webkit.org/show_bug.cgi?id=50353
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+
+2010-12-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig..
+
+ Fix <rdar://problem/8717674>.
+
+ * WebProcess/com.apple.WebProcess.sb:
+ Allow the UI process to issue file-write extensions.
+
+2010-12-01 Sam Weinig <sam@webkit.org>
+
+ Another windows build fix.
+
+ * UIProcess/API/C/win/WKView.cpp:
+ (WKViewCreate):
+
+2010-12-01 Sam Weinig <sam@webkit.org>
+
+ Attempt to fix Windows build.
+
+ * UIProcess/API/C/win/WKViewPrivate.cpp:
+ * UIProcess/API/C/win/WKViewPrivate.h:
+
+2010-12-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add PageGrouping to WebKit2 API
+ https://bugs.webkit.org/show_bug.cgi?id=50332
+
+ - Adds WKPageGroupRef and WKBundlePageGroupRef API objects
+ (backed by WebPageGroup and WebPageGroupProxy respectively).
+ - Moves visibleToInjectedBundle from page to PageGroup.
+ - Make userScript/userStyleSheet functions take a page group parameter.
+
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ * Shared/WebPageCreationParameters.h:
+ * Shared/WebPageGroupData.cpp: Added.
+ (WebKit::WebPageGroupData::encode):
+ (WebKit::WebPageGroupData::decode):
+ * Shared/WebPageGroupData.h: Added.
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetPageGroup):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WKPageGroup.cpp: Added.
+ (WKPageGroupGetTypeID):
+ (WKPageGroupCreateWithIdentifier):
+ (WKPageGroupCopyIdentifier):
+ * UIProcess/API/C/WKPageGroup.h: Added.
+ * UIProcess/API/C/WebKit2.h:
+ * UIProcess/API/C/win/WKView.cpp:
+ (WKViewCreate):
+ * UIProcess/API/C/win/WKView.h:
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:pageGroupRef:]):
+ (-[WKView initWithFrame:pageNamespaceRef:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::createWebPage):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebContextUserMessageCoders.h:
+ (WebKit::WebContextUserMessageEncoder::encode):
+ (WebKit::WebContextUserMessageDecoder::decode):
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::inspectorPageGroup):
+ * UIProcess/WebInspectorProxy.h:
+ * UIProcess/WebPageGroup.cpp: Added.
+ (WebKit::generatePageGroupID):
+ (WebKit::webPageGroupMap):
+ (WebKit::WebPageGroup::create):
+ (WebKit::WebPageGroup::get):
+ (WebKit::WebPageGroup::WebPageGroup):
+ (WebKit::WebPageGroup::~WebPageGroup):
+ * UIProcess/WebPageGroup.h: Added.
+ (WebKit::WebPageGroup::identifier):
+ (WebKit::WebPageGroup::pageGroupID):
+ (WebKit::WebPageGroup::data):
+ (WebKit::WebPageGroup::type):
+ * UIProcess/WebPageNamespace.cpp:
+ (WebKit::WebPageNamespace::createWebPage):
+ * UIProcess/WebPageNamespace.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::create):
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::creationParameters):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::pageGroup):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::createWebPage):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::create):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleAddUserScript):
+ (WKBundleAddUserStyleSheet):
+ (WKBundleRemoveUserScript):
+ (WKBundleRemoveUserStyleSheet):
+ (WKBundleRemoveUserScripts):
+ (WKBundleRemoveUserStyleSheets):
+ (WKBundleRemoveAllUserContent):
+ (WKBundleOverrideXSSAuditorEnabledForTestRunner):
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageGetPageGroup):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp: Added.
+ (WKBundlePageGroupGetTypeID):
+ (WKBundlePageGroupCopyIdentifier):
+ * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.h: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::overrideXSSAuditorEnabledForTestRunner):
+ (WebKit::InjectedBundle::addUserScript):
+ (WebKit::InjectedBundle::addUserStyleSheet):
+ (WebKit::InjectedBundle::removeUserScript):
+ (WebKit::InjectedBundle::removeUserStyleSheet):
+ (WebKit::InjectedBundle::removeUserScripts):
+ (WebKit::InjectedBundle::removeUserStyleSheets):
+ (WebKit::InjectedBundle::removeAllUserContent):
+ (WebKit::InjectedBundle::didInitializePageGroup):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
+ (WebKit::InjectedBundleClient::didInitializePageGroup):
+ * WebProcess/InjectedBundle/InjectedBundleClient.h:
+ * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
+ (WebKit::InjectedBundleUserMessageEncoder::encode):
+ (WebKit::InjectedBundleUserMessageDecoder::decode):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::create):
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::close):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::pageGroup):
+ * WebProcess/WebPage/WebPageGroupProxy.cpp: Added.
+ (WebKit::WebPageGroupProxy::create):
+ (WebKit::WebPageGroupProxy::~WebPageGroupProxy):
+ * WebProcess/WebPage/WebPageGroupProxy.h: Added.
+ (WebKit::WebPageGroupProxy::identifier):
+ (WebKit::WebPageGroupProxy::pageGroupID):
+ (WebKit::WebPageGroupProxy::isVisibleToInjectedBundle):
+ (WebKit::WebPageGroupProxy::WebPageGroupProxy):
+ (WebKit::WebPageGroupProxy::type):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::webPageGroup):
+ * WebProcess/WebProcess.h:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-12-01 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ vcproj changes can't be applied cleanly by the Windows EWS bot
+ https://bugs.webkit.org/show_bug.cgi?id=50328
+
+ * win/WebKit2.submit.sln: Added property svn:eol-style.
+ * win/WebKit2.vcproj: Added property svn:eol-style.
+ * win/WebKit2Apple.vsprops: Added property svn:eol-style.
+ * win/WebKit2CFLite.vsprops: Added property svn:eol-style.
+ * win/WebKit2Common.vsprops: Added property svn:eol-style.
+ * win/WebKit2DirectX.vsprops: Added property svn:eol-style.
+ * win/WebKit2Generated.vcproj: Added property svn:eol-style.
+ * win/WebKit2GeneratedCommon.vsprops: Added property svn:eol-style.
+ * win/WebKit2WebProcess.vcproj: Added property svn:eol-style.
+ * win/WebKit2WebProcessCommon.vsprops: Added property svn:eol-style.
+
+2010-12-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Size changes on layer-backed drawing areas don't always end up with the correct value
+ https://bugs.webkit.org/show_bug.cgi?id=50351
+ <rdar://problem/8692966>
+
+ When the UI process does not receive didSetSize messages promptly,
+ LayerBackedDrawingAreaProxy::setSize() bails early based on the
+ m_isWaitingForDidSetFrameNotification flag.
+
+ In this situation, the final size may be incorrect. didSetSize()
+ needs to compare the size that the web process has to the expected size,
+ and send a final setSize if they differ.
+
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
+ (WebKit::LayerBackedDrawingAreaProxy::didReceiveMessage):
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::setSize):
+
+2010-12-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Crash when closing WebKit2 window with accelerated composting content
+ https://bugs.webkit.org/show_bug.cgi?id=50307
+ <rdar://problem/8640126>
+
+ When the web page is closing, notify the drawing area, so that
+ the layer-backed drawing area can kill the runloop obsever,
+ then clear it. Clearing it is not sufficient, since the drawing
+ area is ref-counted.
+
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::onPageClose):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::close):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::platformClear):
+ (WebKit::LayerBackedDrawingArea::onPageClose):
+
+2010-12-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Return a correct user agent if NPN_UserAgent is called with a null NPP from NPP_New.
+ https://bugs.webkit.org/show_bug.cgi?id=50336
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_UserAgent):
+ Call the static NetscapePlugin::userAgent function instead.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::userAgent):
+ If the passed in NPP is null, get the NetscapePlugin currently executing NPP_New.
+
+ (WebKit::NetscapePlugin::initialize):
+ Keep track of the plug-in currently executing NPP_New.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+
+2010-12-01 Brian Weinstein <bweinstein@apple.com>
+
+ One last Windows build fix.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
+
+2010-12-01 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::pageDidEnterAcceleratedCompositing):
+ (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
+ (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
+
+2010-12-01 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/win/WebView.h:
+
+2010-12-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Andreas Kling.
+
+ Get rid of DrawingAreaBase
+ https://bugs.webkit.org/show_bug.cgi?id=50329
+
+ * Scripts/webkit2/messages.py:
+ * Shared/DrawingAreaInfo.h:
+ (WebKit::DrawingAreaInfo::DrawingAreaInfo):
+ * Shared/WebPageCreationParameters.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
+ (-[WKView _pageDidEnterAcceleratedCompositing]):
+ (-[WKView _pageDidLeaveAcceleratedCompositing]):
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::takeSnapshot):
+ (QGraphicsWKViewPrivate::commitScale):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::update):
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::DrawingAreaProxy):
+ (WebKit::DrawingAreaProxy::nextIdentifier):
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::info):
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::LayerBackedDrawingAreaProxy):
+ (WebKit::LayerBackedDrawingAreaProxy::setSize):
+ (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
+ (WebKit::LayerBackedDrawingAreaProxy::update):
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didChangeAcceleratedCompositing):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ (WebKit::DrawingArea::DrawingArea):
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::info):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ (WebKit::LayerBackedDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/TiledDrawingArea.cpp:
+ (WebKit::TiledDrawingArea::TiledDrawingArea):
+ * WebProcess/WebPage/TiledDrawingArea.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+
+2010-11-30 Ryosuke Niwa <rniwa@webkit.org>
+
+ Unreviewed speculative build fix for Windows.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::pageDidEnterAcceleratedCompositing):
+ (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
+ (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
+ * UIProcess/win/WebView.h:
+
+2010-11-30 Anders Carlsson <andersca@apple.com>
+
+ Fix Qt build.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::takeSnapshot):
+ (QGraphicsWKViewPrivate::commitScale):
+
+2010-11-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Change DrawingArea and DrawingAreaProxy to not inherit from DrawingAreaBase
+ https://bugs.webkit.org/show_bug.cgi?id=50300
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaBase::]):
+ (-[WKView _pageDidEnterAcceleratedCompositing]):
+ (-[WKView _pageDidLeaveAcceleratedCompositing]):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::DrawingAreaProxy):
+ (WebKit::DrawingAreaProxy::nextDrawingAreaID):
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::info):
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::LayerBackedDrawingAreaProxy):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ (WebKit::DrawingArea::DrawingArea):
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::info):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ (WebKit::LayerBackedDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/TiledDrawingArea.cpp:
+ (WebKit::TiledDrawingArea::TiledDrawingArea):
+ * WebProcess/WebPage/TiledDrawingArea.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+
+2010-11-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Context menus broken after WebKit2 goes into accelerated composting mode.
+ https://bugs.webkit.org/show_bug.cgi?id=50296
+
+ Override hitTest: on the WKView to exclude the child layer-backed view from
+ hit testing, so that context menus work.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView hitTest:]):
+
+2010-11-30 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Build fix.
+
+ * Configurations/BaseTarget.xcconfig: Don't run Copy Files and Run Script build phases
+ during installhdrs. It's not necessary, and it results in Xcode attempting to copy the
+ plug-in shim dylib when it has not yet been built.
+ * WebKit2.xcodeproj/project.pbxproj: Stop copying the .xcconfig file in to the application
+ wrapper.
+
+2010-11-30 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * Scripts/webkit2/messages.py:
+
+2010-11-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename DrawingAreaBase.h to DrawingAreaInfo.h.
+
+ * Shared/DrawingAreaInfo.h: Renamed from WebKit2/Shared/DrawingAreaBase.h.
+ (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
+ (WebKit::DrawingAreaBase::~DrawingAreaBase):
+ (WebKit::DrawingAreaBase::info):
+ (WebKit::DrawingAreaBase::DrawingAreaBase):
+ * Shared/WebPageCreationParameters.h:
+ * UIProcess/DrawingAreaProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/DrawingArea.h:
+ * win/WebKit2.vcproj:
+
+2010-11-30 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * PluginProcess/mac/PluginProcessShim.cpp:
+
+2010-11-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add a simple shim function for Debugger().
+ https://bugs.webkit.org/show_bug.cgi?id=50268
+
+ * PluginProcess/PluginProcess.h:
+ * PluginProcess/mac/PluginProcessMac.mm:
+ (WebKit::initShouldCallRealDebugger):
+ We only want to call the real Debugger() function when USERBREAK is set.
+
+ (WebKit::shouldCallRealDebugger):
+ Return whether USERBREAK is set.
+
+ (WebKit::PluginProcess::initializeShim):
+ Initialize the shim.
+
+ * PluginProcess/mac/PluginProcessMainMac.mm:
+ (WebKit::PluginProcessMain):
+ Call PluginProcess::initializeShim.
+
+ * PluginProcess/mac/PluginProcessShim.cpp:
+ (WebKit::WebKitPluginProcessShimInitialize):
+ This now takes a struct of callbacks.
+
+ (WebKit::shimDebugger):
+ Call the shouldCallDebugger function. If it returns true, the real Debugger() function should be called.
+
+ * PluginProcess/mac/PluginProcessShim.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-11-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pass the plug-in process shim in DYLD_INSERT_LIBRARIES when launching the plug-in process
+ https://bugs.webkit.org/show_bug.cgi?id=50262
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ Add an EnvironmentVariables class that allows for easy modification of the environment variables
+ passed to posix_spawn.
+
+ (WebKit::ProcessLauncher::launchProcess):
+ When spawning the plug-in process, insert the plug-in process shim.
+
+2010-11-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add plug-in process shim
+ https://bugs.webkit.org/show_bug.cgi?id=50261
+
+ * Configurations/PluginProcessShim.xcconfig: Added.
+ * PluginProcess/mac/PluginProcessShim.cpp: Added.
+ (PluginProcessShimInitialize):
+ * PluginProcess/mac/PluginProcessShim.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-11-30 Brian Weinstein <bweinstein@apple.com>
+
+ Fix the Windows build by copying WKFindOptions.h into WebKitOutputDir with the other headers.
+
+ * win/WebKit2Generated.make:
+
+2010-11-30 Dan Bernstein <mitz@apple.com>
+
+ Try to fix the Windows build.
+
+ * win/WebKit2.vcproj:
+
+2010-11-30 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Injected bundle support for <rdar://problem/8710645> WebKitTestRunner needs layoutTestController.findString
+ https://bugs.webkit.org/show_bug.cgi?id=50238
+
+ * Shared/API/c/WKFindOptions.h: Added. Moved the definition of WKFindOptions here from WKPage.h.
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toFindOptions): Moved from WKAPICast.h.
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKPage.h:
+ * WebKit2.xcodeproj/project.pbxproj: Added WKFindOptions.h.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageFindString): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::findStringFromInjectedBundle): Added.
+ * WebProcess/WebPage/WebPage.h:
+
+2010-11-30 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Dirk Schulze.
+
+ GraphicsContext: Remove "current path" and have strokePath, fillPath and clipPath take a Path argument
+ https://bugs.webkit.org/show_bug.cgi?id=48516
+
+ * UIProcess/FindIndicator.cpp:
+ (WebKit::FindIndicator::draw):
+
+2010-11-30 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ All projects on Windows should use cmd files for build events
+ https://bugs.webkit.org/show_bug.cgi?id=50213
+
+ * win/WebKit2Common.vsprops:
+ * win/WebKit2WebProcessCommon.vsprops:
+ * win/WebKit2WebProcessPostBuild.cmd: Added.
+ * win/WebKit2WebProcessPreBuild.cmd: Added.
+ * win/WebKitPostBuild.cmd: Added.
+ * win/WebKitPreBuild.cmd: Added.
+ * win/WebKitPreLink.cmd: Added.
+
+2010-11-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Early return if setResizesToContentsUsingLayoutSize() is called with already-set size
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
+
+2010-11-29 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2 part of <rdar://problem/8650085> adding word-prefix search options to the text search API.
+ https://bugs.webkit.org/show_bug.cgi?id=50038
+ Based on a patch from Darin Adler.
+
+ * Shared/WebFindOptions.h: Renamed FindOptions.h to this to account for WebCore’s new private
+ FindOptions.h. Added and reordered FindOptions and rolled FindDirection into FindOptions.
+ * UIProcess/API/C/WKAPICast.h: Removed toFindDirection().
+ (WebKit::toFindOptions): Updated for new values.
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageFindString): Removed separate WKFindDirection.
+ (WKPageCountStringMatches): Replaces caseInsensitive boolean with WKFindOptions.
+ * UIProcess/API/C/WKPage.h: Removed WKFindDirection and updated WKFindOptions.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::findString): Removed separate FindDirection.
+ (WebKit::WebPageProxy::countStringMatches): Replaced caseInsensitive boolean with FindOptions.
+ * UIProcess/WebPageProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj: Updated for the header rename.
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::core): Added. Converts WebKit2 FindOptions to WebCore FindOptions.
+ (WebKit::FindController::countStringMatches): Changed to use FindOptions.
+ (WebKit::FindController::findString): Ditto.
+ * WebProcess/WebPage/FindController.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::findString): Ditto.
+ (WebKit::WebPage::countStringMatches): Ditto.
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in: Ditto.
+
+2010-11-29 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix.
+
+ * win/WebKit2.vcproj: Add missing vsprops association for
+ Debug_Cairo_CFLite target.
+
+2010-11-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Cursor does not always change back to arrow when exiting image document
+ https://bugs.webkit.org/show_bug.cgi?id=50190
+ <rdar://problem/8665265>
+
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::mouseEventTypeForEvent):
+ (WebKit::globalPointForEvent):
+ (WebKit::pointForEvent):
+ Handle the NSMouseEntered and NSMouseExited events.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:]):
+ We want entered and exited events for this tracking area.
+ Add mouseEntered and mouseExited handlers.
+
+2010-11-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Should be able to pause and resume downloads
+ https://bugs.webkit.org/show_bug.cgi?id=50185
+ <rdar://problem/8691135>
+
+ * UIProcess/API/C/WKContext.h:
+ Add didCancel callback.
+
+ * UIProcess/API/C/WKDownload.cpp:
+ (WKDownloadGetResumeData):
+ (WKDownloadCancel):
+ Call the respective DownloadProxy member functions.
+
+ * UIProcess/API/C/WKDownload.h:
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::cancel):
+ Send Cancel to the WebProcess.
+
+ (WebKit::DownloadProxy::didFail):
+ This now takes a resumeData reference.
+
+ (WebKit::DownloadProxy::didCancel):
+ Set the resume data and call didCancel.
+
+ * UIProcess/Downloads/DownloadProxy.h:
+ (WebKit::DownloadProxy::resumeData):
+ Return the resume data.
+
+ * UIProcess/Downloads/DownloadProxy.messages.in:
+ Add DidCancel message, Add resume data to DidFail.
+
+ * UIProcess/WebDownloadClient.cpp:
+ (WebKit::WebDownloadClient::didCancel):
+ Call the didCancel context client function.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::didFail):
+ This now takes a resume data argument as well.
+
+ (WebKit::Download::didCancel):
+ Send DidCancel.
+
+ * WebProcess/Downloads/DownloadManager.cpp:
+ (WebKit::DownloadManager::cancelDownload):
+ Look up the download and cancel it.
+
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ (WebKit::Download::cancel):
+ Add stub.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::Download::cancel):
+ Cancel the download.
+
+ (-[WKDownloadAsDelegate download:didFailWithError:]):
+ Pass the resume data along.
+
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ (WebKit::Download::cancel):
+ Add stub.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::cancelDownload):
+ Ask the download manager to cancel the download.
+
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in:
+ Add CancelDownload message.
+
+2010-11-29 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ [WK2] Support repeating timers
+ https://bugs.webkit.org/show_bug.cgi?id=50024
+
+ Added boolean member for TimerBase on PLATFORM(WIN)
+ and PLATFORM(QT) to be able to differentiate between
+ repeating and one shot operating mode. Change the confusing
+ signature of TimerBase::start: use a bool for selecting
+ operating mode.
+ * Platform/RunLoop.h:
+ (RunLoop::TimerBase::startRepeating):
+ (RunLoop::TimerBase::startOneShot):
+ * Platform/mac/RunLoopMac.mm:
+ (RunLoop::TimerBase::start):
+ * Platform/qt/RunLoopQt.cpp:
+ (RunLoop::TimerBase::timerFired): Only stop the timer if it
+ is not in repeating mode.
+ (RunLoop::TimerBase::TimerBase):
+ (RunLoop::TimerBase::start):
+ * Platform/win/RunLoopWin.cpp:
+ (RunLoop::TimerBase::timerFired): Only stop the timer if it
+ is not in repeating mode.
+ (RunLoop::TimerBase::TimerBase):
+ (RunLoop::TimerBase::start):
+
+2010-11-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Downloads: When the web process crashes, call error callbacks for pending downloads
+ https://bugs.webkit.org/show_bug.cgi?id=50164
+ <rdar://problem/8691170>
+
+ * UIProcess/API/C/WKContext.h:
+ Add processDidCrash callback.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::~DownloadProxy):
+ Assert that the web context is null.
+
+ (WebKit::DownloadProxy::processDidClose):
+ Call the processDidCrash callback.
+
+ (WebKit::DownloadProxy::didFinish):
+ (WebKit::DownloadProxy::didFail):
+ Call downloadFinished.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::processDidClose):
+ Call processDidClose on all pending downloads.
+
+ (WebKit::WebContext::downloadFinished):
+ Remove the download proxy from the map.
+
+ * UIProcess/WebDownloadClient.cpp:
+ (WebKit::WebDownloadClient::processDidCrash):
+ Call the processDidCrash callback function.
+
+2010-11-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Allow pre-generation for package builds for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=50139
+
+ Use a build variable for the generated directory path and set the
+ value based on CONFIG just like for WebKit1.
+
+ For non-package builds use a relative base path for the
+ genrated directory just like for WebKit1.
+
+ * DerivedSources.pro:
+ * WebKit2.pro:
+
+2010-11-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Move some build logic from Qt to platform independent code
+ https://bugs.webkit.org/show_bug.cgi?id=50134
+
+ Remove the creation of the directories under $$OUTPUT_DIR/include
+ as these will be handled by the fwheader_generator target.
+
+ Remove the explicit generation of $$OUTPUT_DIR/WebKit2/generated as
+ this is not required.
+
+ * DerivedSources.pro:
+
+2010-11-24 Brady Eidson <beidson@apple.com>
+
+ Reviewed implicitly by John Sullivan.
+
+ https://bugs.webkit.org/show_bug.cgi?id=50042
+
+ * UIProcess/mac/WebContextMenuProxyMac.mm:
+ (-[WebUserDataWrapper initWithUserData:WebKit::]): Do the proper self = [super init] dance here.
+
+2010-11-24 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ More of <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=50042
+ WK2 Context Menu Items need a user data object and a client callback for selection.
+
+ * Shared/API/c/WKContextMenuItem.cpp:
+ (WKContextMenuItemGetUserData):
+ (WKContextMenuItemSetUserData):
+ * Shared/API/c/WKContextMenuItem.h:
+
+ * Shared/WebContextMenuItem.cpp:
+ (WebKit::WebContextMenuItem::userData):
+ (WebKit::WebContextMenuItem::setUserData):
+ * Shared/WebContextMenuItem.h:
+
+ * Shared/WebContextMenuItemData.cpp:
+ (WebKit::WebContextMenuItemData::userData):
+ (WebKit::WebContextMenuItemData::setUserData):
+ * Shared/WebContextMenuItemData.h:
+
+ * UIProcess/API/C/WKPage.h:
+
+ * UIProcess/WebPageContextMenuClient.cpp:
+ (WebKit::WebPageContextMenuClient::customContextMenuItemSelected): Added for WK2 apps to get a callback.
+ * UIProcess/WebPageContextMenuClient.h:
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::contextMenuItemSelected):
+ * UIProcess/mac/WebContextMenuProxyMac.mm:
+ (-[WebUserDataWrapper initWithUserData:WebKit::]): Add an "APIObject" user data wrapper class to associate with the NSMenuItem.
+ (-[WebUserDataWrapper WebKit::]):
+ (-[WebMenuTarget forwardContextMenuAction:]): Include the user data object in the created ContextMenuItemData.
+ (WebKit::nsMenuItemVector):
+
+2010-11-24 Andras Becsi <abecsi@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Make WebKit2 compile with !ENABLE(INSPECTOR).
+ https://bugs.webkit.org/show_bug.cgi?id=49973
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ (WebKit::toImpl):
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKInspector.cpp:
+ * UIProcess/API/C/WKInspector.h:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebInspectorProxy.cpp:
+ * UIProcess/WebInspectorProxy.h:
+ * UIProcess/WebInspectorProxy.messages.in:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ (WebKit::WebPageProxy::processDidCrash):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ * UIProcess/qt/WebInspectorProxyQt.cpp:
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorClient.h:
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
+ * WebProcess/WebPage/WebInspector.cpp:
+ * WebProcess/WebPage/WebInspector.h:
+ * WebProcess/WebPage/WebInspector.messages.in:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::close):
+ (WebKit::WebPage::windowIsFocused):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/qt/WebInspectorQt.cpp:
+ * WebProcess/WebPage/win/WebInspectorWin.cpp:
+
+2010-11-24 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Make deep copies of tile images
+
+ We need the tile images we get from UpdateChunk::createImage() to persist,
+ so we should take a copy() of them.
+
+ * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
+ (WebKit::TiledDrawingAreaTile::updateFromChunk):
+
+2010-11-24 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix uninitialized variable in QGraphicsWKViewPrivate
+
+ Always initialize QGWKVP::m_isChangingScale in the constructor.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
+
+2010-11-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Adapt to setShouldDelegateScrolling not being a real setting anymore.
+ We now similarily to setUseFixedLayout and setPaintEntireContents
+ set it on the FrameView wen transitioning to a new page, etc.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
+
+2010-11-22 Adam Roben <aroben@apple.com>
+
+ Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files
+
+ Apple's Windows build allows placing header files and import libraries for WebKit's
+ dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the
+ $WebKitLibrariesDir environment variable. This is both required for production builds and
+ convenient for Apple-internal developer builds. Apple's production builds also require that
+ WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production
+ builds, the files are copied into that directory tree by the
+ WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the
+ copying is done by
+ JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make.
+
+ This .vsprops copying is problematic in one very important case: when a developer updates
+ their source tree and then tries to build. Visual Studio only reads .vsprops files when a
+ project is first loaded. So, when Visual Studio is first opened after the .vsprops files are
+ updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a
+ build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into
+ $WebKitLibrariesDir, but Visual Studio will not pick up the changes. The rest of the build
+ will proceed with out-of-date .vsprops files, which will likely result in a build failure.
+
+ To fix this, we now use normal relative paths to access the .vsprops files in the source
+ tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment
+ variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is
+ unset, so the normal relative paths are used to read the .vsprops files out of the source
+ tree directly. In production builds, this environment variable is set to a fake directory
+ that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path
+ is resolved.
+
+ For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops:
+
+ $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
+
+ In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the
+ files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds,
+ JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to
+ "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for
+ FeatureDefines.vsprops becomes:
+
+ $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
+
+ which resolves to:
+
+ $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
+
+ (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3"
+ actually exist since they are matched by an equal number of ".." path components.)
+
+ Note that Visual Studio still won't pick up changes made to .vsprops files while Visual
+ Studio is open, but that problem hasn't seemed to cause developers many headaches so far.
+
+ Fixes <http://webkit.org/b/49181> Windows build fails mysteriously when .vsprops files are
+ updated
+
+ Reviewed by Dave Hyatt.
+
+ * win/WebKit2.make: Set $WebKitVSPropsRedirectionDir so that production builds can
+ find the .vsprops files.
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+ Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
+ files.
+
+2010-11-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Make WebKit2 compile with ENABLE_JAVASCRIPT_DEBUGGER=0
+
+ * WebProcess/WebPage/WebInspector.cpp: Add missing ENABLE(JAVASCRIPT_DEBUGGER) guards.
+ (WebKit::WebInspector::startJavaScriptDebugging):
+ (WebKit::WebInspector::stopJavaScriptDebugging):
+ (WebKit::WebInspector::startJavaScriptProfiling):
+ (WebKit::WebInspector::stopJavaScriptProfiling):
+
+2010-11-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Textareas should be resizable by default
+ https://bugs.webkit.org/show_bug.cgi?id=49892
+
+ Test: WebKit2/WKPreferences
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ * Shared/WebPreferencesStore.h:
+ Add textAreasAreResizable bit.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetJavaEnabled):
+ (WKPreferencesGetJavaEnabled):
+ Fix typo, WKPRe... -> WKPre...
+
+ (WKPreferencesSetMinimumFontSize):
+ (WKPreferencesGetMinimumFontSize):
+ Fix comment to correctly reflect that the default minimumFontSize is 0, not 1.
+
+ (WKPreferencesSetTextAreasAreResizable):
+ (WKPreferencesGetTextAreasAreResizable):
+ * UIProcess/API/C/WKPreferences.h:
+ Add API.
+
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+ Don't use PLATFORM in API headers.
+
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setTextAreasAreResizable):
+ (WebKit::WebPreferences::textAreasAreResizable):
+ * UIProcess/WebPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ Pipe bit through to the WebProcess and onto WebCore::Settings.
+
+2010-11-19 Zalan Bujtas <zbujtas@gmail.com>
+
+ Reviewed by Andreas Kling.
+
+ WebUIClient::createNewPage() expects a retained WKPageRef.
+ https://bugs.webkit.org/show_bug.cgi?id=48549
+
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (qt_wk_createNewPage):
+
+2010-11-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a didFail WKContextDownloadClient callback
+ https://bugs.webkit.org/show_bug.cgi?id=49847
+
+ * UIProcess/API/C/WKContext.h:
+ Add didFail callback.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::didFail):
+ Call WebDownloadClient::didFail.
+
+ * UIProcess/WebDownloadClient.cpp:
+ (WebKit::WebDownloadClient::didFail):
+ Call the didFail client function.
+
+
+2010-11-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Extend sandbox when downloading files
+ https://bugs.webkit.org/show_bug.cgi?id=49844
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ Add new overload.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
+ Create a sandbox extension handle if necessary.
+
+ * UIProcess/Downloads/DownloadProxy.messages.in:
+ Add a sandbox extension handle out parameter to the DecideDestinationWithSuggestedFilename message.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::decideDestinationWithSuggestedFilename):
+ Create and consume the returned sandbox extension handle.
+
+ (WebKit::Download::didFinish):
+ (WebKit::Download::didFail):
+ Invalidate the sandbox extension handles.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (-[WKDownloadAsDelegate download:shouldDecodeSourceDataOfMIMEType:]):
+ Whoops, fix inverted logic.
+
+2010-11-19 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add Debug_Cairo_CFLite and Release_Cairo_CFLite configurations for all vcproj files
+ https://bugs.webkit.org/show_bug.cgi?id=49819
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+ * win/WebKit2WebProcessCommon.vsprops:
+
+2010-11-19 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ More of <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836
+ Add WebKit2 API relevant to customization of context menus
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameAllowsFollowingLink):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::allowsFollowingLink):
+ * WebProcess/WebPage/WebFrame.h:
+
+2010-11-19 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836
+ Add WebKit2 API relevant to customization of context menus
+
+ Most of this is just exposing already-existing concepts in API.
+
+ * Shared/API/c/WKURLRequest.cpp:
+ (WKURLRequestCreateWithWKURL):
+ * Shared/API/c/WKURLRequest.h:
+
+ * Shared/WebURLRequest.cpp:
+ (WebKit::WebURLRequest::create):
+ * Shared/WebURLRequest.h:
+
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
+ (WKBundleHitTestResultCopyAbsoluteImageURL):
+ (WKBundleHitTestResultCopyAbsoluteMediaURL):
+ (WKBundleHitTestResultGetImageRect):
+ (WKBundleHitTestResultGetIsSelected):
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageHasLocalDataForURL):
+ (WKBundlePageCanHandleRequest):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
+ (WebKit::InjectedBundleHitTestResult::absoluteImageURL):
+ (WebKit::InjectedBundleHitTestResult::absoluteMediaURL):
+ (WebKit::InjectedBundleHitTestResult::imageRect):
+ (WebKit::InjectedBundleHitTestResult::isSelected):
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
+
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ (WebKit::WebContextMenu::show):
+
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::hasLocalDataForURL):
+ (WebKit::WebPage::canHandleRequest):
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::WebPage::hasLocalDataForURL): Stubbed for now.
+ (WebKit::WebPage::canHandleRequest): Ditto.
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::hasLocalDataForURL): Ditto.
+ (WebKit::WebPage::canHandleRequest): Ditto.
+
+2010-11-19 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Need a way to clear disk cache from WebContext
+ https://bugs.webkit.org/show_bug.cgi?id=49820
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextClearResourceCaches): Added.
+ (WKContextClearApplicationCache): Added.
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::clearResourceCaches): Added.
+ (WebKit::WebContext::clearApplicationCache): Added.
+ * UIProcess/WebContext.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::clearResourceCaches): Added.
+ (WebKit::WebProcess::clearApplicationCache): Added.
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in: Added messages.
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformClearResourceCaches): Added.
+ * WebProcess/qt/WebProcessQt.cpp:
+ (WebKit::WebProcess::platformClearResourceCaches): Added.
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::WebProcess::platformClearResourceCaches): Added.
+
+2010-11-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement support for loading local files
+ https://bugs.webkit.org/show_bug.cgi?id=49828
+ <rdar://problem/8447121>
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::initializeSandboxExtensionHandle):
+ Given an URL, create a sandbox extension if it's a local file URL.
+
+ (WebKit::WebPageProxy::loadURL):
+ (WebKit::WebPageProxy::loadURLRequest):
+ Pass along sandbox extension handles to the LoadURL and LoadURLRequest messages.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ Call SandboxExtensionTracker::didStartProvisionalLoad.
+
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ Call SandboxExtensionTracker::didCommitProvisionalLoad.
+
+ (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
+ Call SandboxExtensionTracker::didFailProvisionalLoad.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::~WebPage):
+ Invalidate the sandbox extension tracker.
+
+ (WebKit::WebPage::close):
+ Invalidate the sandbox extension tracker.
+
+ (WebKit::WebPage::loadURL):
+ (WebKit::WebPage::loadURLRequest):
+ Pass the sandbox extension handle to the sandbox extension tracker.
+
+ (WebKit::WebPage::SandboxExtensionTracker::~SandboxExtensionTracker):
+ Invalidate the sandbox extension tracker.
+
+ (WebKit::WebPage::SandboxExtensionTracker::invalidate):
+ invalidate ell the sandbox extensions.
+
+ (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
+ Create a sandbox extension and store it as the "pending provisional extension".
+
+ (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
+ Consume the pending provisional extension and make it the provisional extension.
+
+ (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
+ Invalidate the committed extension and make the provisional extension the committed extension.
+
+ (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
+ Invalidate the provisional extension.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add SandboxExtension::Handle parameters to LoadURL and LoadURLRequest.
+
+2010-11-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Make it possible to encode null SandboxExtension handles
+ https://bugs.webkit.org/show_bug.cgi?id=49825
+
+ * Shared/mac/SandboxExtensionMac.mm:
+ (WebKit::SandboxExtension::Handle::encode):
+ If there's no underlying sandbox extension, just encode an empty byte array.
+
+ (WebKit::SandboxExtension::Handle::decode):
+ If the decoded byte array is empty, don't try to create a sandbox extension.
+
+ (WebKit::SandboxExtension::create):
+ If the handle is null, return null.
+
+ (WebKit::SandboxExtension::consume):
+ Consuming shuld not null out the underlying sandbox extension object.
+
+2010-11-19 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Normalize Cairo/CFLite project/solution configuration names
+ https://bugs.webkit.org/show_bug.cgi?id=49818
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+
+2010-11-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add SandboxExtension abstraction and use it for the injected bundle extension
+ https://bugs.webkit.org/show_bug.cgi?id=49817
+
+ * Shared/SandboxExtension.h:
+ Add SandboxExtension abstraction.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ Instead of encoding/decoding a token, encode/decode the sandbox extension handle.
+
+ * Shared/mac/SandboxExtensionMac.mm: Added.
+ Add Mac implementation of SandboxExtension.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ Create a SandboxExtension::Handle object.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ (WebKit::InjectedBundle::setSandboxExtension):
+ Set the sandbox extension.
+
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+ (WebKit::InjectedBundle::load):
+ Consume the sandbox extension.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ Create a sandbox extension and set it on the injected bundle.
+
+2010-11-18 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Windows vcproj configuration names should be normalized across projects
+ https://bugs.webkit.org/show_bug.cgi?id=49776
+
+ * win/WebKit2.submit.sln:
+ * win/WebKit2Generated.vcproj:
+ * win/WebKit2GeneratedCommon.vsprops: Added.
+
+2010-11-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Crash in WebKit::PluginView::manualLoadDidReceiveResponse when navigating to a .wav file in WebKit2 on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=48559
+ <rdar://problem/8606622>
+
+ Add null checks for m_plugin.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::manualLoadDidReceiveResponse):
+ (WebKit::PluginView::manualLoadDidReceiveData):
+ (WebKit::PluginView::manualLoadDidFinishLoading):
+ (WebKit::PluginView::manualLoadDidFail):
+
+2010-11-18 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Adam Roben.
+
+ <rdar://problem/8602509&8602717&8602724> Enable compaction support.
+
+ * Configurations/WebKit2.xcconfig:
+
+2010-11-18 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: Safari shouldn't auto-activate plug-ins in background tabs.
+ https://bugs.webkit.org/show_bug.cgi?id=49770
+ <rdar://problem/8482424>
+
+ Add an API on Windows to call setIsInWindow, which calls through to WebPage::setIsInWindow.
+ Remove the !PLATFORM(WIN) check in WebPage, so we don't automatically start plugins that are
+ loaded in background tabs.
+
+ * UIProcess/API/C/win/WKView.cpp:
+ (WKViewSetIsInWindow): Call through to WebView::setIsInWindow.
+ * UIProcess/API/C/win/WKView.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setIsInWindow): Call through to WebPage::setIsInWindow.
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Remove the !PLATFORM(WIN) check and update the comment.
+
+2010-11-18 Darin Adler <darin@apple.com>
+
+ * WebProcess/WebPage/WebPage.cpp: Fix build by rolling out a change.
+
+2010-11-18 Darin Adler <darin@apple.com>
+
+ Reviewed by Kevin Decker.
+
+ REGRESSION (WebKit2): Plug-ins and <video> start playing immediately in background tabs
+ https://bugs.webkit.org/show_bug.cgi?id=49766
+
+ Test: manual-tests/resources/video-tab.html
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Call setCanStartMedia(false) since the rest of the code
+ starts out treating the page as "not in a window".
+
+2010-11-18 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Remove leftover Windows Debug_Internal configurations
+ https://bugs.webkit.org/show_bug.cgi?id=49758
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+
+2010-11-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Page overlays should be able to handle mouse events
+ https://bugs.webkit.org/show_bug.cgi?id=49756
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ Add API cast function for converting an IntPoint to a WKPoint.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
+ (PageOverlayClientImpl::mouseEvent):
+ Call the appropriate callbacks.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
+ Add new callbacks.
+
+2010-11-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Keep the web process alive if there are active downloads
+ https://bugs.webkit.org/show_bug.cgi?id=49755
+
+ Make sure that Download objects are destroyed when the download finishes or fails.
+ Don't close the web process if there are live Download objects.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::didFail):
+ Add stub.
+
+ * UIProcess/Downloads/DownloadProxy.h:
+ * UIProcess/Downloads/DownloadProxy.messages.in:
+ Add DidFail message.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::didFinish):
+ Call DownloadManager::downloadFinished.
+
+ (WebKit::Download::didFail):
+ Send DidFail message and call DownloadManager::downloadFinished.
+
+ * WebProcess/Downloads/Download.h:
+ (WebKit::Download::destinationID):
+ Call downloadID().
+
+ (WebKit::Download::downloadID):
+ Return the download ID.
+
+ * WebProcess/Downloads/DownloadManager.cpp:
+ (WebKit::DownloadManager::downloadFinished):
+ Delete the Download object and call WebProcess::shutdownIfPossible.
+
+ * WebProcess/Downloads/DownloadManager.h:
+ (WebKit::DownloadManager::isDownloading):
+ Return whether the download manager has any active downloads.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (-[WKDownloadAsDelegate download:didFailWithError:]):
+ Call Download::didFail.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::removeWebPage):
+ Call shutdownIfPossible.
+
+ (WebKit::WebProcess::shutdownIfPossible):
+ New function. Don't shutdown if there are live pages or active downloads.
+
+ * WebProcess/WebProcess.h:
+
+2010-11-18 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Debug_Internal Windows configuration is unnecessary, should be removed
+ https://bugs.webkit.org/show_bug.cgi?id=49753
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ * WebKit2Prefix.h:
+
+2010-11-18 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Clean up vcproj errors
+ https://bugs.webkit.org/show_bug.cgi?id=49741
+
+ * win/WebKit2WebProcess.vcproj:
+
+2010-11-18 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] [WK2] WebKit 2 would not compile for Qt without ENABLE_TOUCH_EVENT
+ https://bugs.webkit.org/show_bug.cgi?id=49664
+
+ Move the ENABLE(TOUCH_EVENTS) to the code where internal WebKit touch
+ types are used.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::touchEvent):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::touchEvent):
+
+2010-11-17 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Reuse the size of the actualVisibleContentRect when loading a new page
+ or navigating session history.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
+
+2010-11-17 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Converge means of querying a parent node into one way, which is Node::parentNode.
+ https://bugs.webkit.org/show_bug.cgi?id=49686
+
+ * WebProcess/WebPage/WebPage.cpp: Changed to use parentNode.
+ (WebKit::WebPage::findZoomableAreaForPoint): Ditto.
+
+2010-11-17 Timothy Hatcher <timothy@apple.com>
+
+ Remove duplicate Web Inspector message handeling in WebPage::didReceiveMessage.
+
+ https://webkit.org/b/49689
+
+ Reviewed by Andreas Kling.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveMessage): Remove duplicate code.
+
+2010-11-17 Timothy Hatcher <timothy@apple.com>
+
+ Fix a crash when closing the inspected page when the Web Inspector
+ page was never created.
+
+ https://bugs.webkit.org/show_bug.cgi?id=49687
+
+ Reviewed by John Sullivan.
+
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ (WebKit::WebInspectorClient::sendMessageToFrontend): Null check the Inspector WebPage.
+
+2010-11-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Don't crash when invalidating a page overlay that hasn't been installed yet
+ https://bugs.webkit.org/show_bug.cgi?id=49685
+
+ Null check the web page.
+
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::setNeedsDisplay):
+
+2010-11-17 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=49682 - Expose "removeItemAtIndex" in WKMutableArray
+
+ * Shared/API/c/WKMutableArray.cpp:
+ (WKArrayRemoveItemAtIndex):
+ * Shared/API/c/WKMutableArray.h:
+
+ * Shared/MutableArray.cpp:
+ (WebKit::MutableArray::removeItemAtIndex):
+ * Shared/MutableArray.h:
+
+2010-11-17 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=49683 - Export WKContextMenuItem and WKContextMenuItemTypes as public headers
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-11-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Need way to invalidate part of a WKOverlayRef so it will be redrawn
+ https://bugs.webkit.org/show_bug.cgi?id=49679
+ <rdar://problem/8679152>
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
+ (WKBundlePageOverlaySetNeedsDisplay):
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::setNeedsDisplay):
+ * WebProcess/WebPage/PageOverlay.h:
+
+2010-11-17 Timothy Hatcher <timothy@apple.com>
+
+ Provide a way to create a WKView (WebPage) that is hidden from
+ the InjectedBundle. This is needed for the Web Inspector.
+
+ https://webkit.org/b/49670
+
+ Reviewed by Sam Weinig.
+
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode): Added visibleToInjectedBundle.
+ (WebKit::WebPageCreationParameters::decode): Ditto.
+ * Shared/WebPageCreationParameters.h: Ditto.
+ * UIProcess/API/C/win/WKView.cpp:
+ (WKViewCreate): Pass VisibleToInjectedBundle to the WebView create function.
+ * UIProcess/API/C/win/WKViewPrivate.cpp:
+ (WKViewCreateForWebInspector): Added. Not used yet. Passes HiddenFromInjectedBundle
+ to the WebView create function.
+ * UIProcess/API/C/win/WKViewPrivate.h: Added WKViewCreateForWebInspector.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:]): Added hiddenFromInjectedBundle
+ parameter and calls WebPageProxy::setVisibleToInjectedBundle.
+ (-[WKView initWithFrame:pageNamespaceRef:]): Calls initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:
+ and passes NO for hiddenFromInjectedBundle.
+ (-[WKView initWithFrame:]): Cleaned up by removing the local assignment to self and just returns the result.
+ * UIProcess/API/mac/WKViewInternal.h: Added initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy): Initialize m_visibleToInjectedBundle from the creation parameters.
+ (WebKit::WebPageProxy::creationParameters): Set visibleToInjectedBundle using m_visibleToInjectedBundle.
+ * UIProcess/WebPageProxy.h: Added m_visibleToInjectedBundle.
+ (WebKit::WebPageProxy::visibleToInjectedBundle): Added. Return m_visibleToInjectedBundle.
+ (WebKit::WebPageProxy::setVisibleToInjectedBundle): Added. Set m_visibleToInjectedBundle.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView): Added InjectedBundleVisibility parameter and calls
+ WebPageProxy::setVisibleToInjectedBundle.
+ * UIProcess/win/WebView.h: Added InjectedBundleVisibility enum.
+ (WebKit::WebView::create): Added InjectedBundleVisibility parameter.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::create): Checks visibleToInjectedBundle before talking to the injected bundle.
+ (WebKit::WebPage::WebPage): Initialize m_isVisibleToInjectedBundle from the creation parameters.
+ (WebKit::WebPage::close): Checks m_isVisibleToInjectedBundle before talking to the injected bundle.
+ * WebProcess/WebPage/WebPage.h: Added m_isVisibleToInjectedBundle.
+
+2010-11-17 Andras Becsi <abecsi@webkit.org>
+
+ Unreviewed buildfix.
+
+ [Qt] D'oh! I screwed up the dependencies.
+
+ * DerivedSources.pro:
+
+2010-11-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [WK2] Set paintsEntireContents for "resizes to contents" mode
+
+ Only relevant for the tiled backing store.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
+
+2010-11-17 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Make it possible to set custom user agent strings in MiniBrowser
+ https://bugs.webkit.org/show_bug.cgi?id=49627
+
+ Copy the MiniBrowser.qrc and QtTestBrowser's useragentlist.txt file
+ to the build directory of MiniBrowser because it has to be in a
+ subdirectory of the resource file.
+ Add a method to QWKPage to retrieve the custom user agent string.
+
+ * DerivedSources.pro:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::customUserAgent):
+ * UIProcess/API/qt/qwkpage.h:
+
+2010-11-17 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=45567
+ Add stubbed-out layer-backed drawing area for Windows.
+
+ Add implementations of LayerBackedDrawingArea and
+ LayerBackedDrawingAreaProxy for Windows, and add them
+ to the vcproj.
+
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp: Added.
+ (WebKit::LayerBackedDrawingAreaProxy::page):
+ (WebKit::LayerBackedDrawingAreaProxy::platformSetSize):
+ (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
+ (WebKit::LayerBackedDrawingAreaProxy::detachCompositingContext):
+ (WebKit::LayerBackedDrawingAreaProxy::paint):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::pageDidEnterAcceleratedCompositing):
+ (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
+ (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Added.
+ (WebKit::LayerBackedDrawingArea::platformInit):
+ (WebKit::LayerBackedDrawingArea::platformClear):
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+ (WebKit::LayerBackedDrawingArea::detachCompositingContext):
+ (WebKit::LayerBackedDrawingArea::setRootCompositingLayer):
+ (WebKit::LayerBackedDrawingArea::scheduleCompositingLayerSync):
+ (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
+ * win/WebKit2.vcproj:
+
+2010-11-17 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [WK2] The focus switching does not seems to work with QGraphicsWKView
+ https://bugs.webkit.org/show_bug.cgi?id=49545
+
+ Implement focus switching with Tab. This is now done asynchronously,
+ waiting for webkit to call takeFocus() and switching the widget.
+
+ Since the focus can change between the Tab press and the callback,
+ QGraphicsWKView::focusNextPrevChildCallback() make sure the view still has
+ focus before passing it to the next widget.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ (QGraphicsWKView::focusNextPrevChildCallback):
+ (QGraphicsWKView::focusNextPrevChild):
+ * UIProcess/API/qt/qgraphicswkview.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::takeFocus):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2010-11-17 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Don't prohibit scrolling in tiled backing store mode.
+
+ We delegate scrolling instead.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
+
+2010-11-17 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Christiansen.
+
+ [Qt] Improve painting performance on 16-bit displays
+
+ When the default pixmap depth is 16-bit, then use RGB16 instead of
+ RGB32 for the chunks, to avoid unnecessary conversions and reduce
+ chunk size. The conversions happen as images as QPixmaps have 16-bit
+ depth and the tiles on the ui process are also backed by QPixmaps.
+
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::size):
+ (WebKit::UpdateChunk::createImage):
+ * Shared/qt/UpdateChunk.h:
+
+2010-11-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: Support enabling site-specific quirks
+ <rdar://problem/8451371>
+ https://bugs.webkit.org/show_bug.cgi?id=46076
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ * Shared/WebPreferencesStore.h:
+ Add needsSiteSpecificQuirks;
+
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toFontSmoothingLevel):
+ (WebKit::toAPI):
+ Move FontSmoothing conversion functions here.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetFontSmoothingLevel):
+ (WKPreferencesGetFontSmoothingLevel):
+ (WKPreferencesSetAcceleratedCompositingEnabled):
+ (WKPreferencesGetAcceleratedCompositingEnabled):
+ (WKPreferencesSetCompositingBordersVisible):
+ (WKPreferencesGetCompositingBordersVisible):
+ (WKPreferencesSetCompositingRepaintCountersVisible):
+ (WKPreferencesGetCompositingRepaintCountersVisible):
+ (WKPreferencesSetNeedsSiteSpecificQuirks):
+ (WKPreferencesGetNeedsSiteSpecificQuirks):
+ Add WKPreferencesSetNeedsSiteSpecificQuirks/WKPreferencesGetNeedsSiteSpecificQuirks
+ and move implementations from WKPreferencesPrivate.cpp here.
+
+ * UIProcess/API/C/WKPreferencesPrivate.cpp: Removed.
+
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+ Add Add WKPreferencesSetNeedsSiteSpecificQuirks/WKPreferencesGetNeedsSiteSpecificQuirks.
+
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setNeedsSiteSpecificQuirks):
+ (WebKit::WebPreferences::needsSiteSpecificQuirks):
+ * UIProcess/WebPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ Pipe through needsSiteSpecificQuirks.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebKit2.pro:
+ * win/WebKit2.vcproj:
+ Update for removed files.
+
+2010-11-16 Adam Roben <aroben@apple.com>
+
+ Fix horizontal scrolling via the mousewheel/trackpad on Windows
+
+ Reviewed by Mark Rowe.
+
+ * Shared/win/WebEventFactory.cpp: Fixed typo in the
+ WM_VISTA_MOUSEHWHEEL constant.
+
+2010-11-16 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Disable LTCG for Windows Release builds. Add new Release_LTCG configuration.
+ https://bugs.webkit.org/show_bug.cgi?id=49632
+
+ * win/WebKit2.make:
+ * win/WebKit2.submit.sln:
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+
+2010-11-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Handle converting a ResourceHandle to a download
+ https://bugs.webkit.org/show_bug.cgi?id=49631
+
+ * WebProcess/Downloads/Download.h:
+ Add startWithHandle.
+
+ * WebProcess/Downloads/DownloadManager.h:
+ * WebProcess/Downloads/DownloadManager.cpp:
+ (WebKit::DownloadManager::convertHandleToDownload):
+ Create a new Download object and call startWithHandle on it.
+
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ (WebKit::Download::startWithHandle):
+ Add stub.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::Download::startWithHandle):
+ Create an NSURLDownload object from passed in ResourceHandle.
+
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ (WebKit::Download::startWithHandle):
+ Add stub.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::download):
+ Call WebFrame::convertHandleToDownload.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::convertHandleToDownload):
+ Call DownloadManager::convertHandleToDownload.
+
+2010-11-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Set the original URL for downloads
+ https://bugs.webkit.org/show_bug.cgi?id=49628
+
+ * WebProcess/Downloads/DownloadManager.cpp:
+ (WebKit::DownloadManager::startDownload):
+ * WebProcess/Downloads/DownloadManager.h:
+ startDownload now takes the originating web page.
+
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ (WebKit::Download::start):
+ start now takes the originating web page.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::originatingURL):
+ (WebKit::setOriginalURLForDownload):
+ Port code over from WebKit1 that sets the download URL.
+
+ (WebKit::Download::start):
+ Call setOriginalURLForDownload.
+
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ (WebKit::Download::start):
+ start now takes the originating web page.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::startDownload):
+ Pass the web page to DownloadManager::startDownload.
+
+2010-11-16 Dave Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=11004
+
+ font-size:0 is ignored. Remove the minimum font size of 1 in CSSStyleSelector.
+ Change the pref value for minimum font size from 1 to 0. Make sure to never use the NSFont's size,
+ since it doesn't honor a size of 0. Instead pass the size in to the FontPlatformData(NSFont*) version
+ of the constructor rather than using [NSFont pointSize].
+
+ https://bugs.webkit.org/show_bug.cgi?id=49582
+
+ Negative leading is not handled correctly. There are two bugs here. The first is that
+ maxAscent and maxDescent can be negative, so we need a notion of whether or not we have
+ set them before so that we can allow them to be < 0.
+
+ The second issue is that we should understand where fonts will end up relative to
+ our baseline (excluding line height), and only allow those boxes to impact ascent and
+ descent if the actual font box (without factoring in line height) is above or below the
+ root line box baseline.
+
+ Added fast/css/negative-leading.html
+
+ These two bug fixes have to land together to keep the Acid 3 test rendering correctly.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+
+2010-11-16 Anders Carlsson <andersca@apple.com>
+
+ Fix clang++ build.
+
+ * Scripts/webkit2/messages.py:
+ * WebProcess/WebPage/WebInspector.h:
+
+2010-11-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add WKPageCanShowMIMEType
+ https://bugs.webkit.org/show_bug.cgi?id=49612
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageCanShowMIMEType):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::canShowMIMEType):
+ * UIProcess/WebPageProxy.h:
+
+2010-11-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make WebPageProxy::decidePolicyForMIMEType a tad synchronous
+ https://bugs.webkit.org/show_bug.cgi?id=49605
+
+ Change the DecidePolicyForMIMEType message to be synchronous, and if the policy listener is
+ invoked from within the decidePolicyForMIMEType callback return the policy information as out
+ parameters. This is needed in order to convert a loading connection to a download.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::receivedPolicyDecision):
+ (WebKit::WebPageProxy::decidePolicyForMIMEType):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
+
+2010-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org>, Zalan Bujtas <zbujtas@gmail.com>
+
+ Reviewed by Andreas Kling.
+
+ [WK2][Qt] Add API for finding a zoomable area for a given point
+
+ This is useful for implementing e.g "double tap zoom"
+
+ Only enabled for Qt.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::findZoomableAreaForPoint):
+ (QWKPagePrivate::didFindZoomableArea):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didFindZoomableArea):
+ (WebKit::WebPageProxy::findZoomableAreaForPoint):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::findZoomableAreaForPoint):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-11-16 Andreas Kling <kling@webkit.org>
+
+ Rubber-stamped by Simon Hausmann.
+
+ Revert !ENABLE(INSPECTOR) fix- we don't need it right now,
+ and it was less maintainable than I had though.
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ (WebKit::toImpl):
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ * WebProcess/WebPage/WebInspector.cpp:
+
+2010-11-16 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Fix compilation with !ENABLE(INSPECTOR)
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ (WebKit::toImpl):
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ * WebProcess/WebPage/WebInspector.cpp:
+
+2010-11-16 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Use SIGINT instead of SIGKILL to let the web process clean up after itself.
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::QtWebProcess::setupChildProcess):
+
+2010-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [WK2][Qt] Expose resizes-to-contents mode in WebKit2
+
+ Only available with ENABLE(TILED_BACKING_STORE)
+
+ Based on a patch by Antti Koivisto.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::setResizesToContentsUsingLayoutSize):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setResizesToContentsUsingLayoutSize):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::contentsSizeChanged):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setSize):
+ (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
+ (WebKit::WebPage::resizeToContentsIfNeeded):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::resizesToContentsEnabled):
+ (WebKit::WebPage::resizesToContentsLayoutSize):
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-11-16 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Get proxy settings from environment (http[s]_proxy)
+
+ If http_proxy and/or https_proxy are set in the environment,
+ pass those in to QNetworkAccessManager.
+
+ * WebProcess/qt/WebProcessMainQt.cpp:
+ (WebKit::EnvHttpProxyFactory::EnvHttpProxyFactory):
+ (WebKit::EnvHttpProxyFactory::initializeFromEnvironment):
+ (WebKit::EnvHttpProxyFactory::queryProxy):
+ (WebKit::initializeProxy):
+ (WebKit::WebProcessMainQt):
+
+2010-11-16 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Emit windowCloseRequested signal on window.close()
+
+ Original patch by Zalan Bujtas.
+
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (qt_wk_close):
+ * UIProcess/API/qt/qwkpage.h:
+
+2010-11-15 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Kill the web process if the UI process dies
+
+ Connect UI (parent) process death signal to SIGKILL of the web
+ process (child). This ensures that there's no stale web processes
+ after the UI process has crashed.
+
+ Original patch by Kimmo Kinnunen.
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::QtWebProcess::QtWebProcess):
+ (WebKit::QtWebProcess::setupChildProcess):
+ (WebKit::ProcessLauncherHelper::launch):
+
+2010-11-16 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by Andreas Kling.
+
+ [Qt] Trivial build fix for building WebKit2 inside Qt Creator
+
+ Similar to WebCore.pro, define a fallback for OUTPUT_DIR.
+
+ * WebKit2.pro:
+
+2010-11-15 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Make sure qwkpage.h and qwkpreferences.h are copied into includes/WebKit2
+
+ * UIProcess/API/qt/WKView.h:
+
+2010-11-15 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Use $${PYTHON} rather than "python" to execute Python scripts
+
+ Fixes building with the old Python that currently ships with Scratchbox.
+
+ * DerivedSources.pro:
+
+2010-11-15 Brady Eidson <beidson@apple.com>
+
+ Reviewed by a better attempt at a Windows build fix.
+
+ * win/WebKit2Generated.make:
+
+2010-11-15 Brady Eidson <beidson@apple.com>
+
+ Reviewed by my attempt to fix the Windows build
+
+ * win/WebKit2Generated.make: Add new API headers here.
+
+2010-11-15 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Finish off <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=48720
+ Customizable context menu support in WebKit2.
+
+ - Adds an API-level WKContextMenuItem.
+ - Round trips through both the InjectedBundle client and the new PageContextMenuClient before
+ actually displaying the menu.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+ * Shared/API/c/WKBase.h:
+ * Shared/API/c/WKContextMenuItem.cpp: Added.
+ (WKContextMenuItemGetTypeID):
+ (WKContextMenuItemCreateAsAction):
+ (WKContextMenuItemCreateAsCheckableAction):
+ (WKContextMenuItemCreateAsSubmenu):
+ (WKContextMenuItemSeparatorItem):
+ (WKContextMenuItemGetTag):
+ (WKContextMenuItemGetType):
+ (WKContextMenuItemCopyTitle):
+ (WKContextMenuItemGetEnabled):
+ (WKContextMenuItemGetChecked):
+ (WKContextMenuCopySubmenuItems):
+ * Shared/API/c/WKContextMenuItem.h: Added.
+ * Shared/API/c/WKContextMenuItemTypes.h: Added.
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ (WebKit::toImpl):
+
+ * Shared/WebContextMenuItem.cpp:
+ (WebKit::WebContextMenuItem::create):
+ (WebKit::WebContextMenuItem::separatorItem):
+ (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
+ * Shared/WebContextMenuItem.h:
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetPageContextMenuClient):
+ (WKPageSetPageFindClient):
+ (WKPageSetPageLoaderClient):
+ (WKPageSetPagePolicyClient):
+ (WKPageSetPageUIClient):
+ * UIProcess/API/C/WKPage.h:
+
+ * UIProcess/WebPageContextMenuClient.cpp: Added.
+ (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
+ * UIProcess/WebPageContextMenuClient.h: Added.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeContextMenuClient):
+ (WebKit::WebPageProxy::showContextMenu):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
+ (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
+ * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
+
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems):
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ (WebKit::WebContextMenu::show):
+
+2010-11-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add shouldDecodeSourceDataOfMIMEType WKContextDownloadClient callback
+ https://bugs.webkit.org/show_bug.cgi?id=49558
+
+ * UIProcess/API/C/WKContext.h:
+ Add shouldDecodeSourceDataOfMIMEType callback.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType):
+ Call WebDownloadClient::shouldDecodeSourceDataOfMIMEType.
+
+ (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
+ Add allowOverwrite out parameter.
+
+ * UIProcess/Downloads/DownloadProxy.h:
+ * UIProcess/Downloads/DownloadProxy.messages.in:
+ Add ShouldDecodeSourceDataOfMIMEType message.
+
+ * UIProcess/WebDownloadClient.cpp:
+ (WebKit::WebDownloadClient::shouldDecodeSourceDataOfMIMEType):
+ Call the WKContextDownloadClient.
+
+ (WebKit::WebDownloadClient::decideDestinationWithSuggestedFilename):
+ Add allowOverwrite out parameter.
+
+ * UIProcess/WebDownloadClient.h:
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::shouldDecodeSourceDataOfMIMEType):
+ Send the ShouldDecodeSourceDataOfMIMEType message.
+
+ (WebKit::Download::decideDestinationWithSuggestedFilename):
+ Add allowOverwrite reply parameter.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (-[WKDownloadAsDelegate download:shouldDecodeSourceDataOfMIMEType:]):
+ Call Download::shouldDecodeSourceDataOfMIMEType.
+
+ (-[WKDownloadAsDelegate download:decideDestinationWithSuggestedFilename:]):
+ Add allowOverwrite parameter.
+
+2010-11-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add decideDestinationWithSuggestedFilename WKContextDownloadClient callback
+ https://bugs.webkit.org/show_bug.cgi?id=49554
+
+ * Platform/CoreIPC/MessageSender.h:
+ (CoreIPC::MessageSender::sendSync):
+ Add sendSync capabilities to Messagesender.
+
+ * UIProcess/API/C/WKContext.h:
+ Add decideDestinationWithSuggestedFilename callback.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
+ Call WebDownloadClient::decideDestinationWithSuggestedFilename.
+
+ * UIProcess/Downloads/DownloadProxy.messages.in:
+ Add DecideDestinationWithSuggestedFilename.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didReceiveSyncMessage):
+ Process MessageClassDownloadProxy messages.
+
+ * UIProcess/WebDownloadClient.cpp:
+ (WebKit::WebDownloadClient::decideDestinationWithSuggestedFilename):
+ Ask the WKContextDownloadClient for the destination.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ MessageClassDownloadProxy messages should go to the WebContext.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::decideDestinationWithSuggestedFilename):
+ Send the DecideDestinationWithSuggestedFilename message.
+
+ * WebProcess/Downloads/Download.h:
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (-[WKDownloadAsDelegate download:decideDestinationWithSuggestedFilename:]):
+ call Download::decideDestinationWithSuggestedFilename and set the destination.
+
+2010-11-15 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [WK2][Qt] Add "page snapshot" functionality to tiled backing store
+
+ Original patch by Antti Koivisto.
+
+ Add a way to take a snapshot of a specific part of the page, at a specific scale.
+ Only implemented for the tiled drawing area.
+
+ * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
+ New message: TakeSnapshot.
+
+ * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
+ New message: SnapshotTaken.
+
+ * UIProcess/API/qt/qgraphicswkview.h:
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::takeSnapshot):
+ Expose the snapshot functionality.
+
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::didReceiveMessage):
+ (WebKit::TiledDrawingAreaProxy::takeSnapshot):
+ * UIProcess/TiledDrawingAreaProxy.h:
+ * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
+ (WebKit::TiledDrawingAreaProxy::snapshotTaken):
+ * WebProcess/WebPage/TiledDrawingArea.cpp:
+ (WebKit::TiledDrawingArea::didReceiveMessage):
+
+2010-11-15 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [WK2][Qt] WebKit2 implementation of tiled backing store
+ https://bugs.webkit.org/show_bug.cgi?id=49526
+
+ Basic opt-in tiling implementation for WebKit2/Qt.
+
+ Original patch by Antti Koivisto.
+
+ * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
+ New messages: RequestTileUpdate and CancelTileUpdate.
+
+ * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
+ New messages: Invalidate, TileUpdated, AllTileUpdatesProcessed.
+
+ * Shared/DrawingAreaBase.h:
+ New area type: TiledDrawingAreaType.
+
+ * UIProcess/API/qt/qgraphicswkview.h:
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ (QGraphicsWKView::setGeometry):
+ (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
+ (QGraphicsWKView::prepareScaleChange):
+ (QGraphicsWKView::commitScaleChange):
+ (QGraphicsWKViewPrivate::onScaleChanged):
+ (QGraphicsWKViewPrivate::commitScale):
+ Support for tiled backing store.
+
+ * UIProcess/TiledDrawingAreaProxy.cpp: Added.
+ (WebKit::TiledDrawingAreaProxy::create):
+ (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
+ (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy):
+ (WebKit::TiledDrawingAreaProxy::setSize):
+ (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
+ (WebKit::TiledDrawingAreaProxy::didSetSize):
+ (WebKit::TiledDrawingAreaProxy::didReceiveMessage):
+ (WebKit::TiledDrawingAreaProxy::didReceiveSyncMessage):
+ (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
+ (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
+ (WebKit::TiledDrawingAreaProxy::createTile):
+ (WebKit::TiledDrawingAreaProxy::setTileSize):
+ (WebKit::TiledDrawingAreaProxy::setTileCreationDelay):
+ (WebKit::TiledDrawingAreaProxy::setKeepAndCoverAreaMultipliers):
+ (WebKit::TiledDrawingAreaProxy::invalidate):
+ (WebKit::TiledDrawingAreaProxy::updateTileBuffers):
+ (WebKit::TiledDrawingAreaProxy::tileBufferUpdateComplete):
+ (WebKit::TiledDrawingAreaProxy::paint):
+ (WebKit::TiledDrawingAreaProxy::adjustVisibleRect):
+ (WebKit::TiledDrawingAreaProxy::setContentsScale):
+ (WebKit::TiledDrawingAreaProxy::removeAllTiles):
+ (WebKit::TiledDrawingAreaProxy::tileDistance):
+ (WebKit::TiledDrawingAreaProxy::calculateKeepRect):
+ (WebKit::TiledDrawingAreaProxy::calculateCoverRect):
+ (WebKit::TiledDrawingAreaProxy::createTiles):
+ (WebKit::TiledDrawingAreaProxy::resizeEdgeTiles):
+ (WebKit::TiledDrawingAreaProxy::dropTilesOutsideRect):
+ (WebKit::TiledDrawingAreaProxy::tileAt):
+ (WebKit::TiledDrawingAreaProxy::setTile):
+ (WebKit::TiledDrawingAreaProxy::removeTile):
+ (WebKit::TiledDrawingAreaProxy::mapToContents):
+ (WebKit::TiledDrawingAreaProxy::mapFromContents):
+ (WebKit::TiledDrawingAreaProxy::contentsRect):
+ (WebKit::TiledDrawingAreaProxy::tileRectForCoordinate):
+ (WebKit::TiledDrawingAreaProxy::tileCoordinateForPoint):
+ (WebKit::TiledDrawingAreaProxy::startTileBufferUpdateTimer):
+ (WebKit::TiledDrawingAreaProxy::tileBufferUpdateTimerFired):
+ (WebKit::TiledDrawingAreaProxy::startTileCreationTimer):
+ (WebKit::TiledDrawingAreaProxy::tileCreationTimerFired):
+ (WebKit::TiledDrawingAreaProxy::hasPendingUpdates):
+ * UIProcess/TiledDrawingAreaProxy.h: Added.
+ (WebKit::TiledDrawingAreaProxy::contentsScale):
+ (WebKit::TiledDrawingAreaProxy::attachCompositingContext):
+ (WebKit::TiledDrawingAreaProxy::detachCompositingContext):
+ (WebKit::TiledDrawingAreaProxy::tileSize):
+ (WebKit::TiledDrawingAreaProxy::tileCreationDelay):
+ (WebKit::TiledDrawingAreaProxy::getKeepAndCoverAreaMultipliers):
+ * UIProcess/TiledDrawingAreaTile.h: Added.
+ (WebKit::TiledDrawingAreaTile::create):
+ (WebKit::TiledDrawingAreaTile::hasBackBufferUpdatePending):
+ (WebKit::TiledDrawingAreaTile::coordinate):
+ (WebKit::TiledDrawingAreaTile::rect):
+ (WebKit::TiledDrawingAreaTile::ID):
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ * WebProcess/WebPage/TiledDrawingArea.cpp: Added.
+ (WebKit::TiledDrawingArea::TiledDrawingArea):
+ (WebKit::TiledDrawingArea::~TiledDrawingArea):
+ (WebKit::TiledDrawingArea::invalidateWindow):
+ (WebKit::TiledDrawingArea::invalidateContentsAndWindow):
+ (WebKit::TiledDrawingArea::invalidateContentsForSlowScroll):
+ (WebKit::TiledDrawingArea::scroll):
+ (WebKit::TiledDrawingArea::setNeedsDisplay):
+ (WebKit::TiledDrawingArea::display):
+ (WebKit::TiledDrawingArea::scheduleDisplay):
+ (WebKit::TiledDrawingArea::setSize):
+ (WebKit::TiledDrawingArea::suspendPainting):
+ (WebKit::TiledDrawingArea::resumePainting):
+ (WebKit::TiledDrawingArea::didUpdate):
+ (WebKit::TiledDrawingArea::updateTile):
+ (WebKit::TiledDrawingArea::tileUpdateTimerFired):
+ (WebKit::TiledDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/TiledDrawingArea.h: Added.
+ (WebKit::TiledDrawingArea::attachCompositingContext):
+ (WebKit::TiledDrawingArea::detachCompositingContext):
+ (WebKit::TiledDrawingArea::setRootCompositingLayer):
+ (WebKit::TiledDrawingArea::scheduleCompositingLayerSync):
+ (WebKit::TiledDrawingArea::syncCompositingLayers):
+ * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp: Added.
+ (WebKit::TiledDrawingArea::paintIntoUpdateChunk):
+ * WebKit2.pro:
+ * UIProcess/qt/TiledDrawingAreaTileQt.cpp: Added.
+ (WebKit::checkeredPixmap):
+ (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile):
+ (WebKit::TiledDrawingAreaTile::~TiledDrawingAreaTile):
+ (WebKit::TiledDrawingAreaTile::isDirty):
+ (WebKit::TiledDrawingAreaTile::isReadyToPaint):
+ (WebKit::TiledDrawingAreaTile::hasReadyBackBuffer):
+ (WebKit::TiledDrawingAreaTile::invalidate):
+ (WebKit::TiledDrawingAreaTile::resize):
+ (WebKit::TiledDrawingAreaTile::swapBackBufferToFront):
+ (WebKit::TiledDrawingAreaTile::paint):
+ (WebKit::TiledDrawingAreaTile::paintCheckerPattern):
+ (WebKit::TiledDrawingAreaTile::updateFromChunk):
+ (WebKit::TiledDrawingAreaTile::updateBackBuffer):
+ * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Added.
+ (WebKit::TiledDrawingAreaProxy::updateWebView):
+ (WebKit::TiledDrawingAreaProxy::webViewVisibleRect):
+ (WebKit::TiledDrawingAreaProxy::page):
+
+2010-11-12 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Need to implement WebKit::pluginWillHandleLoadError for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=48764
+
+ Add the missing error to Qt support.
+
+ * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
+ (WebKit::pluginWillHandleLoadError):
+
+2010-11-12 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Fixed Target for WKBundlePageOverlay.cpp.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Changed Target for WKBundlePageOverlay.cpp from WebProcess to WebKit2.
+
+2010-11-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Need a way that WKBundlePageOverlayRef clients can make sure they only uninstall the overlay they installed
+ https://bugs.webkit.org/show_bug.cgi?id=49461
+ <rdar://problem/8662760>
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageUninstallPageOverlay):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+ (WebKit::FindController::hideFindUI):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::uninstallPageOverlay):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-11-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Allow MessageSender to override sendMessage
+ https://bugs.webkit.org/show_bug.cgi?id=49457
+
+ Change MessageSender::send to encode the message and then call sendMessage.
+ This allows for clients to override sendMessage, something which WebProcessProxy
+ will be able to take advantage of.
+
+ * Platform/CoreIPC/MessageSender.h:
+ (CoreIPC::MessageSender::send):
+ (CoreIPC::MessageSender::sendMessage):
+
+2010-11-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ CoreIPC cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=49455
+
+ Add a static create function to ArgumentEncoder.
+ Factor sync message argument encoder creation out into a new function,
+ createSyncMessageArgumentEncoder.
+
+ * Platform/CoreIPC/ArgumentEncoder.cpp:
+ (CoreIPC::ArgumentEncoder::create):
+ * Platform/CoreIPC/ArgumentEncoder.h:
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::createSyncMessageArgumentEncoder):
+ (CoreIPC::Connection::dispatchSyncMessage):
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::send):
+ (CoreIPC::Connection::sendSync):
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::send):
+
+2010-11-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ ASSERTION when converting some WKStringRefs returned from willSubmitForm to CFStringRef
+ <rdar://problem/8662180>
+ https://bugs.webkit.org/show_bug.cgi?id=49454
+
+ Enforce the invariant that a WebString never contains a null WTF::String at a
+ lower level, in the WebString constructor, instead of relying on the callers of
+ WebString::create to do it.
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ (WebKit::toCopiedAPI): Remove null string check...
+
+ * Shared/WebString.h:
+ (WebKit::WebString::WebString): ... and move it to the constructor.
+
+ * Shared/API/c/WKURL.cpp:
+ (WKURLCopyString): Use toCopiedAPI() instead of calling WebString directly
+ to match other similar uses.
+
+2010-11-12 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt][WK2] Fix leaking of mapped files
+
+ MappedMemory::fileName was never set on the receiving side, which led
+ the MappedMemoryPool to call QFile::map() again when reusing an existing file.
+
+ * Platform/qt/MappedMemoryPool.cpp:
+ (WebKit::MappedMemoryPool::mapFile):
+
+2010-11-12 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * win/WebKit2Generated.make: Copy WKBundlePageOverlay.h.
+
+2010-11-12 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Unreviewed fix after r71857.
+
+ * UIProcess/qt/WebInspectorProxyQt.cpp:
+ * WebProcess/WebPage/qt/WebInspectorQt.cpp:
+
+2010-11-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add didReceiveResponse and didReceiveData to the download client
+ https://bugs.webkit.org/show_bug.cgi?id=49418
+
+ * UIProcess/API/C/WKContext.h:
+ Add didReceiveResponse and didReceiveData to WKContextDownloadClient.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::didReceiveResponse):
+ (WebKit::DownloadProxy::didReceiveData):
+ Call WebDownloadClient member functions.
+
+ * UIProcess/Downloads/DownloadProxy.messages.in:
+ Add DidReceiveResponse and DidReceiveData messages.
+
+ * UIProcess/WebDownloadClient.cpp:
+ (WebKit::WebDownloadClient::didReceiveResponse):
+ (WebKit::WebDownloadClient::didReceiveData):
+ Call client functions.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Let Xcode update the file.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::didReceiveResponse):
+ (WebKit::Download::didReceiveData):
+ Send messages.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::Download::start):
+ Set deletesFileUponFailure to NO.
+
+ (-[WKDownloadAsDelegate download:didReceiveResponse:]):
+ Call didReceiveResponse.
+
+2010-11-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add an argument coder for ResourceResponse.
+ https://bugs.webkit.org/show_bug.cgi?id=49415
+
+ * Shared/WebCoreArgumentCoders.h:
+ * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
+ (CoreIPC::encodeResourceResponse):
+ (CoreIPC::decodeResourceResponse):
+ * Shared/mac/WebCoreArgumentCodersMac.mm:
+ (CoreIPC::encodeResourceResponse):
+ (CoreIPC::decodeResourceResponse):
+ * Shared/qt/WebCoreArgumentCodersQt.cpp:
+ (CoreIPC::encodeResourceResponse):
+ (CoreIPC::decodeResourceResponse):
+ * Shared/win/WebCoreArgumentCodersWin.cpp:
+ (CoreIPC::encodeResourceResponse):
+ (CoreIPC::decodeResourceResponse):
+
+2010-11-11 Ryosuke Niwa <rniwa@webkit.org>
+
+ Unreviewed build fix for r71587.
+
+ * WebKit2.xcodeproj/project.pbxproj: No longer uses absolute path.
+
+2010-11-11 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed WebKit2 buildfix after r71587.
+
+ * UIProcess/qt/WebInspectorProxyQt.cpp:
+ * WebKit2.pro:
+
+2010-11-11 Brian Weinstein <bweinstein@apple.com>
+
+ More Windows build fixing. Change another #import to a #include, and remove an unneeded
+ namespace.
+
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ * WebProcess/WebPage/win/WebInspectorWin.cpp:
+
+2010-11-11 Brent Fulgham <bfulgham@webkit.org>
+
+ Windows [Cairo] build fix. Unreviewed.
+
+ Provide stubs for two BackingStore methods.
+
+ * Shared/cairo/BackingStoreCairo.cpp:
+ (WebKit::BackingStore::createFlippedGraphicsContext):
+ (WebKit::BackingStore::paint):
+
+2010-11-11 Brian Weinstein <bweinstein@apple.com>
+
+ Windows Build Fix. Change #imports to #includes.
+
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+
+2010-11-08 Timothy Hatcher <timothy@apple.com>
+
+ Create and load the Web Inspector page.
+
+ https://webkit.org/b/49207
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::createInspectorPage): Added. Call platformCreateInspectorPage and then
+ call WebPageProxy::loadURL with inspectorPageURL.
+ (WebKit::WebInspectorProxy::didLoadInspectorPage): Added stub.
+ * UIProcess/WebInspectorProxy.h:
+ * UIProcess/WebInspectorProxy.messages.in: Added.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage): Call WebInspectorProxy::didReceiveWebInspectorProxyMessage.
+ (WebKit::WebPageProxy::didReceiveSyncMessage): Call WebInspectorProxy::didReceiveSyncWebInspectorProxyMessage.
+ * UIProcess/WebPageProxy.h: Made creationParameters public so WebInspectorProxy can use it.
+
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage): Make a WkView and return the WebPageProxy.
+ (WebKit::WebInspectorProxy::inspectorPageURL): Return the file URL for the inspector.html file.
+ * UIProcess/qt/WebInspectorProxyQt.cpp:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage): Added stub.
+ (WebKit::WebInspectorProxy::inspectorPageURL): Ditto.
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage): Added stub.
+ (WebKit::WebInspectorProxy::inspectorPageURL): Ditto.
+
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ (WebKit::WebInspectorClient::openInspectorFrontend): Call WebInspector::createInspectorPage and set up the WebInspectorFrontendClient.
+ (WebKit::WebInspectorClient::sendMessageToFrontend): Call doDispatchMessageOnFrontendPage in the base class.
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ (WebKit::WebInspectorFrontendClient::frontendLoaded): Call WebInspector::didLoadInspectorPage.
+ (WebKit::WebInspectorFrontendClient::localizedStringsURL): Call WebInspector::localizedStringsURL.
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
+
+ * WebProcess/WebPage/WebInspector.cpp:
+ (WebKit::WebInspector::WebInspector):
+ (WebKit::WebInspector::createInspectorPage): Send a sync WebInspectorProxy::CreateInspectorPage message and set up
+ the WebPage using the result page ID.
+ (WebKit::WebInspector::didLoadInspectorPage): Send a WebInspectorProxy::DidLoadInspectorPage message.
+ * WebProcess/WebPage/WebInspector.h:
+ (WebKit::WebInspector::inspectorPage): Added.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveMessage): Call WebInspector::didReceiveWebInspectorMessage.
+
+ * WebProcess/WebPage/mac/WebInspectorMac.mm:
+ (WebKit::WebInspector::localizedStringsURL): Return the file URL for the localizedStrings.js file.
+ * WebProcess/WebPage/qt/WebInspectorQt.cpp:
+ (WebKit::WebInspector::localizedStringsURL): Added stub.
+ * WebProcess/WebPage/win/WebInspectorWin.cpp:
+ (WebKit::WebInspector::localizedStringsURL): Added stub.
+
+ * DerivedSources.make: Added WebInspectorProxy.messages.in.
+ * DerivedSources.pro: Ditto.
+
+ * WebKit2.pro: Added new files.
+ * WebKit2.xcodeproj/project.pbxproj: Ditto.
+ * win/WebKit2.vcproj: Ditto.
+
+2010-11-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Move the remaining API client classes to use the APIClient base class.
+ https://bugs.webkit.org/show_bug.cgi?id=49404
+
+ Also moves InjectedBundleClient into its own class to match other API clients.
+
+ * UIProcess/WebContextInjectedBundleClient.cpp:
+ * UIProcess/WebContextInjectedBundleClient.h:
+ * UIProcess/WebHistoryClient.cpp:
+ (WebKit::WebHistoryClient::didNavigateWithNavigationData):
+ (WebKit::WebHistoryClient::didPerformClientRedirect):
+ (WebKit::WebHistoryClient::didPerformServerRedirect):
+ (WebKit::WebHistoryClient::didUpdateHistoryTitle):
+ (WebKit::WebHistoryClient::populateVisitedLinks):
+ * UIProcess/WebHistoryClient.h:
+ (WebKit::WebHistoryClient::shouldTrackVisitedLinks):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::initializeClient):
+ (WebKit::InjectedBundle::reportException):
+ (WebKit::InjectedBundle::didCreatePage):
+ (WebKit::InjectedBundle::willDestroyPage):
+ (WebKit::InjectedBundle::didReceiveMessage):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/InjectedBundle/InjectedBundleClient.cpp: Added.
+ (WebKit::InjectedBundleClient::didCreatePage):
+ (WebKit::InjectedBundleClient::willDestroyPage):
+ (WebKit::InjectedBundleClient::didReceiveMessage):
+ * WebProcess/InjectedBundle/InjectedBundleClient.h: Added.
+ * win/WebKit2.vcproj:
+
+2010-11-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Remove an unneeded CFAllocatorRef parameter.
+
+ * Shared/API/c/mac/WKURLResponseNS.h:
+ * Shared/API/c/mac/WKURLResponseNS.mm:
+ (WKURLResponseCopyNSURLResponse):
+
+2010-11-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add and implement WKDownloadCopyRequest
+ https://bugs.webkit.org/show_bug.cgi?id=49393
+
+ * Shared/API/c/mac/WKURLRequestNS.h:
+ * Shared/API/c/mac/WKURLRequestNS.mm:
+ (WKURLRequestCopyNSURLRequest):
+ Remove unneeded CFAllocator parameter.
+
+ * Shared/WebURLRequest.cpp:
+ (WebKit::WebURLRequest::WebURLRequest):
+ * Shared/WebURLRequest.h:
+ (WebKit::WebURLRequest::create):
+ Change create to take a ResourceRequest instead.
+
+ * UIProcess/API/C/WKDownload.cpp:
+ (WKDownloadCopyRequest):
+ Return a copied WKURLRequest.
+
+ * UIProcess/API/C/WKDownload.h:
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::didStart):
+ Set the request.
+
+ * UIProcess/Downloads/DownloadProxy.h:
+ (WebKit::DownloadProxy::request):
+ Return the request.
+
+ * UIProcess/Downloads/DownloadProxy.messages.in:
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::didStart):
+ Pass the request along when sending the DidStart message.
+
+2010-11-11 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Added WKBundlePageOverlay.h to the WebKit2 Target and made it public.
+
+2010-11-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Move GraphicsContext setup code to PageOverlay::drawRect
+ https://bugs.webkit.org/show_bug.cgi?id=49389
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::drawRect):
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::drawRect):
+
+2010-11-11 Adam Roben <aroben@apple.com>
+
+ Build fix after r71816
+
+ * WebProcess/WebPage/WebPage.messages.in: Compile out
+ SetActualVisibleContentRect when ENABLE(TILED_BACKING_STORE) is
+ turned off.
+
+2010-11-11 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Implement BackingStore
+ https://bugs.webkit.org/show_bug.cgi?id=49377
+
+ * Shared/qt/BackingStoreQt.cpp:
+ (WebKit::createQImage): Added static helper. Creates a QImage
+ from the shared memory buffer.
+ (WebKit::BackingStore::createGraphicsContext):
+ (WebKit::BackingStore::createFlippedGraphicsContext): Leave
+ unimplemented with an ASSERT_NOT_REACHED since this is only
+ needed for the CoreGraphics backend.
+ (WebKit::BackingStore::paint):
+
+2010-11-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Add a Qt WebKit2 API for overriding the actual visible content rect
+ https://bugs.webkit.org/show_bug.cgi?id=49381
+
+ Add an Qt WebKit2 API for overriding the actual visible content rect in
+ WebCore. This is supposed to be used in combination with tiling.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::setActualVisibleContentsRect):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setActualVisibleContentRect):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setActualVisibleContentRect):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-11-10 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=49356
+ -[WebView _scaleWebView:] should take and origin and scroll the
+ document
+ -and corresponding-
+ <rdar://problem/8643921>
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toImpl):
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageScaleWebView):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::scaleWebView):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::scaleWebView):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-11-10 Ada Chan <adachan@apple.com>
+
+ Fix Windows build.
+
+ * win/WebKit2Generated.make:
+
+2010-11-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Misc drawing area cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=49349
+
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::setSize):
+ (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
+ (WebKit::LayerBackedDrawingAreaProxy::update):
+ Call process()->send() instead of process()->connection()->send() in case
+ the web process has not been launched yet.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Delay creation of the drawing area
+ until after other WebPage state has been initialized, in case
+ the DrawingArea creation needs to call back to the WebPage.
+
+2010-11-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Push m_viewSize down to DrawingAreaProxy base class
+ https://bugs.webkit.org/show_bug.cgi?id=49347
+
+ Some refactoring so that the various drawing area classes
+ can share m_size.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::setSize):
+ (WebKit::DrawingAreaProxy::size):
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::setSize):
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
+ (WebKit::LayerBackedDrawingAreaProxy::platformSetSize):
+ (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
+ * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
+ * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
+
+2010-11-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Closing tabs sometimes crashes the WebProcess in invalidateContentsAndWindow
+ https://bugs.webkit.org/show_bug.cgi?id=49335
+ <rdar://problem/8646621>
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+ If we fail to send the DidChangeAcceleratedCompositing message, don't null out the
+ drawing area. This will happen during page teardown.
+
+2010-11-10 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by David Hyatt.
+
+ HTML5 Ruby support should be mandatory feature
+ https://bugs.webkit.org/show_bug.cgi?id=49272
+
+ Remove Ruby as optional feature.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * WebKit2Prefix.h: Touch it to avoid incremental build failure on Windows.
+
+2010-11-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add license to DerivedSources.make.
+
+ * DerivedSources.make:
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Convert client classes to use APIClient base class.
+ https://bugs.webkit.org/show_bug.cgi?id=49322
+
+ * UIProcess/WebFormClient.cpp:
+ (WebKit::WebFormClient::willSubmitForm):
+ * UIProcess/WebFormClient.h:
+ * UIProcess/WebLoaderClient.cpp:
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPolicyClient.cpp:
+ * UIProcess/WebPolicyClient.h:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/WebUIClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+
+2010-11-10 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Fix re-use of memory-mapped files
+ https://bugs.webkit.org/show_bug.cgi?id=49310
+
+ QTemporaryFile::fileName() returns an empty string after close()
+ so we have to keep separate track of the filename.
+
+ Also, we can't reopen the file if it's been QFile::remove()d,
+ so we defer unlinking until the MappedMemoryPool is destroyed or
+ the CrashHandler kicks in.
+
+ This makes re-use of memory-mapped files work (after we kill an
+ assertion that the file size == the new mmap size - it's fine if
+ the file is larger, too.)
+
+ * Platform/qt/MappedMemoryPool.cpp:
+ (WebKit::MappedMemoryPool::~MappedMemoryPool):
+ (WebKit::MappedMemoryPool::clear):
+ (WebKit::MappedMemoryPool::mapMemory):
+ (WebKit::MappedMemoryPool::mapFile):
+ * Platform/qt/MappedMemoryPool.h:
+ (WebKit::MappedMemory::mappedFileName):
+ * Shared/qt/CrashHandler.cpp:
+ (WebKit::CrashHandler::deleteObjects):
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::encode):
+
+2010-11-09 Brady Eidson <beidson@apple.com>
+
+ Reviewed by the ever-picky Windows build-bot.
+
+ Windows build bot was complaining about this.
+
+ * Shared/WebContextMenuItemData.cpp:
+ (WebKit::WebContextMenuItemData::core):
+
+2010-11-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ WKDownload.h should be a public header.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-11-09 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Part of <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=48720
+ Customizable context menu support in WebKit2.
+
+ This adds a BundlePageContextMenu client and lets WebKit2 consult it with the proposed
+ list of WebContextMenuItems.
+ There is no realistic API for the embedding app to actually inspect or create new
+ WebContextMenuItems (will be "WKContextMenuItem") and that ability will come later.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+ * Platform/Logging.cpp:
+ (initializeLogChannelsIfNecessary):
+ * Platform/Logging.h:
+
+ * Shared/APIObject.h:
+
+ * Shared/MutableArray.cpp:
+ (WebKit::MutableArray::reserveCapacity):
+ * Shared/MutableArray.h:
+
+ * Shared/WebContextMenuItem.cpp: Added.
+ (WebKit::WebContextMenuItem::WebContextMenuItem):
+ (WebKit::WebContextMenuItem::data):
+ * Shared/WebContextMenuItem.h: Added.
+ (WebKit::WebContextMenuItem::create):
+ (WebKit::WebContextMenuItem::type):
+
+ * Shared/WebContextMenuItemData.cpp:
+ (WebKit::WebContextMenuItemData::core):
+ (WebKit::kitItems):
+ (WebKit::coreItems):
+ * Shared/WebContextMenuItemData.h:
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetContextMenuClient):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+
+ * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: Added.
+ (WebKit::InjectedBundlePageContextMenuClient::InjectedBundlePageContextMenuClient):
+ (WebKit::InjectedBundlePageContextMenuClient::initialize):
+ (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
+ * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h: Added.
+
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems): Call through to the injected bundle client
+ with the default items and convert the returned items back for WebCore to use.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::initializeInjectedBundleContextMenuClient):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::injectedBundleContextMenuClient):
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Add some stylistic flourish to the last patch as suggested by Lord Darin Adler.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetSourceForFrame):
+ (WKPageGetContentsAsString):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::invalidateCallbackMap):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::contentsAsString):
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Need WebKit2 mechanism for getting the visible page text
+ <rdar://problem/8646928>
+ https://bugs.webkit.org/show_bug.cgi?id=49275
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetContentsAsString):
+ (callContentsAsStringBlockBlockAndDispose):
+ (WKPageGetContentsAsString_b):
+ * UIProcess/API/C/WKPage.h:
+ Add GetContentsAsString callback function declaration and forwarding.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::invalidateCallbackMap):
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::getContentsAsString):
+ (WebKit::WebPageProxy::didGetContentsAsString):
+ (WebKit::WebPageProxy::processDidCrash):
+ * UIProcess/WebPageProxy.h:
+ Add GetContentsAsString callback and generalize invalidating the callback
+ maps into a standalone function.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add DidGetContentsAsString return message.
+
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::contentsAsString):
+ Gets the string content of all the subframes.
+
+ (WebKit::WebFrame::isFrameSet):
+ Call through to the document.
+
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::getContentsAsString):
+ Forward to the the main frames contentsAsString function.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add GetContentsAsString and collect all callback messages together.
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Fix mac build.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformSetCacheModel):
+
+2010-11-09 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler, Dan Bernstein.
+
+ <rdar://problem/8360145> Pages using accelerated compositing missing content on Windows
+
+ Disable accelerated compositing on Windows until we have cross-process
+ rendering implemented.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2010-11-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add injected bundle API for creating page overlays
+ https://bugs.webkit.org/show_bug.cgi?id=49282
+
+ * Shared/API/c/WKBase.h:
+ Add WKBundlePageOverlayRef.
+
+ * Shared/APIObject.h:
+ Add TypeBundlePageOverlay.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ Add WKBundlePageOverlayRef mapping.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageInstallPageOverlay):
+ Install the passed in page overlay.
+
+ (WKBundlePageUninstallPageOverlay):
+ Uninstall the passed in page overlay.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: Added.
+ (PageOverlayClientImpl::create):
+ (PageOverlayClientImpl::PageOverlayClientImpl):
+ (PageOverlayClientImpl::pageOverlayDestroyed):
+ (PageOverlayClientImpl::willMoveToWebPage):
+ (PageOverlayClientImpl::didMoveToWebPage):
+ (PageOverlayClientImpl::drawRect):
+ (PageOverlayClientImpl::mouseEvent):
+ Add a PageOverlay::Client subclass that forwards everything to its client.
+
+ (WKBundlePageOverlayGetTypeID):
+ (WKBundlePageOverlayCreate):
+ Create a page overlay.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::pageOverlayDestroyed):
+ * WebProcess/WebPage/FindController.h:
+ Add stub.
+
+ * WebProcess/WebPage/PageOverlay.h:
+ Inherit from APIObject.
+
+ (WebKit::PageOverlay::type):
+ return TypeBundlePageOverlay.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-11-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Get rid of FindPageOverlay
+ https://bugs.webkit.org/show_bug.cgi?id=49268
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Remove files.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+ Create a PageOverlay with the FindController as its client.
+
+ (WebKit::FindController::willMoveToWebPage):
+ Null out the find page overlay if the web page is null.
+
+ (WebKit::FindController::didMoveToWebPage):
+ Add stub.
+
+ * WebProcess/WebPage/FindController.h:
+ FindController is now a PageOverlay::Client.
+
+ * WebProcess/WebPage/FindPageOverlay.cpp: Removed.
+ * WebProcess/WebPage/FindPageOverlay.h: Removed.
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::setPage):
+ Call the willMoveToWebPage and didMoveToWebPage client functions.
+
+ (WebKit::PageOverlay::setNeedsDisplay):
+ Pass the page overlay bounds instead of the web page size.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::installPageOverlay):
+ Clear the page of the previous page overlay.
+
+ (WebKit::WebPage::uninstallPageOverlay):
+ Clear the page of the previous page overlay.
+
+ * WebProcess/WebPage/WebPage.h:
+ The page overlay is now refcounted.
+
+ * win/WebKit2.vcproj:
+ Remove files.
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::WebProcess::platformSetCacheModel):
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Factor calculation of cache sizes based on cache model into shared function
+ https://bugs.webkit.org/show_bug.cgi?id=48706
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::calculateCacheSizes):
+ * WebProcess/WebProcess.h:
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::volumeFreeSize):
+ (WebKit::WebProcess::platformSetCacheModel):
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::memorySize):
+ (WebKit::volumeFreeSize):
+ (WebKit::WebProcess::platformSetCacheModel):
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Context menus show up in the wrong place when the page is scrolled
+ https://bugs.webkit.org/show_bug.cgi?id=49264
+
+ Convert the hitTestResult point into 'window' coordinates before sending over
+ to the UIProcess to show the menu.
+
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ (WebKit::WebContextMenu::show):
+ Convert to use message sender interface.
+
+ (WebKit::WebContextMenu::itemSelected):
+ Remove unnecessary WebCore::'s.
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Send messages directly to the WebContext
+ https://bugs.webkit.org/show_bug.cgi?id=49262
+
+ * Platform/CoreIPC/MessageID.h:
+ Temporarily add MessageClassWebContextLegacy.
+
+ * Shared/CoreIPCSupport/WebContextMessageKinds.h:
+ Rename adding Legacy prefix.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didNavigateWithNavigationData):
+ (WebKit::WebContext::didPerformClientRedirect):
+ (WebKit::WebContext::didPerformServerRedirect):
+ (WebKit::WebContext::didUpdateHistoryTitle):
+ (WebKit::WebContext::setCacheModel):
+ (WebKit::WebContext::addVisitedLink):
+ (WebKit::WebContext::addVisitedLinkHash):
+ (WebKit::WebContext::getPlugins):
+ (WebKit::WebContext::getPluginPath):
+ (WebKit::WebContext::didReceiveMessage):
+ (WebKit::WebContext::didReceiveSyncMessage):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebContext.messages.in: Added.
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPluginProcessConnection):
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/WebProcessProxy.messages.in:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::postMessage):
+ (WebKit::InjectedBundle::postSynchronousMessage):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::updateGlobalHistory):
+ (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
+ (WebKit::WebFrameLoaderClient::setTitle):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::populatePluginCache):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::addVisitedLink):
+ Move context related messages to be sent directly to the context.
+
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-11-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Move the find page overlay code to FindController
+ https://bugs.webkit.org/show_bug.cgi?id=49266
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::~FindController):
+ (WebKit::FindController::rectsForTextMatches):
+ (WebKit::overlayBackgroundColor):
+ (WebKit::FindController::drawRect):
+ (WebKit::FindController::mouseEvent):
+ * WebProcess/WebPage/FindController.h:
+ * WebProcess/WebPage/FindPageOverlay.cpp:
+ (WebKit::FindPageOverlay::drawRect):
+ (WebKit::FindPageOverlay::mouseEvent):
+ * WebProcess/WebPage/FindPageOverlay.h:
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::bounds):
+ (WebKit::PageOverlay::drawRect):
+ (WebKit::PageOverlay::mouseEvent):
+ * WebProcess/WebPage/PageOverlay.h:
+
+2010-11-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Add a PageOverlay::Client object in preparation of not allowing subclassing of PageOverlay
+ https://bugs.webkit.org/show_bug.cgi?id=49263
+
+ * WebProcess/WebPage/FindPageOverlay.cpp:
+ (WebKit::FindPageOverlay::FindPageOverlay):
+ Call the PageOverlay constructor.
+
+ (WebKit::FindPageOverlay::drawRect):
+ (WebKit::FindPageOverlay::mouseEvent):
+ These now take a PageOverlay callback.
+
+ * WebProcess/WebPage/FindPageOverlay.h:
+ FindPageOverlay now inherits from PageOverlay::Client.
+
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::create):
+ Add create function.
+
+ (WebKit::PageOverlay::PageOverlay):
+ The constructor now takes a client.
+
+ (WebKit::PageOverlay::drawRect):
+ (WebKit::PageOverlay::mouseEvent):
+ Call the client methods.
+
+ * WebProcess/WebPage/PageOverlay.h:
+ Add Client class.
+
+2010-11-09 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Darin Adler.
+
+ <rdar://problem/8646456> WebProcess crashes reproducibly on complex text
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface): Initialize wkCreateCTTypesetterWithUniCharProviderAndOptions
+ and wkCreateCTLineWithUniCharProvider.
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Fix Windows build.
+
+ * win/WebKit2.vcproj:
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Fix Qt build.
+
+ * WebKit2.pro:
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Windows Popup widget support (<select>)
+ <rdar://problem/8559439>
+ https://bugs.webkit.org/show_bug.cgi?id=48701
+
+ Port WebCore's PopupMenuWin's implementation to work within the confines of WebKit2.
+ Since we currently can't draw text using WebCore in the UIProcess, this approach uses
+ the WebProcess to create two bitmaps representing the full popup menu (both unselected and
+ selected) and sends them to the UIProcess to be drawn in an HWND.
+
+ * Shared/BackingStore.h:
+ * Shared/cg/BackingStoreCG.cpp:
+ * Shared/qt/BackingStoreQt.cpp:
+
+ Add new function to create a flipped graphics context from the backing store,
+ and add additional parameters to paint, to allow more control of how the backing
+ store is painted into the destination context.
+
+ * Shared/PlatformPopupMenuData.cpp: Added.
+ (WebKit::PlatformPopupMenuData::PlatformPopupMenuData):
+ (WebKit::PlatformPopupMenuData::encode):
+ (WebKit::PlatformPopupMenuData::decode):
+ * Shared/PlatformPopupMenuData.h: Added.
+ Add struct so platforms can send platform specific data to their popup menu implementations.
+
+ * Shared/WebPopupItem.cpp:
+ (WebKit::WebPopupItem::WebPopupItem):
+ (WebKit::WebPopupItem::encode):
+ (WebKit::WebPopupItem::decode):
+ * Shared/WebPopupItem.h:
+ Add isLabel for each menu item.
+
+ * UIProcess/FindIndicator.cpp:
+ (WebKit::FindIndicator::draw):
+ Update for new BackingStore::paint signature.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showPopupMenu):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebPopupMenuProxy.h:
+ * UIProcess/mac/WebPopupMenuProxyMac.h:
+ * UIProcess/mac/WebPopupMenuProxyMac.mm:
+ (WebKit::WebPopupMenuProxyMac::showPopupMenu):
+ * UIProcess/qt/WebPopupMenuProxyQt.cpp:
+ (WebKit::WebPopupMenuProxyQt::showPopupMenu):
+ * UIProcess/qt/WebPopupMenuProxyQt.h:
+ Pass through the new PlatformPopupMenuData.
+
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ * UIProcess/win/WebPopupMenuProxyWin.h:
+ Port implementation from WebCore.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::createPopupMenuProxy):
+ Pass the WebView to the WebPopupMenuProxyWin.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::paint):
+ (WebKit::PluginProxy::update):
+ Update for new BackingStore::paint signature.
+
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
+ (WebKit::WebPopupMenu::populateItems): Add isLabel for each item.
+ (WebKit::WebPopupMenu::show): Give each platform a chance to add platform specific data.
+ * WebProcess/WebCoreSupport/WebPopupMenu.h:
+
+ * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm: Added.
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp: Added.
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ Add stubbed out setUpPlatformData.
+
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Added.
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ Compute data needed in the UIProcess including generating the bitmaps.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-11-09 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt][WK2] ASSERT fail in fast/frames/lots-of-objects.html
+ https://bugs.webkit.org/show_bug.cgi?id=49253
+
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::create): Do not assert
+ when the attach was unsuccessful but return with 0.
+
+2010-11-09 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] WebKitTestRunner is dead
+ https://bugs.webkit.org/show_bug.cgi?id=49129
+
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::~SharedMemory):
+ Follow up fix: do not access the QSharedMemory object
+ in an assert if it has been deleted.
+
+2010-11-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Send page scroll requests to the PageClient when scroll delegation is turned on
+ https://bugs.webkit.org/show_bug.cgi?id=49171
+
+ Implement the IPC and API required for making scroll delegation work
+ with WebKit2. This is only used when you have tiling enabled.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::pageDidRequestScroll):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::pageDidRequestScroll):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::delegatedScrollRequested):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::pageDidRequestScroll):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-11-08 Ivan Krstić <ike@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ <rdar://problem/8531943> Enable partial symbolication for sandbox violations in WebProcess.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2010-11-08 Juha Savolainen <juha.savolainen@weego.fi>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Added new methods to QWKHistory and made QWKHistoryItemPrivate to shared object.
+ https://bugs.webkit.org/show_bug.cgi?id=49063
+
+ Added more functionality to the QWKHistory and changed QWKHistoryItemPrivate to shared object.
+ This is needed because we cannot delete the QWKHistoryItemPrivate pointer in destructor of QWKHistoryItem,
+ there may have other history instances which share same private implementation.
+
+ * UIProcess/API/qt/qwkhistory.cpp:
+ (QWKHistoryItemPrivate::~QWKHistoryItemPrivate):
+ (QWKHistoryItem::QWKHistoryItem):
+ (QWKHistoryItem::QWKHistoryItem::operator=):
+ (QWKHistory::currentItem): Added
+ (QWKHistory::backItem): Added
+ (QWKHistory::forwardItem): Added
+ (QWKHistory::itemAt): Added
+ (QWKHistory::backItems): Added
+ (QWKHistory::forwardItems): Added
+ * UIProcess/API/qt/qwkhistory.h:
+ * UIProcess/API/qt/qwkhistory_p.h:
+
+2010-11-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add WKDownloadClient API
+ https://bugs.webkit.org/show_bug.cgi?id=49227
+
+ * Shared/API/c/WKBase.h:
+ Add WKDownloadRef.
+
+ * UIProcess/API/C/WKAPICast.h:
+ Add WKDownloadRef <-> DownloadProxy mapping.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetDownloadClient):
+ Initialize the download client.
+
+ * UIProcess/API/C/WKContext.h:
+ Add new WKContextDownloadClient API.
+
+ * UIProcess/API/C/WKDownload.cpp: Added.
+ * UIProcess/API/C/WKDownload.h:
+ Add WKDownload files.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::didStart):
+ (WebKit::DownloadProxy::didCreateDestination):
+ (WebKit::DownloadProxy::didFinish):
+ Call down to the the WebDownloadClient.
+
+ * UIProcess/Downloads/DownloadProxy.messages.in:
+ Rename DidBegin to DidStart.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::initializeDownloadClient):
+ Initialize the download client.
+
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::downloadClient):
+ Add getter.
+
+ * UIProcess/WebDownloadClient.cpp:
+ (WebKit::WebDownloadClient::didStart):
+ (WebKit::WebDownloadClient::didCreateDestination):
+ (WebKit::WebDownloadClient::didFinish):
+ Call the relevant WKContextDownloadClient functions.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::didStart):
+ * WebProcess/Downloads/Download.h:
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (-[WKDownloadAsDelegate downloadDidBegin:]):
+ Rename Download::didBegin to Download::didStart.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-11-08 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Part of https://bugs.webkit.org/show_bug.cgi?id=49222
+ Rename "WebContextMenuItem" to "WebContextMenuItemData"
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+ * Shared/WebContextMenuItem.cpp: Removed.
+ * Shared/WebContextMenuItem.h: Removed.
+ * Shared/WebContextMenuItemData.cpp: Copied from Shared/WebContextMenuItem.cpp.
+ (WebKit::WebContextMenuItemData::WebContextMenuItemData):
+ (WebKit::WebContextMenuItemData::encode):
+ (WebKit::WebContextMenuItemData::decode):
+ (WebKit::kitItems):
+ * Shared/WebContextMenuItemData.h: Copied from Shared/WebContextMenuItem.h.
+ (WebKit::WebContextMenuItemData::submenu):
+
+ * UIProcess/WebContextMenuProxy.h:
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showContextMenu):
+ (WebKit::WebPageProxy::contextMenuItemSelected):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+
+ * UIProcess/mac/WebContextMenuProxyMac.h:
+ * UIProcess/mac/WebContextMenuProxyMac.mm:
+ (-[WebMenuTarget forwardContextMenuAction:]):
+ (WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
+ (WebKit::nsMenuItemVector):
+ (WebKit::WebContextMenuProxyMac::populate):
+ (WebKit::WebContextMenuProxyMac::showContextMenu):
+
+ * UIProcess/qt/WebContextMenuProxyQt.cpp:
+ (WebKit::WebContextMenuProxyQt::showContextMenu):
+ * UIProcess/qt/WebContextMenuProxyQt.h:
+
+ * UIProcess/win/WebContextMenuProxyWin.cpp:
+ (WebKit::WebContextMenuProxyWin::showContextMenu):
+ * UIProcess/win/WebContextMenuProxyWin.h:
+
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ (WebKit::WebContextMenu::itemSelected):
+ * WebProcess/WebPage/WebContextMenu.h:
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didSelectItemFromActiveContextMenu):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-11-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan and Dan Bernstein.
+
+ Find in Page: scrolling the page with the scrollbar while overlay is up dismisses the overlay
+ https://bugs.webkit.org/show_bug.cgi?id=49219
+ <rdar://problem/8569550>
+
+ * WebProcess/WebPage/FindPageOverlay.cpp:
+ (WebKit::FindPageOverlay::bounds):
+ Return the bounds of the find page overlay, excluding any scrollbars.
+
+ (WebKit::FindPageOverlay::drawRect):
+ Call bounds.
+
+ (WebKit::FindPageOverlay::mouseEvent):
+ Only dismiss the find UI if the mouse down event happens inside the overlay bounds.
+
+2010-11-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add the ability to send messages to DownloadProxy objects
+ https://bugs.webkit.org/show_bug.cgi?id=49213
+
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ Add Download.messages.in.
+
+ * Platform/CoreIPC/MessageID.h:
+ Add MessageClassDownloadProxy message class.
+
+ * Platform/CoreIPC/MessageSender.h:
+ Include Connection.h directly since it's required.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::didBegin):
+ (WebKit::DownloadProxy::didCreateDestination):
+ (WebKit::DownloadProxy::didFinish):
+ Add stubs.
+
+ * UIProcess/Downloads/DownloadProxy.messages.in: Added.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didReceiveMessage):
+ Handle DownloadProxy messages.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ Hand DownloadProxy messages off to the context.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::didBegin):
+ (WebKit::Download::didReceiveData):
+ (WebKit::Download::didCreateDestination):
+ (WebKit::Download::didFinish):
+ Send messages.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (-[WKDownloadAsDelegate download:didCreateDestination:]):
+ Call Download::didCreateDestination.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-11-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add DownloadProxy object
+ https://bugs.webkit.org/show_bug.cgi?id=49211
+
+ DownloadProxy will be the implementation of the forthcoming WKDownloadRef object.
+
+ * Shared/APIObject.h:
+ Add TypeDownload.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::generateDownloadID):
+ Generate a unique download ID.
+
+ (WebKit::DownloadProxy::invalidate):
+ Null out the web context.
+
+ * UIProcess/Downloads/DownloadProxy.h:
+ (WebKit::WebContext::processDidClose):
+ Invalidate all downloads.
+
+ (WebKit::WebContext::createDownloadProxy):
+ Create a WebDownload object.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::receivedPolicyDecision):
+ Call createDownloadProxy instead.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+ * win/WebKit2Common.vsprops:
+ Add new include path.
+
+2010-11-08 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=49201
+ Crash when closing a page
+
+ Handle null frame by passing a 0 frame id (normal ones start from 1).
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::focusedFrameChanged):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::focusedFrameChanged):
+
+2010-11-08 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Function call update for
+ https://bugs.webkit.org/show_bug.cgi?id=27165.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::Stream::start):
+
+2010-11-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ NPClass::construct and NPClass::invokeDefault never called with out-of-process plug-ins in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=49198
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::invokeDefault):
+ Call NPClass::invokeDefault.
+
+ (WebKit::NPObjectMessageReceiver::construct):
+ Call NPClass::construct
+
+ * Shared/Plugins/NPObjectMessageReceiver.messages.in:
+ Add InvokeDefault and Construct messages.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::invokeDefault):
+ Send the InvokeDefault message.
+
+ (WebKit::NPObjectProxy::construct):
+ Send the Construct message.
+
+ (WebKit::NPObjectProxy::NP_InvokeDefault):
+ Call NPObjectProxy::invokeDefault.
+
+ (WebKit::NPObjectProxy::NP_Construct):
+ Call NPObjectProxy::construct.
+
+2010-11-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Plug-in views should not assume that plugins are RenderEmbeddedObjects
+ https://bugs.webkit.org/show_bug.cgi?id=49196
+ <rdar://problem/8638467>
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::pluginProcessCrashed):
+
+2010-11-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ NPN_Evaluate doesn't work with out-of-process plugins in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=49193
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::evaluate):
+ Send an Evaluate message.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::evaluate):
+ Call Evaluate on the plug-in proxy.
+
+ * WebProcess/Plugins/PluginProxy.h:
+ * WebProcess/Plugins/PluginProxy.messages.in:
+ Add Evaluate message.
+
+2010-11-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Correctly convert NPObjectProxy to NPVariantData
+ https://bugs.webkit.org/show_bug.cgi?id=49190
+
+ * Shared/Plugins/NPObjectMessageReceiver.h:
+ (WebKit::NPObjectMessageReceiver::npObject):
+ Add NPObject getter.
+
+ * Shared/Plugins/NPObjectProxy.h:
+ (WebKit::NPObjectProxy::npObjectID):
+ Add NPObjectID getter.
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
+ Handle the case where the NPObject is an NPObjectProxy.
+
+ (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
+ Handle NPVariantData::LocalNPObjectID.
+
+ * Shared/Plugins/NPVariantData.cpp:
+ (WebKit::NPVariantData::makeRemoteNPObjectID):
+ * Shared/Plugins/NPVariantData.h:
+ New function for creating an NPVariantData that contains a remote NPObject ID.
+
+2010-11-08 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48685
+ Notify UI process about focused frame
+
+ Handle notifications, store the current one in WebPageProxy in UI process.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetFocusedFrame):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::focusedFrameChanged):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::focusedFrame):
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::focusedFrameChanged):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+2010-11-07 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Rename Cache to MemoryCache
+ https://bugs.webkit.org/show_bug.cgi?id=49159
+
+ * WebProcess/WebProcess.cpp:
+ * WebProcess/mac/WebProcessMac.mm:
+ * WebProcess/win/WebProcessWin.cpp:
+
+2010-11-06 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] WebKitTestRunner is dead
+ https://bugs.webkit.org/show_bug.cgi?id=49129
+
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::~SharedMemory):
+ Avoid double deletion when deleteLater has
+ already been called.
+
+2010-11-05 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ suspendAnimations/resumeAnimations not present in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=49109
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameSuspendAnimations):
+ (WKBundleFrameResumeAnimations):
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::suspendAnimations):
+ (WebKit::WebFrame::resumeAnimations):
+ * WebProcess/WebPage/WebFrame.h:
+
+2010-11-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebProcess won't kill itself if UIProcess goes away while WebProcess is spinning
+ https://bugs.webkit.org/show_bug.cgi?id=49090
+ <rdar://problem/7834575>
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::connectionDidClose):
+ Call Client::didCloseOnConnectionWorkQueue.
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::Client::didCloseOnConnectionWorkQueue):
+ Add new client function. Will be called on the connection work queue when the connection is closed.
+
+ * Platform/WorkItem.h:
+ (FunctionWorkItem0::FunctionWorkItem0):
+ (FunctionWorkItem0::execute):
+ (WorkItem::create):
+ Add a new WorkItem subclass that will invoke a C function.
+
+ * Platform/WorkQueue.h:
+ * Platform/mac/WorkQueueMac.cpp:
+ (WorkQueue::scheduleWorkAfterDelay):
+ New function which will schedule the given work item to be executed in at least 'delay' seconds.
+
+ * Platform/qt/WorkQueueQt.cpp:
+ (WorkQueue::scheduleWorkAfterDelay):
+ Add empty stub.
+
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::scheduleWorkAfterDelay):
+ Ditto.
+
+ * PluginProcess/PluginProcess.h:
+ Derive from ChildProcess.
+
+ * Shared/ChildProcess.cpp: Added.
+ (WebKit::ChildProcess::ChildProcess):
+ (WebKit::ChildProcess::~ChildProcess):
+ (WebKit::watchdogCallback):
+ Call _exit.
+
+ (WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
+ When the connection is closed, schedule a work item to be run in 10 seconds. If the process hasn't
+ exited normally by then, we'll exit.
+
+ * Shared/ChildProcess.h:
+ Add new ChildProcess class which is a common base class of WebProcess and PluginProcess and which contains
+ the watchdog timer logic.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebProcess.h:
+ Derive from ChildProcess.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-11-05 Adam Roben <aroben@apple.com>
+
+ Implement PluginInfoStore::shouldUsePlugin on Windows
+
+ Fixes <http://webkit.org/b/43509> <rdar://problem/8273822> WebKit2
+ should refuse to load the same plugins that old-WebKit refuses to load
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::fileVersion): Helper function to construct a 64-bit file
+ version from two 32-bit numbers.
+ (WebKit::PluginInfoStore::getPluginInfo): Ported code from
+ WebCore::PluginPackage::fetchInfo to get the plugin's version. We now
+ store it in Plugin::fileVersion.
+
+ (WebKit::isOldWindowsMediaPlayerPlugin):
+ (WebKit::isNewWindowsMediaPlayerPlugin):
+ Added these helpers. The code came from
+ WebCore::PluginDatabase::getPluginPathsInDirectories.
+
+ (WebKit::PluginInfoStore::shouldUsePlugin): Implemented. The code was
+ ported from WebCore::PluginDatabase::getPluginPathsInDirectories and
+ WebCore::PluginPackage::isPluginBlacklisted.
+
+2010-11-05 Adam Roben <aroben@apple.com>
+
+ Operate on m_plugins directly in PluginInfoStore::shouldUsePlugin
+
+ We'll need to operate on m_plugins if we ever want to unload an
+ already-loaded plugin before loading the new one.
+
+ Fixes <http://webkit.org/b/49076> loadedPlugins parameter to
+ PluginInfoStore::shouldUsePlugin is redundant
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::loadPlugin):
+ * UIProcess/Plugins/PluginInfoStore.h:
+ * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ Removed the loadedPlugins parameter from shouldUsePlugin. The single
+ implementation (Mac) now uses m_plugins directly.
+
+2010-11-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Implement pluginElementNPObject
+ https://bugs.webkit.org/show_bug.cgi?id=49077
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::pluginElementNPObject):
+ Send the GetPluginElementNPObject message.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::getPluginElementNPObject):
+ Get the plug-in element NPObject and expose it to the other side of the connection.
+
+ * WebProcess/Plugins/PluginProxy.messages.in:
+ Add GetPluginElementNPObject.
+
+2010-11-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Implement NP_RemoveProperty and NP_Enumerate
+ https://bugs.webkit.org/show_bug.cgi?id=49046
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::removeProperty):
+ Call the removeProperty NPClass function.
+
+ (WebKit::NPObjectMessageReceiver::enumerate):
+ Call the enumerate NPClass function.
+
+ * Shared/Plugins/NPObjectMessageReceiver.messages.in:
+ Add RemoveProperty and Enumerate messages.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::removeProperty):
+ Send the RemoveProperty message.
+
+ (WebKit::NPObjectProxy::enumerate):
+ Send the Enumerate message.
+
+ (WebKit::NPObjectProxy::NP_RemoveProperty):
+ Call removeProperty.
+
+ (WebKit::NPObjectProxy::NP_Enumerate):
+ Call enumerate.
+
+2010-11-05 Sam Weinig <sam@webkit.org>
+
+ Fix failing python tests.
+
+ * Scripts/webkit2/messages.py:
+ * Scripts/webkit2/messages_unittest.py:
+
+2010-11-05 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben..
+
+ Generate the messages sent to the WebProcessProxy
+ https://bugs.webkit.org/show_bug.cgi?id=49062
+
+ * Platform/CoreIPC/MessageID.h:
+ Temporarily add MessageClassWebProcessProxyLegacy while we still can't
+ support GetPluginProcessConnection (and deferred sync replies) in the
+ general mechanism.
+
+ * Scripts/webkit2/messages.py:
+ Add support for WebCore::PluginData and WebKit::WebNavigationDataStore.
+
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ Remove now unused kinds. Rename to MessageClassWebProcessProxyLegacy.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPluginPath):
+ (WebKit::WebProcessProxy::addBackForwardItem):
+ (WebKit::WebProcessProxy::didNavigateWithNavigationData):
+ (WebKit::WebProcessProxy::didPerformClientRedirect):
+ (WebKit::WebProcessProxy::didPerformServerRedirect):
+ (WebKit::WebProcessProxy::didUpdateHistoryTitle):
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ (WebKit::WebProcessProxy::didDestroyFrame):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/WebProcessProxy.messages.in: Added.
+ Move implementations to their own functions.
+
+ * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
+ (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
+ Change to use WebProcessProxyLegacyMessage.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::updateGlobalHistory):
+ (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
+ (WebKit::WebFrameLoaderClient::setTitle):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::populatePluginCache):
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::updateBackForwardItem):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::addVisitedLink):
+ (WebKit::WebProcess::removeWebFrame):
+ Use generated messages.
+
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-11-04 Adam Roben <aroben@apple.com>
+
+ Use a window region to clip windowed plugins
+
+ Fixes <http://webkit.org/b/49024> <rdar://problem/8487847> Windowed
+ plugins aren't clipped in WebKit2 on Windows
+
+ Reviewed by Jon Honeycutt.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::registerPluginView): Removed the CS_PARENTDC style. This style
+ makes Windows ignore the window region and always clip to the parent
+ window. Also pass WebKit.dll's HINSTANCE as part of the WNDCLASSW
+ struct so that the window class will be specific to WebKit.dll rather
+ than to WebKit2WebProcess.exe. This is useful for testing, but also
+ more pedantically correct.
+ (WebKit::setWindowRegion): Helper function to set a window region and
+ deal with ownership of the HRGN correctly.
+ (WebKit::NetscapePlugin::platformGeometryDidChange): Make an HRGN that
+ corresponds to m_clipRect and set it on the plugin's window.
+
+2010-11-05 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Left over files and shared memory segments
+ https://bugs.webkit.org/show_bug.cgi?id=48985
+
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::create): Force deletion of the QSharedMemory
+ object on terminate by connecting QCoreApplication::aboutToQuit with
+ deleteLater. Add the object to the CrashHandler as well to release the
+ shared memory segment even on crash.
+ (WebKit::SharedMemory::~SharedMemory):
+ * Shared/qt/CrashHandler.cpp: Added.
+ CrashHandler has a container for QObjects that we want to
+ destroy on crash. When we got a signal that we interpret as
+ a crash then it destroys those objects.
+ (WebKit::CrashHandler::CrashHandler):
+ (WebKit::CrashHandler::signalHandler):
+ (WebKit::CrashHandler::deleteObjects):
+ * Shared/qt/CrashHandler.h: Added.
+ (WebKit::CrashHandler::instance):
+ (WebKit::CrashHandler::didDelete):
+ (WebKit::CrashHandler::markForDeletionOnCrash):
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncherHelper::ProcessLauncherHelper):
+ Add the object itself to the CrashHandler to close the QLocalServer
+ even on crash. Without that the QLocalServer leaves over socket files on the disk.
+ (WebKit::ProcessLauncherHelper::~ProcessLauncherHelper):
+ * WebKit2.pro:
+
+2010-11-04 Jia Pu <jpu@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ reversion bubble in WebViews
+ https://bugs.webkit.org/show_bug.cgi?id=47630
+ <rdar://problem/8530960>
+
+ This patch is to add reversion to correction panel. Please see WebCore/ChangeLog for detail.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.h: Adopted new signature of base class method.
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: Ditto.
+ (WebKit::WebEditorClient::showCorrectionPanel):
+ (WebKit::WebEditorClient::dismissCorrectionPanel):
+
+2010-11-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by David Hyatt.
+
+ Delegate scrolling via a separate method
+ https://bugs.webkit.org/show_bug.cgi?id=48988
+
+ Add delegatedScrollRequested method to WebChromeClient,
+ which is only used in conjunging with tiling, and thus ifdef'ed.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::delegatedScrollRequested):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+2010-11-03 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Need a way to test in WebKit2 whether a form field contains marked text
+ <rdar://problem/8555293>
+ https://bugs.webkit.org/show_bug.cgi?id=48969
+
+ Added a selection changed notification from the Web process to the UI process.
+ The message being sent contains information about the current selection.
+ Event though for this specific bug the only information required is the marked text,
+ I've added other selection information that will be needed to support IME.
+ All the stubbed methods are required methods by the NSTextInput protocol.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::selectionChanged): Added.
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:]): Added initialization of new members.
+ (-[WKView _selectionChanged:isEditable:isPassword:hasMarkedText:]): Stores the values from
+ the selection changed message.
+ (-[WKView selectedRange]): Added stub.
+ (-[WKView hasMarkedText]): Implemented.
+ (-[WKView unmarkText]): Added stub.
+ (-[WKView validAttributesForMarkedText]): Added stub.
+ (-[WKView setMarkedText:selectedRange:]): Added stub.
+ (-[WKView markedRange]): Added stub.
+ (-[WKView attributedSubstringFromRange:]): Added stub.
+ (-[WKView conversationIdentifier]): Added stub.
+ (-[WKView characterIndexForPoint:]): Added stub.
+ (-[WKView firstRectForCharacterRange:]): Added stub.
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::selectionChanged): Added.
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didSelectionChange): New message handler.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::selectionChanged): Added.
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::respondToChangedSelection): Added implementation.
+
+2010-11-04 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Cleanup UpdateChunk and MappedMemoryPool
+ https://bugs.webkit.org/show_bug.cgi?id=48994
+
+ * Platform/qt/MappedMemoryPool.cpp:
+ (WebKit::MappedMemoryPool::mapMemory):
+ Removed argument with default value that was always
+ used with the default value.
+ (WebKit::MappedMemoryPool::mapFile): Ditto and
+ add some asserts.
+ * Platform/qt/MappedMemoryPool.h:
+ Encapsulating MappedMemory and remove the unused
+ MappedMemoryPool::searchForMappedMemory method.
+ (WebKit::MappedMemory::mappedFile):
+ (WebKit::MappedMemory::markFree):
+ (WebKit::MappedMemory::data):
+ (WebKit::MappedMemory::MappedMemory):
+ (WebKit::MappedMemory::markUsed):
+ (WebKit::MappedMemory::mapSize):
+ (WebKit::MappedMemory::isFree):
+ (WebKit::MappedMemoryPool::instance):
+ * Shared/qt/UpdateChunk.cpp:
+ Removed the unused data method besides other cleanups.
+ (WebKit::UpdateChunk::UpdateChunk):
+ (WebKit::UpdateChunk::encode):
+ (WebKit::UpdateChunk::decode):
+ (WebKit::UpdateChunk::createImage):
+ * Shared/qt/UpdateChunk.h:
+
+2010-11-04 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Add a stub WebContextMenuProxy
+
+ This is the Qt equivalent of r71333.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::createContextMenuProxy):
+ * UIProcess/qt/WebContextMenuProxyQt.cpp: Added.
+ (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
+ (WebKit::WebContextMenuProxyQt::create):
+ (WebKit::WebContextMenuProxyQt::showContextMenu):
+ (WebKit::WebContextMenuProxyQt::hideContextMenu):
+ * UIProcess/qt/WebContextMenuProxyQt.h: Added.
+ * WebKit2.pro:
+
+2010-11-04 Adam Roben <aroben@apple.com>
+
+ Add a do-nothing WebContextMenuProxy implementation on Windows
+
+ Fixes <http://webkit.org/b/48992> REGRESSION (r71041): Crash in
+ WebPageProxy::showContextMenu when right-clicking in WebKit2 on
+ Windows
+
+ Reviewed by Dan Bernstein.
+
+ * UIProcess/win/WebContextMenuProxyWin.cpp: Added.
+ (WebKit::WebContextMenuProxyWin::WebContextMenuProxyWin):
+ (WebKit::WebContextMenuProxyWin::create):
+ (WebKit::WebContextMenuProxyWin::showContextMenu):
+ (WebKit::WebContextMenuProxyWin::hideContextMenu):
+ * UIProcess/win/WebContextMenuProxyWin.h: Added.
+ Just stubbed-out this class.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::createContextMenuProxy): Create a new
+ WebContextMenuProxyWin and return it. Returning 0 results in a crash.
+
+ * win/WebKit2.vcproj: Added WebContextMenuProxyWin.
+
+2010-11-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Andreas Kling..
+
+ [Qt] Build Webkit2 both in debug and release on Mac
+
+ On Mac OS X we build QtWebKit in both debug and release, so
+ we need to also build the webkit2 library in both configs.
+
+ * WebKit2.pro:
+
+2010-11-04 Adam Roben <aroben@apple.com>
+
+ Remove lame puts()s from WebPageProxy
+
+ Rubber-stamped by Anders Carlsson.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::loadURL):
+ (WebKit::WebPageProxy::loadURLRequest):
+
+2010-11-03 Alice Liu <alice.liu@apple.com>
+
+ Fix clang++ build
+
+ * PluginProcess/PluginProcess.h:
+ * UIProcess/Plugins/PluginProcessProxy.h:
+ * UIProcess/WebContextMenuProxy.h:
+ Change class to struct and vise versa where needed.
+
+2010-11-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Implement NP_SetProperty
+ https://bugs.webkit.org/show_bug.cgi?id=48956
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::setProperty):
+ Call the NPClass setProperty function.
+
+ * Shared/Plugins/NPObjectMessageReceiver.messages.in:
+ Add SetProperty message.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::setProperty):
+ Send a SetProperty message.
+
+ (WebKit::NPObjectProxy::NP_SetProperty):
+ Call NPObjectProxy::setProperty.
+
+2010-11-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Out of process plug-ins don't support the CA drawing model
+ https://bugs.webkit.org/show_bug.cgi?id=48950
+ <rdar://problem/8626019>
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ Add new overload.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::initialize):
+ Call platformInitialize().
+
+ (WebKit::PluginControllerProxy::destroy):
+ Call platformDestroy().
+
+ (WebKit::PluginControllerProxy::isAcceleratedCompositingEnabled):
+ Assume that accelerated compositing is available if we have a render server port.
+
+ (WebKit::PluginControllerProxy::geometryDidChange):
+ Call platformGeometryDidChange().
+
+ * PluginProcess/PluginProcess.h:
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::createPlugin):
+ Pass back the remote layer client ID.
+
+ * PluginProcess/WebProcessConnection.messages.in:
+ Add a remoteLayerClientID out parameter to CreatePlugin.
+
+ * PluginProcess/mac/PluginControllerProxyMac.mm: Added.
+ (WebKit::PluginControllerProxy::platformInitialize):
+ If the plug-in has a layer, create a remote layer client and associate it with the layer.
+
+ (WebKit::PluginControllerProxy::platformDestroy):
+ Invalidate the remote layer client.
+
+ (WebKit::PluginControllerProxy::remoteLayerClientID):
+ Return the remote layer client ID if one exists.
+
+ (WebKit::PluginControllerProxy::platformGeometryDidChange):
+ Update the layer bounds.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm: Added.
+ (WebKit::PluginProxy::pluginLayer):
+ Create a render layer if needed.
+
+ (WebKit::PluginProxy::needsBackingStore):
+ Return whether the plug-in needs a backing store. (It doesn't need a backing store if it's a CA plug-in).
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::PluginProxy):
+ Initialize m_remoteLayerClientID.
+
+ (WebKit::PluginProxy::initialize):
+ Set m_remoteLayerClientID.
+
+ (WebKit::PluginProxy::paint):
+ Bail if the plug-in doesn't need a backing store.
+
+ (WebKit::PluginProxy::geometryDidChange):
+ Don't create a backing store if the plug-in doesn't need one.
+
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ Remove RetainPtr initialization.
+
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::platformClear):
+ Use nullptr instead of 0.
+
+2010-11-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Crash when layout in response to setSize changes the drawing area
+ https://bugs.webkit.org/show_bug.cgi?id=48947
+
+ This is tested by compositing/plugins/small-to-large-composited-plugin.html.
+
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::setSize):
+
+2010-11-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Pass the accelerated compositing render server port to the plug-in process at startup
+ https://bugs.webkit.org/show_bug.cgi?id=48925
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::PluginProcess):
+ Initialize m_compositingRenderServerPort to MACH_PORT_NULL.
+
+ (WebKit::PluginProcess::initialize):
+ Get the plug-in path and render server port from the creation parameters.
+
+ * PluginProcess/PluginProcess.messages.in:
+ Change the Initialize message to take a PluginProcessCreationParameters struct.
+
+ * Shared/Plugins/PluginProcessCreationParameters.cpp: Added.
+ * Shared/Plugins/PluginProcessCreationParameters.h: Added.
+ Add new PluginProcessCreationParameters struct.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::didFinishLaunching):
+ Initialize now takes a PluginProcessCreationParameters struct.
+
+ * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: Added.
+ (WebKit::PluginProcessProxy::platformInitializePluginProcess):
+ Initialize the render server port.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+2010-11-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add the webkit2 library to LIBS instead of QMAKE_LFLAGS
+
+ Otherwise the library order will get messed up and cause
+ missing symbols on Mac OS X.
+
+ * WebKit2.pri:
+ * WebKit2.pro:
+
+2010-11-02 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Adam Barth.
+
+ For unnamed frames, window.name returns a generated name
+ https://bugs.webkit.org/show_bug.cgi?id=6751
+
+ Part 1 of 2.
+
+ Substitute FrameTree::uniqueName() for FrameTree::name() in WebKit2.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::name):
+
+2010-11-02 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
+
+ Reviewed by Martin Robinson.
+
+ Changes to enable building WebKit2 for Gtk port.
+ (https://bugs.webkit.org/show_bug.cgi?id=37369)
+
+ * Platform/gtk: Added.
+ * Platform/gtk/SharedMemoryGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
+ (WebKit::SharedMemory::Handle::Handle):
+ (WebKit::SharedMemory::Handle::~Handle):
+ (WebKit::SharedMemory::Handle::encode):
+ (WebKit::SharedMemory::Handle::decode):
+ (WebKit::SharedMemory::create):
+ (WebKit::SharedMemory::~SharedMemory):
+ (WebKit::SharedMemory::createHandle):
+ (WebKit::SharedMemory::systemPageSize):
+ * Shared/gtk: Added.
+ * Shared/gtk/BackingStoreGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
+ (WebKit::BackingStore::createGraphicsContext):
+ (WebKit::BackingStore::paint):
+ * Shared/gtk/PlatformCertificateInfo.h: Added. Added. Stubbed implementation for GTK port. Yet to implement.
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+ (WebKit::PlatformCertificateInfo::encode):
+ (WebKit::PlatformCertificateInfo::decode):
+ * Shared/gtk/WebCoreArgumentCodersGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
+ (CoreIPC::encodeResourceRequest):
+ (CoreIPC::decodeResourceRequest):
+ * UIProcess/Plugins/gtk: Added.
+ * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
+ (WebKit::PluginInfoStore::pluginsDirectories):
+ (WebKit::PluginInfoStore::pluginPathsInDirectory):
+ (WebKit::PluginInfoStore::individualPluginPaths):
+ (WebKit::PluginInfoStore::getPluginInfo):
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/InjectedBundle/gtk: Added.
+ * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
+ (WebKit::InjectedBundle::load):
+ (WebKit::InjectedBundle::activateMacFontAscentHack):
+ * WebProcess/Plugins/Netscape/gtk: Added.
+ * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ (WebKit::NetscapePlugin::platformDestroy):
+ (WebKit::NetscapePlugin::platformGeometryDidChange):
+ (WebKit::NetscapePlugin::platformPaint):
+ (WebKit::toNP):
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ (WebKit::NetscapePlugin::platformHandleWheelEvent):
+ (WebKit::NetscapePlugin::platformSetFocus):
+ (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
+ (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
+ * WebProcess/WebCoreSupport/gtk: Added.
+ * WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h: Added. Added. Stubbed implementation for GTK port. Yet to implement.
+ (WebFrameNetworkingContext::create):
+ (WebFrameNetworkingContext::WebFrameNetworkingContext):
+
+2010-11-02 Jing Jin <jjin@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Key down calls are not being sent to the application.
+ https://bugs.webkit.org/show_bug.cgi?id=48867
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView keyDown:]): Call super when ignoring a key down.
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Add Null and Int32 to NPVariantData
+ https://bugs.webkit.org/show_bug.cgi?id=48887
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
+ (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
+ * Shared/Plugins/NPVariantData.cpp:
+ (WebKit::NPVariantData::NPVariantData):
+ (WebKit::NPVariantData::makeNull):
+ (WebKit::NPVariantData::makeInt32):
+ (WebKit::NPVariantData::encode):
+ (WebKit::NPVariantData::decode):
+ * Shared/Plugins/NPVariantData.h:
+ (WebKit::NPVariantData::int32Value):
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add support for NP_HasMethod and NP_Invoke
+ https://bugs.webkit.org/show_bug.cgi?id=48882
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ Add new overload.
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::hasMethod):
+ Call hasMethod and return the result.
+
+ (WebKit::NPObjectMessageReceiver::invoke):
+ Convert the arguments, call invoke and return the result.
+
+ (WebKit::NPObjectMessageReceiver::getProperty):
+ Release the converted variant.
+
+ * Shared/Plugins/NPObjectMessageReceiver.messages.in:
+ Add HasMethod and Invoke messages.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::hasMethod):
+ Send the HasMethod message.
+
+ (WebKit::NPObjectProxy::invoke):
+ Send the Invoke message.
+
+ (WebKit::NPObjectProxy::NP_HasMethod):
+ Call hasMethod.
+
+ (WebKit::NPObjectProxy::NP_Invoke):
+ Call invoke.
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NP_HasProperty for NPObjectProxy
+ https://bugs.webkit.org/show_bug.cgi?id=48876
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::hasProperty):
+ Call The hasProperty callback function.
+
+ * Shared/Plugins/NPObjectMessageReceiver.messages.in:
+ Add HasProperty message.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::hasProperty):
+ Send the HasProperty message.
+
+ (WebKit::NPObjectProxy::NP_HasProperty):
+ Call hasProperty.
+
+
+2010-11-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add a way to send startup messages on the context which can be posted when a process launches
+ <rdar://problem/8617928>
+ https://bugs.webkit.org/show_bug.cgi?id=48838
+
+ Adds WKContextSetInitializationUserDataForInjectedBundle which sets an
+ APIObject on WebContext to be sent to the InjectedBundle's WKBundleInitialize
+ function each time a process starts up. This can help in cases where
+ the WebProcess dies, and will be helpful in the world where there are
+ multiple WebProcess's per context.
+
+ * Scripts/webkit2/messages.py:
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetInitializationUserDataForInjectedBundle):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::setInjectedBundleInitializationUserData):
+ (WebKit::WebContext::injectedBundleInitializationUserData):
+ * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h:
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+ (WebKit::InjectedBundle::load):
+ * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
+ (WebKit::InjectedBundle::load):
+ * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
+ (WebKit::InjectedBundle::load):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in:
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement PluginProxy::pluginScriptableNPObject
+ https://bugs.webkit.org/show_bug.cgi?id=48874
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::getPluginScriptableNPObject):
+ Ask the plug-in for its scriptable NPObject, register it with the map and return its object ID.
+
+ * PluginProcess/PluginControllerProxy.messages.in:
+ Add GetPluginScriptableNPObject message.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::pluginScriptableNPObject):
+ Send the GetPluginScriptableNPObject message.
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add strings to NPVariantData
+ https://bugs.webkit.org/show_bug.cgi?id=48871
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
+ (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
+ * Shared/Plugins/NPVariantData.cpp:
+ (WebKit::NPVariantData::makeString):
+ (WebKit::NPVariantData::encode):
+ (WebKit::NPVariantData::decode):
+ * Shared/Plugins/NPVariantData.h:
+ (WebKit::NPVariantData::stringValue):
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add convenience functions for allocating NPAPI memory
+ https://bugs.webkit.org/show_bug.cgi?id=48870
+
+ Add npnMemAlloc, npnMemFree and createNPString functions and
+ npnMemNew, npnMemNewArray function templates.
+
+ * WebProcess/Plugins/Netscape/JSNPObject.cpp:
+ (WebKit::JSNPObject::getOwnPropertyNames):
+ Use npnMemFree.
+
+ * WebProcess/Plugins/Netscape/NPJSObject.cpp:
+ (WebKit::NPJSObject::enumerate):
+ Use npnMemNewArray.
+
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
+ Use createNPString.
+
+ * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
+ (WebKit::npnMemAlloc):
+ Call malloc.
+
+ (WebKit::npnMemFree):
+ Call free.
+
+ (WebKit::createNPString):
+ Allocate the characters for a new NPString.
+
+ (WebKit::createNPObject):
+ Call npnMemNew.
+
+ (WebKit::deallocateNPObject):
+ Call npnMemFree.
+
+ (WebKit::releaseNPVariantValue):
+ Call npnMemFree.
+
+ * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
+ (WebKit::npnMemNew):
+ (WebKit::npnMemNewArray):
+ Add new functions.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_MemAlloc):
+ Call npnMemAlloc.
+
+ (WebKit::NPN_MemFree):
+ Call npnMemFree.
+
+ (WebKit::NPN_UTF8FromIdentifier):
+ Call npnMemNewArray.
+
+ (WebKit::copyCString):
+ Call npnMemNewArray. Correctly initialize the "len" out parameter.
+
+2010-11-02 Jessie Berlin <jberlin@apple.com>
+
+ Windows build fix. Unreviewed.
+
+ * win/WebKit2Generated.make:
+ Add WKInspector.h so that it is copied over to the WebKitBuild directory.
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add some support for remote and local NPObjects to NPRemoteObjectMap
+ https://bugs.webkit.org/show_bug.cgi?id=48864
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
+ If the NPVariant contains an NPObject that isn't an NPObjectProxy, register it
+ and return its ID.
+
+ (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
+ If the NPVariantData contains a remote object, create an NPObjectProxy and return it.
+
+ * Shared/Plugins/NPVariantData.cpp:
+ (WebKit::NPVariantData::NPVariantData):
+ Initialize m_localNPObjectIDValue and m_remoteNPObjectIDValue.
+
+ (WebKit::NPVariantData::makeLocalNPObjectID):
+ Create an NPVariantData that contains a local NPObject ID.
+
+ (WebKit::NPVariantData::encode):
+ Handle local and remote NPObject IDs.
+
+ (WebKit::NPVariantData::decode):
+ Decode local and remote NPObject IDs and "swap them" so an encoded remote NPObject ID is
+ decoded as a local NPObjectID (and vice versa).
+
+ * Shared/Plugins/NPVariantData.h:
+ (WebKit::NPVariantData::localNPObjectIDValue):
+ (WebKit::NPVariantData::remoteNPObjectIDValue):
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Attempt to fix a GCC release only warning.
+
+ * Shared/Plugins/NPVariantData.cpp:
+ (WebKit::NPVariantData::NPVariantData):
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Invalidate the NPRemoteObjectMap
+ https://bugs.webkit.org/show_bug.cgi?id=48856
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
+ Remove FIXME. The NPRemoteObjectMap always outlives the NPObjectMessageReceiver.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::~NPObjectProxy):
+ Call npObjectProxyDestroyed here.
+
+ (WebKit::NPObjectProxy::invalidate):
+ Null out m_npRemoteObjectMap.
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::~NPRemoteObjectMap):
+ Add assertions.
+
+ (WebKit::NPRemoteObjectMap::createNPObjectProxy):
+ Keep track of the NPObjectProxy by adding it to the m_npObjectProxies set.
+
+ (WebKit::NPRemoteObjectMap::npObjectProxyDestroyed):
+ Remove the NPObjectProxy from the m_npObjectProxies set.
+
+ (WebKit::NPRemoteObjectMap::invalidate):
+ Delete all NPObjectMessageReceivers. Iterate over all NPObjectProxy objects and invalidate them.
+
+2010-11-02 Mike Thole <mthole@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebProcessManager informed about crashes too late (pages may have already tried to load a new URL)
+ https://bugs.webkit.org/show_bug.cgi?id=48853
+
+ This also fixes: <rdar://problem/8610451> Webkit2: Crash in WebKit!WebKit::WebProcessProxy::sendMessage opening google.com page
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::~WebProcessProxy):
+ Removed invalid assertion that is hit when the WebProcess dies unexpectedly.
+ (WebKit::WebProcessProxy::didClose):
+ Reordered so that the individual pages are informed that the processDidCrash() after the shared
+ WebProcessManager has been. This allows the pages to properly trigger a new process to be launched.
+
+2010-11-02 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebKit2: Repeated cmd-key presses lead to unusable UI state
+ https://bugs.webkit.org/show_bug.cgi?id=48811
+ <rdar://problem/8611924>
+
+ Given the asynchronous nature of every interaction with the WebProcess,
+ we could re-send a keyDown event to AppKit that maps to an
+ action that is currently disabled and therefore will not trigger an action
+ but a call to the keyDown method of the NSView. We need to detect this
+ situation to avoid an infinite loop.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView performKeyEquivalent:]): Delay the release of the last processed event
+ to the moment we receive another event.
+ (-[WKView keyDown:]): Added early return in case the event is one we have re-sent.
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Handle boolean values in NPVariant and NPVariantData
+ https://bugs.webkit.org/show_bug.cgi?id=48852
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
+ (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
+ * Shared/Plugins/NPVariantData.cpp:
+ (WebKit::NPVariantData::makeBool):
+ (WebKit::NPVariantData::encode):
+ (WebKit::NPVariantData::decode):
+ * Shared/Plugins/NPVariantData.h:
+ (WebKit::NPVariantData::boolValue):
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Assertion hit in WebProcessProxy::~WebProcessProxy()
+ https://bugs.webkit.org/show_bug.cgi?id=48849
+ <rdar://problem/8617676>
+
+ It is perfectly valid for the page map to contain pages if the web process proxy
+ goes away, this can happen if the process crashes for example.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::~WebProcessProxy):
+ Remove the assertion.
+
+2010-11-02 Christian Sejersen <christian.webkit@gmail.com>
+
+ Reviewed by Andreas Kling.
+
+ The previous patch only took into account arm targets. This one
+ now checks whether the build is done inside Scratchbox.
+ https://bugs.webkit.org/show_bug.cgi?id=47895
+
+ * DerivedSources.pro:
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ More NPRuntime work
+ https://bugs.webkit.org/show_bug.cgi?id=48847
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::~WebProcessConnection):
+ Add assertions.
+
+ (WebKit::WebProcessConnection::removePluginControllerProxy):
+ If we have no more plug-in controller proxies, invalidate the remote object map.
+
+ * Shared/Plugins/NPIdentifierData.cpp:
+ (WebKit::NPIdentifierData::createNPIdentifier):
+ Create an NPIdentifier from the given NPIdentifierData.
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::create):
+ (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
+ This now takes the NPRemoteObjectMap as well as the npObjectID of the object.
+
+ (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
+ Unregister the object.
+
+ (WebKit::NPObjectMessageReceiver::deallocate):
+ Delete the object.
+
+ (WebKit::NPObjectMessageReceiver::getProperty):
+ Ask the NPObject for the property and convert it back to an NPVariantData.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::~NPObjectProxy):
+ Send a Deallocate message to the corresponding message receiver on the other side.
+
+ (WebKit::NPObjectProxy::getProperty):
+ Convert the NPVariantData back to an NPVariant and return it.
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::registerNPObject):
+ Pass the NPRemoteObjectMap and the npObjectID to NPObjectMessageReceiver::create.
+
+ (WebKit::NPRemoteObjectMap::unregisterNPObject):
+ Remove the given object from the map of registered objects.
+
+ (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
+ Given an NPVariant, create an NPVariantData. Only supports void and double types right now.
+
+ (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
+ Given an NPVariantData, create an NPVariant. Only supports void and double types right now.
+
+ (WebKit::NPRemoteObjectMap::invalidate):
+ Add stub.
+
+ * Shared/Plugins/NPVariantData.cpp:
+ (WebKit::NPVariantData::NPVariantData):
+ Set the type to void by default.
+
+ (WebKit::NPVariantData::makeVoid):
+ Return a void NPVariantData.
+
+ (WebKit::NPVariantData::makeDouble):
+ Return an NPVariantData that contains a double value.
+
+ (WebKit::NPVariantData::encode):
+ Encode the NPVariantData.
+
+ (WebKit::NPVariantData::decode):
+ Decode the NPVariantData.
+
+ * Shared/Plugins/NPVariantData.h:
+ (WebKit::NPVariantData::type):
+ Return the type of the NPVariantData.
+
+ (WebKit::NPVariantData::doubleValue):
+ Return the double value of the NPVariantData.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didClose):
+ Use nullptr instead of 0.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::~PluginProcessConnection):
+ Assert that the connection and the remote object map are both null.
+
+ (WebKit::PluginProcessConnection::removePluginProxy):
+ If this was the last plug-in proxy, invalidate the remote object map.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::shutdown):
+ Use nullptr instead of 0.
+
+2010-11-02 Balazs Kelemen <kbalazs@webkit.org>
+
+ Unreviewed Qt buildfix.
+
+ * DerivedSources.pro: Add WebInspector to the list of
+ message recievers.
+
+2010-11-02 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] SharedMemory is broken
+ https://bugs.webkit.org/show_bug.cgi?id=48520
+
+ Implement SharedMemory with QSharedMemory to correctly handle
+ ownership and to avoid extra allocation for page size requests.
+ * Platform/SharedMemory.h:
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::Handle::Handle):
+ (WebKit::SharedMemory::Handle::isNull):
+ (WebKit::SharedMemory::Handle::encode):
+ (WebKit::SharedMemory::Handle::decode):
+ (WebKit::createUniqueKey):
+ (WebKit::SharedMemory::create):
+ (WebKit::accessMode):
+ (WebKit::SharedMemory::~SharedMemory):
+ (WebKit::SharedMemory::createHandle):
+
+2010-11-02 Timothy Hatcher <timothy@apple.com>
+
+ Add WKInspector public APIs.
+
+ https://webkit.org/b/48718
+
+ Reviewed by Pavel Feldman.
+
+ * DerivedSources.make: Added WebInspector to MESSAGE_RECEIVERS section.
+ * UIProcess/API/C/WKInspector.cpp:
+ (WKInspectorIsVisible): Added.
+ (WKInspectorShow): Added.
+ (WKInspectorClose): Added.
+ (WKInspectorShowConsole): Added.
+ (WKInspectorIsAttached): Added.
+ (WKInspectorAttach): Added.
+ (WKInspectorDetach): Added.
+ (WKInspectorIsDebuggingJavaScript): Added.
+ (WKInspectorToggleJavaScriptDebugging): Added.
+ (WKInspectorIsProfilingJavaScript): Added.
+ (WKInspectorToggleJavaScriptProfiling): Added.
+ (WKInspectorIsProfilingPage): Added.
+ (WKInspectorTogglePageProfiling): Added.
+ * UIProcess/API/C/WKInspector.h: Added new functions.
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::WebInspectorProxy): Initialize new booleans.
+ (WebKit::WebInspectorProxy::invalidate): Reset new booleans.
+ (WebKit::WebInspectorProxy::show): Added.
+ (WebKit::WebInspectorProxy::close): Added.
+ (WebKit::WebInspectorProxy::showConsole): Added.
+ (WebKit::WebInspectorProxy::attach): Added.
+ (WebKit::WebInspectorProxy::detach): Added.
+ (WebKit::WebInspectorProxy::toggleJavaScriptDebugging): Added.
+ (WebKit::WebInspectorProxy::toggleJavaScriptProfiling): Added.
+ (WebKit::WebInspectorProxy::togglePageProfiling): Added.
+ * UIProcess/WebInspectorProxy.h:
+ (WebKit::WebInspectorProxy::isVisible): Added.
+ (WebKit::WebInspectorProxy::isAttached): Added.
+ (WebKit::WebInspectorProxy::isDebuggingJavaScript): Added.
+ (WebKit::WebInspectorProxy::isProfilingJavaScript): Added.
+ (WebKit::WebInspectorProxy::isProfilingPage): Added.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close): Invalidate the WebInspectorProxy.
+ (WebKit::WebPageProxy::inspector): Return 0 if closed or invalid.
+ * WebKit2.pro: Added new files.
+ * WebKit2.xcodeproj/project.pbxproj: Added new Files.
+ * WebProcess/WebPage/WebInspector.cpp:
+ (WebKit::WebInspector::show): Added.
+ (WebKit::WebInspector::close): Added.
+ (WebKit::WebInspector::showConsole): Added.
+ (WebKit::WebInspector::startJavaScriptDebugging): Added.
+ (WebKit::WebInspector::stopJavaScriptDebugging): Added.
+ (WebKit::WebInspector::startJavaScriptProfiling): Added.
+ (WebKit::WebInspector::stopJavaScriptProfiling): Added.
+ (WebKit::WebInspector::startPageProfiling): Added.
+ (WebKit::WebInspector::stopPageProfiling): Added.
+ * WebProcess/WebPage/WebInspector.h:
+ (WebKit::WebInspector::page): Added.
+ * WebProcess/WebPage/WebInspector.messages.in: Added.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::close): Destroy the WebInspector.
+ (WebKit::WebPage::inspector): Return 0 if closed.
+ (WebKit::WebPage::didReceiveMessage): Send the message to the WebInspector
+ if the message class is MessageClassWebInspector.
+ * win/WebKit2.vcproj: Added new files.
+
+2010-11-02 Timothy Hatcher <timothy@apple.com>
+
+ Make WebInspectorFrontendClient inherit from InspectorFrontendClientLocal.
+
+ We can do this since the Web Inspector WebPage will share the same process
+ with the inspected WebPage.
+
+ https://webkit.org/b/48652
+
+ Reviewed by Pavel Feldman.
+
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
+ Call the InspectorFrontendClientLocal constructor.
+ (WebKit::WebInspectorFrontendClient::attachWindow): Added.
+ (WebKit::WebInspectorFrontendClient::detachWindow): Added.
+ (WebKit::WebInspectorFrontendClient::setAttachedWindowHeight): Added.
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
+
+2010-11-01 Juha Savolainen <juha.savolainen@weego.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Initial implementation of QWKHistoryItem.
+ https://bugs.webkit.org/show_bug.cgi?id=48620
+
+ The QWkHistoryItem represents one item in the history of QWKPage.
+
+ * UIProcess/API/qt/qwkhistory.cpp:
+ (QWKHistoryItemPrivate::QWKHistoryItemPrivate):
+ (QWKHistoryItem::QWKHistoryItem):
+ (QWKHistoryItem::~QWKHistoryItem):
+ (QWKHistoryItem::title): The page title
+ (QWKHistoryItem::url): The URL of the page.
+ (QWKHistoryItem::originalUrl): The URL used to access the page.
+ * UIProcess/API/qt/qwkhistory.h:
+ * UIProcess/API/qt/qwkhistory_p.h:
+ * WebKit2.pro: Added WKBackForwardListItem.h and WKBackForwardListItem.cpp
+
+2010-11-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Make NPRemoteObjectMap a ref counted object
+ https://bugs.webkit.org/show_bug.cgi?id=48808
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::windowScriptNPObject):
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::WebProcessConnection):
+ (WebKit::WebProcessConnection::didReceiveSyncMessage):
+ * PluginProcess/WebProcessConnection.h:
+ (WebKit::WebProcessConnection::npRemoteObjectMap):
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::create):
+ (WebKit::NPRemoteObjectMap::~NPRemoteObjectMap):
+ (WebKit::NPRemoteObjectMap::createNPObjectProxy):
+ * Shared/Plugins/NPRemoteObjectMap.h:
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::PluginProcessConnection):
+ (WebKit::PluginProcessConnection::didReceiveSyncMessage):
+ * WebProcess/Plugins/PluginProcessConnection.h:
+ (WebKit::PluginProcessConnection::npRemoteObjectMap):
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::getWindowScriptNPObject):
+
+2010-11-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Respond to NP_GetProperty by sending a GetProperty message
+ https://bugs.webkit.org/show_bug.cgi?id=48797
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ Add new sync message overload.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::didReceiveSyncMessage):
+ If the message class is MessageClassNPObjectMessageReceiver, pass it to the NPRemoteObjectMap.
+
+ * Shared/Plugins/NPIdentifierData.cpp:
+ * Shared/Plugins/NPIdentifierData.h:
+ Add NPIdentifierData, a CoreIPC representation of an NPIdentifier.
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::getProperty):
+ Add stub.
+
+ * Shared/Plugins/NPObjectMessageReceiver.messages.in:
+ Add GetProperty.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::create):
+ (WebKit::NPObjectProxy::NPObjectProxy):
+ (WebKit::NPObjectProxy::initialize):
+ NPObjectProxy now takes an NPRemoteObjectMap in its create function.
+
+ (WebKit::NPObjectProxy::getProperty):
+ Send a GetProperty message.
+
+ (WebKit::NPObjectProxy::NP_GetProperty):
+ Call getProperty.
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::createNPObjectProxy):
+ Pass the NPRemoteObjectMap.
+
+ (WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
+ Find the right message receiver and dispatch the message to it.
+
+ * Shared/Plugins/NPVariantData.cpp:
+ * Shared/Plugins/NPVariantData.h:
+ Add NPVariantData, which will be a CoreIPC representation of an NPVariant.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::didReceiveSyncMessage):
+ If the message class is MessageClassNPObjectMessageReceiver, pass it to the NPRemoteObjectMap.
+
+2010-11-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add ArgumentCoder specialization for WTF::CString
+ https://bugs.webkit.org/show_bug.cgi?id=48796
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+
+2010-11-01 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-11-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add NPObjectMessageReceiver.messages.in
+ https://bugs.webkit.org/show_bug.cgi?id=48782
+
+ * DerivedSources.make:
+ Add NPObjectMessageReceiver.
+
+ * Platform/CoreIPC/MessageID.h:
+ Add MessageClassNPObjectMessageReceiver message class.
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::deallocate):
+ Add stubbed out deallocate member function.
+
+ * Shared/Plugins/NPObjectMessageReceiver.messages.in: Added.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add NPObjectMessageReceiver.messages.in.
+
+2010-11-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Start stubbing out NPClass functions in NPObjectProxy
+ https://bugs.webkit.org/show_bug.cgi?id=48778
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::windowScriptNPObject):
+ getOrCreateNPObjectProxy is now createNPObjectProxy.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::create):
+ Allocate and initialize an NPObjectProxy object.
+
+ (WebKit::NPObjectProxy::NPObjectProxy):
+ Initialize m_npObjectID to 0.
+
+ (WebKit::NPObjectProxy::isNPObjectProxy):
+ Check the class.
+
+ (WebKit::NPObjectProxy::initialize):
+ Set m_npObjectID.
+
+ (WebKit::NPObjectProxy::npClass):
+ Return the NPClass with all functions filled in.
+
+ (WebKit::NPObjectProxy::NP_Allocate):
+ Create a new NPObjectProxy object.
+
+ (WebKit::NPObjectProxy::NP_Deallocate):
+ Deallocate the NPObjectProxy object.
+
+ (WebKit::NPObjectProxy::NP_HasMethod):
+ (WebKit::NPObjectProxy::NP_Invoke):
+ (WebKit::NPObjectProxy::NP_InvokeDefault):
+ (WebKit::NPObjectProxy::NP_HasProperty):
+ (WebKit::NPObjectProxy::NP_GetProperty):
+ (WebKit::NPObjectProxy::NP_SetProperty):
+ (WebKit::NPObjectProxy::NP_RemoveProperty):
+ (WebKit::NPObjectProxy::NP_Enumerate):
+ (WebKit::NPObjectProxy::NP_Construct):
+ Add stubs.
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::createNPObjectProxy):
+ * Shared/Plugins/NPRemoteObjectMap.h:
+ Rename getOrCreateNPObjectProxy to createNPObjectProxy.
+
+ * WebProcess/Plugins/Netscape/NPJSObject.cpp:
+ (WebKit::NPJSObject::NP_Allocate):
+ Remove unused parameter.
+
+2010-11-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Both the WebProcessConnection and PluginProcessConnection should have NPRemoteObjectMaps
+ https://bugs.webkit.org/show_bug.cgi?id=48775
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::windowScriptNPObject):
+ Ask for an NPObjectProxy for the window script NPObject.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::WebProcessConnection):
+ Initialize m_npRemoteObjectMap.
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::create):
+ Add a create member function that takes an NPObject.
+
+ (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
+ Retain the NPObject.
+
+ (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
+ Release the NPObject.
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::generateNPObjectID):
+ Generate a unique 64-bit NPObject ID.
+
+ (WebKit::NPRemoteObjectMap::getOrCreateNPObjectProxy):
+ Add stub.
+
+ (WebKit::NPRemoteObjectMap::registerNPObject):
+ Create a NPObjectMessageReceiver and add it to the map.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Set the correct target for NPRuntime related files.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::PluginProcessConnection):
+ Initialize m_npRemoteObjectMap
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::getWindowScriptNPObject):
+ Ask the real plug-in controller for the window script NPObject and register it.
+
+2010-11-01 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48774
+ minimFontSize preference needs to be exposed in WebKit2
+
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setMinimumFontSize):
+ New function, parallel to existing functions for other preferences.
+ (WebKit::WebPreferences::minimumFontSize):
+ Ditto.
+
+ * UIProcess/WebPreferences.h:
+ Declared new function.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetMinimumFontSize):
+ New UI process wrapper for new function.
+ (WKPreferencesGetMinimumFontSize):
+ Ditto.
+
+ * UIProcess/API/C/WKPreferences.h:
+ Declared new functions.
+
+2010-11-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Tear down the related WebProcessProxy when a WebContext is deallocated
+ https://bugs.webkit.org/show_bug.cgi?id=48769
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::~WebContext):
+ Call WebProcessManager::contextWasDestroyed.
+
+ (WebKit::WebContext::didNavigateWithNavigationData):
+ (WebKit::WebContext::didPerformClientRedirect):
+ (WebKit::WebContext::didPerformServerRedirect):
+ (WebKit::WebContext::didUpdateHistoryTitle):
+ It is valid for a frame to have a null page here, if the frame has outlived
+ its page.
+
+ * UIProcess/WebProcessManager.cpp:
+ (WebKit::WebProcessManager::contextWasDestroyed):
+ Remove the context from the map.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::~WebProcessProxy):
+ It's OK for the connection to be non-null here if the process goes away because
+ the context has been deallocated.
+
+2010-11-01 Brady Eidson <beidson@apple.com>
+
+ Windows build fix.
+
+ * UIProcess/win/WebView.cpp:
+
+2010-11-01 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699
+ Context menu support for WebKit 2.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+ * Shared/WebContextMenuItem.cpp: Added.
+ (WebKit::WebContextMenuItem::WebContextMenuItem):
+ (WebKit::WebContextMenuItem::encode):
+ (WebKit::WebContextMenuItem::decode):
+ (WebKit::kitItems):
+ * Shared/WebContextMenuItem.h: Added.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::createContextMenuProxy):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::createContextMenuProxy): Stub to keep the build working.
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+
+ * UIProcess/WebContextMenuProxy.cpp: Added.
+ (WebKit::WebContextMenuProxy::~WebContextMenuProxy):
+ (WebKit::WebContextMenuProxy::WebContextMenuProxy):
+ * UIProcess/WebContextMenuProxy.h: Added.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showContextMenu): Shows the menu after receiving the message from the WebProcess.
+ (WebKit::WebPageProxy::contextMenuItemSelected): Sends info about the selected menu item to the WebProcess
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+
+ * UIProcess/mac/WebContextMenuProxyMac.h: Added.
+ (WebKit::WebContextMenuProxyMac::create):
+ * UIProcess/mac/WebContextMenuProxyMac.mm: Added.
+ (+[WebMenuTarget sharedMenuTarget]):
+ (-[WebMenuTarget WebKit::]):
+ (-[WebMenuTarget setMenuProxy:WebKit::]):
+ (-[WebMenuTarget forwardContextMenuAction:]):
+ (WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):
+ (WebKit::WebContextMenuProxyMac::~WebContextMenuProxyMac):
+ (WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
+ (WebKit::populateNSMenu):
+ (WebKit::nsMenuItemVector):
+ (WebKit::WebContextMenuProxyMac::populate):
+ (WebKit::WebContextMenuProxyMac::showContextMenu):
+ (WebKit::WebContextMenuProxyMac::hideContextMenu):
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::createContextMenuProxy): Stub for now.
+ * UIProcess/win/WebView.h:
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::showContextMenu):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems): Return the WebCore-provided default
+ menu for now. Embedding app customization will come later (see bug 48720)
+
+ * WebProcess/WebPage/WebContextMenu.cpp: Added.
+ (WebKit::WebContextMenu::WebContextMenu):
+ (WebKit::WebContextMenu::~WebContextMenu):
+ (WebKit::WebContextMenu::show):
+ (WebKit::WebContextMenu::itemSelected):
+ * WebProcess/WebPage/WebContextMenu.h: Added.
+ (WebKit::WebContextMenu::create):
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::contextMenu):
+ (WebKit::handleMouseEvent): Pass right mouse presses along to WebCore as both a mouse event and context menu event,
+ the same way WebKit1 does.
+ (WebKit::WebPage::didSelectItemFromActiveContextMenu):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-11-01 Adam Roben <aroben@apple.com>
+
+ Cancel main resource loads after we hand them off to the media engine
+
+ This is the WebKit2 equivalent of r51104. Clearly this code should be
+ moved to a cross-platform location someday.
+
+ Fixes <http://webkit.org/b/48561> <rdar://problem/8606679> Assertion
+ failure in DocumentLoader::commitData when loading a media document in
+ WebKit2
+
+ Reviewed by Eric Carlson.
+
+ * WebProcess/WebCoreSupport/WebErrors.h: Added pluginWillHandleLoadError.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebFrameLoaderClient::committedLoad): Cancel the main resource load
+ after handing off the load to the media engine. This code originally
+ came from -[WebHTMLRepresentation receivedData:withDataSource:].
+ (WebKit::WebFrameLoaderClient::pluginWillHandleLoadError): Call through to WebErrors.
+ (WebKit::WebFrameLoaderClient::shouldFallBack): Implemented. We fall
+ back for all errors except when the load was cancelled or we handed it
+ off to the media engine or a plugin.
+
+ * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
+ (WebKit::pluginWillHandleLoadError): Implemented.
+
+ * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
+ (WebKit::pluginWillHandleLoadError): Stubbed out.
+
+ * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
+ (WebKit::pluginWillHandleLoadError): Implemented.
+
+2010-11-01 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Cleanup viewportAttributesForSize API
+
+ Change QSize argument to a const QSize&.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::viewportAttributesForSize):
+ * UIProcess/API/qt/qwkpage.h:
+
+2010-10-31 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Visited links not populated correctly in new web processes after the first
+ https://bugs.webkit.org/show_bug.cgi?id=48735
+ rdar://problem/8442177
+
+ * UIProcess/VisitedLinkProvider.cpp:
+ (WebKit::VisitedLinkProvider::VisitedLinkProvider): Initialize
+ m_webProcessHasVisitedLinkState.
+ (WebKit::VisitedLinkProvider::processDidFinishLaunching): Renamed
+ from populateVisitedLinksIfNeeded. Set m_webProcessHasVisitedLinkState
+ to false, since this is a new process, and also start the timer
+ so the visited links messages will be sent.
+ (WebKit::VisitedLinkProvider::processDidClose): Renamed from
+ stopVisitedLinksTimer.
+ (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
+ Added logic so we send SetVisitedLinkTable and
+ AllVisitedLinkStateChanged once to each new process and to set
+ m_webProcessHasVisitedLinkState to true once that is done.
+
+ * UIProcess/VisitedLinkProvider.h: Updated for above changes.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::processDidFinishLaunching): Called
+ VisitedLinkProvider function under its new name. Also used
+ ASSERT_UNUSED rather than ASSERT since the argument is used
+ only for the assertion.
+ (WebKit::WebContext::processDidClose): Ditto.
+
+2010-10-30 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Crash in drawUpdateChunkIntoBackingStore
+ https://bugs.webkit.org/show_bug.cgi?id=48707
+
+ UpdateChunk images have to be created using the QImage constructor
+ that takes a bytesPerLine (stride) value, or the data length won't
+ match UpdateChunk::size().
+
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::createImage):
+
+2010-10-29 Daniel Bates <dbates@rim.com>
+
+ No review, rolling out 70971.
+ http://trac.webkit.org/changeset/70971
+ https://bugs.webkit.org/show_bug.cgi?id=6751
+
+ Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
+ it caused layout test failures on all bots. In particular, the
+ child count in a generated frame name differs after this patch. We need
+ to look into this further.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::name):
+
+2010-10-29 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Adam Barth.
+
+ For unnamed frames, window.name returns a generated name
+ https://bugs.webkit.org/show_bug.cgi?id=6751
+
+ Modified WebKit2 to use FrameTree::uniqueName().
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::name):
+
+2010-10-29 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Implement WebProcess::platformSetCacheModel for windows
+ <rdar://problem/8605796>
+ https://bugs.webkit.org/show_bug.cgi?id=48703
+
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::memorySize):
+ (WebKit::volumeFreeSize):
+ (WebKit::WebProcess::platformSetCacheModel):
+ Add implemenation based on the version in WebKit/win/WebView.cpp.
+
+2010-10-29 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WK2: Unbreak compilation of WebPlatformTouchPoint::decode()
+
+ * Shared/WebPlatformTouchPoint.cpp:
+ (WebKit::WebPlatformTouchPoint::decode):
+
+2010-10-29 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More back/forward refactoring
+
+ * WebKit2.pro: Removed WebBackForwardControllerClient.cpp and .h.
+ * WebKit2.xcodeproj/project.pbxproj: Ditto.
+
+ * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp: Removed.
+ * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h: Removed.
+
+ * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
+ (WebKit::InjectedBundleBackForwardList::itemAtIndex): Use backForward.
+ (WebKit::InjectedBundleBackForwardList::backListCount): Ditto.
+ (WebKit::InjectedBundleBackForwardList::forwardListCount): Ditto.
+ (WebKit::InjectedBundleBackForwardList::clear): Ditto.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.h: Added newly-needed include.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Set up backForwardClient.
+
+2010-10-29 Adam Roben <aroben@apple.com>
+
+ Stop using encode/decodeBytes for WebEvent subclasses
+
+ The use of encode/decodeBytes was making these classes sensitive to
+ differences in padding on different architectures (e.g., 32-bit vs.
+ 64-bit). By encoding each data member explicitly we remove this
+ sensitivity, allowing these classes to be passed between processes
+ with different padding.
+
+ Fixes <http://webkit.org/b/48552> <rdar://problem/8606571> Mouse
+ events never reach Flash in WebKit2 on Mac (asserts in Debug builds)
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/CoreIPC/Arguments.h:
+ (CoreIPC::Arguments8::Arguments8):
+ (CoreIPC::Arguments8::encode):
+ (CoreIPC::Arguments8::decode):
+ (CoreIPC::In):
+ (CoreIPC::Out):
+ Added Arguments8, the biggest Arguments yet.
+
+ * Shared/WebEvent.cpp:
+ (WebKit::WebEvent::encode):
+ (WebKit::WebEvent::decode):
+ * Shared/WebKeyboardEvent.cpp:
+ (WebKit::WebKeyboardEvent::encode):
+ (WebKit::WebKeyboardEvent::decode):
+ * Shared/WebMouseEvent.cpp:
+ (WebKit::WebMouseEvent::encode):
+ (WebKit::WebMouseEvent::decode):
+ * Shared/WebPlatformTouchPoint.cpp:
+ (WebKit::WebPlatformTouchPoint::encode):
+ (WebKit::WebPlatformTouchPoint::decode):
+ * Shared/WebTouchEvent.cpp:
+ (WebKit::WebTouchEvent::encode):
+ (WebKit::WebTouchEvent::decode):
+ * Shared/WebWheelEvent.cpp:
+ (WebKit::WebWheelEvent::encode):
+ (WebKit::WebWheelEvent::decode):
+ Changed all encode/decode function to use CoreIPC::In/Out to
+ encode/decode data members individually.
+
+2010-10-29 Adam Roben <aroben@apple.com>
+
+ Use only CoreIPC-sanctioned types in WebEvent subclasses
+
+ Fixes <http://webkit.org//48694> WebEvent subclasses should not use
+ architecture-dependent types
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/WebEvent.h:
+ (WebKit::WebEvent::type):
+ (WebKit::WebMouseEvent::button):
+ (WebKit::WebMouseEvent::clickCount):
+ (WebKit::WebWheelEvent::granularity):
+ (WebKit::WebPlatformTouchPoint::id):
+ (WebKit::WebPlatformTouchPoint::state):
+ Replaced enums, ints, and unsigneds with uint32_ts, int32_ts, and
+ uint32_ts, respectively.
+
+2010-10-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Generate a DelayedReply struct for sync messages marked delayed
+ https://bugs.webkit.org/show_bug.cgi?id=48696
+
+ * Scripts/webkit2/messages.py:
+ If we encounter a sync message marked delayed, generate a DelayedReply struct with a send member funciton
+ that can be used for sending the reply.
+
+ * Scripts/webkit2/messages_unittest.py:
+ Update expected results.
+
+2010-10-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Use WebPage::send in a couple of more places.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setWindowRect):
+ (WebKit::WebChromeClient::takeFocus):
+ (WebKit::WebChromeClient::setToolbarsVisible):
+ (WebKit::WebChromeClient::setStatusbarVisible):
+ (WebKit::WebChromeClient::setMenubarVisible):
+ (WebKit::WebChromeClient::setResizable):
+ (WebKit::WebChromeClient::setStatusbarText):
+ (WebKit::WebChromeClient::contentsSizeChanged):
+ (WebKit::WebChromeClient::mouseDidMoveOverElement):
+ (WebKit::WebChromeClient::setToolTip):
+ (WebKit::WebChromeClient::setCursor):
+ (WebKit::WebChromeClient::dispatchViewportDataDidChange):
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::registerCommandForUndo):
+ (WebKit::WebEditorClient::clearUndoRedoOperations):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::detachedFromParent2):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
+ (WebKit::WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
+ (WebKit::WebFrameLoaderClient::postProgressStartedNotification):
+ (WebKit::WebFrameLoaderClient::postProgressEstimateChangedNotification):
+ (WebKit::WebFrameLoaderClient::postProgressFinishedNotification):
+ (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
+ (WebKit::WebFrameLoaderClient::didRunInsecureContent):
+ (WebKit::WebFrameLoaderClient::dispatchDidBecomeFrameset):
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+ (WebKit::FindController::hideFindIndicator):
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::addItem):
+ (WebKit::WebBackForwardListProxy::goToItem):
+ (WebKit::WebBackForwardListProxy::clear):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::createMainFrame):
+ (WebKit::WebFrame::createSubframe):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::sendClose):
+ (WebKit::WebPage::pageDidScroll):
+ (WebKit::WebPage::mouseEvent):
+ (WebKit::WebPage::wheelEvent):
+ (WebKit::WebPage::keyEvent):
+ (WebKit::WebPage::validateMenuItem):
+ (WebKit::WebPage::touchEvent):
+ (WebKit::WebPage::show):
+ (WebKit::WebPage::runJavaScriptInMainFrame):
+ (WebKit::WebPage::getRenderTreeExternalRepresentation):
+ (WebKit::WebPage::getSourceForFrame):
+
+2010-10-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a MessageSender class template
+ https://bugs.webkit.org/show_bug.cgi?id=48683
+
+ * Platform/CoreIPC/MessageSender.h: Added.
+ (CoreIPC::MessageSender::send):
+ Add send overloads for simple message sending.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add MessageSender.h
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::countStringMatches):
+ (WebKit::FindController::findString):
+ (WebKit::FindController::updateFindIndicator):
+ Call send on the web page.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::connection):
+ Add connection(), used by the MessageSender.
+
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::destinationID):
+ Add destinationID(), used by the MessageSender.
+
+ * win/WebKit2.vcproj:
+ Add MessageSender.h
+
+2010-10-29 Adam Roben <aroben@apple.com>
+
+ Remove redundant data members from WebTouchEvent
+
+ WebEvent already stores the Type and timestamp.
+
+ Fixes <http://webkit.org/b/48671> WebTouchEvent duplicates data from
+ WebEvent
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/WebEvent.h:
+ * Shared/WebTouchEvent.cpp:
+ (WebKit::WebTouchEvent::WebTouchEvent):
+ Removed m_type and m_timestamp (which was never even getting
+ initialized!).
+
+2010-10-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add the plug-in proxy to the map before sending the CreatePlugin message
+ https://bugs.webkit.org/show_bug.cgi?id=48678
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::initialize):
+
+2010-10-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add GetWindowScriptNPObject message
+ https://bugs.webkit.org/show_bug.cgi?id=48670
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::windowScriptNPObject):
+ Send the GetWindowScriptNPObject message.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::getWindowScriptNPObject):
+ Add stub.
+
+ * WebProcess/Plugins/PluginProxy.messages.in:
+ Add GetWindowScriptNPObject message.
+
+2010-10-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Change the Connection::sendSync timeout parameter to have the NoTimeout argument as a default
+ argument and update all the call sites.
+
+ * Platform/CoreIPC/Connection.h:
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::proxiesForURL):
+ (WebKit::PluginControllerProxy::cookiesForURL):
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::postSynchronousMessage):
+ * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
+ (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::initialize):
+ (WebKit::PluginProxy::destroy):
+ (WebKit::PluginProxy::paint):
+ (WebKit::PluginProxy::handleMouseEvent):
+ (WebKit::PluginProxy::handleWheelEvent):
+ (WebKit::PluginProxy::handleMouseEnterEvent):
+ (WebKit::PluginProxy::handleMouseLeaveEvent):
+ (WebKit::PluginProxy::handleKeyboardEvent):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::windowRect):
+ (WebKit::WebChromeClient::createWindow):
+ (WebKit::WebChromeClient::toolbarsVisible):
+ (WebKit::WebChromeClient::statusbarVisible):
+ (WebKit::WebChromeClient::menubarVisible):
+ (WebKit::WebChromeClient::canRunBeforeUnloadConfirmPanel):
+ (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
+ (WebKit::WebChromeClient::runJavaScriptAlert):
+ (WebKit::WebChromeClient::runJavaScriptConfirm):
+ (WebKit::WebChromeClient::runJavaScriptPrompt):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::populatePluginCache):
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::itemAtIndex):
+ (WebKit::WebBackForwardListProxy::backListCount):
+ (WebKit::WebBackForwardListProxy::forwardListCount):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::interceptEditingKeyboardEvent):
+
+2010-10-29 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48666
+ WebKit2 should provide counterpart getter to WKBundleNodeHandleSetHTMLInputElementAutofilled
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleGetHTMLInputElementAutofilled):
+ New function, calls through to InjectedBundleNodeHandle.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
+ Declared new function.
+
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled):
+ New function, calls through to HTMLInputElement.
+
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+ Declared new function.
+
+2010-10-29 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ ASSERTION FAILURE in WebProcessProxy::frameDestroyed when a Page is closed before it can send
+ the DidCreateMainFrame messsage to the UIProcess.
+ https://bugs.webkit.org/show_bug.cgi?id=48654
+
+ WebProcessProxy::frameDestroyed was asserting that the frameID it was called with was
+ registered in WebProcessProxy::frameCreated (which is called when the WebPageProxy is
+ created). However, in the case where we close the page before it's had the chance to send
+ the DidCreateMainFrame message back to the UI process, the UI Process will get the
+ DidDestroyFrame message because it's sent directly to the WebProcessProxy and doesn't go
+ through WebPageProxy.
+
+ Remove the assert because it is invalid in this case.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::frameDestroyed):
+
+2010-10-29 Adam Roben <aroben@apple.com>
+
+ Build fix when Carbon plugins are disabled
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+
+2010-10-29 Adam Roben <aroben@apple.com>
+
+ Move NPRuntime-related files into WebProcess/Plugins/Netscape
+
+ Fixes <http://webkit.org/b/48645>.
+
+ Reviewed by Anders Carlsson.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Updated the files' paths.
+
+ * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Renamed from WebKit2/WebProcess/Plugins/JSNPMethod.cpp.
+ * WebProcess/Plugins/Netscape/JSNPMethod.h: Renamed from WebKit2/WebProcess/Plugins/JSNPMethod.h.
+ * WebProcess/Plugins/Netscape/JSNPObject.cpp: Renamed from WebKit2/WebProcess/Plugins/JSNPObject.cpp.
+ * WebProcess/Plugins/Netscape/JSNPObject.h: Renamed from WebKit2/WebProcess/Plugins/JSNPObject.h.
+ * WebProcess/Plugins/Netscape/NPJSObject.cpp: Renamed from WebKit2/WebProcess/Plugins/NPJSObject.cpp.
+ * WebProcess/Plugins/Netscape/NPJSObject.h: Renamed from WebKit2/WebProcess/Plugins/NPJSObject.h.
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeObjectMap.cpp.
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeObjectMap.h.
+ * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeUtilities.cpp.
+ * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeUtilities.h.
+
+2010-10-29 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48576
+ Let WebKit2 client know when a frame is a frameset
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::WebFrameProxy):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::setIsFrameSet):
+ (WebKit::WebFrameProxy::isFrameSet):
+ Remember whether the frame is currently a frameset.
+
+ * UIProcess/API/C/WKFrame.cpp: (WKFrameIsFrameSet):
+ * UIProcess/API/C/WKFrame.h:
+ Added client API.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didCommitLoadForFrame):
+ (WebKit::WebPageProxy::frameDidBecomeFrameSet):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidBecomeFrameset):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ Pass notification from web process to UI process.
+
+2010-10-28 Adam Roben <aroben@apple.com>
+
+ Use IntPoint/FloatSize in WebEvent subclasses
+
+ This is nicer than passing around pairs of ints/floats.
+
+ Fixes <http://webkit.org/b/48611>.
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/WebEvent.h:
+ * Shared/WebMouseEvent.cpp:
+ * Shared/WebPlatformTouchPoint.cpp:
+ * Shared/WebWheelEvent.cpp:
+ Changed all x/y pairs to either use IntPoint or FloatSize, as
+ appropriate.
+
+ * Shared/WebEventConversion.cpp:
+ * Shared/mac/WebEventFactory.mm:
+ * Shared/qt/WebEventFactoryQt.cpp:
+ * Shared/win/WebEventFactory.cpp:
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ Updated for WebEvent changes.
+
+2010-10-29 Adam Roben <aroben@apple.com>
+
+ Touch WebKit2Prefix.h to fix incremental builds on Windows
+
+ * WebKit2Prefix.h:
+
+2010-10-28 Adam Roben <aroben@apple.com>
+
+ Remove unnecessary #includes from WebEvent.h
+
+ Fixes <http://webkit.org/b/48609> WebEvent.h #includes things it
+ doesn't need
+
+ Reviewed by Sam Weinig.
+
+ * Scripts/webkit2/messages.py:
+ (MessageReceiver.iterparameters): Merged iterreplyparameters into this
+ function. All callers to iterparameters are really interested in the
+ reply parameters, too. This will cause us to, e.g., add
+ forward-declarations for types used in sync replies.
+ (headers_for_type): Added a special case for WebCore::KeypressCommand.
+
+ * Scripts/webkit2/messages_unittest.py: Added a test to cover the
+ failing case that inspired the above changes.
+
+ * Shared/WebEvent.h: Replaced #includes with forward-declarations.
+
+ * Shared/API/c/WKSharedAPICast.h:
+ * Shared/NativeWebKeyboardEvent.h:
+ * Shared/WebEvent.cpp:
+ * Shared/WebKeyboardEvent.cpp:
+ * Shared/WebMouseEvent.cpp:
+ * Shared/WebPlatformTouchPoint.cpp:
+ * Shared/WebTouchEvent.cpp:
+ * Shared/WebWheelEvent.cpp:
+ * Shared/qt/WebEventFactoryQt.cpp:
+ * Shared/win/WebEventFactory.cpp:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/WebUIClient.h:
+ * UIProcess/win/WebView.cpp:
+ * WebProcess/WebPage/FindController.cpp:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ Added now-needed #includes and declarations.
+
+2010-10-29 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Adam Roben and David Kilzer.
+
+ Fix and cleanup of build systems
+ https://bugs.webkit.org/show_bug.cgi?id=48342
+
+ * Configurations/FeatureDefines.xcconfig: Remove unnecessary ENABLE_SANDBOX and add missing features.
+
+2010-10-28 Dan Bernstein <mitz@apple.com>
+
+ LLVM compiler build fix
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (-[WKDownloadAsDelegate download:didReceiveResponse:]): Removed a stray semicolon.
+
+2010-10-28 Adam Roben <aroben@apple.com>
+
+ Move some function definitions from WebEvent.h into new .cpp files
+
+ Someday maybe we'll split the classes into their own header files,
+ too.
+
+ Fixes <http://webkit.org/b/48604>.
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/WebEvent.h: Moved code from here...
+
+ * Shared/WebEvent.cpp: Added.
+ * Shared/WebKeyboardEvent.cpp: Added.
+ * Shared/WebMouseEvent.cpp: Added.
+ * Shared/WebPlatformTouchPoint.cpp: Added.
+ * Shared/WebTouchEvent.cpp: Added.
+ * Shared/WebWheelEvent.cpp: Added.
+ ...to here. Also changed WebTouchEvent::touchPoints not to copy the
+ Vector.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Added the new files.
+
+2010-10-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Connection::sendSyncMessage needs to dispatch incoming sync messages
+ https://bugs.webkit.org/show_bug.cgi?id=48606
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendSyncMessage):
+ Protect the connection when waiting for a reply. Schedule for any remaining incoming sync messages
+ to be sent once the bottom-most waitForSyncReply calls returns.
+
+ (CoreIPC::Connection::waitForSyncReply):
+ Make sure to dispatch any incoming sync messages.
+
+ (CoreIPC::Connection::processIncomingMessage):
+ If the incoming message is a sync message and we're waiting for a sync reply, add the message to the
+ queue of "sync messages received while waiting for sync reply" and wake up the client thread.
+
+ * Platform/CoreIPC/Connection.h:
+
+2010-10-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move code to dispatch a sync message out into a separate function
+ https://bugs.webkit.org/show_bug.cgi?id=48605
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::dispatchSyncMessage):
+ Factor code out from dispatchMessage. Handle receiving a message with an invalid reply ID.
+
+ (CoreIPC::Connection::dispatchMessages):
+ Call dispatchSyncMessage.
+
+ * Platform/CoreIPC/Connection.h:
+
+2010-10-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add NPObjectMessageReceiver class.
+ https://bugs.webkit.org/show_bug.cgi?id=48599
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp: Added.
+ (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
+ (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
+ * Shared/Plugins/NPObjectMessageReceiver.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-10-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add NPObjectProxy class
+ https://bugs.webkit.org/show_bug.cgi?id=48558
+
+ * Shared/Plugins/NPObjectProxy.cpp: Added.
+ (WebKit::NPObjectProxy::NPObjectProxy):
+ (WebKit::NPObjectProxy::~NPObjectProxy):
+ * Shared/Plugins/NPObjectProxy.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-10-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add NPRemoteObjectMap class
+ https://bugs.webkit.org/show_bug.cgi?id=48553
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp: Added.
+ (WebKit::NPRemoteObjectMap::NPRemoteObjectMap):
+ * Shared/Plugins/NPRemoteObjectMap.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-10-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WKURLRefs should be allowed to be null
+ <rdar://problem/8575621>
+ https://bugs.webkit.org/show_bug.cgi?id=48535
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toURLRef):
+ (WebKit::toCopiedURLAPI):
+ Turn a null WTF::String into a null WKURLRef.
+
+2010-10-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add WebKit2 API for window feature getter/setters
+ <rdar://problem/8590373>
+ https://bugs.webkit.org/show_bug.cgi?id=48496
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setToolbarsAreVisible):
+ (WebKit::WebPageProxy::getToolbarsAreVisible):
+ (WebKit::WebPageProxy::setMenuBarIsVisible):
+ (WebKit::WebPageProxy::getMenuBarIsVisible):
+ (WebKit::WebPageProxy::setStatusBarIsVisible):
+ (WebKit::WebPageProxy::getStatusBarIsVisible):
+ (WebKit::WebPageProxy::setIsResizable):
+ (WebKit::WebPageProxy::getIsResizable):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::toolbarsAreVisible):
+ (WebKit::WebUIClient::setToolbarsAreVisible):
+ (WebKit::WebUIClient::menuBarIsVisible):
+ (WebKit::WebUIClient::setMenuBarIsVisible):
+ (WebKit::WebUIClient::statusBarIsVisible):
+ (WebKit::WebUIClient::setStatusBarIsVisible):
+ (WebKit::WebUIClient::isResizable):
+ (WebKit::WebUIClient::setIsResizable):
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setToolbarsVisible):
+ (WebKit::WebChromeClient::toolbarsVisible):
+ (WebKit::WebChromeClient::setStatusbarVisible):
+ (WebKit::WebChromeClient::statusbarVisible):
+ (WebKit::WebChromeClient::setMenubarVisible):
+ (WebKit::WebChromeClient::menubarVisible):
+ (WebKit::WebChromeClient::setResizable):
+ Plumb through the calls.
+
+2010-10-28 Dan Bernstein <mitz@apple.com>
+
+ Build fix.
+
+ * win/WebKit2Common.vsprops:
+
+2010-10-28 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Adam Roben.
+
+ No longer soft-link zlib
+ https://bugs.webkit.org/show_bug.cgi?id=48004
+
+ * win/WebKit2Common.vsprops: Added zlib.lib to AdditionalDependencies.
+
+2010-10-28 Adam Roben <aroben@apple.com>
+
+ Make PluginView retain its HTMLPlugInElement
+
+ This matches WebKit/mac's WebBaseNetscapePluginView. WebCore didn't do
+ this, but had a very different mechanism for implementing NPRuntime
+ that didn't require it.
+
+ Fixes <http://webkit.org/b/46672> <rdar://problem/8484208> Crash
+ (preceded by assertion) in Node::document when running
+ plugins/document-open.html in WebKit2 on Windows
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::create): Moved here from the header file so that
+ clients of the header file won't have to pull in HTMLPlugInElement.h.
+ Changed to take a PassRefPtr<HTMLPlugInElement>.
+ (WebKit::PluginView::PluginView): Changed to take a
+ PassRefPtr<HTMLPlugInElement> and to use m_pluginElement later (because
+ the parameter to the function will be nulled-out after assigning into
+ m_pluginElement).
+ (WebKit::PluginView::pluginElementNPObject): Updated for change to m_pluginElement.
+
+ * WebProcess/Plugins/PluginView.h: Made m_pluginElement a RefPtr.
+
+2010-10-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Make Qt viewportAttributesForSize not assert on (0, 0) size
+ https://bugs.webkit.org/show_bug.cgi?id=48524
+
+ We now return an invalid (isValid() == false) ViewportAttributes
+ instance when the supplied size is (0, 0).
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::viewportAttributesForSize):
+
+2010-10-28 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] SharedMemory should be released by the receiving process
+ https://bugs.webkit.org/show_bug.cgi?id=48520
+
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::~SharedMemory):
+ (WebKit::SharedMemory::createHandle):
+
+2010-10-28 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Web process cannot be debugged if it crashes in initialization
+ https://bugs.webkit.org/show_bug.cgi?id=47399
+
+ Wait 3 seconds for the debugger on debug mode if
+ WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable is set.
+
+ The debugging can be initiated for example in following way:
+ export WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH=1
+ ./MiniBrowser & while [ -z `pidof QtWebProcess` ]; do sleep 1; done; \
+ gdb --pid=`pidof QtWebProcess`
+
+ * WebProcess/qt/WebProcessMainQt.cpp:
+ (WebKit::WebProcessMainQt):
+
+2010-10-28 Mark Rowe <mrowe@apple.com>
+
+ 32-bit build fix.
+
+ Qualify references to Rect to avoid ambiguity between WebCore::Rect and Carbon's Rect.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ (WebKit::NetscapePlugin::windowFrameChanged):
+
+2010-10-28 Ivan Krstić <ike@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Remove unused experimental proxied panel interface.
+ <rdar://problem/7237059>
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
+2010-10-27 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ * UIProcess/API/mac/PageClientImpl.mm: Reference the file using the correct case.
+
+2010-10-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Find indicators do not bounce
+ https://bugs.webkit.org/show_bug.cgi?id=48490
+ <rdar://problem/8564276>
+
+ * UIProcess/API/mac/FindIndicatorWindow.h:
+ * UIProcess/API/mac/FindIndicatorWindow.mm:
+ (-[WebFindIndicatorWindowAnimation _initWithFindIndicatorWindow:WebKit::animationDuration:animationProgressCallback:WebKit::FindIndicatorWindow::animationDidEndCallback:WebKit::FindIndicatorWindow::]):
+ Add an animationDuration parameter.
+
+ (WebKit::FindIndicatorWindow::FindIndicatorWindow):
+ Initialize m_bounceAnimationContext.
+
+ (WebKit::FindIndicatorWindow::setFindIndicator):
+ Create a bounce animation and start it.
+
+ (WebKit::FindIndicatorWindow::closeWindow):
+ Stop the bounce animation and destroy the bounce animation context.
+
+ (WebKit::FindIndicatorWindow::startFadeOutTimerFired):
+ pass the fade out duration.
+
+ (WebKit::FindIndicatorWindow::bounceAnimationCallback):
+ Set the bounce animation progress.
+
+ (WebKit::FindIndicatorWindow::bounceAnimationDidEnd):
+ Destroy the bounce animation context.
+
+2010-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Remove the reference to the pageNamespace in the QWKPagePrivate.
+ Access it through the WebPageProxy instead which holds a strong
+ ref to it.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPage::preferences):
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2010-10-27 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Support Appkit key bindings and custom key bindings in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=48271
+ <rdar://problem/7660723>
+
+ We need to support AppKit key bindings and custom key bindings in WebKit2.
+ Every keyboard event is first sent to the WebProcess and we inform AppKit that
+ we don't need further processing. When the event is processed by the WebProcess and no handler consumes it,
+ we send a synchronous message back to the UI process to let AppKit perform the key bindings.
+ This operation can result in one or more editing commands to execute or a noop.
+ The WebProcess then replies back to the UI process to inform whether further processing is required, in
+ which case the event is sent back to the application to be mapped.
+ There is a potential for a race condition: in case the WebProcess is very slow to process the key events, the UI
+ process could be in a completely different state when the event is being resent (for example it might not have the
+ keyboard focus anymore) and the command could be lost. We should look out for user experience impact.
+
+ * Scripts/webkit2/messages.py: Added header file in the generated file.
+ * Shared/WebCoreArgumentCoders.h: Added encoder/decoder for KeypressCommand.
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::interceptKeyEvent): Pass-through call to WKView.
+ (WebKit::PageClientImpl::didNotHandleKeyEvent): Added logic to resend the event to the application.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]): Changed the default return value to YES, otherwise no menu shortcut is performed.
+ (-[WKView doCommandBySelector:]): Added.
+ (-[WKView insertText:]): Added.
+ (-[WKView _handleStyleKeyEquivalent:]): Added to handle command-B and command-I.
+ (-[WKView performKeyEquivalent:]): Added to intercept key binding sequences.
+ (-[WKView _setEventBeingResent:]):
+ (-[WKView _interceptKeyEvent:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::interpretKeyEvent):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::handleKeyboardEvent):
+ (WebKit::WebEditorClient::handleInputMethodKeydown):
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/WebPageMac.mm: Moved handleKeyboardEvent and handleInputMethodKeydown
+ to the Mac specific implementation.
+ (WebKit::WebPage::interceptEditingKeyboardEvent): Added.
+
+2010-10-27 Brian Weinstein <bweinstein@apple.com>
+
+ More Windows build fixage. Copy another new header into WebKitOutputDir.
+
+ * win/WebKit2Generated.make:
+
+2010-10-27 Brian Weinstein <bweinstein@apple.com>
+
+ Windows build fix. Copy a new header into WebKitOutputDir.
+
+ * win/WebKit2Generated.make:
+
+2010-10-26 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
+ https://bugs.webkit.org/show_bug.cgi?id=42322
+ rdar://problem/8193631
+
+ WebKitTestRunner needs to support layoutTestController.clearBackForwardList
+ https://bugs.webkit.org/show_bug.cgi?id=42333
+ rdar://problem/8193643
+
+ * Shared/API/c/WKBase.h: Added WKBundleBackForwardListRef and
+ WKBundleBackForwardListItemRef.
+
+ * Shared/API/c/WKURL.cpp:
+ (WKURLCopyString): Added.
+ * Shared/API/c/WKURL.h: Added WKURLCopyString.
+
+ * Shared/API/c/cf/WKURLCF.h: Fixed incorrect argument name.
+
+ * Shared/APIObject.h: Added TypeBundleBackForwardList and
+ TypeBundleBackForwardListItem.
+
+ * Shared/ImmutableArray.h: Marked destructor virtual explicitly.
+ * Shared/ImmutableDictionary.h: Ditto.
+ * UIProcess/WebBackForwardListItem.h: Ditto.
+ * UIProcess/WebContext.h: Ditto.
+ * UIProcess/WebFrameProxy.h: Ditto.
+ * UIProcess/WebNavigationData.h: Ditto.
+ * UIProcess/WebPageNamespace.h: Ditto.
+ * UIProcess/WebPreferences.h: Ditto.
+ * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: Ditto.
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Ditto.
+ * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h: Ditto.
+
+ * UIProcess/WebBackForwardList.cpp: Removed unneeded backListWithLimit
+ and forwardListWithLimit functions.
+ (WebKit::WebBackForwardList::clear): Added.
+ * UIProcess/WebBackForwardList.h: Marked destructor virtual explicitly.
+ Added clear, removed backListWithLimit and forwardListWithLimit functions.
+
+ * UIProcess/WebPageProxy.cpp: Removed unneeded backForwardBackItem,
+ backForwardCurrentItem, and backForwardForwardItem functions.
+ (WebKit::WebPageProxy::backForwardClear): Added.
+ * UIProcess/WebPageProxy.h: Ditto.
+ * UIProcess/WebPageProxy.messages.in: Ditto.
+
+ * WebKit2.pro: Added new files.
+ * WebKit2.xcodeproj/project.pbxproj: Ditto.
+ * win/WebKit2.vcproj: Ditto.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: Added
+ WKBundleBackForwardListRef and WKBundleBackForwardListItemRef.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp:
+ Started with a copy of from WebKit2/UIProcess/API/C/WKBackForwardList.cpp.
+ * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.h:
+ Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardList.h.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
+ Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardListItem.cpp.
+ * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h:
+ Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardListItem.h.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageGetBackForwardList): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Ditto.
+
+
+ * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
+ Started with a copy of WebKit2/UIProcess/WebBackForwardList.cpp.
+ * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
+ Started with a copy of WebKit2/UIProcess/WebBackForwardList.h.
+
+ * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
+ Started with a copy of WebKit2/UIProcess/WebBackForwardListItem.cpp.
+ * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
+ Started with a copy of WebKit2/UIProcess/WebBackForwardListItem.h.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp: Removed
+ many unneeded functions.
+ (WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
+ Removed unneeded initialization of m_closed.
+ (WebKit::WebBackForwardListProxy::addItem): Added a check for
+ the case of a capacity of 0.
+ (WebKit::WebBackForwardListProxy::goToItem): Added a check for
+ when the proxy outlives its page.
+ (WebKit::WebBackForwardListProxy::itemAtIndex): Ditto.
+ (WebKit::WebBackForwardListProxy::backListCount): Ditto.
+ (WebKit::WebBackForwardListProxy::forwardListCount): Ditto.
+ (WebKit::WebBackForwardListProxy::close): Removed unneeded code
+ setting m_closed.
+ (WebKit::WebBackForwardListProxy::isActive): Added.
+ (WebKit::WebBackForwardListProxy::clear): Added.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.h: Added clear,
+ isActive, and detach functions. Removed many other unneeded
+ function and data members.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::~WebPage): Added call to detach on the
+ back/forward list.
+ (WebKit::WebPage::backForwardList): Added.
+ * WebProcess/WebPage/WebPage.h: Added backForwardList function
+ and m_backForwardList data member.
+
+2010-10-27 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=48385 Add WebKit
+ SPI to scale a WebView
+ -and corresponding-
+ <rdar://problem/8107667>
+
+ This patch adds SPI to Mac WebKit that scales the page by the given
+ scale factor.
+
+ Implement scaleWebView(), which tells WebCore::Frame to scale, and
+ viewScaleFactor() which returns the current scale factor.
+ * Shared/API/c/WKSharedAPICast.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageScaleWebView):
+ (WKPageGetViewScaleFactor):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::scaleWebView):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::viewScaleFactor):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::scaleWebView):
+ (WebKit::WebPage::viewScaleFactor):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-10-27 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix the WebKit2 API tests.
+ https://bugs.webkit.org/show_bug.cgi?id=48461
+
+ The API tests were failing because the tests expect to be able to send messages before the
+ WebProcess finishes launching.
+
+ Instead of dispatching the pending messages in processDidFinishLaunching, dispatch them in
+ ensureWebProcess but do not make messages pending if the process is launching.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::processDidFinishLaunching):
+ Move dispatching the pending messages back from here ...
+ (WebKit::WebContext::ensureWebProcess):
+ ... to here.
+ (WebKit::WebContext::postMessageToInjectedBundle):
+ Check whether the process can send messages in order to determine if a message needs to be
+ sent later.
+
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::canSendMessage):
+ The WebProcessProxy can send a message if it is valid or if it is launching.
+
+2010-10-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More work on downloads
+ https://bugs.webkit.org/show_bug.cgi?id=48480
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::~Download):
+ Call platformInvalidate().
+
+ (WebKit::Download::didBegin):
+ (WebKit::Download::didReceiveData):
+ (WebKit::Download::didFinish):
+ Add empty stubs.
+
+ * WebProcess/Downloads/DownloadManager.cpp:
+ (WebKit::DownloadManager::startDownload):
+ Create a Download object and insert it into the m_downloads map.
+
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ (WebKit::Download::platformInvalidate):
+ Add empty stub.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::Download::platformInvalidate):
+ Tell the WKDownloadAsDelegate object that we're being invalidated.
+
+ (-[WKDownloadAsDelegate downloadDidBegin:]):
+ Call Download::didBegin.
+
+ (-[WKDownloadAsDelegate download:didReceiveDataOfLength:]):
+ Call Download::didReceiveData.
+
+ (-[WKDownloadAsDelegate downloadDidFinish:]):
+ Call Download::didFinish.
+
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ (WebKit::Download::platformInvalidate):
+ Add empty stub.
+
+2010-10-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebPageProxy::isValid should return false if the page has been explicitly closed
+ https://bugs.webkit.org/show_bug.cgi?id=48458
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::isValid):
+ (WebKit::WebPageProxy::relaunch):
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::processDidCrash):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::isClosed):
+
+2010-10-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Begin stubbing out the Download class
+ https://bugs.webkit.org/show_bug.cgi?id=48447
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebKit2Prefix.h:
+ Include WebCore/EmptyProtocolDefinitions.h
+
+ * WebProcess/Downloads/Download.cpp: Added.
+ * WebProcess/Downloads/Download.h: Added.
+
+ * WebProcess/Downloads/DownloadManager.cpp:
+ (WebKit::DownloadManager::startDownload):
+ Create a Download object and start it.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm: Added.
+ (WebKit::Download::start):
+ Create an NSURLDownload.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::startDownload):
+ Ask the download manager to start downloading.
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+ Add new files.
+
+2010-10-27 Adam Roben <aroben@apple.com>
+
+ Don't allow setting NetscapePlugin::m_isWindowed after NPP_New has
+ completed
+
+ In Firefox, Chrome, and WebKit1 trying to set this value after NPP_New
+ does not actually affect whether the plugin is windowed.
+
+ Fixes <http://webkit.org/b/46673> <rdar://problem/8484211> Assertion
+ failure in NetscapePlugin::platformDestroy when running
+ plugins/mouse-events.html in WebKit2 on Windows
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::setIsWindowed): Moved here from the header.
+ Bail out if m_isStarted is true, indicating that NPP_New has already
+ finished.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h: Removed the
+ implementation of setIsWindowed.
+
+2010-10-27 Timothy Hatcher <timothy@apple.com>
+
+ Add API for enabling the developer extras (Web Inspector).
+
+ http://webkit.org/b/48439
+
+ Reviewed by John Sullivan.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetDeveloperExtrasEnabled):
+ (WKPreferencesGetDeveloperExtrasEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setDeveloperExtrasEnabled):
+ (WebKit::WebPreferences::developerExtrasEnabled):
+ * UIProcess/WebPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2010-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Move contentsSizeChange from the UIClient into the PageClient and
+ and make it a private Qt-only API in the process.
+
+ Make WKPageContentsSizeChangedCallback be a private API
+ https://bugs.webkit.org/show_bug.cgi?id=48409
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::didChangeContentsSize):
+ (QWKPage::QWKPage):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didChangeContentsSize):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::contentsSizeChanged):
+
+2010-10-26 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2 shouldn't try to send an empty user agent
+ https://bugs.webkit.org/show_bug.cgi?id=48397
+
+ Change the check of the custom user agent to an empty check instead of a null check. When the client application
+ sets a custom user agent and then resets it, the custom user agent is set to an empty string. If all we do
+ is check for a null string, then we will think we have a custom user agent (which is empty) and send an empty
+ user agent.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::userAgent):
+
+2010-10-27 Adam Roben <aroben@apple.com>
+
+ Don't call NPP_GetValue if the plugin didn't provide an implementation
+
+ Fixes <http://webkit.org/b/48433> Crash in
+ NetscapePlugin::shouldLoadSrcURL when using Shockwave Director 10.3 in
+ WebKit2 on Windows
+
+ Reviewed by Eric Carlson.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NPP_GetValue): Null-check the getvalue pointer
+ before using it to call NPP_GetValue.
+
+2010-10-27 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Assert due to multiple initialization of WebPlatformStrategies
+ https://bugs.webkit.org/show_bug.cgi?id=48327
+
+ We are using the LocalizationStrategy in the UI process
+ so the previous attempt to fix this (http://trac.webkit.org/changeset/70620)
+ was wrong.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (initializePlatformStrategiesIfNeeded):
+ Call WebPlatformStrategies::initialize exactly once.
+ (QWKPagePrivate::QWKPagePrivate):
+
+2010-10-27 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] WebKit2 UI process crashes if web process crashes
+ https://bugs.webkit.org/show_bug.cgi?id=48400
+
+ Check the success of socket write operations.
+ Avoids crashing the UI process if web process has crashed.
+ Qt socket code segfaults when write is called for a socket
+ that has had an error.
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::platformInvalidate):
+ Reset m_socket after deletion.
+
+ (CoreIPC::Connection::sendOutgoingMessage):
+ Check error status of write operations and
+ invalidate socket if writes fail.
+
+2010-10-27 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Type mismatch while serializing/deserializing message id size
+ https://bugs.webkit.org/show_bug.cgi?id=48401
+
+ Use correct types when reading data from connection buffer.
+
+ The message id is written as uint32_t, thus the buffer size should be
+ calculated based on sizeof(uint32_t) and not sizeof(MessageID).
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::readyReadHandler):
+
+2010-10-27 Zalan Bujtas <zbujtas@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Multiple WebPlatformStrategy initialization triggers assert in WebCore/PlatformStrategies.
+ Remove the code for now, as it is not used at all.
+ https://bugs.webkit.org/show_bug.cgi?id=48327
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+
+2010-10-26 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix.
+
+ * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
+ (WebKit::cancelledError): Conditionalize use of CFNetwork calls
+ and includes.
+
+2010-10-26 Alexey Proskuryakov <ap@apple.com>
+
+ Build fix.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Modified original file, not its framework
+ copy this time.
+
+2010-10-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add DownloadManager class
+ https://bugs.webkit.org/show_bug.cgi?id=48388
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/Downloads/DownloadManager.cpp: Added.
+ (WebKit::DownloadManager::shared):
+ (WebKit::DownloadManager::DownloadManager):
+ * WebProcess/Downloads/DownloadManager.h: Added.
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+ Add new files.
+
+2010-10-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pass a downloadID to the web process whenever a download is requested
+ https://bugs.webkit.org/show_bug.cgi?id=48380
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::generateDownloadID):
+ Generate a unique download ID.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::receivedPolicyDecision):
+ Pass along a download ID if needed.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::startDownload):
+ Call the web frame member function.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::WebFrame):
+ Initialize m_policyDownloadID.
+
+ (WebKit::WebFrame::invalidatePolicyListener):
+ Reset m_policyDownloadID.
+
+ (WebKit::WebFrame::didReceivePolicyDecision):
+ Set m_policyDownloadID.
+
+ (WebKit::WebFrame::startDownload):
+ Assert that m_policyDownloadID is not zero.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceivePolicyDecision):
+ Pass along the download ID.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add the download ID.
+
+2010-10-26 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48375
+ <rdar://problem/8392724> Need delegate calls in PageLoaderClient to indicate if we have
+ loaded insecure content
+
+ Added the delegate. Just like the bundle version, it misses WebOrigin parameter that Mac
+ delegate call used to have. It doesn't seem necessary for clients.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didDisplayInsecureContentForFrame):
+ (WebKit::WebLoaderClient::didRunInsecureContentForFrame):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
+ (WebKit::WebPageProxy::didRunInsecureContentForFrame):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
+ (WebKit::WebFrameLoaderClient::didRunInsecureContent):
+
+2010-10-26 Jenn Braithwaite <jennb@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Resource tracking failure when trying to move a frame between documents
+ https://bugs.webkit.org/show_bug.cgi?id=44713
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::transferLoadingResourceFromPage):
+ Empty method.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-10-26 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Post any pending messages to the Injected Bundle in WebContext::processDidFinishLaunching
+ instead of in WebContext::ensureWebProcess.
+ https://bugs.webkit.org/show_bug.cgi?id=48367
+
+ Send pending injected bundle messages after the process finished launching instead of of
+ directly after creating it.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ Move the logic to dispatch pending injected bundle messages from here ...
+ (WebKit::WebContext::processDidFinishLaunching):
+ ... to here.
+ Also use a reference instead of a pointer when sending the pending messages.
+
+2010-10-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ pageDidScroll callback should be on the UI process client rather than (or in addition to) the web process client
+ https://bugs.webkit.org/show_bug.cgi?id=48366
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ Add zero initializer.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::pageDidScroll):
+ Call the pageDidScroll client function.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add PageDidScroll message.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::pageDidScroll):
+ Send the PageDidScroll message.
+
+2010-10-26 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Need a way to retrieve custom user agent from a WKPage
+ https://bugs.webkit.org/show_bug.cgi?id=48360
+ <rdar://problem/8466537>
+
+ Add an exported function on WKPage to get the page's custom user agent.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageCopyCustomUserAgent): Exported function that returns the custom user
+ agent.
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close): Clear the custom user agent string.
+ (WebKit::WebPageProxy::processDidCrash): Ditto.
+ (WebKit::WebPageProxy::setCustomUserAgent): Add a new early return if we're setting
+ the custom user agent to what it was before, and set the custom user agent member
+ variable.
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::customUserAgent): Returns the custom user agent.
+
+2010-10-26 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Support layoutTestController.layerTreeAsText in WebKitTestRunner
+ https://bugs.webkit.org/show_bug.cgi?id=42145
+
+ Expose layerTreeAsText() as private API so that
+ WebKitTestRunner can use it.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopyLayerTreeAsText):
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::numberOfActiveAnimations):
+ (WebKit::WebFrame::layerTreeAsText):
+ (WebKit::WebFrame::pendingUnloadCount):
+ * WebProcess/WebPage/WebFrame.h:
+
+2010-10-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Enable the plug-in process on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=48350
+
+ * WebKit2Prefix.h:
+ Flip the switch and enable the plug-in process on Mac.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformDestroy):
+ Fix a bogus assert.
+
+2010-10-26 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implement SharedMemory for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=47345
+
+ Implement unimplemented functions in SharedMemoryQt.cpp.
+ Rename MappedMemory.h to MappedMemoryPool.h, move MappedMemoryPool.{h|cpp} from
+ Shared/qt to Platform/qt. Modify affected lines of WebKit2.pro.
+ Move MappedMemory implementation into MappedMemoryPool. Remove unnecessary
+ methods of MappedMemoryPool.
+
+ * Platform/SharedMemory.h: Add a handle member for Qt.
+ * Platform/qt/MappedMemoryPool.cpp: Copied from WebKit2/Shared/qt/MappedMemoryPool.cpp.
+ (WebKit::MappedMemoryPool::searchForMappedMemory):
+ (WebKit::MappedMemoryPool::mapMemory):
+ (WebKit::MappedMemoryPool::mapFile):
+ * Platform/qt/MappedMemoryPool.h: Copied from WebKit2/Shared/qt/MappedMemory.h.
+ (WebKit::MappedMemoryPool::MappedMemory::mapSize):
+ (WebKit::MappedMemoryPool::MappedMemory::markUsed):
+ (WebKit::MappedMemoryPool::MappedMemory::markFree):
+ (WebKit::MappedMemoryPool::MappedMemory::isFree):
+ (WebKit::MappedMemoryPool::MappedMemory::data):
+ (WebKit::MappedMemoryPool::MappedMemoryPool):
+ Move MappedMemory implementation into MappedMemoryPool.
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::Handle::Handle): Implement.
+ (WebKit::SharedMemory::Handle::~Handle):
+ (WebKit::SharedMemory::Handle::isNull): Implement.
+ (WebKit::SharedMemory::Handle::encode): Implement.
+ (WebKit::SharedMemory::Handle::decode): Implement.
+ (WebKit::SharedMemory::create): Implement.
+ (WebKit::mapProtection): Added.
+ (WebKit::SharedMemory::~SharedMemory): Implement.
+ (WebKit::SharedMemory::createHandle): Implement.
+ (WebKit::SharedMemory::systemPageSize): Implement.
+ * Shared/qt/MappedMemory.h: Removed.
+ * Shared/qt/MappedMemoryPool.cpp: Removed.
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::UpdateChunk):
+ (WebKit::UpdateChunk::decode):
+ Modify to use MappedMemoryPool.
+ * Shared/qt/UpdateChunk.h:
+ * WebKit2.pro:
+ Modify affected lines.
+
+2010-10-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKit2 callbacks for findString() and countMatchesForString() should report whether the match count was exceeded
+ https://bugs.webkit.org/show_bug.cgi?id=48285
+ <rdar://problem/8576318>
+
+ * UIProcess/API/C/WKPage.h:
+ Add a kWKMoreThanMaximumMatchCount constant.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+ If we get back more matches than allowed, send kWKMoreThanMaximumMatchCount as the match constant.
+
+2010-10-25 Dan Bernstein <mitz@apple.com>
+
+ Non-Carbon build fix.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::windowFrameChanged):
+
+2010-10-25 Timothy Hatcher <timothy@apple.com>
+
+ Stub out WebInspector objects and WKInspectorRef API.
+
+ https://webkit.org/b/48265
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/CoreIPC/MessageID.h: Added MessageClassWebInspector and MessageClassWebInspectorProxy.
+ * Shared/API/c/WKBase.h: Added WKInspectorRef.
+ * Shared/APIObject.h: Added TypeInspector.
+ * UIProcess/API/C/WKAPICast.h: Added WKInspectorRef to WebInspectorProxy mapping.
+ * UIProcess/API/C/WKInspector.cpp: Added.
+ (WKInspectorGetTypeID):
+ (WKInspectorGetPage):
+ * UIProcess/API/C/WKInspector.h: Added.
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetInspector): Added.
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebInspectorProxy.cpp: Added.
+ (WebKit::WebInspectorProxy::WebInspectorProxy):
+ (WebKit::WebInspectorProxy::~WebInspectorProxy):
+ (WebKit::WebInspectorProxy::invalidate):
+ * UIProcess/WebInspectorProxy.h:
+ (WebKit::WebInspectorProxy::create):
+ (WebKit::WebInspectorProxy::page):
+ (WebKit::WebInspectorProxy::type):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::inspector): Lazily create the WebInspectorProxy.
+ * UIProcess/WebPageProxy.h:
+ * WebKit2.pro: Added new files.
+ * WebKit2.xcodeproj/project.pbxproj: Added new files.
+ * WebProcess/WebPage/WebInspector.cpp: Added.
+ (WebKit::WebInspector::WebInspector):
+ * WebProcess/WebPage/WebInspector.h: Added.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::inspector): Lazily create the WebInspector.
+ * WebProcess/WebPage/WebPage.h:
+ * win/WebKit2.vcproj: Added new files.
+
+2010-10-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Update the fake Carbon window when the window frame changes
+ https://bugs.webkit.org/show_bug.cgi?id=48273
+
+ * UIProcess/API/mac/WKView.mm:
+ (screenForWindow):
+ (-[WKView _updateWindowFrame]):
+ Pass the window frame in Carbon coordinates.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::windowFrameChanged):
+ Update the window bounds.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::setWindowFrame):
+ Call the plug-in.
+
+ (WebKit::PluginView::platformLayer):
+ Fix a crash when WebCore asked for the layer before it was initialized.
+
+2010-10-25 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Remove exec and globalData arguments from jsNumber
+ https://bugs.webkit.org/show_bug.cgi?id=48270
+
+ Mechanical removal of exec parameter to jsNumber
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
+
+2010-10-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Replace matchCountDidChange with didFindString/didFailToFindString
+ https://bugs.webkit.org/show_bug.cgi?id=48262
+ <rdar://problem/8568928>
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebFindClient.cpp:
+ (WebKit::WebFindClient::didFindString):
+ (WebKit::WebFindClient::didFailToFindString):
+ * UIProcess/WebFindClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didFindString):
+ (WebKit::WebPageProxy::didFailToFindString):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+
+2010-10-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a pageDidScroll BundleUIClient callback
+ https://bugs.webkit.org/show_bug.cgi?id=48260
+ <rdar://problem/8531159>
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ (WebKit::InjectedBundlePageUIClient::pageDidScroll):
+ Call the pageDidScroll callback.
+
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
+ (WebKit::WebChromeClient::scroll):
+ Call pageDidScroll.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::pageDidScroll):
+ Hide the find banner UI and call the BundleUIClient pageDidScroll callback.
+
+2010-10-25 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Control + Mousewheel shouldn't be handled in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=48253
+
+ Don't handle a wheel event if Control is pressed, pass the message back to DefWindowProc.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onWheelEvent):
+
+2010-10-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ cancelledError for WebKit2 on windows should use kCFErrorDomainCFNetwork instead of webKitErrorDomain
+ https://bugs.webkit.org/show_bug.cgi?id=48254
+
+ * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
+ (WebKit::cancelledError): Use kCFErrorDomainCFNetwork instead of webKitErrorDomain and switch over
+ to using kCFURLErrorCancelled instead of a hard coded constant.
+
+2010-10-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Need WebKit2 API to figure out if a frame can provide source
+ <rdar://problem/8424632>
+ https://bugs.webkit.org/show_bug.cgi?id=48252
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameCanProvideSource):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::canProvideSource):
+ * UIProcess/WebFrameProxy.h:
+ Add API to figure out if a frame can provide source based on its
+ MIME type.
+
+2010-10-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Java applets don't display on the page
+ https://bugs.webkit.org/show_bug.cgi?id=48251
+ <rdar://problem/8483759>
+
+ Add WKPreferencesSetJavaEnabled and initialize it to true by default, matching old WebKit.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ Initialize javaEnabled.
+
+ (WebKit::WebPreferencesStore::encode):
+ Encode javaEnabled.
+
+ (WebKit::WebPreferencesStore::decode):
+ Decode javaEnabled.
+
+ * Shared/WebPreferencesStore.h:
+ Add javaEnabled.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPReferencesSetJavaEnabled):
+ (WKPReferencesGetJavaEnabled):
+ Call the WebPreferences functions.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
+ Just call createPlugin.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ Call Settings::setJavaEnabled.
+
+2010-10-25 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Replace _countof with WTF_ARRAY_LENGTH
+ https://bugs.webkit.org/show_bug.cgi?id=48229
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ (WebKit::ProcessLauncher::launchProcess):
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::safariPluginsDirectory):
+ (WebKit::addMozillaPluginDirectories):
+ (WebKit::addWindowsMediaPlayerPluginDirectory):
+ (WebKit::addAdobeAcrobatPluginDirectory):
+ (WebKit::addMacromediaPluginDirectories):
+ (WebKit::addPluginPathsFromRegistry):
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::interpretKeyEvent):
+
+2010-10-25 Adam Roben <aroben@apple.com>
+
+ Stop copying .messages.in files into WebKit2's framework bundle
+
+ Fixes <http://webkit.org/b/48232> Several .messages.in files end up in
+ WebKit2's framework bundle
+
+ Reviewed by Dan Bernstein.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-10-25 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt] Fix the WebKit2 build after sheriffbot messed up the rollout patch.
+ https://bugs.webkit.org/show_bug.cgi?id=48238
+
+ * Shared/qt/MappedMemory.h: Renamed from WebKit2/Platform/qt/MappedMemoryPool.h.
+ (WebKit::MappedMemory::mapSize):
+ (WebKit::MappedMemory::markUsed):
+ (WebKit::MappedMemory::markFree):
+ (WebKit::MappedMemory::isFree):
+ (WebKit::MappedMemory::data):
+
+2010-10-25 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r70450.
+ http://trac.webkit.org/changeset/70450
+ https://bugs.webkit.org/show_bug.cgi?id=48238
+
+ Causes WTR to crash on tests which use SharedMemory.
+ (Requested by bbandix on #webkit).
+
+ * Platform/SharedMemory.h:
+ * Platform/qt/MappedMemoryPool.cpp: Removed.
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::Handle::Handle):
+ (WebKit::SharedMemory::Handle::~Handle):
+ (WebKit::SharedMemory::Handle::encode):
+ (WebKit::SharedMemory::Handle::decode):
+ (WebKit::SharedMemory::create):
+ (WebKit::SharedMemory::~SharedMemory):
+ (WebKit::SharedMemory::createHandle):
+ (WebKit::SharedMemory::systemPageSize):
+ * Shared/qt/MappedMemory.h: Renamed from WebKit2/Platform/qt/MappedMemoryPool.h.
+ (WebKit::MappedMemory::mapSize):
+ (WebKit::MappedMemory::markUsed):
+ (WebKit::MappedMemory::markFree):
+ (WebKit::MappedMemory::isFree):
+ (WebKit::MappedMemory::data):
+ * Shared/qt/MappedMemoryPool.cpp: Added.
+ (WebKit::MappedMemoryPool::MappedMemoryPool):
+ (WebKit::MappedMemoryPool::instance):
+ (WebKit::MappedMemoryPool::size):
+ (WebKit::MappedMemoryPool::at):
+ (WebKit::MappedMemoryPool::append):
+ (WebKit::MappedMemoryPool::cleanUp):
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::mapMemory):
+ (WebKit::mapFile):
+ (WebKit::UpdateChunk::UpdateChunk):
+ (WebKit::UpdateChunk::decode):
+ * Shared/qt/UpdateChunk.h:
+ * WebKit2.pro:
+
+2010-10-25 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implement SharedMemory for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=47345
+
+ Implement unimplemented functions in SharedMemoryQt.cpp.
+ Rename MappedMemory.h to MappedMemoryPool.h, move MappedMemoryPool.{h|cpp} from
+ Shared/qt to Platform/qt. Modify affected lines of WebKit2.pro.
+ Move MappedMemory implementation into MappedMemoryPool. Remove unnecessary
+ methods of MappedMemoryPool.
+
+ * Platform/SharedMemory.h: Add a handle member for Qt.
+ * Platform/qt/MappedMemoryPool.cpp: Copied from WebKit2/Shared/qt/MappedMemoryPool.cpp.
+ (WebKit::MappedMemoryPool::searchForMappedMemory):
+ (WebKit::MappedMemoryPool::mapMemory):
+ (WebKit::MappedMemoryPool::mapFile):
+ * Platform/qt/MappedMemoryPool.h: Copied from WebKit2/Shared/qt/MappedMemory.h.
+ (WebKit::MappedMemoryPool::MappedMemory::mapSize):
+ (WebKit::MappedMemoryPool::MappedMemory::markUsed):
+ (WebKit::MappedMemoryPool::MappedMemory::markFree):
+ (WebKit::MappedMemoryPool::MappedMemory::isFree):
+ (WebKit::MappedMemoryPool::MappedMemory::data):
+ (WebKit::MappedMemoryPool::MappedMemoryPool):
+ Move MappedMemory implementation into MappedMemoryPool.
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::Handle::Handle): Implement.
+ (WebKit::SharedMemory::Handle::~Handle):
+ (WebKit::SharedMemory::Handle::isNull): Implement.
+ (WebKit::SharedMemory::Handle::encode): Implement.
+ (WebKit::SharedMemory::Handle::decode): Implement.
+ (WebKit::SharedMemory::create): Implement.
+ (WebKit::mapProtection): Added.
+ (WebKit::SharedMemory::~SharedMemory): Implement.
+ (WebKit::SharedMemory::createHandle): Implement.
+ (WebKit::SharedMemory::systemPageSize): Implement.
+ * Shared/qt/MappedMemory.h: Removed.
+ * Shared/qt/MappedMemoryPool.cpp: Removed.
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::UpdateChunk):
+ (WebKit::UpdateChunk::decode):
+ Modify to use MappedMemoryPool.
+ * Shared/qt/UpdateChunk.h:
+ * WebKit2.pro:
+ Modify affected lines.
+
+2010-10-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Need a way to determine the screen rect for a form control in WebKit2
+ <rdar://problem/8530670>
+ https://bugs.webkit.org/show_bug.cgi?id=48216
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ Add conversion from IntRect to WKRect.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleGetElementBounds):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::elementBounds):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+ Add SPI to get the rect in window space. The client can then convert this to screen
+ space if they wish to.
+
+2010-10-23 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Sam Weinig.
+
+ Unify globalData APIs
+ https://bugs.webkit.org/show_bug.cgi?id=47969
+
+ Adapt code to JSGlobalObject::globalData returning a reference
+ instead of a pointer.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
+ (WebKit::NPRuntimeObjectMap::evaluate):
+
+2010-10-23 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48083
+ <rdar://problem/8489082> Need WebKit2 API for private browsing (48083)
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
+ Initialize the new method.
+
+2010-10-21 Timothy Hatcher <timothy@apple.com>
+
+ Stub out WebInspectorFrontendClient.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48091
+
+ Reviewed by Adam Roben.
+
+ * WebKit2.pro: Added WebInspectorFrontendClient.{cpp,h}.
+ * WebKit2.xcodeproj/project.pbxproj: Added WebInspectorFrontendClient.{cpp,h}.
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: Added.
+ (WebKit::WebInspectorFrontendClient::windowObjectCleared): Added.
+ (WebKit::WebInspectorFrontendClient::frontendLoaded): Added.
+ (WebKit::WebInspectorFrontendClient::moveWindowBy): Added.
+ (WebKit::WebInspectorFrontendClient::localizedStringsURL): Added.
+ (WebKit::WebInspectorFrontendClient::hiddenPanels): Added.
+ (WebKit::WebInspectorFrontendClient::bringToFront): Added.
+ (WebKit::WebInspectorFrontendClient::closeWindow): Added.
+ (WebKit::WebInspectorFrontendClient::disconnectFromBackend): Added.
+ (WebKit::WebInspectorFrontendClient::requestAttachWindow): Added.
+ (WebKit::WebInspectorFrontendClient::requestDetachWindow): Added.
+ (WebKit::WebInspectorFrontendClient::changeAttachedWindowHeight): Added.
+ (WebKit::WebInspectorFrontendClient::inspectedURLChanged): Added.
+ (WebKit::WebInspectorFrontendClient::sendMessageToBackend): Added.
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: Added.
+ (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient): Added.
+ * win/WebKit2.vcproj: Added WebInspectorFrontendClient.{cpp,h}.
+
+2010-10-21 Timothy Hatcher <timothy@apple.com>
+
+ Remove stale stubs that are not longer part of InspectorClient.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48090
+
+ Reviewed by Adam Roben.
+
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorClient.h:
+
+2010-10-22 Andy Estes <aestes@apple.com>
+
+ Reviewed by Adam Roben and Sam Weinig.
+
+ WebKit shouldn't load a plug-in based on file extension if a MIME type
+ is specified.
+ https://bugs.webkit.org/show_bug.cgi?id=48046
+
+ The fix landed in r70332 only covered the Mac port. Implement this fix
+ for WebKit2 as well.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::findPlugin):
+
+2010-10-22 Anders Carlsson <andersca@apple.com>
+
+ Fix clang++ build.
+
+ * Scripts/webkit2/messages.py:
+
+2010-10-22 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QWKPagePrivate::didRelaunchProcess):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::didRelaunchProcess):
+ * UIProcess/win/WebView.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-10-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebContext::ensureWebProcess shouldn't send multiple InitializeWebProcess messages.
+ https://bugs.webkit.org/show_bug.cgi?id=48158
+ <rdar://problem/8512572>
+
+ If the web process was launching when another call to ensureWebProcess is sent, we
+ would end up sending another InitializeWebProcess message to it which would result
+ in assertions firing. Fix this by only checking for m_process, and not requiring a process
+ to be valid (which it won't be until it's finished launching).
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+
+2010-10-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename revive to relaunch everywhere.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::didRelaunchProcess):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _didRelaunchProcess]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::relaunchProcessIfNecessary):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebPageNamespace.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::relaunch):
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::loadURL):
+ (WebKit::WebPageProxy::loadURLRequest):
+ * UIProcess/WebPageProxy.h:
+
+2010-10-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Fix assert when a NetscapePluginModule loses its last NetscapePlugin.
+ https://bugs.webkit.org/show_bug.cgi?id=48155
+
+ (The assert in question is ASSERT(pluginModuleIndex != notFound) in
+ NetscapePluginModule::shutdown()).
+
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::pluginCreated):
+ If we didn't have any live plug-ins, load the plug-in module.
+
+ (WebKit::NetscapePluginModule::pluginDestroyed):
+ If this was the last plug-in, unload the plug-in module.
+
+ (WebKit::NetscapePluginModule::shutdown):
+ Set m_isInitialized to false.
+
+ (WebKit::NetscapePluginModule::load):
+ Don't do anything if the plug-in module has already been initialized.
+
+ (WebKit::NetscapePluginModule::unload):
+ Assert that we're not initialized.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ Assert that we successfully created the window.
+
+2010-10-22 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Crash in Connection::isValid when called in response to
+ VisitedLinksProvider::pendingVisitedLinksTimerFired after WebProcessProxy::didClose was
+ already called.
+ https://bugs.webkit.org/show_bug.cgi?id=48153
+
+ * UIProcess/VisitedLinkProvider.cpp:
+ (WebKit::VisitedLinkProvider::stopVisitedLinksTimer):
+ * UIProcess/VisitedLinkProvider.h:
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::processDidClose):
+ Stop the pendingVisitedLinksTimer and null out the process.
+ * UIProcess/WebContext.h:
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didClose):
+ Tell the WebContext that the WebProcess did close.
+
+2010-10-22 Sam Weinig <sam@webkit.org>
+
+ Fix Qt build.
+
+ * UIProcess/API/qt/ClientImpl.h:
+
+2010-10-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2 needs to pass the current event modifier flags when requesting a new window
+ https://bugs.webkit.org/show_bug.cgi?id=48140
+
+ In addition to passing modifier flags from the now passed NavigationAction, also pass
+ the WindowFeatures to the UIProcess.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ * Shared/WebCoreArgumentCoders.h:
+ * Shared/WebEvent.h:
+ (WebKit::WebEvent::modifiers):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::createNewPage):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::createNewPage):
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::createWindow):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchCreatePage):
+ (WebKit::modifiersForNavigationAction):
+ (WebKit::mouseButtonForNavigationAction):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-10-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename processDidExit to processDidCrash
+ https://bugs.webkit.org/show_bug.cgi?id=48146
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::processDidCrash):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _processDidCrash]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QWKPagePrivate::processDidCrash):
+ * UIProcess/PageClient.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::processDidBecomeUnresponsive):
+ (WebKit::WebLoaderClient::processDidBecomeResponsive):
+ (WebKit::WebLoaderClient::processDidCrash):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::processDidBecomeUnresponsive):
+ (WebKit::WebPageProxy::processDidBecomeResponsive):
+ (WebKit::WebPageProxy::processDidCrash):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didClose):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::processDidCrash):
+ * UIProcess/win/WebView.h:
+
+2010-10-22 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Corrected target dependencies.
+
+ * WebKit2.xcodeproj/project.pbxproj: Made WebKit2 depend on DerivedSources and removed
+ the explicit dependency of All on DerivedSources and WebKit2, since WebProcess depends on
+ them.
+
+2010-10-20 Jon Honeycutt <jhoneycutt@apple.com>
+
+ <rdar://problem/8423766> Cursor does not become "busy" when a page is
+ loading with WebKit2
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/API/C/win/WKViewPrivate.cpp: Added.
+ (WKViewSetOverrideCursor):
+ Call the WebView's setOverrideCursor().
+
+ * UIProcess/API/C/win/WKViewPrivate.h: Added.
+ Declare WKViewSetOVerrideCursor().
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ Initialize new member vars to 0.
+ (WebKit::WebView::updateNativeCursor):
+ If there is an override cursor, and the last cursor set from the web
+ process was the arrow cursor, use the override cursor. Otherwise, use
+ the cursor from the web process.
+ (WebKit::WebView::setCursor):
+ Record the web process's cursor, and call updateNativeCursor().
+ (WebKit::WebView::setOverrideCursor):
+ Record the override cursor, and call updateNativeCursor().
+
+ * UIProcess/win/WebView.h:
+ Declare setOverrideCursor() and updateNativeCursor(). Add members to
+ hold the last cursor set from the web process and the override cursor.
+
+ * win/WebKit2.vcproj:
+ Add new files to project.
+
+ * win/WebKit2Generated.make:
+ Copy WKViewPrivate.h with other headers.
+
+2010-10-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Crash evaluating JavaScript string that throws an exception
+ https://bugs.webkit.org/show_bug.cgi?id=48092
+ <rdar://problem/8487657>
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::sendMessage):
+ m_connection can be null here; just return false if that is the case.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::runJavaScriptInMainFrame):
+ If the JSValue returned is null we just send along a null string.
+
+2010-10-21 Adam Roben <aroben@apple.com>
+
+ Invalidate the plugin's HWND when NPN_InvalidateRect is called
+
+ Fixes <http://webkit.org/b/48086> <rdar://problem/8482944> Silverlight
+ doesn't repaint in WebKit2
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::invalidate): Call platformInvalidate before
+ invalidating via the PluginController.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added platformInvalidate.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformInvalidate):
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
+ (WebKit::NetscapePlugin::platformInvalidate):
+ Stubbed out.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::NetscapePlugin::platformInvalidate): If the plugin is
+ windowed, invalidate its HWND via ::InvalidateRect.
+
+2010-10-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Find indicator does not draw found text in WebKit2 when page is not scrolled to top
+ <rdar://problem/8562647>
+ https://bugs.webkit.org/show_bug.cgi?id=48089
+
+ We always want the selection rectangle in "WebCore window coordinates" which is the same
+ as WKView coordinates in WebKit2.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::updateFindIndicator):
+
+2010-10-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Always clear the selection when the find string isn't found
+ https://bugs.webkit.org/show_bug.cgi?id=48087
+ <rdar://problem/8564640>
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+
+2010-10-21 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by John Sullivan.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48083
+ <rdar://problem/8489082> Need WebKit2 API for private browsing
+
+ This just adds glue code for passing the preference from embedder to WebCore. The aspects of
+ private browsing that WebCore is responsible for do work, but cookies are not handled yet.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetPrivateBrowsingEnabled):
+ (WKPreferencesGetPrivateBrowsingEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setPrivateBrowsingEnabled):
+ (WebKit::WebPreferences::privateBrowsingEnabled):
+ * UIProcess/WebPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ Do what it takes to pass a single boolean from WebKit2 to WebCore. And we aren't even syncing
+ the preference to user defaults yet.
+
+2010-10-20 Adam Roben <aroben@apple.com>
+
+ Ask the UI client to close the page when the WKView receives a WM_CLOSE
+ message
+
+ Fixes <http://webkit.org/b/48044> <rdar://problem/8488446> Pressing
+ Ctrl+W when viewing a full-page PDF destroys the WKView but doesn't
+ close its parent window
+
+ Reviewed by Jon Honeycutt.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::wndProc): Call through to WebPageProxy::tryClose when
+ we receive a WM_CLOSE message, rather than passing the message along to
+ ::DefWindowProcW. tryClose will end up asking the UI client to close
+ the page, while ::DefWindowProcW would destroy us synchronously without
+ notifying the UI client at all. One case where we'll get sent a
+ WM_CLOSE message is when the user presses Ctrl+W when using the Adobe
+ Reader plugin to view a PDF.
+
+2010-10-20 Adam Roben <aroben@apple.com>
+
+ Remove confusing and redundant "host window" terminology from WKView on
+ Windows
+
+ WKView's "host window" is really just its HWND's parent window. The
+ terminology has been updated to reflect this. The unnecessary
+ WKViewGetHostWindow function has been removed, as it was a synonym for
+ ::GetParent(WKViewGetWindow(view)).
+
+ Fixes <http://webkit.org/b/48039> WKView's "host window" API is
+ confusing
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/API/C/win/WKView.cpp:
+ (WKViewCreate):
+ (WKViewSetParentWindow):
+ * UIProcess/API/C/win/WKView.h:
+ Replaced "host window" with "parent window". Removed
+ WKViewGetHostWindow.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::setParentWindow):
+ (WebKit::WebView::windowAncestryDidChange):
+ (WebKit::WebView::close):
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::create):
+ Replaced "host window" with "parent window". Removed m_hostWindow and
+ hostWindow().
+
+2010-10-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Null frame passed when running alert from UserScript run at document start
+ <rdar://problem/8573809>
+ https://bugs.webkit.org/show_bug.cgi?id=48036
+
+ Don't initialize a Frame until after we have notified the UIProcess of its creation.
+ This is necessary since arbitrary actions can happen during the call to Frame::init()
+ such as the running of UserScripts.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createFrame):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::createMainFrame):
+ (WebKit::WebFrame::createSubframe):
+ (WebKit::WebFrame::create):
+ (WebKit::WebFrame::WebFrame):
+ (WebKit::WebFrame::init):
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+
+2010-10-21 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] PluginInfoStore does not set up mime types for plugins
+ https://bugs.webkit.org/show_bug.cgi?id=48063
+
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ (WebKit::PluginInfoStore::getPluginInfo): Store the mime types
+ that are supported by the plugin into the plugin argument.
+
+2010-10-21 Juha Savolainen <juha.savolainen@weego.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ This is initial implementation of QWKHistory. The QWKHistory class represents the history of a QWKPage.
+ https://bugs.webkit.org/show_bug.cgi?id=47716
+
+ Each QWKPage instance contains a history of a visited pages that can be accessed by QWKHistory::history().
+ The QWKPagePrivate class creates QWKHistory in constructor.
+
+ * UIProcess/API/qt/qwkhistory.cpp: Added.
+ (QWKHistoryPrivate::QWKHistoryPrivate):
+ (QWKHistoryPrivate::createHistory): Creates history object.
+ (QWKHistoryPrivate::~QWKHistoryPrivate):
+ (QWKHistory::QWKHistory):
+ (QWKHistory::~QWKHistory):
+ (QWKHistory::backListCount): Gets items count in back.
+ (QWKHistory::forwardListCount): Gets items count in forward.
+ (QWKHistory::count): Gets items count.
+ * UIProcess/API/qt/qwkhistory.h: Added.
+ * UIProcess/API/qt/qwkhistory_p.h: Added.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPagePrivate::~QWKPagePrivate):
+ (QWKPage::history): Returns history object.
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h: Added history member variable.
+ * WebKit2.pro: Added WKBackForwardList.h, WKBackForwardList.cpp and new files.
+
+2010-10-14 Adam Roben <aroben@apple.com>
+
+ Don't require the plugin to always use the same NPP struct we gave it
+ in NPP_New
+
+ Neither WebCore, nor WebKit/mac, nor Firefox requires this, and
+ Shockwave (at least) seems to use a different NPP struct that contains
+ the same ndata member. So we shouldn't enforce it, either.
+
+ Fixes <http://webkit.org/b/47690> <rdar://problem/8553020> Assertion
+ failure in NetscapePlugin::fromNPP when using Shockwave in WebKit2
+
+ Reviewed by John Sullivan.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::fromNPP): Removed the bogus assertion.
+
+2010-10-20 Anders Carlsson <andersca@apple.com>
+
+ Fix clang++ build.
+
+ * UIProcess/API/C/WKNativeEvent.h:
+
+2010-10-20 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Crash closing page with <video> element
+ https://bugs.webkit.org/show_bug.cgi?id=47960
+ <rdar://problem/8573297>
+
+ I couldn't think of a good way to make a layout test for this because the
+ crash isn't triggered by closing an iframe.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::scheduleCompositingLayerSync): NULL check drawingArea().
+
+2010-10-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Out of process plug-ins are never asked to initially paint
+ https://bugs.webkit.org/show_bug.cgi?id=47993
+ <rdar://problem/8570342>
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ Add new callMemberFunction overload.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::paintEntirePlugin):
+ Set the dirty rect to be the entire plug-in rect and then paint the plug-in.
+
+ * PluginProcess/PluginControllerProxy.messages.in:
+ Add PaintEntirePlugin message.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::PluginProxy):
+ Initialize m_pluginBackingStoreContainsValidData to false.
+
+ (WebKit::PluginProxy::paint):
+ If m_pluginBackingStoreContainsValidData is false, synchronously ask the plug-in to paint,
+ then blit the plug-in backing store into our own backing store.
+
+ (WebKit::PluginProxy::geometryDidChange):
+ Set m_pluginBackingStoreContainsValidData to false.
+
+ (WebKit::PluginProxy::update):
+ Set m_pluginBackingStoreContainsValidData to true if the plug-in has painted its entire area.
+
+2010-10-19 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ ASSERTION FAILURE: !m_adoptionIsRequired for the WebFrame under the
+ InjectedBundlePageLoaderClient::didClearWindowObjectForFrame callback.
+ https://bugs.webkit.org/show_bug.cgi?id=47960
+
+ Do not try to initialize the coreFrame (which results in the
+ InjectedBundlePageLoaderClient::didClearWindowObjectForFrame being called) until after the
+ WebFrame constructor has returned and the WebFrame has been adopted.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::create):
+ Moved the call to init the coreFrame here ...
+ (WebKit::WebFrame::WebFrame):
+ ... from here.
+
+2010-10-20 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Merge ColorSpace and ImageColorSpace enums
+ https://bugs.webkit.org/show_bug.cgi?id=47922
+
+ Renamed ColorSpace enum entries DeviceColorSpace and sRGBColorSpace to ColorSpaceDeviceRGB and ColorSpaceSRGB
+ to follow webkit style rules.
+
+ * UIProcess/FindIndicator.cpp:
+ (WebKit::FindIndicator::draw):
+ * WebProcess/WebPage/FindPageOverlay.cpp:
+ (WebKit::FindPageOverlay::drawRect):
+
+2010-10-20 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Not reviewed.
+
+ Fix Qt/WebKit2 build, also needs a svg/properties include.
+
+ * WebKit2.pro:
+
+2010-10-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix MiniBrowser crashes during startup and shutdown
+ https://bugs.webkit.org/show_bug.cgi?id=47954
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::sharedProcessContext):
+ Initialize the main thread.
+
+ (WebKit::WebContext::create):
+ Ditto.
+
+ (WebKit::WebContext::WebContext):
+ Add the language observer here so we know that it will always be set up.
+
+ (WebKit::WebContext::ensureWebProcess):
+ Remove code.
+
+ * UIProcess/WebContext.h:
+
+2010-10-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Coalesce plug-in drawing
+ https://bugs.webkit.org/show_bug.cgi?id=47939
+
+ Coalesce plug-in drawing in the same manner as we do it in the chunked update drawing area.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ Initialize m_waitingForDidUpdate to false.
+
+ (WebKit::PluginControllerProxy::startPaintTimer):
+ Move code from invalidate out to here. Don't start the paint timer if m_waitingForDidUpdate is true.
+
+ (WebKit::PluginControllerProxy::invalidate):
+ Call startPaintTimer.
+
+ (WebKit::PluginControllerProxy::didUpdate):
+ Set m_waitingForDidUpdate to false and start the paint timer.
+
+ * PluginProcess/PluginControllerProxy.messages.in:
+ Add DidUpdate message.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::PluginProxy):
+ Initialize m_waitingForPaintInResponseToUpdate to false.
+
+ (WebKit::PluginProxy::paint):
+ If m_waitingForPaintInResponseToUpdate is true, send a DidUpdate message.
+
+ (WebKit::PluginProxy::update):
+ Set m_waitingForPaintInResponseToUpdate to true.
+
+2010-10-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add alternateHTMLString and unreachableURL API to WebKit2
+ <rdar://problem/8557864>
+ https://bugs.webkit.org/show_bug.cgi?id=47938
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameCopyUnreachableURL):
+ * UIProcess/API/C/WKFrame.h:
+ Add accessor for the unreachableURL if one is set. It will only be
+ set during a loadAlternateHTMLString and will be unset on the next normal
+ didStartProvisionalLoadForFrame call.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageLoadHTMLString): Remove whitespace.
+ (WKPageLoadAlternateHTMLString):
+ * UIProcess/API/C/WKPage.h:
+ Add function to load a string as "alternate", meant for use as error pages.
+
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::setUnreachableURL):
+ (WebKit::WebFrameProxy::unreachableURL):
+ Add setter/getter for the unreachableURL.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::loadAlternateHTMLString):
+ Plumb through the call to loadAlternateHTMLString to the WebProcess
+ and set the main frame's unreachableURL. This does nothing if no pages
+ have ever been loaded in this page.
+
+ (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
+ If this is not a provisional load of substitute data for an unreachableURL
+ (e.g. someone who called WKPageLoadAlternateHTMLString), reset the
+ frame's unreachableURL.
+
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ Update function signatures.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ Pass whether or not this is a load of SubstituteData for an unreachableURL
+ to the UIProcess.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::loadData):
+ (WebKit::WebPage::loadAlternateHTMLString):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ Plumb through the loading of the alternate HTML string.
+
+2010-10-19 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=47933
+ <rdar://problem/8494337> navigator.language doesn't work in WebKit2
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ Pass language code when creating a web process.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::~WebContext): Don't send language change notifications to the destroyed
+ process.
+ (WebKit::languageChanged): Make web process know about the change.
+ (WebKit::WebContext::ensureWebProcess): Fill WebProcessCreationParameters, and register for
+ change notifications.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
+ Initialize wkCopyCFLocalizationPreferredName.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess): Use passed in language as an override. Web process
+ doesn't know about per-application settings, so it depends on UI process for those.
+ (WebKit::WebProcess::languageChanged): Update the language override when messaged.
+
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in:
+ Added LanguageChanged message.
+
+2010-10-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Stop waiting for sync replies if the connection is closed
+ https://bugs.webkit.org/show_bug.cgi?id=47930
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::Connection):
+ Initialize m_shouldWaitForSyncReplies to true.
+
+ (CoreIPC::Connection::sendSyncMessage):
+ Don't attempt to send a message if m_shouldWaitForSyncReplies is false.
+
+ (CoreIPC::Connection::waitForSyncReply):
+ Return if m_shouldWaitForSyncReplies was set to false.
+
+ (CoreIPC::Connection::connectionDidClose):
+ Set m_shouldWaitForSyncReplies to true and signal the semaphore.
+
+ * Platform/CoreIPC/Connection.h:
+
+2010-10-19 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
+ (WebKit::interruptForPolicyChangeError): Add a missing comma.
+
+2010-10-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Part 2 of:
+ Need to include WKErrorRef in the WKPageDidFail... functions
+ <rdar://problem/8564110>
+ https://bugs.webkit.org/show_bug.cgi?id=47871
+
+ * Shared/API/c/WKError.cpp:
+ (WKErrorCopyWKErrorDomain):
+ * Shared/API/c/WKError.h:
+ * Shared/WebError.cpp: Added.
+ (WebKit::WebError::webKitErrorDomain):
+ * Shared/WebError.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
+ (+[NSError _webKitErrorWithCode:failingURL:]):
+ (registerErrors):
+ (WebKit::blockedError):
+ (WebKit::cannotShowURLError):
+ (WebKit::interruptForPolicyChangeError):
+ (WebKit::cannotShowMIMETypeError):
+ * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
+ (WebKit::cancelledError):
+ (WebKit::blockedError):
+ (WebKit::cannotShowURLError):
+ (WebKit::interruptForPolicyChangeError):
+ * win/WebKit2.vcproj:
+
+2010-10-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Need to include WKErrorRef in the WKPageDidFail... functions
+ <rdar://problem/8564110>
+ https://bugs.webkit.org/show_bug.cgi?id=47871
+
+ Give WebError a WebCore::ResourceError backing and start passing it over the wire
+ for failure cases. Also, fill out the WKError API to include domain, errorCode,
+ failingURL and localizedDescription.
+
+ * Shared/API/c/WKError.cpp:
+ (WKErrorCopyDomain):
+ (WKErrorGetErrorCode):
+ (WKErrorCopyFailingURL):
+ (WKErrorCopyLocalizedDescription):
+ * Shared/API/c/WKError.h:
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ * Shared/WebCoreArgumentCoders.h:
+ * Shared/WebError.h:
+ (WebKit::WebError::create):
+ (WebKit::WebError::domain):
+ (WebKit::WebError::errorCode):
+ (WebKit::WebError::failingURL):
+ (WebKit::WebError::localizedDescription):
+ (WebKit::WebError::platformError):
+ (WebKit::WebError::WebError):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (qt_wk_didFailProvisionalLoadWithErrorForFrame):
+ (qt_wk_didFailLoadWithErrorForFrame):
+ * UIProcess/API/qt/ClientImpl.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame):
+ (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didFailLoadForFrame):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
+
+2010-10-19 Christian Sejersen <christian.webkit@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Scratchbox has an old version of python as the default one, so
+ force it to use version 2.6.
+ https://bugs.webkit.org/show_bug.cgi?id=47895
+
+ * DerivedSources.pro:
+
+2010-10-19 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] WebKit2 MacOS build fix
+ https://bugs.webkit.org/show_bug.cgi?id=47897
+
+ Qt WebKit2 MacOS build fix.
+
+ * UIProcess/WebPageProxy.cpp:
+ * WebKit2.pri:
+ * WebKit2.pro:
+
+2010-10-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Initialize the API client.
+
+ * Shared/APIClient.h:
+ (WebKit::APIClient::APIClient):
+
+2010-10-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ WebKit2 should handle dismissing the Find overlay on mouse-down
+ https://bugs.webkit.org/show_bug.cgi?id=47854
+
+ * WebProcess/WebPage/FindPageOverlay.cpp:
+ (WebKit::FindPageOverlay::mouseEvent):
+ Dismiss the find UI on MouseDown.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::mouseEvent):
+ If there's a page overlay, let it have a go at the event.
+
+2010-10-18 Anders Carlsson <andersca@apple.com>
+
+ Fix clang build.
+
+ * UIProcess/API/mac/FindIndicatorWindow.mm:
+ (-[WebFindIndicatorWindowAnimation _initWithFindIndicatorWindow:WebKit::animationProgressCallback:WebKit::FindIndicatorWindow::animationDidEndCallback:WebKit::FindIndicatorWindow::]):
+ (WebKit::FindIndicatorWindow::setFindIndicator):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPopupMenuProxy.h:
+ * WebProcess/WebCoreSupport/WebPopupMenu.h:
+
+2010-10-18 Sam Weinig <sam@webkit.org>
+
+ Fix Qt build.
+
+ * WebKit2.pro:
+
+2010-10-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Don't try to change accelerated compositing mode if the web page is closed
+ https://bugs.webkit.org/show_bug.cgi?id=47852
+
+ changeAcceleratedCompositingMode ends up sending a sync message to the UI process which is unnecessary if
+ the UI process is being torn down.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+ (WebKit::WebPage::close):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-10-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8036034>
+ WebKit2's WebProcess dies immediately on Mac due to DYLD_FRAMEWORK_PATH problem
+
+ Pass the path to the WebKit2 framework along to the web process and don't rely on DYLD_FRAMEWORK_PATH being set.
+
+ * Shared/mac/CommandLineMac.cpp:
+ (WebKit::CommandLine::parse):
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ * mac/MainMac.cpp:
+ (main):
+
+2010-10-18 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Need a WebKit2 equivalent of the WebKit1 WebUserContentURLPattern.
+ https://bugs.webkit.org/show_bug.cgi?id=47783
+
+ * Shared/API/c/WKBase.h:
+
+ * Shared/API/c/WKSharedAPICast.h:
+
+ * Shared/API/c/WKUserContentURLPattern.cpp: Added.
+ (WKUserContentURLPatternGetTypeID):
+ (WKUserContentURLPatternCreate):
+ (WKUserContentURLPatternMatchesURL):
+ * Shared/API/c/WKUserContentURLPattern.h: Added.
+
+ * Shared/APIObject.h:
+
+ * Shared/UserMessageCoders.h:
+ Use the original pattern string to encode and decode a UserContentURLPattern.
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+
+ * Shared/WebUserContentURLPattern.h: Added.
+ (WebKit::WebUserContentURLPattern::create):
+ (WebKit::WebUserContentURLPattern::matchesURL):
+ Use WebCore::UserContentURLPattern::matches.
+ (WebKit::WebUserContentURLPattern::patternString):
+ Expose the pattern string used to create the UserContentURLPattern for the purpose of
+ encoding and decoding.
+ (WebKit::WebUserContentURLPattern::WebUserContentURLPattern):
+ (WebKit::WebUserContentURLPattern::type):
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add WKUserContentURLPattern.h/.cpp and WebUserContentURLPattern.h
+
+ * win/WebKit2Generated.make:
+ Copy over WKUsercontentURLPattern into the output directory.
+
+2010-10-18 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
+ (WebKit::NetscapePlugin::platformSetFocus):
+
+2010-10-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add matchCountDidChange callback
+ https://bugs.webkit.org/show_bug.cgi?id=47840
+
+ * UIProcess/API/C/WKPage.h:
+ Add matchCountDidChange WKPageFindClient callback.
+
+ * UIProcess/WebFindClient.cpp:
+ (WebKit::WebFindClient::matchCountDidChange):
+ Call the WKPageFindClient callback.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add MatchCountDidChange message.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::countStringMatches):
+ Move code here from WebPage.
+
+ (WebKit::FindController::findString):
+ Send the MatchCountDidChange message.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::countStringMatches):
+ Move this code over to FindController.
+
+2010-10-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Use nullptr instead of 0.
+
+ * UIProcess/API/mac/FindIndicatorWindow.mm:
+ (WebKit::FindIndicatorWindow::closeWindow):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView renewGState]):
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::removePluginProxy):
+
+2010-10-15 Sam Weinig <sam@webkit.org>
+
+ Fix Qt build.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::createPopupMenuProxy):
+
+2010-10-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Popup widget support (<select>)
+ <rdar://problem/8147746>
+ https://bugs.webkit.org/show_bug.cgi?id=47740
+
+ Add initial support for popup menus. Only works on the mac at this time.
+
+ * Shared/WebPopupItem.cpp: Added.
+ (WebKit::WebPopupItem::WebPopupItem):
+ (WebKit::WebPopupItem::encode):
+ (WebKit::WebPopupItem::decode):
+ * Shared/WebPopupItem.h: Added.
+ Serializable representation of a menu item.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::createPopupMenuProxy):
+ Create a WebPopupMenuProxyMac.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (WebView::createPopupMenuProxy):
+ * UIProcess/API/qt/qwkpage_p.h:
+ Create a WebPopupMenuProxyQt (which is just a stub right now).
+
+ (WebKit::WebPopupMenuProxyWin::create):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::createPopupMenuProxy):
+ * UIProcess/win/WebView.h:
+ Create a WebPopupMenuProxyWin (which is just a stub right now).
+
+ * UIProcess/PageClient.h:
+ Add new client function to get a platform specific WebPopupMenuProxy.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::showPopupMenu):
+ (WebKit::WebPageProxy::hidePopupMenu):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ Pipe through calls to set up the menu.
+
+ * UIProcess/mac/WebPopupMenuProxyMac.h: Added.
+ (WebKit::WebPopupMenuProxyMac::create):
+ * UIProcess/mac/WebPopupMenuProxyMac.mm: Added.
+ (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):
+ (WebKit::WebPopupMenuProxyMac::~WebPopupMenuProxyMac):
+ (WebKit::WebPopupMenuProxyMac::populate):
+ (WebKit::WebPopupMenuProxyMac::showPopupMenu):
+ (WebKit::WebPopupMenuProxyMac::hidePopupMenu):
+ Add UI process side implementation. Currently this does not support
+ custom fonts as the old implementation did.
+
+ * UIProcess/qt/WebPopupMenuProxyQt.cpp: Added.
+ (WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt):
+ (WebKit::WebPopupMenuProxyQt::~WebPopupMenuProxyQt):
+ (WebKit::WebPopupMenuProxyQt::showPopupMenu):
+ (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
+ * UIProcess/qt/WebPopupMenuProxyQt.h: Added.
+ (WebKit::WebPopupMenuProxyQt::create):
+ * UIProcess/win/WebPopupMenuProxyWin.cpp: Added.
+ (WebKit::WebPopupMenuProxyWin::WebPopupMenuProxyWin):
+ (WebKit::WebPopupMenuProxyWin::~WebPopupMenuProxyWin):
+ (WebKit::WebPopupMenuProxyWin::showPopupMenu):
+ (WebKit::WebPopupMenuProxyWin::hidePopupMenu):
+ * UIProcess/win/WebPopupMenuProxyWin.h: Added.
+ Add stubbed out implementations for Qt and windows.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::createPopupMenu):
+ (WebKit::WebChromeClient::createSearchPopupMenu):
+ Pass the page in the create function.
+
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
+ (WebKit::WebPopupMenu::create):
+ (WebKit::WebPopupMenu::WebPopupMenu):
+ (WebKit::WebPopupMenu::didChangeSelectedIndex):
+ (WebKit::WebPopupMenu::populateItems):
+ (WebKit::WebPopupMenu::show):
+ (WebKit::WebPopupMenu::hide):
+ * WebProcess/WebCoreSupport/WebPopupMenu.h:
+ (WebKit::WebPopupMenu::disconnectFromPage):
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
+ (WebKit::WebSearchPopupMenu::create):
+ (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
+ (WebKit::WebSearchPopupMenu::popupMenu):
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::close):
+ (WebKit::WebPage::setActivePopupMenu):
+ (WebKit::WebPage::didChangeSelectedIndexForActivePopupMenu):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ Pipe through calls to set up the menu.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-10-15 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/API/mac/FindIndicatorWindow.mm:
+ (-[WebFindIndicatorWindowAnimation setCurrentProgress:]):
+
+2010-10-15 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add 'didDraw' callback for framerate tracking
+ https://bugs.webkit.org/show_bug.cgi?id=47478
+
+ Hook up the 'didDraw' callback for WebKit2 on Mac.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView drawRect:]):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didDraw):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::didDraw):
+ * UIProcess/WebUIClient.h:
+
+2010-10-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make the find indicator window fade out when requested
+ https://bugs.webkit.org/show_bug.cgi?id=47747
+
+ * UIProcess/API/mac/FindIndicatorWindow.h:
+ * UIProcess/API/mac/FindIndicatorWindow.mm:
+ Add WebFindIndicatorWindowAnimation - an NSAnimation subclass that takes two
+ C++ member function pointers and invokes them the animation progress changes and
+ when the animation stops.
+
+ (-[WebFindIndicatorWindowAnimation setCurrentProgress:]):
+ Call the _animationProgressCallback.
+
+ (-[WebFindIndicatorWindowAnimation animationDidEnd:]):
+ Call the _animationDidEndCallback.
+
+ (WebKit::FindIndicatorWindow::FindIndicatorWindow):
+ Initialize the fade out start timer.
+
+ (WebKit::FindIndicatorWindow::setFindIndicator):
+ When asked to fade out, we start the fade out timer.
+
+ (WebKit::FindIndicatorWindow::closeWindow):
+ Stop the fade out timer and the fade out animation.
+
+ (WebKit::FindIndicatorWindow::startFadeOutTimerFired):
+ Create a fade out animation.
+
+ (WebKit::FindIndicatorWindow::fadeOutAnimationCallback):
+ Update the window alpha.
+
+ (WebKit::FindIndicatorWindow::fadeOutAnimationDidEnd):
+ Close the window.
+
+2010-10-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Move find indicator window logic to WKView
+ https://bugs.webkit.org/show_bug.cgi?id=47739
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setFindIndicator):
+ Call -[WKView _setFindIndicator:fadeOut:].
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView renewGState]):
+ Hide the find indicator.
+
+ (-[WKView _setFindIndicator:fadeOut:]):
+ Move the find indicator logic here.
+
+2010-10-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Hide the find indicator/overlay when necessary
+ https://bugs.webkit.org/show_bug.cgi?id=47737
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
+ Hide the find indicator.
+
+ (WebKit::WebChromeClient::scroll):
+ Ditto.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ Hide the find indicator and the find overlay.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+ Always hide all previous find matches. Only clear the selection if the string
+ not found wasn't empty.
+
+ (WebKit::FindController::hideFindUI):
+ Uninstall the page overlay and hide the find indicator.
+
+ (WebKit::FindController::hideFindIndicator):
+ Rename resetFindIndicator to hideFindIndicator.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::uninstallPageOverlay):
+ Invalidate the entire page.
+
+2010-10-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add FindIndicatorWindow class
+ https://bugs.webkit.org/show_bug.cgi?id=47731
+
+ * UIProcess/API/mac/FindIndicatorWindow.h: Added.
+ * UIProcess/API/mac/FindIndicatorWindow.mm: Added.
+ (-[WebFindIndicatorView _initWithFindIndicator:WebKit::]):
+ Initialize the find indicator view.
+
+ (-[WebFindIndicatorView drawRect:]):
+ Ask the find indicator to draw.
+
+ (-[WebFindIndicatorView isFlipped]):
+ Return YES.
+
+ (WebKit::FindIndicatorWindow::~FindIndicatorWindow):
+ Make sure to close the window.
+
+ (WebKit::FindIndicatorWindow::setFindIndicator):
+ Update the find indicator window.
+
+ (WebKit::FindIndicatorWindow::closeWindow):
+ Close and release the window.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setFindIndicator):
+ Create a find indicator window.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+2010-10-15 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/win/WebView.cpp:
+
+2010-10-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a FindIndicator class
+ https://bugs.webkit.org/show_bug.cgi?id=47635
+
+ * Shared/BackingStore.h:
+ (WebKit::BackingStore::bounds):
+ New function that returns the bounds of the backing store.
+
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setFindIndicator):
+ Add stub.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::setFindIndicator):
+ Add stub.
+
+ * UIProcess/FindIndicator.cpp: Added.
+ * UIProcess/FindIndicator.h:
+
+ * UIProcess/PageClient.h:
+ Add setFindIndicator client member function.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setFindIndicator):
+ Call PageClient::setFindIndicator.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add a fadeOut boolean to the message.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setFindIndicator):
+ Add stub.
+
+ * UIProcess/win/WebView.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+ (WebKit::FindController::updateFindIndicator):
+ (WebKit::FindController::resetFindIndicator):
+ * WebProcess/WebPage/FindController.h:
+ * win/WebKit2.vcproj:
+
+2010-10-14 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Plumb accelerated compositing prefs through WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=46860
+ <rdar://problem/8495312>
+
+ Wire up the prefs to enable accelerated compositing, and
+ show debug borders and repaint counters.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferencesPrivate.cpp:
+ (WKPreferencesSetAcceleratedCompositingEnabled):
+ (WKPreferencesGetAcceleratedCompositingEnabled):
+ (WKPreferencesSetCompositingBordersVisible):
+ (WKPreferencesGetCompositingBordersVisible):
+ (WKPreferencesSetCompositingRepaintCountersVisible):
+ (WKPreferencesGetCompositingRepaintCountersVisible):
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setAcceleratedCompositingEnabled):
+ (WebKit::WebPreferences::acceleratedCompositingEnabled):
+ (WebKit::WebPreferences::setCompositingBordersVisible):
+ (WebKit::WebPreferences::compositingBordersVisible):
+ (WebKit::WebPreferences::setCompositingRepaintCountersVisible):
+ (WebKit::WebPreferences::compositingRepaintCountersVisible):
+ * UIProcess/WebPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::preferencesDidChange):
+ (WebKit::WebPage::updatePreferences):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-10-14 Ada Chan <adachan@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKit2: Store the certificate chain in PlatformCertificateInfo.
+ https://bugs.webkit.org/show_bug.cgi?id=47603
+
+ * Shared/API/c/win/WKCertificateInfoWin.cpp:
+ (WKCertificateInfoGetCertificateChainLength):
+ (WKCertificateInfoGetCertificateContextAtIndex):
+ * Shared/API/c/win/WKCertificateInfoWin.h:
+ * Shared/win/PlatformCertificateInfo.cpp:
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Get the chain context from the response and duplicate the certificate contexts
+ in the chain to store in m_certificateChain.
+ (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo): Free all the certificate contexts in the chain.
+ (WebKit::PlatformCertificateInfo::operator=): Duplicate the certificate contexts from the other PlatformCertificateInfo's certificate chain
+ to store in m_certificateChain.
+ (WebKit::PlatformCertificateInfo::encode):
+ (WebKit::PlatformCertificateInfo::decode):
+ (WebKit::PlatformCertificateInfo::clearCertificateChain): Free all the certificate contexts in the chain and clear the vector.
+ * Shared/win/PlatformCertificateInfo.h:
+ (WebKit::PlatformCertificateInfo::certificateChain):
+
+2010-10-14 Adam Roben <aroben@apple.com>
+
+ Make sure WebKit2 only loads each plugin once
+
+ Fixes <http://webkit.org/b/47677> <rdar://problem/8552178> WebKit2 can
+ load the same plugin multiple times
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::addFromVector): Helper function that adds all the elements
+ from a Vector to a HashSet.
+ (WebKit::PluginInfoStore::loadPluginsIfNecessary): Put all the plugin
+ paths into a HashSet, then load the plugins specified in the HashSet.
+ On Windows, the HashSet is case-insensitive, just like the file
+ system.
+
+ * UIProcess/Plugins/PluginInfoStore.h: Removed loadPluginsInDirectory,
+ which is no longer used.
+
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::addPluginPathsFromRegistry):
+ (WebKit::PluginInfoStore::individualPluginPaths):
+ Changed to store the paths in a Vector instead of a HashSet now that
+ loadPluginsIfNecessary will handle duplicates for us.
+
+2010-10-14 Adam Roben <aroben@apple.com>
+
+ Load plugins that are specified in the MozillaPlugins registry key
+
+ Fixes <http://webkit.org/b/44271> <rdar://problem/8329750> WebKit2
+ should load plugins specified in the MozillaPlugins registry key (like
+ old WebKit does)
+
+ I couldn't think of a good way to test this.
+
+ Reviewed by Steve Falkenburg.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::loadPluginsIfNecessary): Also load plugins
+ specified by individualPluginPaths.
+
+ * UIProcess/Plugins/PluginInfoStore.h: Added individualPluginPaths and
+ some comments.
+
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::PluginInfoStore::individualPluginPaths):
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ (WebKit::PluginInfoStore::individualPluginPaths):
+ Stubbed out.
+
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::addPluginPathsFromRegistry):
+ (WebKit::PluginInfoStore::individualPluginPaths):
+ Ported this code from WebCore's PluginDatabaseWin.cpp. I slightly
+ cleaned it up and changed it to use a case-insensitive hash, since
+ paths on Windows are case-insensitive.
+
+2010-10-14 Adam Roben <aroben@apple.com>
+
+ Call ::DefWindowProcW for unhandled key events
+
+ ::DefWindowProcW does important things for at least some key events
+ (e.g., it generates a WM_SYSCOMMAND message when the Alt key is
+ released), so we need to make sure to call it when we don't handle key
+ events.
+
+ Fixes <http://webkit.org/b/47671> <rdar://problem/8435594> Pressing
+ the Alt key when MiniBrowser's WKView is focused doesn't send focus to
+ the menu bar
+
+ Reviewed by Steve Falkenburg.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::didNotHandleKeyEvent):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::didNotHandleKeyEvent):
+ * UIProcess/API/qt/qwkpage_p.h:
+ Stubbed out didNotHandleKeyEvent.
+
+ * UIProcess/PageClient.h: Added didNotHandleKeyEvent.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveEvent): Tell the PageClient about the
+ unhandled event.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onKeyEvent): Added a comment.
+ (WebKit::WebView::didNotHandleKeyEvent): Pass the event to
+ ::DefWindowProcW.
+
+ * UIProcess/win/WebView.h: Added didNotHandleKeyEvent.
+
+2010-10-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Memory smasher in WebKit2 InjectedBundleHitTestResult::absoluteLinkURL
+ https://bugs.webkit.org/show_bug.cgi?id=47648
+
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
+ (WebKit::InjectedBundleHitTestResult::absoluteLinkURL):
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: Return a String instead of
+ a const String&.
+
+2010-10-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ PlatformMouseEvents need to contain modifier flags
+ https://bugs.webkit.org/show_bug.cgi?id=47651
+
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
+ Fill in m_modifierFlags.
+
+2010-10-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Draw the find overlay holes
+ https://bugs.webkit.org/show_bug.cgi?id=47631
+
+ * WebProcess/WebPage/FindPageOverlay.cpp:
+ (WebKit::FindPageOverlay::drawRect):
+ Draw the white frames and the holes.
+
+2010-10-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Use WKSI to get wheel event deltas
+ https://bugs.webkit.org/show_bug.cgi?id=47617
+
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::WebEventFactory::createWebWheelEvent):
+ Call WKGetWheelEventDeltas.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:]):
+ Call InitWebCoreSystemInterface.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+ Use dispatch_once.
+
+2010-10-13 Adam Roben <aroben@apple.com>
+
+ Fix the Cairo build
+
+ * Shared/cairo/BackingStoreCairo.cpp: Added.
+ (WebKit::BackingStore::createGraphicsContext):
+ (WebKit::BackingStore::paint):
+ Stubbed out.
+
+ * win/WebKit2.vcproj: Build BackingStoreCG.cpp in CG builds and
+ BackingStoreCairo.cpp in Cairo builds.
+
+2010-10-13 Anders Carlsson <andersca@apple.com>
+
+ Build fix.
+
+ * Shared/cg/BackingStoreCG.cpp:
+
+2010-10-13 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=43987
+ Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
+ to construct their internal result string. Remove ScriptString (this is now
+ redundant).
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-10-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Send over find indicator information to the UI process
+ https://bugs.webkit.org/show_bug.cgi?id=47612
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setFindIndicator):
+ Add stub.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add SetFindIndicator.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::FindController):
+ Initialize m_isShowingFindIndicator.
+
+ (WebKit::FindController::findString):
+ Update the find indicator if needed.
+
+ (WebKit::FindController::updateFindIndicator):
+ Compute find indicator information, paint the find indicator text into a
+ backing store and send it over.
+
+ (WebKit::FindController::resetFindIndicator):
+ Send a SetFindIndicator message with a null backing store.
+
+2010-10-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add BackingStoreQt.cpp file with stubbed out BackingStore member functions
+ https://bugs.webkit.org/show_bug.cgi?id=47614
+
+ * Shared/BackingStore.h:
+ Remove unused include.
+
+ * Shared/qt/BackingStoreQt.cpp: Added.
+ (WebKit::BackingStore::createGraphicsContext):
+ (WebKit::BackingStore::paint):
+
+ * WebKit2.pro:
+ Add BackingStore.cpp, BackingStore.h and BackingStoreQt.cpp
+
+2010-10-13 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fixes after r69538.
+
+ * UIProcess/WebBackForwardList.h: Add missing include directive
+ for CoreFoundation.
+ * UIProcess/cf/WebBackForwardListCF.cpp: Add missing include
+ directives for RetainPtr.h and CoreFoundation.
+ * UIProcess/cf/WebPageProxyCF.cpp: Add missing include directive
+ for RetainPtr.h.
+
+2010-10-13 Adam Roben <aroben@apple.com>
+
+ Start compiling BackingStore on Windows
+
+ Rubber-stamped by Anders Carlsson.
+
+ * win/WebKit2.vcproj: Added BackingStore.
+
+2010-10-13 Adam Roben <aroben@apple.com>
+
+ Rename BackingStoreMac.mm to BackingStoreCG.cpp
+
+ There's nothing Mac-specific about this file.
+
+ Rubber-stamped by Anders Carlsson.
+
+ * Shared/cg/BackingStoreCG.cpp: Renamed from WebKit2/Shared/mac/BackingStoreMac.mm.
+
+ * WebKit2.xcodeproj/project.pbxproj: Updated for rename.
+
+2010-10-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Allow all signals to be delivered to the web process
+ https://bugs.webkit.org/show_bug.cgi?id=47602
+ <rdar://problem/8546399>
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+
+2010-10-12 Adam Roben <aroben@apple.com>
+
+ Let WebCore handle scrolling when the spacebar is pressed on Windows
+
+ WebCore already has code to do this, and WebKit2 was doing it on
+ keydown instead of keypress, which caused problems with text fields.
+
+ WebCore's spacebar-handling code is currently compiled out on Mac and
+ Qt, so we continue to handle spacebar in WebKit2 on those platforms.
+
+ Fixes <http://webkit.org/b/47544> <rdar://problem/8540645> REGRESSION:
+ Pressing spacebar in a text field in WebKit2 does not insert a space,
+ scrolls the page instead
+
+ Test: WebKit2/SpacebarScrolling
+
+ Reviewed by Sam Weinig.
+
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+ Removed handling for spacebar presses. WebCore already does this for
+ us, and does it better.
+
+2010-10-12 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Add ability for WK2 to set domain relaxation forbidden for a URL scheme.
+ https://bugs.webkit.org/show_bug.cgi?id=47562
+
+ Add the schemes for which domain relaxation is forbidden to the
+ WebProcessCreationParameters.
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetDomainRelaxationForbiddenForURLScheme):
+ * UIProcess/API/C/WKContextPrivate.h:
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ Copy over the schemes for which domain relaxation is forbidden to
+ WebProcessCreationParameters.
+ (WebKit::WebContext::setDomainRelaxationForbiddenForURLScheme):
+ Only send a message to the WebProcess if it is valid.
+ * UIProcess/WebContext.h:
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ Set domain relaxation forbidden for the schemes in
+ WebProcesCreationParameters.urlSchemesForWhichDomainRelaxationIsForbidden.
+ (WebKit::WebProcess::setDomainRelaxationForbiddenForURLScheme):
+ * WebProcess/WebProcess.h:
+
+ * WebProcess/WebProcess.messages.in:
+ Add the SetDomainRelaxationFobiddenForURLScheme message.
+
+2010-10-13 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Simplify code generation in WebKit2/DerivedSources.pro
+ https://bugs.webkit.org/show_bug.cgi?id=47543
+
+ * DerivedSources.pro: General generator rules added instead of copy/paste code to converge Makefile.DerivedSources.
+ * WebKit2.pro: PluginProcess' headers and sources added.
+
+2010-10-13 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Use flag instead of magic word to mark memory map free/used
+
+ Original patch by Antti Koivisto.
+
+ * Shared/qt/MappedMemory.h:
+ (WebKit::MappedMemory::mapSize):
+ (WebKit::MappedMemory::markUsed):
+ (WebKit::MappedMemory::markFree):
+ (WebKit::MappedMemory::isFree):
+ (WebKit::MappedMemory::data):
+ * Shared/qt/MappedMemoryPool.cpp:
+ (WebKit::MappedMemoryPool::cleanUp):
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::mapMemory):
+ (WebKit::mapFile):
+ (WebKit::UpdateChunk::data):
+ (WebKit::UpdateChunk::decode):
+
+2010-10-12 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Build fix. Unreviewed.
+
+ * win/WebKit2Generated.make:
+ Copy over WKBundleHitTestResult.h.
+
+2010-10-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin "Sometimes" Barraclough.
+
+ Add API to get the target frame from a HitTestResult.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
+ (WKBundleHitTestResultGetFrame):
+ (WKBundleHitTestResultGetTargetFrame):
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
+ (WebKit::InjectedBundleHitTestResult::frame): Rename from webFrame.
+ (WebKit::InjectedBundleHitTestResult::targetFrame):
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
+
+2010-10-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Paint the find overlay background
+ https://bugs.webkit.org/show_bug.cgi?id=47565
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+ Don't show the overlay if we have too many matches.
+
+ * WebProcess/WebPage/FindPageOverlay.cpp:
+ (WebKit::FindPageOverlay::rectsForTextMatches):
+ Get the rects for all text matches.
+
+ (WebKit::FindPageOverlay::drawRect):
+ Assert that we're only being called if there are any text matches.
+ Paint the background.
+
+2010-10-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ When a provisional load fails, the provisional URL returned
+ from WKFrameCopyProvisionalURL should be empty
+ <rdar://problem/8540878>
+ https://bugs.webkit.org/show_bug.cgi?id=47546
+
+ API Tests: FailedLoad (updated).
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didFailProvisionalLoad): Empty out the provisional URL.
+
+2010-10-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Start fleshing out find page overlays
+ https://bugs.webkit.org/show_bug.cgi?id=47559
+
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toFindOptions):
+ Handle the kWKFindOptionsShowFindIndicator flag.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::FindController):
+ Initialize the find page overlay.
+
+ (WebKit::FindController::findString):
+ Hide or show the find page overlay.
+
+ (WebKit::FindController::findPageOverlayDestroyed):
+ Null out the find page overlay.
+
+ * WebProcess/WebPage/FindPageOverlay.cpp: Added.
+ * WebProcess/WebPage/FindPageOverlay.h: Added.
+ Add stubbed out FindPageOverlay class.
+
+ * WebProcess/WebPage/PageOverlay.cpp: Added.
+ (WebKit::PageOverlay::setPage):
+ Set the parent web page.
+
+ (WebKit::PageOverlay::setNeedsDisplay):
+ Invalidate the parent web page.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::drawRect):
+ If there's a page overlay, ask it to draw on top of the page contents.
+
+ (WebKit::WebPage::installPageOverlay):
+ Set the page overlay.
+
+ (WebKit::WebPage::uninstallPageOverlay):
+ Clear the page overlay.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-10-12 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Add ability for WK2 to register a scheme as secure.
+ https://bugs.webkit.org/show_bug.cgi?id=47557
+
+ Add the schemes that need to be registered as secure to the WebProcessCreationParameters.
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextRegisterURLSchemeAsSecure):
+ * UIProcess/API/C/WKContextPrivate.h:
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ Copy over the schemes that are to be registered as secure to the
+ WebProcessCreationParameters.
+ (WebKit::WebContext::registerURLSchemeAsSecure):
+ Only send a message to the WebProcess if it is valid.
+ * UIProcess/WebContext.h:
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ Register the schemes that need to be registered as secure from the
+ WebProcessCreationParameters.
+ (WebKit::WebProcess::registerURLSchemeAsSecure):
+ * WebProcess/WebProcess.h:
+
+ * WebProcess/WebProcess.messages.in:
+ Add the RegisterURLSchemeAsSecure message.
+
+2010-10-12 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=47556
+ WKBundleNodeHandlePrivate.h should be marked private, not project
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Marked WKBundleNodeHandlePrivate.h as private.
+
+2010-10-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add FindController class
+ https://bugs.webkit.org/show_bug.cgi?id=47555
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebPage/FindController.cpp: Added.
+ (WebKit::FindController::FindController):
+ (WebKit::FindController::findString):
+ Ask WebCore to find the given string for us.
+
+ (WebKit::FindController::hideFindUI):
+ Add stub.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ Initialize the find controller.
+
+ (WebKit::WebPage::findString):
+ (WebKit::WebPage::hideFindUI):
+ Call the find controller.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-10-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Need WebKit2 API to get the cell above a table cell
+ <rdar://problem/8537111>
+ https://bugs.webkit.org/show_bug.cgi?id=47532
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::copyHTMLTableCellElementCellAbove):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+
+2010-10-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add BinarySemaphore class to CoreIPC and use it in Connection::waitForSyncReply
+ https://bugs.webkit.org/show_bug.cgi?id=47526
+
+ * Platform/CoreIPC/BinarySemaphore.cpp: Added.
+ * Platform/CoreIPC/BinarySemaphore.h: Added.
+ Add BinarySemaphore class.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendSyncMessage):
+ (CoreIPC::Connection::waitForSyncReply):
+ (CoreIPC::Connection::processIncomingMessage):
+ Use the binary semaphore and the newly added m_pendingSyncRepliesMutex.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-10-12 Adam Roben <aroben@apple.com>
+
+ Bring WebKit2 .vcproj files up-to-date with reality
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.vcproj:
+ Added missing files, removed non-existent files.
+
+2010-10-12 Mark Rowe <mrowe@apple.com>
+
+ Fix the 32-bit WebKit2 build.
+
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Change currentIndex to be of
+ type CFIndex and specify kCFNumberCFIndexType when calling CFNumberGetValue. This avoids a warning
+ when comparing currentIndex with another variable of type CFIndex later in the function.
+
+2010-10-12 Mark Rowe <mrowe@apple.com>
+
+ Fix class vs struct forward declaration issues in WebKit2 observed when using clang.
+
+ * Scripts/webkit2/messages.py: Add WebCore::ViewportArguments to the set of structs.
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.h:
+
+2010-10-12 Juha Savolainen <juha.savolainen@weego.fi>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Adding Qt WebKit2 API for zooming.
+ https://bugs.webkit.org/show_bug.cgi?id=47539
+
+ Adding zoom methods to QWKPage.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::textZoomFactor): Added
+ (QWKPage::setTextZoomFactor): Added
+ (QWKPage::pageZoomFactor): Added
+ (QWKPage::setPageZoomFactor): Added
+ (QWKPage::setPageAndTextZoomFactors): Added
+ * UIProcess/API/qt/qwkpage.h:
+
+2010-10-11 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler of the past.
+
+ Address some of Darin's review feedback in https://bugs.webkit.org/show_bug.cgi?id=47354
+ that wasn't left till after my original commit.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageCopySessionState): Nuke the temporary variable.
+ * UIProcess/API/C/WKPage.h:
+
+ * UIProcess/WebPageProxy.h: Fix up function declarations.
+
+ * UIProcess/cf/WebPageProxyCF.cpp:
+ (WebKit::WebPageProxy::sessionStateData): Use sizeof(UInt32) instead of 4.
+ (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto.
+
+2010-10-11 Brady Eidson <beidson@apple.com>
+
+ Reviewed by BUILD FIX.
+
+ Build fix for Windows in https://bugs.webkit.org/show_bug.cgi?id=47354
+
+ * UIProcess/cf/WebPageProxyCF.cpp:
+ (WebKit::WebPageProxy::sessionStateData): Change to use CF APIs that exist on Windows.
+ (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto.
+
+2010-10-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add WebKit2 equivalents for setValueForUser and setAutofilled
+ <rdar://problem/8475934>
+ https://bugs.webkit.org/show_bug.cgi?id=47524
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleSetHTMLInputElementValueForUser):
+ (WKBundleNodeHandleSetHTMLInputElementAutofilled):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser):
+ (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+
+2010-10-11 Brian Weinstein <bweinstein@apple.com>
+
+ Windows build fix. Add a needed include.
+
+ * UIProcess/cf/WebPageProxyCF.cpp:
+
+2010-10-11 Brian Weinstein <bweinstein@apple.com>
+
+ Windows build fix. Wrap calls to CFSTR in parentheses.
+
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ * UIProcess/cf/WebPageProxyCF.cpp:
+
+2010-10-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add ability to convert from a JSObjectRef back to a WKBundleNodeHandleRef
+ https://bugs.webkit.org/show_bug.cgi?id=47509
+
+ Add SPI to convert a JSObjectRef to a WKBundleNodeHandleRef.
+
+ * DerivedSources.pro:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleCreate):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: Added.
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::getOrCreate):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-10-11 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler and Sam Weinig.
+
+ <rdar://problem/8262202> and https://bugs.webkit.org/show_bug.cgi?id=47354
+ Need WKPage API for serializing and restoring a page's state
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+ * WebKit2Prefix.h: Add DEFINE_STATIC_GETTER convenience.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetSessionHistoryURLValueType):
+ (WKPageCopySessionState): Change to use a filter function to allow the API client to decide what
+ types of things get serialized as session state. For now it only filters based on URL in
+ session history entries.
+ (WKPageRestoreFromSessionState):
+ * UIProcess/API/C/WKPage.h:
+
+ * UIProcess/WebBackForwardList.h:
+ (WebKit::WebBackForwardList::restoredCurrentURL):
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::sessionStateData): Leave stubs for non-CF platform builds.
+ (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto.
+ * UIProcess/WebPageProxy.h:
+
+ * UIProcess/cf: Added.
+ * UIProcess/cf/WebBackForwardListCF.cpp: Added.
+ (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Store back/forward list info CF property list style.
+ (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Restore from that data - but for now we don't
+ actually put the back/forward list back into place and instead only remember the current URL.
+
+ * UIProcess/cf/WebPageProxyCF.cpp: Added.
+ (WebKit::WebPageProxy::sessionStateData): Create the sessions state date CF property list style, plus a version header.
+ (WebKit::WebPageProxy::restoreFromSessionStateData): Restore from that property list style session state data.
+
+2010-10-11 Adam Roben <aroben@apple.com>
+
+ Implement SharedMemory on Windows
+
+ This makes visited links be colored correctly.
+
+ Fixes <http://webkit.org/b/47499> <rdar://problem/8422725>.
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/SharedMemory.h: Add Windows-specific members to
+ SharedMemory and SharedMemory::Handle.
+
+ * Platform/win/SharedMemoryWin.cpp:
+ (WebKit::SharedMemory::Handle::Handle): Initialize our members.
+ (WebKit::SharedMemory::Handle::~Handle): Close our HANDLE if we have
+ one.
+ (WebKit::SharedMemory::Handle::encode): Encode our size, HANDLE, and
+ PID. Null out our HANDLE member, as it is now the receiving process's
+ responsibility to close the HANDLE.
+ (WebKit::SharedMemory::Handle::decode): Copy the handle from the
+ sending process into the receiving process and close the HANDLE the
+ sending process gave us.
+ (WebKit::SharedMemory::create): Map some memory and store it in a new
+ SharedMemory object.
+ (WebKit::accessRights): Helper function to convert a
+ SharedMemory::Protection to a file-mapping access right.
+ (WebKit::SharedMemory::create): Map the memory represented by the
+ Handle, and adopt the HANDLE from it.
+ (WebKit::SharedMemory::~SharedMemory): Clean up our memory mapping.
+ (WebKit::SharedMemory::createHandle): Give the Handle a copy of our
+ HANDLE with the specified protection.
+
+2010-10-11 Adam Roben <aroben@apple.com>
+
+ Make it possible to restart a RunLoop::Timer on Windows
+
+ Fixes <http://webkit.org/b/47505> RunLoop::Timer only ever fires once
+ on Windows
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/win/RunLoopWin.cpp:
+ (RunLoop::TimerBase::timerFired): Remove non-repeating timers from the
+ set of active timers when they fire, just like we do when stopping
+ them manually.
+
+2010-10-11 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add Private API for creating a WebKit2 WebSerializedScriptValue from the internal
+ representation of a WebKit1 WebSerializedJSValue.
+ https://bugs.webkit.org/show_bug.cgi?id=47439
+
+ * Shared/API/c/WKSerializedScriptValue.cpp:
+ (WKSerializedScriptValueCreateWithInternalRepresentation):
+ Use the existing WebSerializedScriptValue constructor that takes a pointer to the internal
+ representation (a WebCore::SerializedScriptValue).
+ * Shared/API/c/WKSerializedScriptValuePrivate.h:
+
+2010-10-11 Mike Thole <mthole@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Rename WKCertificateInfoGetPeerCertificates() to WKCertificateInfoGetCertificateChain()
+ https://bugs.webkit.org/show_bug.cgi?id=47495
+
+ * Shared/API/c/mac/WKCertificateInfoMac.h:
+ Renamed WKCertificateInfoGetPeerCertificates() to WKCertificateInfoGetCertificateChain()
+ * Shared/API/c/mac/WKCertificateInfoMac.mm:
+ (WKCertificateInfoGetCertificateChain): Updated for name change.
+ * Shared/mac/PlatformCertificateInfo.h:
+ (WebKit::PlatformCertificateInfo::certificateChain): Renamed from peerCertificates()
+ * Shared/mac/PlatformCertificateInfo.mm:
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Updated for name change.
+ (WebKit::PlatformCertificateInfo::encode): Ditto.
+ (WebKit::PlatformCertificateInfo::decode): Ditto.
+ (WebKit::PlatformCertificateInfo::dump): Ditto.
+
+2010-10-11 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Issue a warning when an InjectedBundle can't be loaded.
+ https://bugs.webkit.org/show_bug.cgi?id=47497
+
+ The original author of the patch is Jocelyn Turcotte <jocelyn.turcotte@nokia.com>.
+
+ * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
+ (WebKit::InjectedBundle::load):
+
+2010-10-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Rename transformToDeviceSpace to convertToDeviceSpace and
+ transformToUserSpace to convertToUserSpace at Simon's request.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::convertToDeviceSpace):
+ (WebKit::PageClientImpl::convertToUserSpace):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _convertToDeviceSpace:]):
+ (-[WKView _convertToUserSpace:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::convertToDeviceSpace):
+ (QWKPagePrivate::convertToUserSpace):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setWindowFrame):
+ (WebKit::WebPageProxy::getWindowFrame):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::convertToDeviceSpace):
+ (WebKit::WebView::convertToUserSpace):
+ * UIProcess/win/WebView.h:
+
+2010-10-11 Sam Weinig <sam@webkit.org>
+
+ Try to fix the Mac release build.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _transformToDeviceSpace:]):
+ (-[WKView _transformToUserSpace:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+
+2010-10-11 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ WebProcess ASSERTs with a null application cache dir creation parameter
+ https://bugs.webkit.org/show_bug.cgi?id=47489
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+
+2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ Unlink the files used for I/O mapped memory as soon as they are
+ created.
+
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::mapMemory):
+ (WebKit::mapFile):
+
+2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Rubberstamped by Andreas Kling.
+
+ Build fix when using MeeGo Touch
+
+ * WebProcess/qt/WebProcessMainQt.cpp:
+
+2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ Use raster for the QtWebProcess.
+
+ * WebProcess/qt/WebProcessMainQt.cpp:
+ (WebKit::WebProcessMainQt):
+
+2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Unreviewed win build fix.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+
+2010-10-08 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Sam Weinig.
+
+ Adding Qt WebKit2 API for dealing with viewport meta info
+ https://bugs.webkit.org/show_bug.cgi?id=47202
+
+ Add new API for setting scale and layout viewport given the data
+ provided by the viewport meta tag.
+
+ Any Qt view components who wants to support this, will need to
+ compute the viewport attributes before first load using
+ viewportAttributesForSize(..), and then again everytime
+ the viewport attributes gets invalidates (loading a new page,
+ navigating page cache) or every time on of the browser
+ attributes change, such as when the device is rotates (which
+ changes the actual visible viewport). A signal
+ viewportChangeRequested() is provided for the former.
+
+ * Shared/WebCoreArgumentCoders.h:
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setViewportArguments):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::setViewportArguments):
+ (QWKPage::ViewportAttributes::ViewportAttributes):
+ (QWKPage::ViewportAttributes::~ViewportAttributes):
+ (QWKPage::ViewportAttributes::operator=):
+ (QWKPage::viewportAttributesForSize):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QtViewportAttributesPrivate::QtViewportAttributesPrivate):
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didChangeViewportData):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setViewportArguments):
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::dispatchViewportDataDidChange):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+2010-10-11 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] WebKit2 build scripts are buggy
+ https://bugs.webkit.org/show_bug.cgi?id=47377
+
+ Generated sources must depends on WebKit2/Scripts/webkit2/messages.py too.
+
+ * DerivedSources.pro: Missing dependencies added.
+
+2010-10-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ WKFrameGetFrameLoadState() returns kWKFrameLoadStateCommitted after the load has been stopped
+ <rdar://problem/8173667>
+ https://bugs.webkit.org/show_bug.cgi?id=47461
+
+ API Test: WebKit2/FailedLoad
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didFailProvisionalLoad):
+ (WebKit::WebFrameProxy::didFailLoad):
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didFailLoadForFrame):
+ Set the frame load state to LoadStateFinished for both didFailProvisionalLoadForFrame
+ and didFailLoadForFrame.
+
+2010-10-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Add WebKit2 version of runBeforeUnloadConfirmPanelWithMessage
+ <rdar://problem/8447690>
+ https://bugs.webkit.org/show_bug.cgi?id=47459
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setWindowFrame):
+ (WebKit::WebPageProxy::getWindowFrame):
+ (WebKit::WebPageProxy::canRunBeforeUnloadConfirmPanel):
+ (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::canRunBeforeUnloadConfirmPanel):
+ (WebKit::WebUIClient::runBeforeUnloadConfirmPanel):
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::canRunBeforeUnloadConfirmPanel):
+ (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
+ Pipe calls through to the UIProcess.
+
+2010-10-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Need implementation of ChromeClient windowRect related functions.
+ <rdar://problem/8469476>
+ https://bugs.webkit.org/show_bug.cgi?id=47386
+
+ * Shared/API/c/WKGeometry.h: Added.
+ Adds WKPoint, WKSize and WKRect structs.
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toImpl):
+ (WebKit::toAPI):
+ Add conversion functions for WKRect.
+
+ * Shared/WebCoreArgumentCoders.h:
+ Add encoding for FloatPoint, FloatSize and FloatRect.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::transformToDeviceSpace):
+ (WebKit::PageClientImpl::transformToUserSpace):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _transformToDeviceSpace:]):
+ (-[WKView _transformToUserSpace:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::transformToDeviceSpace):
+ (QWKPagePrivate::transformToUserSpace):
+ (QWKPage::QWKPage):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setWindowFrame):
+ (WebKit::WebPageProxy::getWindowFrame):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::setWindowFrame):
+ (WebKit::WebUIClient::windowFrame):
+ * UIProcess/WebUIClient.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setEditCommandState):
+ (WebKit::WebView::transformToDeviceSpace):
+ (WebKit::WebView::transformToUserSpace):
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setWindowFrame):
+ (WebKit::WebChromeClient::windowFrame):
+ Pipe calls through to the UIProcess, and give ports a chance to transform
+ the rect (via the PageClient) before it is passed on.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2010-10-07 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add Private API for creating a WebKit1 WebSerializedJSValue from the internal
+ representation of a WebKit2 WebSerializedScriptValue.
+ https://bugs.webkit.org/show_bug.cgi?id=47390
+
+ * Shared/API/c/WKSerializedScriptValue.cpp:
+ (WKSerializedScriptValueGetInternalRepresentation):
+ * Shared/API/c/WKSerializedScriptValuePrivate.h: Added.
+
+ * Shared/WebSerializedScriptValue.h:
+ (WebKit::WebSerializedScriptValue::internalRepresentation):
+ Return the WebCore::SerializedScriptValue as a void* so that it can be passed through the
+ API.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add WKSerializedScriptValuePrivate.h.
+ * win/WebKit2.vcproj:
+ Ditto, also some sorting.
+
+ * win/WebKit2Generated.make:
+ Copy over WKSerializedScriptValuePrivate.h.
+
+2010-10-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Fix WKStringQt.h and WKURLQt.h API problems.
+ https://bugs.webkit.org/show_bug.cgi?id=47412
+
+ * UIProcess/API/cpp/qt/WKStringQt.h:
+ Remove the extern "C"
+ * UIProcess/API/cpp/qt/WKURLQt.h:
+ Remove the extern "C"
+ * UIProcess/API/qt/qgraphicswkview.h:
+ Fix the forwarded declaration
+
+2010-10-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Don't use -whole-archive to link-in libWebKit2.a except for libQtWebKit.so
+ https://bugs.webkit.org/show_bug.cgi?id=47347
+
+ * WebKit2.pri:
+
+2010-10-08 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ Notify WebPage when QGraphicsWKView gains focus. Set both
+ active flag and focused flag, similar to QWebPage behavior.
+
+ [Qt] WebKit2 should support focusing
+ https://bugs.webkit.org/show_bug.cgi?id=47168
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::focusInEvent): Added.
+ (QGraphicsWKView::focusOutEvent): Added.
+ * UIProcess/API/qt/qgraphicswkview.h: Added declarations.
+
+2010-10-07 Ivan Krstić <ike@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ <rdar://problem/8349882> Many WebProcess sandbox violations during basic browsing operations.
+
+ * WebProcess/com.apple.WebProcess.sb:
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+
+2010-10-07 Brady Eidson <beidson@apple.com>
+
+ Build fix.
+
+ GCC continued to mask the fact that I still hadn't declared the correct symbol.
+
+ * Platform/Logging.cpp:
+ (initializeLogChannel):
+ * Platform/Logging.h:
+
+2010-10-07 Brian Weinstein <bweinstein@apple.com>
+
+ Build Fix. Fix the vcproj to make it valid and openable by Visual Studio.
+
+ * win/WebKit2.vcproj:
+
+2010-10-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a WKPageFindClient, hook up WKPageCountStringMatches
+ https://bugs.webkit.org/show_bug.cgi?id=47373
+
+ * Shared/APIClient.h: Added.
+ Add an APIClient class template which can be used to reduce duplicated
+ code in the client wrappers.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetPageFindClient):
+ Initialize the page find client.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebFindClient.cpp: Added.
+ (WebKit::WebFindClient::didCountStringMatches):
+ Call the WKPageFindClient function.
+
+ * UIProcess/WebFindClient.h: Added.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeFindClient):
+ Initialize the WebFindClient.
+
+ (WebKit::WebPageProxy::findString):
+ Send a FindString message.
+
+ (WebKit::WebPageProxy::hideFindUI):
+ Send a HideFindUI message.
+
+ (WebKit::WebPageProxy::countStringMatches):
+ Send a CountStringMatches message.
+
+ (WebKit::WebPageProxy::didCountStringMatches):
+ Call the find client.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add new message.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::findString):
+ (WebKit::WebPage::hideFindUI):
+ Add stubs.
+
+ (WebKit::WebPage::countStringMatches):
+ Figure out the number of matches and send them back in the DidCountStringMatches msessage.
+
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add new messages.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-10-07 Sam Weinig <sam@webkit.org>
+
+ Update unit tests results.
+
+ * Scripts/webkit2/messages_unittest.py:
+
+2010-10-07 Brady Eidson <beidson@apple.com>
+
+ Reviewed by BUILD FIX for non-gcc builds.
+
+ * Platform/Logging.cpp:
+ (initializeLogChannel): GCC optimized out the only caller of this function. Windows doesn't, and is breaking.
+
+2010-10-07 Darin Adler <darin@apple.com>
+
+ Fix include mistake that makes build fail with non-Objective-C.
+
+ * Shared/API/c/mac/WKCertificateInfoMac.h: Include CoreFoundation.h,
+ not Foundation.h.
+
+2010-10-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Generate the messages sent to the WebPageProxy
+ https://bugs.webkit.org/show_bug.cgi?id=47239
+
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ * Platform/CoreIPC/Arguments.h:
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ * Scripts/webkit2/messages.py:
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Removed.
+ * Shared/StringPairVector.h: Added.
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::registerEditCommand):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::registerEditCommand):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebEditCommandProxy.cpp:
+ (WebKit::WebEditCommandProxy::unapply):
+ (WebKit::WebEditCommandProxy::reapply):
+ * UIProcess/WebFormClient.cpp:
+ (WebKit::WebFormClient::willSubmitForm):
+ * UIProcess/WebFormClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in: Added.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::registerEditCommand):
+ * UIProcess/win/WebView.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::registerCommandForUndo):
+ (WebKit::WebEditorClient::clearUndoRedoOperations):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ * WebProcess/WebPage/WebPage.cpp:
+ * win/WebKit2.vcproj:
+
+2010-10-07 Brady Eidson <beidson@apple.com>
+
+ Reviewed by BUILD FIX.
+
+ Forgot this to keep the build working.
+
+ * WebKit2Prefix.h:
+
+2010-10-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Start stubbing out the find API
+ https://bugs.webkit.org/show_bug.cgi?id=47366
+ <rdar://problem/8524998>
+
+ * Shared/FindOptions.h: Added.
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toFindDirection):
+ (WebKit::toFindOptions):
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageFindString):
+ (WKPageHideFindUI):
+ (WKPageCountStringMatches):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::findString):
+ (WebKit::WebPageProxy::hideFindUI):
+ (WebKit::WebPageProxy::countStringMatches):
+ * UIProcess/WebPageProxy.h:
+
+2010-10-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Andras Becsi <abecsi@webkit.org>, Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add WTR's InjectedBundle build files.
+ https://bugs.webkit.org/show_bug.cgi?id=47333
+
+ * WebKit2.pro:
+
+2010-10-07 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Part of https://bugs.webkit.org/show_bug.cgi?id=47354 - Add WebCore/WebKit1 style logging channel mechanism0 to WebKit2,
+ including the first channel to be used for SessionState work.
+
+ * Platform/Logging.cpp: Added.
+ (initializeLogChannelsIfNecessary):
+ * Platform/Logging.h: Added.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-10-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r69315.
+ http://trac.webkit.org/changeset/69315
+ https://bugs.webkit.org/show_bug.cgi?id=47363
+
+ Forgot to add the new files (Requested by kbalazs on #webkit).
+
+ * WebKit2.pro:
+
+2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fixing viewport meta tag user-scalable handling
+ https://bugs.webkit.org/show_bug.cgi?id=47330
+
+ user-scalable attribute was not considered in viewport meta tag handling.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::viewportConfigurationForSize):
+
+2010-10-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Andras Becsi <abecsi@webkit.org>, Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add WTR's InjectedBundle build files.
+ https://bugs.webkit.org/show_bug.cgi?id=47333
+
+ * WebKit2.pro:
+
+2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Some viewport meta tag api refactoring
+ https://bugs.webkit.org/show_bug.cgi?id=47334
+
+ WebCore::findConfigurationForViewportData renamed to computeViewportAttributes.
+ WebCore::ViewportAttributes::layoutViewport renamed to layoutSize.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::viewportConfigurationForSize):
+
+2010-10-06 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Bundle should expose a reportException method.
+ https://bugs.webkit.org/show_bug.cgi?id=46769
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleReportException):
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::reportException):
+ Mimic the behavior of WebView::reportException.
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+
+2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Adam Roben.
+
+ [Qt] Webkit2 MacOS build fix
+ https://bugs.webkit.org/show_bug.cgi?id=47167
+
+ There were two problems when building Qt WebKit2 in Mac. The first was that
+ ld does not support flag -whole-archive and it needed to be replaced by flag -all_load.
+ The second problem was that __APPLE__ is been used to identify safari builds and, when
+ building Qt in MacOS, Qt was ending up using the wrong typedef. The solution was to use
+ a Qt specific WKNativeEvent.h that only has the proper Qt typedef instead of the original one.
+
+ * UIProcess/API/C/qt/WKNativeEvent.h: Added.
+ * WebKit2.pri:
+ * WebKit2.pro:
+
+2010-10-07 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ WebKitTestRunner should be portable
+ https://bugs.webkit.org/show_bug.cgi?id=45393
+
+ Introducing additional URL API.
+ * Shared/API/c/WKURL.cpp:
+ (WKURLCreateWithUTF8CString):
+ (WKURLIsEqual):
+ * Shared/API/c/WKURL.h:
+
+2010-10-06 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add WebKitTestRunner's build files
+ https://bugs.webkit.org/show_bug.cgi?id=44155
+
+ * DerivedSources.pro: Changes according the new location
+ of generate-forwarding-headers.pl.
+ * UIProcess/API/C/WebKit2.h: Do not check the value of the
+ __APPLE__ define if it is not defined.
+ * WebKit2.pro: Changes according the new location
+ of generate-forwarding-headers.pl. Added missing files
+ to the build that provides API that is used by WTR.
+ * generate-forwarding-headers.pl: Moved to WebKitTools/Scripts
+ since from now this is not only used by WebKit2.
+
+2010-10-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Separate actually calling the member function from decoding/encoding arguments
+ and remove any ambiguities when calling the function.
+
+ * Platform/CoreIPC/Arguments.h:
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ (CoreIPC::handleMessage):
+
+2010-10-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More Arguments.h cleanup.
+
+ * Platform/CoreIPC/Arguments.h:
+ * Platform/CoreIPC/HandleMessage.h:
+ Remove unnecessary typedefs, simplify.
+
+ * Scripts/webkit2/messages.py:
+ * UIProcess/WebContext.h:
+ Fix clang++ build.
+
+2010-10-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Start cleaning up Arguments.h
+ https://bugs.webkit.org/show_bug.cgi?id=47304
+
+ This is a first step towards simplifying all the handleMessage overloads we have.
+
+ * Platform/CoreIPC/Arguments.h:
+ (CoreIPC::Arguments1):
+ Make Arguments1 a struct and get rid of the FirstArgumentType typedef. Instead, add a
+ ValueType typedef which is defined to an Arguments1 type whose type parameter is not
+ a reference type.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ Update for the Arguments1 change. Rename "arguments" to "argumentDecoder" and "reply" to
+ "replyEncoder".
+
+2010-10-06 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix the build after API changes introduced in r69214.
+
+ * UIProcess/API/cpp/qt/WKStringQt.cpp:
+ (WKStringCreateWithQString):
+ * UIProcess/API/cpp/qt/WKURLQt.cpp:
+ (WKURLCreateWithQUrl):
+
+2010-10-06 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r69210.
+ http://trac.webkit.org/changeset/69210
+ https://bugs.webkit.org/show_bug.cgi?id=47297
+
+ This patch broke Windows (Requested by andersca on #webkit).
+
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ * Platform/CoreIPC/Arguments.h:
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ * Scripts/webkit2/messages.py:
+ * Scripts/webkit2/messages_unittest.py:
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added.
+ * Shared/StringPairVector.h: Removed.
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::registerEditCommand):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::registerEditCommand):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebEditCommandProxy.cpp:
+ (WebKit::WebEditCommandProxy::unapply):
+ (WebKit::WebEditCommandProxy::reapply):
+ * UIProcess/WebFormClient.cpp:
+ (WebKit::WebFormClient::willSubmitForm):
+ * UIProcess/WebFormClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didCommitLoadForFrame):
+ (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
+ (WebKit::WebPageProxy::didFinishLoadForFrame):
+ (WebKit::WebPageProxy::didFailLoadForFrame):
+ (WebKit::WebPageProxy::didReceiveTitleForFrame):
+ (WebKit::WebPageProxy::didFirstLayoutForFrame):
+ (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
+ (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
+ (WebKit::WebPageProxy::decidePolicyForMIMEType):
+ (WebKit::WebPageProxy::willSubmitForm):
+ (WebKit::WebPageProxy::createNewPage):
+ (WebKit::WebPageProxy::runJavaScriptAlert):
+ (WebKit::WebPageProxy::runJavaScriptConfirm):
+ (WebKit::WebPageProxy::runJavaScriptPrompt):
+ (WebKit::WebPageProxy::mouseDidMoveOverElement):
+ (WebKit::WebPageProxy::contentsSizeChanged):
+ (WebKit::WebPageProxy::addItemToBackForwardList):
+ (WebKit::WebPageProxy::goToItemInBackForwardList):
+ (WebKit::WebPageProxy::registerEditCommandForUndo):
+ (WebKit::WebPageProxy::registerEditCommandForRedo):
+ (WebKit::WebPageProxy::didReceiveEvent):
+ (WebKit::WebPageProxy::didChangeAcceleratedCompositing):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in: Removed.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::registerEditCommand):
+ * UIProcess/win/WebView.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setWindowRect):
+ (WebKit::WebChromeClient::takeFocus):
+ (WebKit::WebChromeClient::createWindow):
+ (WebKit::WebChromeClient::runJavaScriptAlert):
+ (WebKit::WebChromeClient::runJavaScriptConfirm):
+ (WebKit::WebChromeClient::runJavaScriptPrompt):
+ (WebKit::WebChromeClient::setStatusbarText):
+ (WebKit::WebChromeClient::contentsSizeChanged):
+ (WebKit::WebChromeClient::mouseDidMoveOverElement):
+ (WebKit::WebChromeClient::setToolTip):
+ (WebKit::WebChromeClient::setCursor):
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::registerCommandForUndo):
+ (WebKit::WebEditorClient::clearUndoRedoOperations):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::detachedFromParent2):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
+ (WebKit::WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
+ (WebKit::WebFrameLoaderClient::postProgressStartedNotification):
+ (WebKit::WebFrameLoaderClient::postProgressEstimateChangedNotification):
+ (WebKit::WebFrameLoaderClient::postProgressFinishedNotification):
+ (WebKit::WebFrameLoaderClient::createFrame):
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::addItem):
+ (WebKit::WebBackForwardListProxy::goToItem):
+ (WebKit::WebBackForwardListProxy::backItem):
+ (WebKit::WebBackForwardListProxy::currentItem):
+ (WebKit::WebBackForwardListProxy::forwardItem):
+ (WebKit::WebBackForwardListProxy::itemAtIndex):
+ (WebKit::WebBackForwardListProxy::backListCount):
+ (WebKit::WebBackForwardListProxy::forwardListCount):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+ (WebKit::WebPage::enterAcceleratedCompositingMode):
+ (WebKit::WebPage::sendClose):
+ (WebKit::WebPage::mouseEvent):
+ (WebKit::WebPage::wheelEvent):
+ (WebKit::WebPage::keyEvent):
+ (WebKit::WebPage::validateMenuItem):
+ (WebKit::WebPage::touchEvent):
+ (WebKit::WebPage::show):
+ (WebKit::WebPage::runJavaScriptInMainFrame):
+ (WebKit::WebPage::getRenderTreeExternalRepresentation):
+ (WebKit::WebPage::getSourceForFrame):
+ * win/WebKit2.vcproj:
+
+2010-10-06 Jessie Berlin <jberlin@apple.com>
+
+ Rubber-stamped by Dan Bernstein.
+
+ WKSerializedScriptValue.h needs to be copied over into the WEBKITOUTPUTDIR on Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=47287
+
+ * win/WebKit2Generated.make:
+ Copy WKSerializedScriptValue.h into $(WEBKITOUTPUTDIR)\include\WebKit2.
+
+2010-10-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename toRef/toWK to toAPI/toImpl
+ https://bugs.webkit.org/show_bug.cgi?id=47281
+
+ * Shared/API/c/WKArray.cpp:
+ * Shared/API/c/WKCertificateInfo.cpp:
+ * Shared/API/c/WKData.cpp:
+ * Shared/API/c/WKDictionary.cpp:
+ * Shared/API/c/WKError.cpp:
+ * Shared/API/c/WKMutableArray.cpp:
+ * Shared/API/c/WKMutableDictionary.cpp:
+ * Shared/API/c/WKNumber.cpp:
+ * Shared/API/c/WKSerializedScriptValue.cpp:
+ * Shared/API/c/WKSharedAPICast.h:
+ * Shared/API/c/WKString.cpp:
+ * Shared/API/c/WKType.cpp:
+ * Shared/API/c/WKURL.cpp:
+ * Shared/API/c/WKURLRequest.cpp:
+ * Shared/API/c/WKURLResponse.cpp:
+ * Shared/API/c/cf/WKStringCF.cpp:
+ * Shared/API/c/cf/WKURLCF.cpp:
+ * Shared/API/c/cf/WKURLRequestCF.cpp:
+ * Shared/API/c/cf/WKURLResponseCF.cpp:
+ * Shared/API/c/mac/WKCertificateInfoMac.mm:
+ * Shared/API/c/mac/WKURLRequestNS.mm:
+ * Shared/API/c/mac/WKURLResponseNS.mm:
+ * Shared/API/c/win/WKCertificateInfoWin.cpp:
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBackForwardList.cpp:
+ * UIProcess/API/C/WKBackForwardListItem.cpp:
+ * UIProcess/API/C/WKContext.cpp:
+ * UIProcess/API/C/WKFormSubmissionListener.cpp:
+ * UIProcess/API/C/WKFrame.cpp:
+ * UIProcess/API/C/WKFramePolicyListener.cpp:
+ * UIProcess/API/C/WKNavigationData.cpp:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPageNamespace.cpp:
+ * UIProcess/API/C/WKPreferences.cpp:
+ * UIProcess/API/C/WKPreferencesPrivate.cpp:
+ * UIProcess/API/C/win/WKContextWin.cpp:
+ * UIProcess/API/C/win/WKView.cpp:
+ * UIProcess/API/cpp/qt/WKStringQt.cpp:
+ * UIProcess/API/cpp/qt/WKURLQt.cpp:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ * UIProcess/API/mac/WKView.mm:
+ * UIProcess/API/qt/ClientImpl.cpp:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/GenericCallback.h:
+ * UIProcess/WebContextInjectedBundleClient.cpp:
+ * UIProcess/WebFormClient.cpp:
+ * UIProcess/WebHistoryClient.cpp:
+ * UIProcess/WebLoaderClient.cpp:
+ * UIProcess/WebPolicyClient.cpp:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
+ * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+ * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
+ * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
+
+2010-10-06 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
+ https://bugs.webkit.org/show_bug.cgi?id=47268
+
+ Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::viewportConfigurationForSize):
+
+2010-10-06 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Generate the messages sent to the WebPageProxy
+ https://bugs.webkit.org/show_bug.cgi?id=47239
+
+ * Platform/CoreIPC/Arguments.h:
+ Add additional typedefs.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ Add more handleMessage implementations.
+
+ * Scripts/webkit2/messages.py:
+ * Scripts/webkit2/messages_unittest.py:
+ Add headers for reply argument types.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Removed.
+
+ * Shared/StringPairVector.h: Added.
+ This file is a hack to work around a deficiency in the generator
+ which can't deal with class templates with more than one argument.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebEditCommandProxy.cpp:
+ * UIProcess/WebFormClient.cpp:
+ * UIProcess/WebFormClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ * WebProcess/WebPage/WebPage.cpp:
+ Migrate to generated calls.
+
+ * UIProcess/WebPageProxy.messages.in: Added.
+ New messages definitions file.
+
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ * win/WebKit2.vcproj:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+2010-10-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Send null events and mouse events
+ https://bugs.webkit.org/show_bug.cgi?id=47223
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add "-Wno-deprecated-declarations" to the COMPILER_FLAGS for NetscapePluginMac.mm since
+ we call Button() which is deprecated.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize the null event timer.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ Start the null event timer.
+
+ (WebKit::NetscapePlugin::platformDestroy):
+ Stop the null event timer.
+
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ Initialize the event record and call NPP_HandleEvent.
+
+ (WebKit::NetscapePlugin::nullEventTimerFired):
+ Send a null event with the current mouse position.
+
+2010-10-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Start sending Carbon plug-in events in th Carbon event model
+ https://bugs.webkit.org/show_bug.cgi?id=47209
+ <rdar://problem/8515677>
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize the NP_CGContext struct.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ Create a fake Carbon window.
+
+ (WebKit::NetscapePlugin::platformDestroy):
+ Destroy the Carbon window.
+
+ (WebKit::modifiersForEvent):
+ Given a WebEvent, return the EventRecord modifiers.
+
+ (WebKit::NetscapePlugin::platformPaint):
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ (WebKit::NetscapePlugin::platformHandleWheelEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
+ (WebKit::NetscapePlugin::platformSetFocus):
+ (WebKit::NetscapePlugin::windowFocusChanged):
+ Create Carbon EventRecords and call NPP_HandleEvent.
+
+2010-10-05 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Add MIMEType accessor to WKFrame
+ <rdar://problem/8347683>
+ https://bugs.webkit.org/show_bug.cgi?id=47138
+
+ Tests: WebKit2/FrameMIMETypePNG
+ WebKit2/FrameMIMETypeHTML
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameCopyMIMEType):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::setMIMEType):
+ (WebKit::WebFrameProxy::mimeType):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didCommitLoadForFrame):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+
+2010-10-05 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Implement API call for setting custom user agent
+ (QWKPage::setCustomUserAgent)
+
+ [Qt] Ability to set custom userAgent for WebKit2/WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=44265
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::setCustomUserAgent): Added.
+ * UIProcess/API/qt/qwkpage.h: Add setCustomUserAgent.
+
+2010-10-05 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r69103.
+ http://trac.webkit.org/changeset/69103
+ https://bugs.webkit.org/show_bug.cgi?id=47177
+
+ Breaking Windows and Mac build. (Requested by lca on #webkit).
+
+ * UIProcess/API/C/WKNativeEvent.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/qwkpage.h:
+ * WebKit2.pri:
+
+2010-10-05 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Webkit2 MacOS build fix
+ https://bugs.webkit.org/show_bug.cgi?id=47167
+
+ Qt WebKit2 MacOS build fix.
+
+ * UIProcess/API/C/WKNativeEvent.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/qwkpage.h:
+ * WebKit2.pri:
+
+2010-10-04 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix the build when sandboxing is enabled.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ * UIProcess/WebProcessProxy.cpp:
+
+2010-10-04 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed Csaba Osztrogonác.
+
+ [Qt] Build fix after r69037.
+ Also remove dummy setUpAcceleratedCompositing() from the source file,
+ since it has been removed from the header.
+
+ * UIProcess/WebProcessProxy.cpp:
+
+2010-10-04 Andras Becsi <abecsi@webkit.org>
+
+ Rubber-stamped by Csaba Osztrogonác.
+
+ [Qt] Fix the WebKit2 build after r69029.
+
+ * DerivedSources.pro:
+
+2010-10-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Change WebProcess initialization to be done with an
+ auxiliary struct.
+
+ * Platform/CoreIPC/mac/MachPort.h:
+ * Shared/WebProcessCreationParameters.cpp: Added.
+ (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h: Added.
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::WebProcessProxy):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ * UIProcess/mac/WebProcessProxyMac.mm: Removed.
+ * UIProcess/qt/WebContextQt.cpp:
+ (WebKit::WebContext::applicationCacheDirectory):
+ (WebKit::WebContext::platformInitializeWebProcess):
+ * UIProcess/win/WebContextWin.cpp:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in:
+ * win/WebKit2.vcproj:
+
+2010-10-04 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fixes after r68260 and r68686.
+
+ * Platform/CoreIPC/DataReference.h: Add include directive for
+ <inttypes.h>, needed for WinCairo build.
+ * Shared/win/PlatformCertificateInfo.cpp:
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+ Conditionalize logic specific to WebKitSystemInterface and
+ add a stub implementation for WinCairo.
+
+2010-10-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Generate messages sent to the WebProcess class.
+ https://bugs.webkit.org/show_bug.cgi?id=47097
+
+ * DerivedSources.make:
+ Add new file to generate and new directory to search.
+
+ * Scripts/webkit2/messages.py:
+ (forward_declarations_and_headers): Special case class templates.
+ (headers_for_type): Special case Vector.
+ * Scripts/webkit2/messages_unittest.py:
+ Make this script work for passing a templated type.
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h: Removed.
+
+ * UIProcess/VisitedLinkProvider.cpp:
+ (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::initializeHistoryClient):
+ (WebKit::WebContext::ensureWebProcess):
+ (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
+ (WebKit::WebContext::setCacheModel):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::WebProcessProxy): Always pass both
+ the bundle path and a key, even if the key is null, which it will be for
+ all non-mac builds for now.
+ * UIProcess/mac/WebProcessProxyMac.mm:
+ (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
+ * UIProcess/win/WebContextWin.cpp:
+ (WebKit::WebContext::setShouldPaintNativeControls):
+ (WebKit::WebContext::platformSetUpWebProcess):
+ Use the new syntax for sending the messages.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::setShouldTrackVisitedLinks):
+ (WebKit::WebProcess::setCacheModel):
+ (WebKit::WebProcess::setupAcceleratedCompositingPort):
+ (WebKit::WebProcess::setShouldPaintNativeControls):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ Convert to using generated didReceiveWebProcessMessage.
+
+ * WebProcess/WebProcess.messages.in: Added.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Update projects.
+
+2010-10-04 Sam Weinig <sam@webkit.org>
+
+ Fix the Mac build.
+
+ * WebProcess/mac/WebProcessMac.mm:
+
+2010-10-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add ability to set the CacheModel in Webkit2
+ https://bugs.webkit.org/show_bug.cgi?id=47066
+
+ Add WKContext function to set the cache model for the context.
+
+ * Shared/CacheModel.h: Added.
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toCacheModel):
+ (WebKit::toRef):
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetCacheModel):
+ (WKContextGetCacheModel):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::ensureWebProcess):
+ (WebKit::WebContext::setCacheModel):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::cacheModel):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ (WebKit::WebProcess::setCacheModel):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ * WebProcess/mac/WebProcessMac.mm: Added.
+ (WebKit::memorySize):
+ (WebKit::volumeFreeSize):
+ (WebKit::WebProcess::platformSetCacheModel):
+ * WebProcess/qt/WebProcessQt.cpp: Added.
+ (WebKit::WebProcess::platformSetCacheModel):
+ * WebProcess/win/WebProcessWin.cpp: Added.
+ (WebKit::WebProcess::platformSetCacheModel):
+ * win/WebKit2.vcproj:
+
+2010-10-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement newly added Plugin/PluginController member functions for out of process plug-ins
+ https://bugs.webkit.org/show_bug.cgi?id=47065
+ <rdar://problem/8507194>
+
+ * Platform/CoreIPC/Arguments.h:
+ Add typedefs.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ Add new handleMessage overload.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::create):
+ Add an isPrivateBrowsingEnabled boolean.
+
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ Add an isPrivateBrowsingEnabled boolean.
+
+ (WebKit::PluginControllerProxy::proxiesForURL):
+ (WebKit::PluginControllerProxy::cookiesForURL):
+ (WebKit::PluginControllerProxy::setCookiesForURL):
+ Send messages to the web process.
+
+ (WebKit::PluginControllerProxy::isPrivateBrowsingEnabled):
+ Return whether private browsing is enabled or not.
+
+ (WebKit::PluginControllerProxy::handleKeyboardEvent):
+ Call Plugin::handleKeyboardEvent.
+
+ (WebKit::PluginControllerProxy::privateBrowsingStateChanged):
+ Call Plugin::privateBrowsingStateChanged.
+
+ * PluginProcess/PluginControllerProxy.messages.in:
+ Add new messages.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::createPlugin):
+ Pass the isPrivateBrowsingEnabled flag.
+
+ * PluginProcess/WebProcessConnection.h:
+ * PluginProcess/WebProcessConnection.messages.in:
+ Update CreatePlugin message parameters.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::didReceiveMessage):
+ (WebKit::PluginProcessConnection::didReceiveSyncMessage):
+ It's OK for a plug-in to not get a sync message.
+
+ * WebProcess/Plugins/PluginProcessConnection.h:
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::handleKeyboardEvent):
+ (WebKit::PluginProxy::privateBrowsingStateChanged):
+ Send messages.
+
+ (WebKit::PluginProxy::proxiesForURL):
+ (WebKit::PluginProxy::cookiesForURL):
+ (WebKit::PluginProxy::setCookiesForURL):
+ Call the plug-in controller.
+
+ * WebProcess/Plugins/PluginProxy.messages.in:
+ Add new messages.
+
+2010-10-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Send keyboard events to plug-ins
+ https://bugs.webkit.org/show_bug.cgi?id=47064
+ <rdar://problem/8507148>
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::handleKeyboardEvent):
+ Call platformHandleKeyboardEvent.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::modifierFlags):
+ Return the modifier flags given a WebKeyboardEvent.
+
+ (WebKit::initializeKeyboardEvent):
+ Initialize an NPCocoaEvent from a WebKeyboardEvent.
+
+ (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
+ Initialize the event and dispatch it using NPP_HandleEvent.
+
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
+ (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
+ Add stub.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
+ Add stub.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add handleKeyboardEvent.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::handleEvent):
+ Call Plugin::handleKeyboardEvent if we see a keydown or keyup event.
+
+2010-10-01 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ Clear the executable bit from a number of source files.
+
+ * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
+
+2010-10-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Plug-ins should have access to the private browsing state.
+ https://bugs.webkit.org/show_bug.cgi?id=47031
+ <rdar://problem/8505405>
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue):
+ Handle NPNVprivateModeBool.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::isPrivateBrowsingEnabled):
+ Call PluginController::isPrivateBrowsingEnabled.
+
+ (WebKit::NetscapePlugin::NPP_SetValue):
+ Add NPP_SetValue wrapper.
+
+ (WebKit::NetscapePlugin::privateBrowsingStateChanged):
+ Call NPP_SetValue with the updated state.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add privateBrowsingStateChanged pure virtual member function.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add isPrivateBrowsingEnabled pure virtual member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::privateBrowsingStateChanged):
+ Call Plugin::privateBrowsingStateChanged.
+
+2010-10-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add SPI to convert a WKStringRef to a JSStringRef and vice-versa.
+
+ API Test: WebKit2/WKStringJSString
+
+ * Shared/API/c/WKString.cpp:
+ (WKStringCreateWithJSString):
+ (WKStringCopyJSString):
+ * Shared/API/c/WKStringPrivate.h: Added.
+ * Shared/WebString.h:
+ (WebKit::WebString::create):
+ (WebKit::WebString::createJSString):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-10-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement proxiesForURL, cookiesForURL and setCookiesForURL
+ https://bugs.webkit.org/show_bug.cgi?id=47029
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::proxiesForURL):
+ (WebKit::PluginView::cookiesForURL):
+ (WebKit::PluginView::setCookiesForURL):
+
+2010-10-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add additional WKString API
+ https://bugs.webkit.org/show_bug.cgi?id=46958
+
+ API Test: WebKit2/WKString
+
+ * Shared/API/c/WKString.cpp:
+ (WKStringCreateWithUTF8CString):
+ (WKStringGetMaximumUTF8CStringSize):
+ (WKStringGetUTF8CString):
+ (WKStringIsEqual):
+ (WKStringIsEqualToUTF8CString):
+ * Shared/API/c/WKString.h:
+ * Shared/WebString.h:
+ (WebKit::WebString::createFromUTF8String):
+ (WebKit::WebString::maximumUTF8CStringSize):
+ (WebKit::WebString::getUTF8CString):
+ (WebKit::WebString::equal):
+ (WebKit::WebString::equalToUTF8String):
+
+2010-10-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Implement NPN_GetValueForURL/NPN_SetValueForURL and stub out PluginController functions
+ https://bugs.webkit.org/show_bug.cgi?id=46992
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::copyCString):
+ Helper function for allocating a string using NPN_MemAlloc.
+
+ (WebKit::NPN_GetValueForURL):
+ Ask the plug-in for either the proxy or the cookies given an URL.
+
+ (WebKit::NPN_SetValueForURL):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ Tell the plug-in to set the cookies for the given URL.
+
+ (WebKit::NetscapePlugin::proxiesForURL):
+ (WebKit::NetscapePlugin::cookiesForURL):
+ (WebKit::NetscapePlugin::setCookiesForURL):
+ Call the corresponding PluginController functions.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add new pure virtual member functions.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::proxiesForURL):
+ (WebKit::PluginView::cookiesForURL):
+ (WebKit::PluginView::setCookiesForURL):
+ Add stubbed out implementations of the new PluginController functions.
+
+ * WebProcess/Plugins/PluginView.h:
+
+2010-10-01 Adam Roben <aroben@apple.com>
+
+ Implement NPN_GetValue(NPNVnetscapeWindow)
+
+ Fixes <http://webkit.org/b/46726> <rdar://problem/8486319>
+ Right-clicking on windowless Flash plugin in WebKit2 makes a context
+ menu appear in the bottom-right corner of the screen
+
+ Test: platform/win/plugins/get-value-netscape-window.html
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue): Added case for NPNVnetscapeWindow that calls
+ through to NetscapePlugin::containingWindow.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added containingWindow
+ on Windows.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::NetscapePlugin::containingWindow): Added. Calls through to
+ the PluginController.
+ (WebKit::NetscapePlugin::platformPostInitialize): Changed to use
+ containingWindow.
+
+2010-09-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Background doesn't draw when entering accelerated compositing
+ https://bugs.webkit.org/show_bug.cgi?id=45848
+
+ LayerBackedDrawingArea::setSize() is normally called in response
+ to a message from the UI process, so this can come some time after
+ LayerBackedDrawingArea creation. Depending on the timing, we could
+ end up being at size 0x0 for the first invalidate and paint, resulting
+ in missing content.
+
+ The fix is to size the backing layer on creation, using the WebView's size.
+
+ Also changed various calls to syncCompositingStateForThisLayerOnly()
+ to do lazy updates via scheduleCompositingLayerSync().
+
+ Also add the fix for https://bugs.webkit.org/show_bug.cgi?id=46226 (r68028)
+ to the WebKit2 code, in scheduleUpdateLayoutRunLoopObserver().
+
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ (WebKit::LayerBackedDrawingArea::setNeedsDisplay):
+ (WebKit::LayerBackedDrawingArea::setSize):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::platformInit):
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+ (WebKit::LayerBackedDrawingArea::detachCompositingContext):
+ (WebKit::LayerBackedDrawingArea::setRootCompositingLayer):
+ (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
+ (WebKit::LayerBackedDrawingArea::scheduleUpdateLayoutRunLoopObserver):
+
+2010-09-29 Jon Honeycutt <jhoneycutt@apple.com>
+
+ WebKit2 on Windows should use Windows fonts for the various standard
+ font families
+ https://bugs.webkit.org/show_bug.cgi?id=43499
+ <rdar://problem/8272758>
+
+ Reviewed by Adam Roben.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ Use Windows fonts on Windows.
+
+2010-09-30 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=46774 - Add WKStringIsEqual API
+
+ * Shared/API/c/WKString.cpp:
+ (WKStringIsEqual):
+ * Shared/API/c/WKString.h:
+
+2010-09-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Forward declare structs with 'struct' in the message headers
+ https://bugs.webkit.org/show_bug.cgi?id=46925
+ <rdar://problem/8497940>
+
+ * Scripts/webkit2/messages.py:
+ (struct_or_class): New function which given a type and a namespace returns the correct
+ forward declaration syntax (struct or class).
+
+ * Scripts/webkit2/messages_unittest.py:
+ Update expected results.
+
+2010-09-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Antti Koivisto.
+
+ Original patch by Zalan Bujtas.
+
+ The m_readBuffer might be smaller than the incoming message size and
+ thus result in memory corruption. Do a similar fix as the win port,
+ resizing the m_readBuffer to have room for the message.
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::readyReadHandler):
+
+2010-09-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Calling Connection::send/sendSync from Connection::Client::didClose should always fail
+ https://bugs.webkit.org/show_bug.cgi?id=46859
+ <rdar://problem/8212583>
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::dispatchConnectionDidClose):
+
+2010-09-29 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Assertion then crash closing WebKit2 window with accelerated compositing in
+ https://bugs.webkit.org/show_bug.cgi?id=46857
+
+ Fix two issues when closing a WebKit2 window using accelerated
+ compositing.
+
+ The first is that the response to the sync DidChangeAcceleratedCompositing message
+ sent by changeAcceleratedCompositingMode() may be empty, because the corresponding
+ page may have been destroyed already in the UI process. In that case newDrawingAreaInfo
+ is not filled in, so we get a DrawingArea::Type of None. Don't attempt to make a new
+ drawing area in that case.
+
+ We then have to null-check the drawing area in WebPage::didReceiveMessage(),
+ in the case where the UI process is calling back with a SuspendPainting message,
+ before our page has gone away.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+ (WebKit::WebPage::didReceiveMessage):
+
+2010-09-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement more of PluginProxy and PLuginControllerProxy.
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ (CoreIPC::ArgumentDecoder::decodeBytes):
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ Add new overload that takes a DataReference. Wrap the debug function in #ifndef NDEBUG.
+
+ * Platform/CoreIPC/ArgumentEncoder.cpp:
+ * Platform/CoreIPC/ArgumentEncoder.h:
+ Wrap the debug function in #ifndef NDEBUG.
+
+ * Platform/CoreIPC/Arguments.h:
+ Add new typedefs.
+
+ * Platform/CoreIPC/DataReference.cpp:
+ * Platform/CoreIPC/DataReference.h:
+ Add a DataReference class.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ Add new overload.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::didEvaluateJavaScript):
+ (WebKit::PluginControllerProxy::streamDidReceiveResponse):
+ (WebKit::PluginControllerProxy::streamDidReceiveData):
+ (WebKit::PluginControllerProxy::streamDidFinishLoading):
+ (WebKit::PluginControllerProxy::streamDidFail):
+ call Plugin member functions.
+
+ * PluginProcess/PluginControllerProxy.messages.in:
+ Add new messages.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add DataReference.cpp and DataReference.h
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::didEvaluateJavaScript):
+ (WebKit::PluginProxy::streamDidReceiveResponse):
+ (WebKit::PluginProxy::streamDidReceiveData):
+ (WebKit::PluginProxy::streamDidFinishLoading):
+ (WebKit::PluginProxy::streamDidFail):
+ Send messages.
+
+2010-09-29 Anders Carlsson <andersca@apple.com>
+
+ Update expected results.
+
+ * Scripts/webkit2/messages_unittest.py:
+
+2010-09-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement LoadURL
+ https://bugs.webkit.org/show_bug.cgi?id=46826
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+ Move String argument coder here from WebCoreArgumentCoders.h. Add
+ argument coder for AtomicString.
+
+ * Platform/CoreIPC/Arguments.h:
+ Add typedefs for Arguments7.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ Add handleMessage overload that takes 7 parameters.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::loadURL):
+ Send the LoadURL message.
+
+ * Scripts/webkit2/messages.py:
+ (parse_parameter_string): Use rsplit in case the type name contains spaces.
+ (argument_coder_headers_for_type): Special case Vector.
+
+ * Scripts/webkit2/messages_unittest.py:
+ Update results.
+
+ * Shared/WebCoreArgumentCoders.h:
+ Add argument coder for HTTPHeaderMap.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::loadURL):
+ Ask the plug-in controller to load the URL.
+
+ * WebProcess/Plugins/PluginProxy.messages.in:
+ Add LoadURL message.
+
+2010-09-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Handle getting the user agent in the plug-in process
+ https://bugs.webkit.org/show_bug.cgi?id=46819
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ Add new handleMessage overload.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::create):
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ Pass the user agent to the plug-in controller proxy.
+
+ (WebKit::PluginControllerProxy::userAgent):
+ Return the user agent.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::createPlugin):
+ Pass the user agent when creating the plug-in controller proxy.
+
+ * PluginProcess/WebProcessConnection.messages.in:
+ Add userAgent.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::userAgent):
+ * WebProcess/Plugins/PluginController.h:
+ Remove the URL parameter to userAgent.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::initialize):
+ Pass the user agent to WebProcessConnection::CreatePlugin.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::userAgent):
+ Remove url parameter.
+
+2010-09-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement more PluginProxy member functions
+ https://bugs.webkit.org/show_bug.cgi?id=46815
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::handleMouseEvent):
+ (WebKit::PluginControllerProxy::handleWheelEvent):
+ (WebKit::PluginControllerProxy::handleMouseEnterEvent):
+ (WebKit::PluginControllerProxy::handleMouseLeaveEvent):
+ (WebKit::PluginControllerProxy::setFocus):
+ (WebKit::PluginControllerProxy::windowFocusChanged):
+ (WebKit::PluginControllerProxy::windowFrameChanged):
+ (WebKit::PluginControllerProxy::windowVisibilityChanged):
+ Call the appropriate Plugin member functions.
+
+ * PluginProcess/PluginControllerProxy.messages.in:
+ Add new messages.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::didReceiveMessage):
+ It's OK to get a message for a plug-in controller proxy that has gone away.
+
+ (WebKit::WebProcessConnection::didReceiveSyncMessage):
+ Forward the message to the PluginControllerProxy handler.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::handleMouseEvent):
+ (WebKit::PluginProxy::handleWheelEvent):
+ (WebKit::PluginProxy::handleMouseEnterEvent):
+ (WebKit::PluginProxy::handleMouseLeaveEvent):
+ (WebKit::PluginProxy::setFocus):
+ (WebKit::PluginProxy::windowFocusChanged):
+ (WebKit::PluginProxy::windowFrameChanged):
+ (WebKit::PluginProxy::windowVisibilityChanged):
+ Send messages to the plug-in process.
+
+ (WebKit::PluginProxy::controller):
+ Return the plug-in controller.
+
+2010-09-29 Adam Roben <aroben@apple.com>
+
+ Look for WebKit.dll (not WebKit_debug.dll) when launching the web
+ process in Debug builds
+
+ Fixes <http://webkit.org/b/46809> <rdar://problem/8491809> REGRESSION
+ (r67979): All tests crashing on Windows WebKit2 test bot
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp: WebKit_debug.dll is
+ only used in Debug_All builds (but WebKit2WebProcess_debug.exe is used
+ in all non-Debug_Internal debug-style builds).
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Paint the plug-in backing store into the WebProcess backing store
+ https://bugs.webkit.org/show_bug.cgi?id=46768
+
+ * DerivedSources.make:
+ Add PluginProxy.
+
+ * Platform/CoreIPC/MessageID.h:
+ Add PluginProxy message class.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::paint):
+ Let the web process know that we've painted.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::didReceiveMessage):
+ Pass the message on to a plug-in proxy.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::paint):
+ Paint our backing store into the graphics context.
+
+ (WebKit::PluginProxy::controller):
+ Add notImplemented().
+
+ (WebKit::PluginProxy::update):
+ Blit the plug-in backing store into the local backing store and tell the plug-in
+ controller that we want to repaint.
+
+ * WebProcess/Plugins/PluginProxy.messages.in: Added.
+
+2010-09-28 Jenn Braithwaite <jennb@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument.
+ https://bugs.webkit.org/show_bug.cgi?id=46663
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::didTransferChildFrameToNewDocument):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Begin hooking up painting in the plug-in process
+ https://bugs.webkit.org/show_bug.cgi?id=46766
+
+ * DerivedSources.make:
+ Add PluginControllerProxy.
+
+ * Platform/CoreIPC/MessageID.h:
+ Add a MessageClassPluginControllerProxy message class.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ Initialize the paint timer.
+
+ (WebKit::PluginControllerProxy::paint):
+ Create a graphics context referencing our backing store and paint into it.
+
+ (WebKit::PluginControllerProxy::invalidate):
+ Update the dirty rect and start the paint timer if necessary.
+
+ (WebKit::PluginControllerProxy::geometryDidChange):
+ If we're passed a new backing store handle, reinitialize the backing store.
+
+ * PluginProcess/PluginControllerProxy.messages.in: Added.
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::didReceiveMessage):
+ If the message has a destination ID, forward it to the plug-in controller proxy.
+
+ * Scripts/webkit2/messages.py:
+ Always include WebCoreArgumentCoders.h if the type is in the WebCore namespace.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::geometryDidChange):
+ Update the size of the backing store. Create a new plug-in backing store if needed and send
+ it over to the plug-in process.
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ ASSERT when launching the plugin process
+ https://bugs.webkit.org/show_bug.cgi?id=46754
+ <rdar://problem/8484570>
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ Don't assert if we fail to launch the process. Instead, set the connection identifier
+ and process ID to null and deallocate the port we created.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
+ Move all code from didClose here.
+
+ (WebKit::PluginProcessProxy::didClose):
+ Call pluginProcessCrashedOrFailedToLaunch.
+
+ (WebKit::PluginProcessProxy::didFinishLaunching):
+ If we failed to launch, call pluginProcessCrashedOrFailedToLaunch.
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Differentiate waitForSyncReply from waitForReply
+ https://bugs.webkit.org/show_bug.cgi?id=46752
+
+ Since waitForSyncReply is going to need to dispatch incoming sync messages while
+ waiting for the correct reply, we need to add a new waitForSyncReply function that
+ can do this.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendSyncMessage):
+ Push the pending sync reply information on the m_pendingSyncReplies stack,
+ send the message, wait for a reply and pop the information off the stack.
+
+ (CoreIPC::Connection::waitForSyncReply):
+ Block while waiting for a reply to the sync message with the given ID.
+
+ (CoreIPC::Connection::processIncomingMessage):
+ If the incoming message is a sync reply, set the didReceiveReply flag and the replyDecoder
+ members in the pending sync reply and signal the client thread to wakeup.
+
+ * Platform/CoreIPC/Connection.h:
+ Add a stack of PendingSyncReply structs.
+
+2010-09-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler and Dave Hyatt.
+
+ Vertical scroll bar on apple.com is too short with WebKit2
+ <rdar://problem/8379230>
+ https://bugs.webkit.org/show_bug.cgi?id=46739
+
+ This gets us most of the way to having correct scroll corner behavior. We should
+ follow this up by moving to painting the window re-sizer in WebCore.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _ownsWindowGrowBox]):
+ (-[WKView _updateGrowBoxForWindowFrameChange]): Calculate whether we should
+ be taking the scroll corner into account when laying out scrollbars.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setWindowResizerSize):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setWindowResizerSize):
+ (WebKit::WebPage::windowResizerRect): This now returns IntRect() for
+ non-mac platforms (or any platform that never sends a setWindowResizerSize
+ message).
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-09-28 Adam Roben <aroben@apple.com>
+
+ Tell the UI client when a key event is not handled
+
+ When the web process receives an event, it sends a
+ WebPageProxyMessage::DidReceiveEvent message back to the UI process.
+ That message is now sent after handling the event, and includes a
+ boolean signifying whether or not the event was actually handled.
+
+ Every time WebPageProxy receives a key event, it adds it to a queue.
+ When it receives a WebPageProxyMessage::DidReceiveEvent for a key
+ event, the event is removed from the queue. If the event was not
+ handled, we tell the UI client.
+
+ Fixes <http://webkit.org/b/46660> <rdar://problem/8483465> Need API to
+ tell a WebKit2 client application that a key event was not handled
+
+ Reviewed by Kenneth Rohde Christiansen and Sam Weinig.
+
+ * Shared/NativeWebKeyboardEvent.h: Added. This class wraps a
+ WebKeyboardEvent and the native event that was used to construct it.
+ (WebKit::NativeWebKeyboardEvent::nativeEvent): Simple getter.
+
+ * Shared/WebEvent.h: Made isKeyboardEventType public for
+ WebPageProxy's benefit.
+
+ * Shared/mac/NativeWebKeyboardEventMac.mm: Added.
+ (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
+ * Shared/qt/NativeWebKeyboardEventQt.cpp: Added.
+ (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
+ * Shared/win/NativeWebKeyboardEventWin.cpp: Added.
+ (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
+ The constructor creates a WebKeyboardEvent and stores the native
+ event.
+
+ * UIProcess/API/C/WKNativeEvent.h: Added.
+
+ * UIProcess/API/C/WKPage.h: Added WKPageDidNotHandleKeyEventCallback
+ and WKPageUIClient::didNotHandleKeyEvent.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView keyUp:]):
+ (-[WKView keyDown:]):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onKeyEvent):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::keyPressEvent):
+ (QWKPagePrivate::keyReleaseEvent):
+ Changed to use NativeWebKeyboardEvent.
+
+ (QWKPage::QWKPage): Updated for addition of didNotHandleKeyEvent.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::handleKeyboardEvent): Changed to take a
+ NativeWebKeyboardEvent and to add it to m_keyEventQueue.
+ (WebKit::WebPageProxy::didReceiveMessage): Changed to expect a boolean
+ parameter in WebPageProxyMessage::DidReceiveEvent.
+ (WebKit::WebPageProxy::didReceiveEvent): Added a boolean "handled"
+ parameter. If the event was a keyboard event, we remove it from
+ m_keyEventQueue, and if it wasn't handled by WebCore, we tell the UI
+ client.
+
+ * UIProcess/WebPageProxy.h: Added m_keyEventQueue.
+
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::didNotHandleKeyEvent):
+ * UIProcess/WebUIClient.h:
+ Added. Just calls through to the WKPageUIClient.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::handleMouseEvent):
+ (WebKit::WebPage::mouseEvent):
+ (WebKit::handleWheelEvent):
+ (WebKit::WebPage::wheelEvent):
+ (WebKit::handleKeyEvent):
+ (WebKit::WebPage::keyEvent):
+ (WebKit::handleTouchEvent):
+ (WebKit::WebPage::touchEvent):
+ Moved code from the *Event functions into new helper handle*Event
+ functions, and changed to pass a boolean to
+ WebPageProxyMessage::DidReceiveEvent signaling whether the event was
+ handled or not.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Added WKNativeEvent.h and NativeWebKeyboardEvent.
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Implement PluginProxy::destroy
+ https://bugs.webkit.org/show_bug.cgi?id=46737
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ Add overload for a sync message with one in parameter and no out parameters.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::destroyPluginControllerProxy):
+ Rename this to avoid conflicts with the destroyPlugin message handler.
+
+ (WebKit::WebProcessConnection::destroyPlugin):
+ Call destroyPluginControllerProxy.
+
+ * PluginProcess/WebProcessConnection.messages.in:
+ Add DestroyPlugin message.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::didClose):
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::PluginProxy):
+ (WebKit::PluginProxy::~PluginProxy):
+ Don't add and/the plug-in proxy from the map in the constructor/destructor. Instead,
+ do it in initialize/destroy, since otherwise we could be calling pluginProcessCrashed on a
+ PluginController that had already been freed.
+
+ (WebKit::PluginProxy::initialize):
+ (WebKit::PluginProxy::destroy):
+ send the DestroyPlugin message.
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Improve plug-in process lifecycle handling
+ https://bugs.webkit.org/show_bug.cgi?id=46734
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::destroyPlugin):
+ Destroy and delete the plug-in.
+
+ (WebKit::WebProcessConnection::didClose):
+ Our web process crashed, go through and delete all plug-in instances.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::didClose):
+ The plug-in process crashed. Go through all pending replies and send them so the
+ web processes won't be blocked waiting for a reply.
+
+ (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
+ We need to remove the pending reply connection once we've sent the reply.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::didClose):
+ The plug-in process crashed. Iterate over all proxies and let them know that the plug-in
+ process has crashed.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::pluginProcessCrashed):
+ Tell our controller that the plug-in process crashed.
+
+ (WebKit::PluginProxy::destroy):
+ Null out the controller.
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Implement PluginControllerProxy::initialize and have it create a plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=46731
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::initialize):
+ Create the plug-in and try to initialize it.
+
+ (WebKit::PluginControllerProxy::destroy):
+ Destroy the plug-in.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::addPluginControllerProxy):
+ Add the given plug-in controller proxy to the map and assume ownership of it.
+
+ (WebKit::WebProcessConnection::removePluginControllerProxy):
+ Remove the given plug-in controller proxy from the map and delete it.
+
+ (WebKit::WebProcessConnection::createPlugin):
+ Create a plug-in controller proxy and try to initialize it.
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add PluginControllerProxy class
+ https://bugs.webkit.org/show_bug.cgi?id=46728
+
+ * PluginProcess/PluginControllerProxy.cpp: Added.
+ * PluginProcess/PluginControllerProxy.h: Added.
+ Add stubbed out PluginControllerProxy class.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::~WebProcessConnection):
+ Assert that we don't have any live plug-in controller proxies.
+
+ (WebKit::WebProcessConnection::addPluginControllerProxy):
+ Add the plug-in controller proxy to the map.
+
+ (WebKit::WebProcessConnection::removePluginControllerProxy):
+ Remove the plug-in controller proxy from the map. If the last plug-in controller
+ proxy went away, invalidate the connection.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add files.
+
+2010-09-28 Adam Roben <aroben@apple.com>
+
+ Don't call NPP_SetWindow until the plugin's HWND has been
+ sized/positioned
+
+ Test: platform/win/plugins/window-geometry-initialized-before-set-window.html
+
+ Reviewed by Anders Carlsson.
+
+ Fixes <http://webkit.org/b/46716> <rdar://problem/8482014> Full-page
+ Adobe Reader does not paint until window is resized
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::geometryDidChange): Call NPP_SetWindow after
+ updating the platform (HWND) geometry.
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Out of process plug-ins shouldn't be turned on just yet...
+
+ * WebKit2Prefix.h:
+
+2010-09-28 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] ProcessLauncherHelper should not leave stray socket files in /tmp.
+ https://bugs.webkit.org/show_bug.cgi?id=46722
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncherHelper::~ProcessLauncherHelper): close the socket.
+ (WebKit::ProcessLauncherHelper::ProcessLauncherHelper): delete the helper on exit.
+
+2010-09-28 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Remove support for Qt 4.5
+ https://bugs.webkit.org/show_bug.cgi?id=46718
+
+ Remove the code for versions of Qt prior to 4.6.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::event):
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2010-09-28 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt] Fix generation of WebPageMessages.h and WebPageMessageReceiver.cpp
+ to avoid rebuilding them every time.
+
+ * DerivedSources.pro: add target to extra compilers.
+
+2010-09-27 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=46688 - Add an API to get the WKBackForwardItem at an arbitrary index.
+
+ * UIProcess/API/C/WKBackForwardList.cpp:
+ (WKBackForwardListGetItemAtIndex):
+ * UIProcess/API/C/WKBackForwardList.h:
+
+2010-09-27 Anders Carlsson <andersca@apple.com>
+
+ Turns out people other than me might want to build this thing.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-09-27 Darin Adler <darin@apple.com>
+
+ * Scripts/webkit2: Added property svn:ignore.
+
+2010-09-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::sendSync):
+ Add new sendSync overload that takes a message struct.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::didReceiveSyncMessage):
+ Call didReceiveSyncWebProcessConnectionMessage.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::addPluginProxy):
+ Add the plug-in proxy to the map.
+
+ (WebKit::PluginProcessConnection::removePluginProxy):
+ Remove the plug-in proxy from the map. If the map is empty, disconnect from the
+ plug-in process.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::generatePluginInstanceID):
+ Generate a unique plug-in instance ID.
+
+ (WebKit::PluginProxy::PluginProxy):
+ Add the plug-in proxy to the map.
+
+ (WebKit::PluginProxy::~PluginProxy):
+ Remove the plug-in proxy from the map.
+
+ (WebKit::PluginProxy::initialize):
+ Ask the plug-in process to create a plug-in.
+
+2010-09-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add remaining event handlers to WKView.
+
+ Also fixes <rdar://problem/8467058>
+ Does not get decidePolicyForNavigationAction callback when middle clicking a link
+
+ - Adds otherButton and rightButton NSResponder event handlers to WKView.
+ - Renames WebPageProxy event handlers to use the handle prefix.
+ - Uses a macro to reduce duplicate code for WKView event handlers.
+ - Add view parameter to WebEventFactory::createWebKeyboardEvent on the mac
+ for uniformity.
+
+ * Shared/mac/WebEventFactory.h:
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::WebEventFactory::createWebKeyboardEvent):
+ * UIProcess/API/mac/WKView.mm:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::keyPressEvent):
+ (QWKPagePrivate::keyReleaseEvent):
+ (QWKPagePrivate::mouseMoveEvent):
+ (QWKPagePrivate::mousePressEvent):
+ (QWKPagePrivate::mouseReleaseEvent):
+ (QWKPagePrivate::mouseDoubleClickEvent):
+ (QWKPagePrivate::wheelEvent):
+ (QWKPagePrivate::touchEvent):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::handleMouseEvent):
+ (WebKit::WebPageProxy::handleWheelEvent):
+ (WebKit::WebPageProxy::handleKeyboardEvent):
+ (WebKit::WebPageProxy::handleTouchEvent):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onMouseEvent):
+ (WebKit::WebView::onWheelEvent):
+ (WebKit::WebView::onKeyEvent):
+
+2010-09-27 Ivan Krstić <ike@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ <rdar://problem/8348990> / <http://webkit.org/b/46633> Make it possible to disable sandboxing of
+ web process via runtime flag.
+
+ Enable sandboxing of the web process only if the DisableSandbox user default is not set for the
+ web process.
+
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+
+2010-09-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add WebProcessConnection CreatePlugin message
+ https://bugs.webkit.org/show_bug.cgi?id=46668
+
+ * DerivedSources.make:
+ Add WebProcessConnection.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ Add handleMessage overload for a sync message with two input parameters
+ and one output parameter.
+
+ (CoreIPC::handleMessage):
+ * Platform/CoreIPC/MessageID.h:
+ Add MessageClassWebProcessConnection.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::createPlugin):
+ Add stub.
+
+ * PluginProcess/WebProcessConnection.messages.in: Added.
+ * Scripts/webkit2/messages.py:
+ Include headers directly for types that we believe are nested structs.
+
+ * Scripts/webkit2/messages_unittest.py:
+ Update expected results.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+2010-09-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add support for autogenerating synchronous message handlers
+ https://bugs.webkit.org/show_bug.cgi?id=46654
+
+ * Scripts/webkit2/messages.py:
+ (reply_type): Renamed from reply_base_class.
+ (delayed_reply_type): Renamed from delayed_reply_base_class.
+ (message_to_struct_declaration): Add a Reply type typedef.
+ (async_case_statement): Rename from case_statement.
+ (generate_message_handler): Generate a sync message handler as well.
+
+ * Scripts/webkit2/messages_unittest.py:
+ Update expected results.
+
+2010-09-27 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt] Make generate-forwarding-headers.pl aware of moved headers
+ https://bugs.webkit.org/show_bug.cgi?id=46621
+
+ * generate-forwarding-headers.pl:
+
+2010-09-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ The mouseDidMoveOverElement callback in the injected bundle should include modifier info
+ https://bugs.webkit.org/show_bug.cgi?id=46629
+
+ - Moves event related API enums to WKEvent.h which can be shared between
+ both the bundle and the main API.
+
+ * Shared/API/c/WKEvent.h: Added.
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toRef):
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKPage.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement):
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::mouseDidMoveOverElement):
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-09-27 Adam Roben <aroben@apple.com>
+
+ Give mouse wheel events the right coordinates on Windows
+
+ Fixes <http://webkit.org/b/46625> <rdar://problem/8481161> Placing
+ mouse cursor inside a scrollable area and scrolling the mouse wheel
+ generally doesn't scroll the area
+
+ Reviewed by Sam Weinig.
+
+ * Shared/win/WebEventFactory.cpp:
+ (WebKit::point): Renamed from positionForEvent. The old name implied
+ that all events used the same relative origin, which is untrue.
+ (WebKit::WebEventFactory::createWebMouseEvent): Changed to use point
+ and ::ClientToScreen explicitly rather than relying on
+ positionForEvent/globalPositionForEvent.
+ (WebKit::WebEventFactory::createWebWheelEvent): Changed to use point
+ and ::ScreenToClient. The old code was assuming that wheel event
+ points are relative to the client area, but they are in fact relative
+ to the screen.
+
+2010-09-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Opening links in a new window asserts while decoding decidePolicyForNewWindowAction.
+ <rdar://problem/8479445>
+ https://bugs.webkit.org/show_bug.cgi?id=46623
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage): Fix the order of decoding to
+ match the order of encoding. (Swapping url and mouseButton).
+
+2010-09-27 Adam Roben <aroben@apple.com>
+
+ Stop leaking the web process's process handle on Windows
+
+ Fixes <http://webkit.org/b/46133> <rdar://problem/8455343>
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/Launcher/ProcessLauncher.cpp:
+ (WebKit::ProcessLauncher::invalidate): Call platformInvalidate.
+
+ * UIProcess/Launcher/ProcessLauncher.h: Added platformInvalidate.
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::platformInvalidate):
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncher::platformInvalidate):
+ Stubbed out.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ (WebKit::ProcessLauncher::platformInvalidate): Close the process
+ handle like MSDN says we should.
+
+2010-09-27 Adam Roben <aroben@apple.com>
+
+ Don't double-free CERT_CONTEXTs when copying PlatformCertificateInfos
+ on Windows
+
+ Fixes <http://webkit.org/b/46536> <rdar://problem/8477292> REGRESSION
+ (r68260): Crash in PlatformCertificateInfo::~PlatformCertificateInfo
+ when navigating away from Gmail
+
+ Reviewed by Sam Weinig.
+
+ * Shared/win/PlatformCertificateInfo.cpp:
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+ (WebKit::PlatformCertificateInfo::operator=):
+ * Shared/win/PlatformCertificateInfo.h:
+ Added a copy constructor and assigment operator to handle correctly
+ reffing/dereffing the CERT_CONTEXTs when copying a
+ PlatformCertificateInfo.
+
+2010-09-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ MiniBrowser crashes when opening main menu item
+ https://bugs.webkit.org/show_bug.cgi?id=46588
+
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setEditCommandState): Don't allow default
+ String -> NSString conversion to take place, and use the increasingly
+ misnamed nsStringFromWebCoreString instead.
+
+2010-09-26 Sam Weinig <sam@webkit.org>
+
+ Another windows build fix windows attempt.
+
+ * win/WebKit2Common.vsprops:
+
+2010-09-26 Sam Weinig <sam@webkit.org>
+
+ Another windows build fix windows attempt.
+
+ * win/WebKit2Generated.make:
+
+2010-09-26 Sam Weinig <sam@webkit.org>
+
+ Attempt to fix windows build.
+
+ * win/WebKit2Common.vsprops:
+
+2010-09-26 Sam Weinig <sam@webkit.org>
+
+ Attempt to fix Qt build.
+
+ * WebKit2.pro:
+
+2010-09-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Move shared WebKit2 API (used by both bundle and main API) to WebKit2/Shared/API
+ https://bugs.webkit.org/show_bug.cgi?id=46587
+
+ - Moves shared types (WKArrayRef, WKDictionaryRef, etc) to Shared/API/c.
+ - Removes WKBundleBase.h and moves all opaque type declarations to WKBase.h (which
+ moves to Shared/API/c).
+ - Adds WKSharedAPICast.h which includes shared API casting logic and is included
+ by both WKAPICast.h and WKBundleAPICast.h now. Moved to using macros for API
+ mappings to reduce verbosity.
+ - Move windows c API files from UIProcess/API/win to UIProcess/API/C/win.
+
+ * Shared/API: Added.
+ * Shared/API/c: Added.
+ * Shared/API/c/WKArray.cpp: Copied from UIProcess/API/C/WKArray.cpp.
+ * Shared/API/c/WKArray.h: Copied from UIProcess/API/C/WKArray.h.
+ * Shared/API/c/WKBase.h: Copied from UIProcess/API/C/WKBase.h.
+ * Shared/API/c/WKCertificateInfo.cpp: Copied from UIProcess/API/C/WKCertificateInfo.cpp.
+ * Shared/API/c/WKCertificateInfo.h: Copied from UIProcess/API/C/WKCertificateInfo.h.
+ * Shared/API/c/WKData.cpp: Copied from UIProcess/API/C/WKData.cpp.
+ * Shared/API/c/WKData.h: Copied from UIProcess/API/C/WKData.h.
+ * Shared/API/c/WKDictionary.cpp: Copied from UIProcess/API/C/WKDictionary.cpp.
+ * Shared/API/c/WKDictionary.h: Copied from UIProcess/API/C/WKDictionary.h.
+ * Shared/API/c/WKError.cpp: Copied from UIProcess/API/C/WKError.cpp.
+ * Shared/API/c/WKError.h: Copied from UIProcess/API/C/WKError.h.
+ * Shared/API/c/WKMutableArray.cpp: Copied from UIProcess/API/C/WKMutableArray.cpp.
+ * Shared/API/c/WKMutableArray.h: Copied from UIProcess/API/C/WKMutableArray.h.
+ * Shared/API/c/WKMutableDictionary.cpp: Copied from UIProcess/API/C/WKMutableDictionary.cpp.
+ * Shared/API/c/WKMutableDictionary.h: Copied from UIProcess/API/C/WKMutableDictionary.h.
+ * Shared/API/c/WKNumber.cpp: Copied from UIProcess/API/C/WKNumber.cpp.
+ * Shared/API/c/WKNumber.h: Copied from UIProcess/API/C/WKNumber.h.
+ * Shared/API/c/WKSerializedScriptValue.cpp: Copied from UIProcess/API/C/WKSerializedScriptValue.cpp.
+ * Shared/API/c/WKSerializedScriptValue.h: Copied from UIProcess/API/C/WKSerializedScriptValue.h.
+ * Shared/API/c/WKSharedAPICast.h: Copied from UIProcess/API/C/WKAPICast.h.
+ * Shared/API/c/WKString.cpp: Copied from UIProcess/API/C/WKString.cpp.
+ * Shared/API/c/WKString.h: Copied from UIProcess/API/C/WKString.h.
+ * Shared/API/c/WKType.cpp: Copied from UIProcess/API/C/WKType.cpp.
+ * Shared/API/c/WKType.h: Copied from UIProcess/API/C/WKType.h.
+ * Shared/API/c/WKURL.cpp: Copied from UIProcess/API/C/WKURL.cpp.
+ * Shared/API/c/WKURL.h: Copied from UIProcess/API/C/WKURL.h.
+ * Shared/API/c/WKURLRequest.cpp: Copied from UIProcess/API/C/WKURLRequest.cpp.
+ * Shared/API/c/WKURLRequest.h: Copied from UIProcess/API/C/WKURLRequest.h.
+ * Shared/API/c/WKURLResponse.cpp: Copied from UIProcess/API/C/WKURLResponse.cpp.
+ * Shared/API/c/WKURLResponse.h: Copied from UIProcess/API/C/WKURLResponse.h.
+ * Shared/API/c/cf: Copied from UIProcess/API/C/cf.
+ * Shared/API/c/mac: Copied from UIProcess/API/C/mac.
+ * Shared/API/c/win: Added.
+ * Shared/API/c/win/WKBaseWin.h: Copied from UIProcess/API/win/WKBaseWin.h.
+ * Shared/API/c/win/WKCertificateInfoWin.cpp: Copied from UIProcess/API/C/win/WKCertificateInfoWin.cpp.
+ * Shared/API/c/win/WKCertificateInfoWin.h: Copied from UIProcess/API/C/win/WKCertificateInfoWin.h.
+ * UIProcess/API/C/WKAPICast.h: Replaced.
+ * UIProcess/API/C/WKArray.cpp: Removed.
+ * UIProcess/API/C/WKArray.h: Removed.
+ * UIProcess/API/C/WKBase.h: Removed.
+ * UIProcess/API/C/WKCertificateInfo.cpp: Removed.
+ * UIProcess/API/C/WKCertificateInfo.h: Removed.
+ * UIProcess/API/C/WKData.cpp: Removed.
+ * UIProcess/API/C/WKData.h: Removed.
+ * UIProcess/API/C/WKDictionary.cpp: Removed.
+ * UIProcess/API/C/WKDictionary.h: Removed.
+ * UIProcess/API/C/WKError.cpp: Removed.
+ * UIProcess/API/C/WKError.h: Removed.
+ * UIProcess/API/C/WKMutableArray.cpp: Removed.
+ * UIProcess/API/C/WKMutableArray.h: Removed.
+ * UIProcess/API/C/WKMutableDictionary.cpp: Removed.
+ * UIProcess/API/C/WKMutableDictionary.h: Removed.
+ * UIProcess/API/C/WKNumber.cpp: Removed.
+ * UIProcess/API/C/WKNumber.h: Removed.
+ * UIProcess/API/C/WKSerializedScriptValue.cpp: Removed.
+ * UIProcess/API/C/WKSerializedScriptValue.h: Removed.
+ * UIProcess/API/C/WKString.cpp: Removed.
+ * UIProcess/API/C/WKString.h: Removed.
+ * UIProcess/API/C/WKType.cpp: Removed.
+ * UIProcess/API/C/WKType.h: Removed.
+ * UIProcess/API/C/WKURL.cpp: Removed.
+ * UIProcess/API/C/WKURL.h: Removed.
+ * UIProcess/API/C/WKURLRequest.cpp: Removed.
+ * UIProcess/API/C/WKURLRequest.h: Removed.
+ * UIProcess/API/C/WKURLResponse.cpp: Removed.
+ * UIProcess/API/C/WKURLResponse.h: Removed.
+ * UIProcess/API/C/cf: Removed.
+ * UIProcess/API/C/cf/WKStringCF.cpp: Removed.
+ * UIProcess/API/C/cf/WKStringCF.h: Removed.
+ * UIProcess/API/C/cf/WKURLCF.cpp: Removed.
+ * UIProcess/API/C/cf/WKURLCF.h: Removed.
+ * UIProcess/API/C/cf/WKURLRequestCF.cpp: Removed.
+ * UIProcess/API/C/cf/WKURLRequestCF.h: Removed.
+ * UIProcess/API/C/cf/WKURLResponseCF.cpp: Removed.
+ * UIProcess/API/C/cf/WKURLResponseCF.h: Removed.
+ * UIProcess/API/C/mac: Removed.
+ * UIProcess/API/C/mac/WKCertificateInfoMac.h: Removed.
+ * UIProcess/API/C/mac/WKCertificateInfoMac.mm: Removed.
+ * UIProcess/API/C/mac/WKURLRequestNS.h: Removed.
+ * UIProcess/API/C/mac/WKURLRequestNS.mm: Removed.
+ * UIProcess/API/C/mac/WKURLResponseNS.h: Removed.
+ * UIProcess/API/C/mac/WKURLResponseNS.mm: Removed.
+ * UIProcess/API/C/win/WKAPICastWin.h: Copied from UIProcess/API/win/WKAPICastWin.h.
+ * UIProcess/API/C/win/WKBaseWin.h: Copied from UIProcess/API/win/WKBaseWin.h.
+ * UIProcess/API/C/win/WKCertificateInfoWin.cpp: Removed.
+ * UIProcess/API/C/win/WKCertificateInfoWin.h: Removed.
+ * UIProcess/API/C/win/WKView.cpp: Copied from UIProcess/API/win/WKView.cpp.
+ * UIProcess/API/C/win/WKView.h: Copied from UIProcess/API/win/WKView.h.
+ * UIProcess/API/win: Removed.
+ * UIProcess/API/win/WKAPICastWin.h: Removed.
+ * UIProcess/API/win/WKBaseWin.h: Removed.
+ * UIProcess/API/win/WKView.cpp: Removed.
+ * UIProcess/API/win/WKView.h: Removed.
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Removed.
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-09-26 Anders Carlsson <andersca@apple.com>
+
+ Fix non-Mac builds.
+
+ * Platform/SharedMemory.h:
+ * Platform/mac/SharedMemoryMac.cpp:
+ (WebKit::SharedMemory::Handle::isNull):
+
+2010-09-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add PluginProxy class
+ https://bugs.webkit.org/show_bug.cgi?id=46586
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add files.
+
+ * WebProcess/Plugins/PluginProxy.cpp: Added.
+ * WebProcess/Plugins/PluginProxy.h: Added.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ Create a PluginProxy wrapper.
+
+2010-09-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make it possible to encode null SharedMemory::Handle objects
+ https://bugs.webkit.org/show_bug.cgi?id=46585
+
+ * Platform/SharedMemory.h:
+ (WebKit::SharedMemory::Handle::isNull):
+ Add isNull.
+
+ * Platform/mac/SharedMemoryMac.cpp:
+ (WebKit::SharedMemory::Handle::encode):
+ Remove asserts.
+
+ (WebKit::SharedMemory::create):
+ Bail if we see a null handle. Also work around a kernel bug where
+ mach_vm_map fails if the given address to map is already mapped, even if
+ VM_FLAG_ANYWHERE is set.
+
+2010-09-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add BackingStore class
+ https://bugs.webkit.org/show_bug.cgi?id=46584
+
+ * Shared/BackingStore.cpp: Added.
+ (WebKit::BackingStore::create):
+ Create a backing store backed by fastMalloc memory.
+
+ (WebKit::BackingStore::createSharable):
+ Create a backing store backed by shared memory.
+
+ (WebKit::BackingStore::createHandle):
+ Create a handle that can be sent over the wire.
+
+ (WebKit::BackingStore::resize):
+ Resize the backing store memory.
+
+ (WebKit::BackingStore::data):
+ Return the backing store data.
+
+ * Shared/mac/BackingStoreMac.mm: Added.
+ (WebKit::BackingStore::createGraphicsContext):
+ Create a graphics context that will paint into the backing store.
+
+ (WebKit::BackingStore::paint):
+ Paint the backing store in a graphics context.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add files.
+
+2010-09-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Establish a connection between the plug-in process and the web process
+ https://bugs.webkit.org/show_bug.cgi?id=46583
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::didReceiveMessage):
+ Call the auto-generated didReceivePluginProcessMessage.
+
+ * PluginProcess/PluginProcess.h:
+ Add didReceivePluginProcessMessage declaration.
+
+ * PluginProcess/PluginProcess.messages.in:
+ Add new "CreateWebProcessConnection" message.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::didReceiveMessage):
+ (WebKit::WebProcessConnection::didReceiveSyncMessage):
+ (WebKit::WebProcessConnection::didClose):
+ (WebKit::WebProcessConnection::didReceiveInvalidMessage):
+ Add stubbed out member functions.
+
+ * UIProcess/Plugins/PluginProcessManager.cpp:
+ (WebKit::PluginProcessManager::getPluginProcessConnection):
+ Ask the plug-in process proxy to create a connection.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::createWebProcessConnection):
+ Add the WebProcessProxy and the reply encoder to the queue of pending replies.
+ If the process is still launching, keep track of how many pending requests we have, otherwise
+ just send the request.
+
+ (WebKit::PluginProcessProxy::didReceiveMessage):
+ Call the auto-generated didReceivePluginProcessMessage.
+
+ (WebKit::PluginProcessProxy::didFinishLaunching):
+ Send all pending connection requests.
+
+ (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
+ Get the first pending reply and send it with the mach port.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Actually compile PluginProcessMessageReceiver.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::PluginProcessConnection):
+ Create a CoreIPC connection.
+
+ (WebKit::PluginProcessConnection::didReceiveMessage):
+ (WebKit::PluginProcessConnection::didClose):
+ (WebKit::PluginProcessConnection::didReceiveInvalidMessage):
+ Add stubbed out member functions.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ Ask the plug-in process connection manager for a connection.
+
+2010-09-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Generated message handlers should include argument coder headers for some types
+ https://bugs.webkit.org/show_bug.cgi?id=46582
+
+ * Scripts/webkit2/messages.py:
+ When determining which headers to use when generating a message handler, consider the
+ argument coder headers.
+
+ * Scripts/webkit2/messages_unittest.py:
+ Update test result.
+
+2010-09-24 Sam Weinig <sam@webkit.org>
+
+ Fix release build.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+
+2010-09-24 Enrica Casucci <enrica@apple.com>
+
+ One more build fix.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::setEditCommandState):
+
+2010-09-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Implement WebKit2 callback equivalent to -[WebUIDelegate mouseDidMoveOverElement:modifierFlags:]
+ <rdar://problem/8359279>
+ https://bugs.webkit.org/show_bug.cgi?id=46546
+
+ - Adds new WKBundleHitTestResultRef object to represent a content under a cursor.
+ - Adds new Bundle and UI level mouseDidMoveOverElement UIClient callbacks, with
+ pass through userData to communicate context up to the UIProcess
+
+ * Shared/APIObject.h:
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::mouseDidMoveOverElement):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::mouseDidMoveOverElement):
+ * UIProcess/WebUIClient.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: Added.
+ (WKBundleHitTestResultGetTypeID):
+ (WKBundleHitTestResultGetNodeHandle):
+ (WKBundleHitTestResultGetFrame):
+ (WKBundleHitTestResultCopyAbsoluteLinkURL):
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: Added.
+ (WebKit::InjectedBundleHitTestResult::create):
+ (WebKit::InjectedBundleHitTestResult::nodeHandle):
+ (WebKit::InjectedBundleHitTestResult::webFrame):
+ (WebKit::InjectedBundleHitTestResult::absoluteLinkURL):
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: Added.
+ (WebKit::InjectedBundleHitTestResult::coreHitTestResult):
+ (WebKit::InjectedBundleHitTestResult::InjectedBundleHitTestResult):
+ (WebKit::InjectedBundleHitTestResult::type):
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement):
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::mouseDidMoveOverElement):
+ * win/WebKit2.vcproj:
+
+2010-09-24 Enrica Casucci <enrica@apple.com>
+
+ Build fix.
+
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setEditCommandState):
+ * UIProcess/win/WebView.h:
+
+2010-09-24 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Maui: Pasteboard support (42317)
+ <rdar://problem/7660537>
+ https://bugs.webkit.org/show_bug.cgi?id=42317
+
+ This is the final piece of the pasteboard support for WebKit2.
+ The menu validation has been hooked up for Mac. The validation is
+ performed asynchronously and the menu entries updated while the menu
+ is visible. I've created a generic mechanism to call editing commands
+ that will make it easy to add new commands we will support in the future.
+ The commands supported now are copy, cut, paste, pasteAsPlainText, delete
+ and selectAll.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added DidValidateMenuItem.
+ * UIProcess/API/mac/PageClientImpl.h: Added setEditCommandState.
+ * UIProcess/API/mac/PageClientImpl.mm: Added setEditCommandState implementation.
+ (WebKit::PageClientImpl::setEditCommandState): Added.
+ * UIProcess/API/mac/WKView.mm:
+ (WebCore::MenuItemInfo::MenuItemInfo):
+ (-[WKView initWithFrame:pageNamespaceRef:]):
+ (createSelectorExceptionMap): Added.
+ (commandNameForSelector): Added.
+ (-[WKView validateUserInterfaceItem:]): Added implementation.
+ (-[WKView _setUserInterfaceItemState:enabled:state:]): Added.
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::validateMenuItem):
+ (WebKit::WebPageProxy::executeEditCommand):
+ (WebKit::WebPageProxy::didReceiveMessage): Now processing also
+ DidValidateMenuItem.
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::executeEditingCommand): Fixed.
+ (WebKit::WebPage::isEditingCommandEnabled): Fixed.
+ (WebKit::WebPage::validateMenuItem): Added.
+ (WebKit::WebPage::executeEditCommand): Added.
+ * WebProcess/WebPage/WebPage.h: Removed cut, copy, paste, selectAll.
+ Added validateMenuItem and executeEditCommand.
+ * WebProcess/WebPage/WebPage.messages.in: Added new messages.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (WebKit::QWKPage::setEditCommandState): Added.
+ * UIProcess/API/qt/qwkpage_p.h: Added
+
+
+2010-09-24 Anders Carlsson <andersca@apple.com>
+
+ Build fix.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-09-24 Adam Roben <aroben@apple.com>
+
+ Give windowed Netscape plugins their own window
+
+ The plugin window is a child of the WebView's window. The WebView's
+ window is in the UI process, and the plugin's window is in the web
+ process (though someday it will be in the plugin process), but Windows
+ mostly handles this just fine. Right now we move the plugin's window
+ in the web process, but we need to do it at paint time in the UI
+ process instead so that the plugin windows will stay in sync with the
+ web page's contents. There are also a whole bunch of plugin quirks
+ that WebKit1 supports that we don't support yet, but that's a task for
+ another day.
+
+ Fixes <http://webkit.org/b/44428> Get basic in-process windowed
+ plugins working in WebKit2 on Windows
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::destroy):
+ (WebKit::NetscapePlugin::geometryDidChange):
+ Call the new platform-specific functions.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added
+ platformDestroy/platformGeometryDidChange, and an m_window member on
+ Windows to hold our window.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformDestroy):
+ (WebKit::NetscapePlugin::platformGeometryDidChange):
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
+ (WebKit::NetscapePlugin::platformDestroy):
+ (WebKit::NetscapePlugin::platformGeometryDidChange):
+ Stubbed these out.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::registerPluginView): Added. The code came from
+ WebCore's PluginViewWin.cpp, though I changed it to add one to
+ COLOR_WINDOW, since that's what MSDN says we should do.
+ (WebKit::NetscapePlugin::platformPostInitialize): If we're windowed,
+ create a window for the plugin and make it a child of the WebView's
+ window. If we're not windowed, just set m_window to 0.
+ (WebKit::NetscapePlugin::platformDestroy): Destroy our window if we
+ have one and it hasn't been destroyed already.
+ (WebKit::NetscapePlugin::platformGeometryDidChange): Update our
+ window's size and position.
+
+ * WebProcess/Plugins/PluginController.h:
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::nativeParentWindow):
+ * WebProcess/Plugins/PluginView.h:
+ Added nativeParentWindow on Windows to return the WebView's window.
+
+2010-09-24 Adam Roben <aroben@apple.com>
+
+ Pass the WebView's HWND over to the web process
+
+ The HWND is packaged up in the WebPageCreationParameters and stored in
+ the WebPage. It will eventually be used by windowed plugins.
+
+ Fixes <http://webkit.org/b/46512> WebPage needs access to its
+ corresponding HWND from the UI process
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ Encode and decode the HWND as a uint64_t.
+
+ * Shared/WebPageCreationParameters.h: Added a nativeWindow member to
+ store the HWND.
+
+ * UIProcess/PageClient.h: Added a nativeWindow function on Windows.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::creationParameters): Store the HWND from the
+ page client in the struct to be sent to the web process.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView): Moved the call to initializeWebPage after
+ we've created our window so that our window will be ready when
+ WebPageProxy asks for it to send it to the web process.
+ (WebKit::WebView::nativeWindow): Added. Just returns our window.
+
+ * UIProcess/win/WebView.h: Added nativeWindow.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Store the HWND in the new m_nativeWindow
+ member.
+
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::nativeWindow): Added this simple getter.
+
+2010-09-24 Adam Roben <aroben@apple.com>
+
+ Add WebPageProxy::creationParameters
+
+ Fixes <http://webkit.org/b/46510> WebPageProxy has a bunch of
+ duplicated WebPageCreationParameters code
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ Use creationParameters.
+
+ (WebKit::WebPageProxy::creationParameters):
+ * UIProcess/WebPageProxy.h:
+ Added creationParameters.
+
+2010-09-24 Adam Roben <aroben@apple.com>
+
+ Make WebPage::create take a WebPageCreationParameter struct
+
+ It only makes sense, after all.
+
+ Fixes <http://webkit.org/b/46502>.
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::create):
+ (WebKit::WebPage::WebPage):
+ * WebProcess/WebPage/WebPage.h:
+ Changed to take a WebPageCreationParameters struct.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::createWebPage): Changed to pass a
+ WebPageCreationParameters struct.
+
+2010-09-24 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ Expose all WebKit2 C API preferences via the Qt API.
+
+ Also rename a wrongly named C method (was using Web instead of WK).
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesCopyStandardFontFamily):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/API/qt/qwkpreferences.cpp:
+ (QWKPreferences::setFontFamily):
+ (QWKPreferences::fontFamily):
+ (QWKPreferences::testAttribute):
+ (QWKPreferences::setAttribute):
+ * UIProcess/API/qt/qwkpreferences.h:
+
+2010-09-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Fill in more of PluginProcess
+ https://bugs.webkit.org/show_bug.cgi?id=46534
+
+ * DerivedSources.make:
+ Add PluginProcessProxy.
+
+ * Platform/CoreIPC/MessageID.h:
+ Add a MessageClassPluginProcessProxy message class.
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::PluginProcess):
+ Initialize the shutdown timer.
+
+ (WebKit::PluginProcess::initializeConnection):
+ Rename this to initializeConnection to avoid conflicts in the CoreIPC message handler.
+
+ (WebKit::PluginProcess::removeWebProcessConnection):
+ Remove the given web process connection from our vector.
+
+ (WebKit::PluginProcess::initialize):
+ Create the plug-in module.
+
+ (WebKit::PluginProcess::createWebProcessConnection):
+ Create a connection handle and send it to the UI process.
+
+ (WebKit::PluginProcess::shutdownTimerFired):
+ Quit.
+
+ * PluginProcess/mac/PluginProcessMainMac.mm:
+ (WebKit::PluginProcessMain):
+ Call initializeConnection.
+
+ * Scripts/webkit2/messages.py:
+ Add CoreIPC::MachPort as a special case.
+
+ * Scripts/webkit2/messages_unittest.py:
+ Add test case.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
+ Add empty function.
+
+ * UIProcess/Plugins/PluginProcessProxy.messages.in: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add PluginProcessProxy.messages.in.
+
+ * WebKit2Prefix.h:
+ Add an ENABLE_PLUGIN_PROCESS #define which is 0 for now.
+
+2010-09-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ messages_unittest.py should compare the generated results against expected results
+ https://bugs.webkit.org/show_bug.cgi?id=46490
+
+ * Scripts/webkit2/messages_unittest.py:
+
+2010-09-24 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antonio Gomes.
+
+ Make it possible to get the page preferences for Qt WebKit2 port.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPage::preferences):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/API/qt/qwkpreferences.cpp:
+ (QWKPreferencesPrivate::createPreferences):
+ (QWKPreferencesPrivate::createSharedPreferences):
+ (QWKPreferences::sharedPreferences):
+ (QWKPreferences::QWKPreferences):
+ * UIProcess/API/qt/qwkpreferences.h:
+
+2010-09-24 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Sam Weinig.
+
+ Add WebKit2 C API for setting/getting frame flattening and plugin settings.
+ http://webkit.org/b/46477
+
+ NOTE: The plugin setting was partly done but there was no C API.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetFrameFlatteningEnabled):
+ (WKPreferencesGetFrameFlatteningEnabled):
+ (WKPreferencesSetPluginsEnabled):
+ (WKPreferencesGetPluginsEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setFrameFlatteningEnabled):
+ (WebKit::WebPreferences::frameFlatteningEnabled):
+ (WebKit::WebPreferences::setPluginsEnabled):
+ (WebKit::WebPreferences::pluginsEnabled):
+ * UIProcess/WebPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::preferencesDidChange):
+
+2010-09-24 Adam Roben <aroben@apple.com>
+
+ Add WebPageCreationParameters
+
+ This struct is used in any messages that end up creating a WebPage.
+ Using a struct instead of individual parameters will make it easier to
+ add platform-specific data, such as an HWND on Windows.
+
+ Fixes <http://webkit.org/b/46470> Pass parameters for creating a
+ WebPage in a single struct
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/WebPageCreationParameters.cpp: Added.
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ Simple encode/decode functions.
+
+ * Shared/WebPageCreationParameters.h: Added.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::createWindow):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::createWebPage):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ Changed to use WebPageCreationParameters instead of passing the
+ values individually.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Added WebPageCreationParameters.
+
+2010-09-24 Adam Roben <aroben@apple.com>
+
+ Stop pretending that we know how to encode a DrawingArea and just
+ encode the DrawingAreaInfo directly
+
+ DrawingAreaBase and friends were trying to hide the fact that they
+ were just encoding/decoding a DrawingAreaInfo behind the scenes, but
+ everyone knew what was going on and it was getting embarassing.
+
+ Fixes <http://webkit.org/b/46469> Code to encode/decode a
+ DrawingAreaInfo is confusing
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/DrawingAreaBase.cpp: Removed.
+ * Shared/DrawingAreaBase.h: Removed encode/decode.
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h: Removed encode override.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ Changed to encode the DrawingAreaInfo directly.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Removed DrawingAreaBase.cpp.
+
+2010-09-24 Adam Roben <aroben@apple.com>
+
+ Expose a whole DrawingAreaInfo instead of its constituent parts from
+ DrawingAreaBase
+
+ This is just a step toward cleaning up how drawing areas are
+ encoded/ecoded.
+
+ Fixes <http://webkit.org/b/46468> DrawingAreaInfo should be used in
+ more places
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/DrawingAreaBase.cpp:
+ (WebKit::DrawingAreaBase::encode): Changed to use info().
+
+ * Shared/DrawingAreaBase.h:
+ (WebKit::DrawingAreaBase::info): Added. Replaces type() and id().
+ (WebKit::DrawingAreaBase::DrawingAreaBase): Changed to store a
+ DrawingAreaInfo instead of storing its constituent parts.
+
+ * UIProcess/API/mac/WKView.mm:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ * WebProcess/WebPage/WebPage.cpp:
+ Updated to use info().
+
+2010-09-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add WebProcessConnection class
+ https://bugs.webkit.org/show_bug.cgi?id=46478
+
+ * PluginProcess/WebProcessConnection.cpp: Added.
+ * PluginProcess/WebProcessConnection.h: Added.
+ Add stubbed out WebProcessConnection class.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add files.
+
+2010-09-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add PluginProcess class
+ https://bugs.webkit.org/show_bug.cgi?id=46476
+
+ * PluginProcess/PluginProcess.cpp: Added.
+ * PluginProcess/PluginProcess.h: Added.
+ Add stubbed out PluginProcess class.
+
+ * PluginProcess/mac/PluginProcessMainMac.mm:
+ (WebKit::PluginProcessMain):
+ Initialize the plug-in process.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add files.
+
+ * WebProcess/Plugins/PluginProcessConnection.h:
+ Add a comment about which connection this is.
+
+2010-09-24 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * Shared/win/PlatformCertificateInfo.cpp:
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+
+2010-09-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add Windows implementation of PlatformCertificateInfo
+ Part of <rdar://problem/8350189>
+ https://bugs.webkit.org/show_bug.cgi?id=46450
+
+ * Shared/win/PlatformCertificateInfo.cpp: Added.
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+ (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo):
+ (WebKit::PlatformCertificateInfo::encode):
+ (WebKit::PlatformCertificateInfo::decode):
+ (WebKit::organizationNameForCertificate):
+ * Shared/win/PlatformCertificateInfo.h:
+ (WebKit::PlatformCertificateInfo::certificateContext):
+ * UIProcess/API/C/win/WKCertificateInfoWin.cpp: Added.
+ (WKCertificateInfoGetCertificateContext):
+ * UIProcess/API/C/win/WKCertificateInfoWin.h: Added.
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-09-23 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Sam Weinig.
+
+ Add WebKit2 C API for setting the font families.
+ https://bugs.webkit.org/show_bug.cgi?id=46408
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetStandardFontFamily):
+ (WebPreferencesCopyStandardFontFamily):
+ (WKPreferencesSetFixedFontFamily):
+ (WKPreferencesCopyFixedFontFamily):
+ (WKPreferencesSetSerifFontFamily):
+ (WKPreferencesCopySerifFontFamily):
+ (WKPreferencesSetSansSerifFontFamily):
+ (WKPreferencesCopySansSerifFontFamily):
+ (WKPreferencesSetCursiveFontFamily):
+ (WKPreferencesCopyCursiveFontFamily):
+ (WKPreferencesSetFantasyFontFamily):
+ (WKPreferencesCopyFantasyFontFamily):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setStandardFontFamily):
+ (WebKit::WebPreferences::standardFontFamily):
+ (WebKit::WebPreferences::setFixedFontFamily):
+ (WebKit::WebPreferences::fixedFontFamily):
+ (WebKit::WebPreferences::setSerifFontFamily):
+ (WebKit::WebPreferences::serifFontFamily):
+ (WebKit::WebPreferences::setSansSerifFontFamily):
+ (WebKit::WebPreferences::sansSerifFontFamily):
+ (WebKit::WebPreferences::setCursiveFontFamily):
+ (WebKit::WebPreferences::cursiveFontFamily):
+ (WebKit::WebPreferences::setFantasyFontFamily):
+ (WebKit::WebPreferences::fantasyFontFamily):
+ * UIProcess/WebPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::preferencesDidChange):
+
+2010-09-23 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed buildfix after r68220 on WebKit2.
+
+ WebKit2 API: Need way to know when a frame is removed from the hierarchy
+ https://bugs.webkit.org/show_bug.cgi?id=46432
+
+ [Qt] qt_wk_didRemoveFrameFromHierarchy needs to be implemented
+
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (qt_wk_didRemoveFrameFromHierarchy):
+ * UIProcess/API/qt/ClientImpl.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+
+2010-09-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2 API: Need way to know when a frame is removed from the hierarchy
+ <rdar://problem/8414062>
+ https://bugs.webkit.org/show_bug.cgi?id=46432
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didRemoveFrameFromHierarchy):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::detachedFromParent2):
+ (WebKit::WebFrameLoaderClient::didTransferChildFrameToNewDocument):
+
+2010-09-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add PluginProcessConnection and PluginProcessConnectionManager
+ https://bugs.webkit.org/show_bug.cgi?id=46425
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add files.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ Add empty file for now.
+
+ * WebProcess/Plugins/PluginProcessConnection.h:
+ Add header.
+
+ * WebProcess/Plugins/PluginProcessConnectionManager.cpp: Added.
+ (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
+ Check for an existing plug-in process connection. If we don't have one, ask the
+ UI process to create one.
+
+ (WebKit::PluginProcessConnectionManager::removePluginProcessConnection):
+ Remove the connection from our global vector.
+
+2010-09-23 Adam Roben <aroben@apple.com>
+
+ Remove the DrawingAreaProxy parameter to
+ WebPagProxy::initializeWebPage
+
+ Callers are now required to set the drawing area via
+ WebPageProxy::setDrawingArea before calling initializeWebPage. This
+ will allow us to delay calling initializeWebPage on Windows until
+ after we've created the WebView's HWND, which in turn will allow us to
+ send the HWND over to the web process when the page is created. (The
+ drawing area must be set before creating the HWND so that its size can
+ be updated, etc., as the window is created.)
+
+ Fixes <http://webkit.org/b/46409> DrawingAreaProxy parameter to
+ initializeWebPage is unnecessary, and causes problems on Windows
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:]):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::init):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ Added explicit calls to setDrawingArea.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ * UIProcess/WebPageProxy.h:
+ Removed the DrawingAreaProxy parameter and a stray puts(), and added
+ an assertion.
+
+2010-09-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Implement handlers for the GetPluginProcessConnection message
+ https://bugs.webkit.org/show_bug.cgi?id=46415
+
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ Add GetPluginProcessConnection message kind
+
+ * UIProcess/Plugins/PluginProcessManager.cpp:
+ (WebKit::PluginProcessManager::PluginProcessManager):
+ Add missing constructor.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPluginProcessConnection):
+ Ask the plug-in process manager for a connection.
+
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ Call getPluginProcessConnection.
+
+ * UIProcess/WebProcessProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ Send the GetPluginProcessConnection message.
+
+2010-09-23 Matthew Delaney <mdelaney@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Reduce minimum DOMTimer interval
+ https://bugs.webkit.org/show_bug.cgi?id=45362
+
+ * WebProcess/WebPage/WebPage.cpp:
+ Updating set interval call to use Settings' static version.
+
+2010-09-23 Adam Roben <aroben@apple.com>
+
+ Try to fix the Windows build
+
+ * win/WebKit2Common.vsprops: Add WebKit2/PluginProcess to the include
+ path.
+
+2010-09-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add PluginProcessMain files
+ https://bugs.webkit.org/show_bug.cgi?id=46379
+
+ * PluginProcess/PluginProcessMain.h: Added.
+ * PluginProcess/mac/PluginProcessMainMac.mm: Added.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add PluginProcessMain files. Remove PluginProcess.messages.in from the target so it
+ won't be installed in the WebKit2.framework bundle.
+
+ * WebProcess/WebKitMain.cpp:
+ (WebKitMain):
+ Call PluginProcessMain if the process type is ProcessLauncher::PluginProcess.
+
+2010-09-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add PluginProcessProxy class
+ https://bugs.webkit.org/show_bug.cgi?id=46377
+
+ * DerivedSources.make:
+ Add PluginProcess.
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::send):
+ Add send overload that takes a message.
+
+ * Platform/CoreIPC/MessageID.h:
+ Add MessageClassPluginProcess message kind.
+
+ * PluginProcess/PluginProcess.messages.in: Added.
+ Add PluginProcess messages.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::infoForPluginWithPath):
+ * UIProcess/Plugins/PluginInfoStore.h:
+ New function that returns the plug-in info for a plug-in with the given path.
+
+ * UIProcess/Plugins/PluginProcessManager.cpp:
+ (WebKit::PluginProcessManager::getPluginProcessConnection):
+ Look for an existing plug-in process proxy.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp: Added.
+ (WebKit::PluginProcessProxy::create):
+ Launch the process.
+
+ (WebKit::PluginProcessProxy::didReceiveMessage):
+ (WebKit::PluginProcessProxy::didReceiveInvalidMessage):
+ Add stubbed out functions.
+
+ (WebKit::PluginProcessProxy::didClose):
+ Delete the plug-in process proxy.
+
+ (WebKit::PluginProcessProxy::didFinishLaunching):
+ Open a connection to the plug-in process proxy.
+
+ * UIProcess/Plugins/PluginProcessProxy.h: Added.
+ (WebKit::PluginProcessProxy::pluginInfo):
+ Return the plug-in info.
+
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::context):
+ Add a context getter.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+2010-09-23 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Expose the BundlePage on the BundleFrame in the API.
+ https://bugs.webkit.org/show_bug.cgi?id=46366
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetPage):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+
+2010-09-23 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ Add a preference class for Qt for WebKit2.
+
+ * UIProcess/API/qt/qwkpreferences.cpp: Added.
+ (QWKPreferences::globalPreferences):
+ (QWKPreferences::QWKPreferences):
+ (QWKPreferences::~QWKPreferences):
+ (QWKPreferences::testAttribute):
+ (QWKPreferences::setAttribute):
+ * UIProcess/API/qt/qwkpreferences.h: Added.
+ * WebKit2.pro:
+
+2010-09-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ It should be possible to conditionally define an entire group of messages
+ https://bugs.webkit.org/show_bug.cgi?id=46368
+
+ * Scripts/webkit2/messages.py:
+ Check for a condition when parsing the "messages -> " string and set it as the
+ message receiver condition.
+
+ * Scripts/webkit2/messages_unittest.py:
+ Add test.
+
+2010-09-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Message autogeneration script should parse sync message syntax
+ https://bugs.webkit.org/show_bug.cgi?id=46359
+
+ * Scripts/webkit2/messages.py:
+ (MessageReceiver.parse): Expand the regular expression to handle sync messages.
+ (function_parameter_type): Use a const reference for all parameters except the known builtins.
+ (base_class): Returns the base class for a sync message reply struct.
+ (delayed_base_class): Returns the base class for a delayed sync message reply struct.
+
+ * Scripts/webkit2/messages_unittest.py:
+ Add unit tests for various sync messages.
+
+2010-09-22 Andras Becsi <abecsi@webkit.org>
+
+ Unreviewed build fix after r68079.
+
+ [Qt] Also generate WebPage's message-receiving code and message types
+ for the Qt port of WebKit2.
+
+ * DerivedSources.pro:
+ * WebKit2.pro:
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Stub out a PluginProcessManager class
+ https://bugs.webkit.org/show_bug.cgi?id=46305
+
+ * UIProcess/Plugins/PluginProcessManager.cpp: Added.
+ (WebKit::PluginProcessManager::shared):
+ (WebKit::PluginProcessManager::getPluginProcessConnection):
+ (WebKit::PluginProcessManager::removePluginProcessProxy):
+ * UIProcess/Plugins/PluginProcessManager.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-09-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Antonio Gomes.
+
+ Add a ViewportConfiguration class for the Qt WebKit2 API, which
+ currently calculated a fallback viewport configuration.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::ViewportConfiguration::ViewportConfiguration):
+ (QWKPage::ViewportConfiguration::~ViewportConfiguration):
+ (QWKPage::ViewportConfiguration::operator=):
+ (QWKPage::viewportConfigurationForSize):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QtViewportConfigurationPrivate::QtViewportConfigurationPrivate):
+
+2010-09-22 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * WebProcess/WebKitMain.cpp:
+ (WebKitMain): Fix typo
+
+2010-09-22 Adam Roben <aroben@apple.com>
+
+ Autogenerate WebPage's message-receiving code and message types
+
+ This patch encompasses several changes that allow message types and
+ receiving code to be generated by a script, and add some type-safety
+ as a bonus. Messages are now represented by structs instead of an ID +
+ ArgumentCoder. The struct contains the arguments and the ID together,
+ and has a constructor that enforces the use of correct types.
+ Correspondingly, a new overload of WebProcessProxy::send that takes a
+ message struct (instead of a message ID and separate arguments) has
+ been added. Eventually all callers should use this overload and the
+ old one can be removed.
+
+ This patch only touches WebPage's messages. We should transition other
+ message receivers over to this new system eventually.
+
+ Fixes <http://webkit.org/b/43636> <rdar://problem/8282462> Add a
+ type-safe IPC mechanism to WebKit2
+
+ Reviewed by Anders Carlsson.
+
+ * DerivedSources.make: Added. Calls generate-message-receiver.py and
+ generate-messages-header.py for each message receiver it knows about
+ (just WebPage for now).
+
+ * Platform/CoreIPC/Arguments.h: Added First/Second/ThirdArgumentType
+ typedefs for use in handleMessage.
+
+ * Platform/CoreIPC/HandleMessage.h: Added.
+ (CoreIPC::handleMessage): This overloaded function template decodes
+ arguments and passes them along to the specified function.
+
+ * Scripts/generate-message-receiver.py: Added.
+ * Scripts/generate-messages-header.py: Added.
+ These scripts just wrap functionality in messages.py.
+
+ * Scripts/webkit2/__init__.py: Added. This just exists so that Python
+ will treat this directory as a package.
+
+ * Scripts/webkit2/messages.py: Added. Contains the code to parse
+ messages files and generate .cpp/.h files from them.
+ (MessageReceiver.__init__): This class represents a single receiver of
+ messages.
+ (MessageReceiver.iterparameters): Returns a generator that can be used
+ to iterate over all the parameters of all the messages of this
+ receiver.
+ (MessageReceiver.parse): Reads a messages file from a file-like object
+ and parses it into a MessageReceiver object.
+ (Message.__init__): This class represents a single message.
+ (Message.id): Returns the ID name for this message.
+ (Parameter.__init__): This class represents a single parameter for a
+ message.
+ (messages_header_filename): Returns the name of the header that
+ defines the messages for a given receiver.
+ (surround_in_condition): Surrounds the given string in #if/#endif if
+ there is an associated condition.
+ (messages_to_kind_enum): Returns a string that defines the Kind enum
+ for these messages.
+ (function_parameter_type): Returns the type that should be used when
+ passing a value of the given type as a parameter to a function.
+ (base_class): Returns the base class for a message struct.
+ (message_to_struct_declaration): Returns a string that declares the
+ struct for this message.
+ (forward_declarations_for_namespace): Returns a string that contains
+ forward-declarations for a set of types in a given namespace.
+ (forward_declarations): Returns a string that contains all the
+ forward-declarations needed in order to declare all the message
+ structs for this receiver.
+ (generate_header_file): Returns a string containing the messages
+ header file for this receiver.
+ (handler_function): Returns the name of the function that handles a
+ given message for a given receiver.
+ (case_statement): Returns a string containing a case statement for
+ handling the given message.
+ (header_for_type): Returns the header needed to define a given type,
+ enclosed in quotes or angle brackets as needed.
+ (generate_message_handler): Returns a string containing the contents
+ of a .cpp file that defines a didReceive*Message function.
+
+ * Scripts/webkit2/messages_unittest.py: Added. Contains tests for
+ messages.py.
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h: Removed. This has been
+ replaced by a generated WebPageMessages.h header.
+
+ * UIProcess/WebEditCommandProxy.cpp:
+ * UIProcess/WebPageProxy.cpp:
+ Updated to use the new message structs and WebProcessProxy::send
+ overload.
+
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::send): Added this new overload that takes a
+ message struct.
+
+ * WebKit2.xcodeproj/project.pbxproj: Added a Derived Sources shell
+ script target that invokes DerivedSources.make. Added "Derived
+ Sources" and "Scripts" groups that contain the various new files.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceivePolicyDecision):
+ (WebKit::WebPage::getSourceForFrame):
+ Changed these functions to take the raw IPC types and do the necessary
+ translation themselves. This keeps the generated code from need to
+ know how to perform the translation.
+
+ (WebKit::WebPage::didReceiveMessage): Replaced handling of WebPage
+ messages with a call to didReceiveWebPageMessage, whose implementation
+ is generated by the scripts.
+
+ * WebProcess/WebPage/WebPage.h: Added didReceiveWebPageMessage.
+
+ * WebProcess/WebPage/WebPage.messages.in: Added. This file declares
+ all of the messages that WebPage receives, roughly grouped by
+ functionality.
+
+ * win/WebKit2.vcproj: Added "Derived Sources" and "Scripts" filters
+ that contain the various new files. Let VS resort some other files.
+
+ * win/WebKit2Common.vsprops: Added
+ $(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources to the include
+ path so that the generated messages header can be found.
+
+ * win/WebKit2.make: Copy the generated source files to $(DSTROOT).
+
+ * win/WebKit2Generated.make: Added a call to build-generated-files.sh.
+
+ * win/WebKit2Generated.vcproj: Added build-generated-files.sh.
+
+ * win/build-generated-files.sh: Added. Invokes DerivedSources.make.
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Enhance ProcessLauncher to be able to launch plug-in processes
+ https://bugs.webkit.org/show_bug.cgi?id=46295
+
+ * UIProcess/Launcher/ProcessLauncher.cpp:
+ (WebKit::ProcessLauncher::ProcessLauncher):
+ Make the ProcessLauncher constructor take a LaunchOptions struct.
+
+ (WebKit::ProcessLauncher::processTypeAsString):
+ Given a process type, return its string representation.
+
+ (WebKit::ProcessLauncher::getProcessTypeFromString):
+ And vice versa.
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ Rename "mode" to "type" and pass the type as a string based on the LaunchOptions struct.
+ Also, set the launch architecture from the LaunchOptions struct.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ (WebKit::ProcessLauncher::launchProcess):
+ Rename "mode" to "type."
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::connect):
+ Initialize a LaunchOptions struct.
+
+ * WebProcess/WebKitMain.cpp:
+ (WebKitMain):
+ Factor code that can be shared between the mac and windows WebKitMain code out into a
+ WebKitMain overload that takes a CommandLine.
+
+ * WebProcess/WebProcessMain.h:
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+ * WebProcess/win/WebProcessMainWin.cpp:
+ (WebKit::WebProcessMain):
+ Change WebProcessMain to take a const CommandLine reference instead of a pointer.
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Rename GetPluginHostConnection to GetPluginPath
+ https://bugs.webkit.org/show_bug.cgi?id=46292
+
+ Rename GetPluginHostConnection to GetPluginPath since this message will always get the
+ plug-in path. We'll add another message to actually get the connection.
+
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPluginPath):
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ * UIProcess/WebProcessProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move plug-in creation to WebPage::createPlugin
+ https://bugs.webkit.org/show_bug.cgi?id=46289
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+ Call WebPage::createPlugin.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ Create the plug-in.
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Random plug-in cleanups
+ https://bugs.webkit.org/show_bug.cgi?id=46279
+
+ * WebProcess/Plugins/Plugin.cpp:
+ (WebKit::Plugin::Parameters::encode):
+ (WebKit::Plugin::Parameters::decode):
+ Add CoreIPC coding support for the Plugin::Parameters struct.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add pluginProcessCrashed pure virtual member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::handleEvent):
+ handleEvent can be called when m_plugin is null.
+
+ (WebKit::PluginView::pluginProcessCrashed):
+ Ask the renderer to show the crashed plug-in indicator.
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Don't listen for some window notifications on all windows
+ https://bugs.webkit.org/show_bug.cgi?id=46277
+
+ Only listen for NSWindowDidBecomeKeyNotification and NSWindowDidResignKeyNotification notifications
+ on all windows; this matches old WebKit and fixes a crash where we would send notifications to views whose
+ underlying pages were invalid.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView addWindowObserversForWindow:]):
+ (-[WKView removeWindowObservers]):
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Crash when running plug-in layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=46269
+
+ Store the web page directly in the PluginView class, instead of getting it from the frame
+ of the plug-in element; this fixes two crashes, one where the plug-in element had been deallocated
+ before the plug-in view, and another where the plug-in element's document did not have a frame.
+
+ This also makes things more robust since we're asserting in the WebPage destructor that no plug-ins have
+ an outstanding reference to it.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::webPage):
+ (WebKit::PluginView::PluginView):
+ (WebKit::PluginView::~PluginView):
+ (WebKit::PluginView::initializePlugin):
+ * WebProcess/Plugins/PluginView.h:
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Change a bunch of Vector<char> to Vector<uint8_t> to better indicate that we're
+ dealing with raw bytes.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::parsePostBuffer):
+ (WebKit::NPN_GetURL):
+ (WebKit::NPN_PostURL):
+ (WebKit::NPN_GetURLNotify):
+ (WebKit::NPN_PostURLNotify):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::loadURL):
+ (WebKit::NetscapePlugin::initialize):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::deliverData):
+ (WebKit::NetscapePluginStream::deliverDataToPlugin):
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ * WebProcess/Plugins/PluginController.h:
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::loadURL):
+ * WebProcess/Plugins/PluginView.h:
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Assertion fails in [WKView _updateWindowFrame] when closing a WebKit2 window
+ https://bugs.webkit.org/show_bug.cgi?id=46264
+ <rdar://problem/8463534>
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView viewDidMoveToWindow]):
+ Only update window visibility and frame when we're moving to a window.
+
+2010-09-22 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] PluginStrategy implementation is broken
+ https://bugs.webkit.org/show_bug.cgi?id=46078
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ Initialize the WebPlatformStrategies at the UI side as well because
+ we are using the LocalizationStrategy in the UI process.
+ Added a FIXME since this should be fixed in the future.
+
+2010-09-22 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ PluginStrategy should satisfy the needs of Qt
+ https://bugs.webkit.org/show_bug.cgi?id=45857
+ No new functionality so no new tests.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::getPluginInfo):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2010-09-21 Steve Falkenburg <sfalken@apple.com>
+
+ Rubber stamped by Simon Fraser.
+
+ Add DirectX SDK include path.
+
+ * win/WebKit2DirectX.vsprops:
+
+2010-09-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Forward window focus changes to the plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=46227
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::windowFocusChanged):
+ Send the NPCocoaEventWindowFocusChanged event.
+
+ (WebKit::NetscapePlugin::windowFrameChanged):
+ (WebKit::NetscapePlugin::windowVisibilityChanged):
+ Add stubs.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add windowFocusChanged, windowFrameChanged and windowVisibilityChanged.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::webPage):
+ Make webPage a member function instead.
+
+ (WebKit::PluginView::setWindowIsFocused):
+ Call the plug-in member function.
+
+ (WebKit::PluginView::initializePlugin):
+ When the plug-in has been initialized, update its window frame, window visibility
+ and window focus states.
+
+ (WebKit::PluginView::setParent):
+ Move viewGeometryDidChange to initializePlugin.
+
+ * WebProcess/Plugins/PluginView.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setActive):
+ Tell all plug-in views about the new window focus state.
+
+ (WebKit::WebPage::windowIsFocused):
+ Return whether the window is focused or not.
+
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::windowIsVisible):
+ (WebKit::WebPage::windowFrame):
+ Add getters.
+
+2010-09-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Handle booleans in injected bundle messages
+ https://bugs.webkit.org/show_bug.cgi?id=46213
+
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+
+2010-09-21 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2 should look for WebKit2WebProcess.exe next to WebKit.dll
+ https://bugs.webkit.org/show_bug.cgi?id=46209
+ <rdar://problem/8445639>
+
+ Find WebKit2WebProcess.exe by getting the full path to WebKit.dll, and then
+ removing the last path component and replacing it with WebKit2WebProcess.exe.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ (WebKit::ProcessLauncher::launchProcess):
+
+2010-09-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Send window visibility and window frame change sizes to the plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=46202
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _updateWindowVisibility]):
+ Call WebPageProxy::setWindowIsVisible.
+
+ (-[WKView addWindowObserversForWindow:]):
+ Add additional observers.
+
+ (-[WKView removeWindowObservers]):
+ Remove observers.
+
+ (-[WKView _updateWindowFrame]):
+ Call WebPageProxy::setWindowFrame.
+
+ (-[WKView viewDidMoveToWindow]):
+ Update the window visibility and the web frame.
+
+ (-[WKView _windowDidMiniaturize:]):
+ (-[WKView _windowDidDeminiaturize:]):
+ Update the window visibility.
+
+ (-[WKView _windowFrameDidChange:]):
+ Update the window frame.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setWindowIsVisible):
+ (WebKit::WebPageProxy::setWindowFrame):
+ Send messages along to the web process.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ Register the plug-in view.
+
+ (WebKit::PluginView::~PluginView):
+ Unregister the plug-in view.
+
+ (WebKit::PluginView::setWindowIsVisible):
+ (WebKit::PluginView::setWindowFrame):
+ Add empty stubs.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ Initialize m_windowIsVisible.
+
+ (WebKit::WebPage::~WebPage):
+ Assert that all plug-in views have been removed.
+
+ (WebKit::WebPage::setWindowIsVisible):
+ Notify all plug-ins about the window visibility change.
+
+ (WebKit::WebPage::setWindowFrame):
+ Notify all plug-ins about the window frame change.
+
+ (WebKit::WebPage::didReceiveMessage):
+ Handle setWindowIsVisible and setWindowFrame.
+
+2010-09-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ * Configurations/WebKit2.xcconfig:
+ Add a note about keeping the path in MainMac.cpp in sync with the install path.
+
+ * mac/MainMac.cpp:
+ (main):
+ Use the correct framework path.
+
+2010-09-21 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * mac/MainMac.cpp:
+ (closeUnusedFileDescriptors):
+ Move this out into a separate function.
+
+ (main):
+ Don't use the soft linking macros, they were bringing in WTFReportAssertionFailure.
+
+2010-09-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Zombie WebProcesses are left around
+ https://bugs.webkit.org/show_bug.cgi?id=46148
+ <rdar://problem/8455898>
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::setupTerminationNotificationHandler):
+ Register a dispatch handler that calls waitpid when the child process exits. This prevents zombies from
+ staying around after the child process has quit.
+
+ (WebKit::ProcessLauncher::launchProcess):
+ Pass POSIX_SPAWN_START_SUSPENDED to posix_spawn to avoid race conditions when setting up the termination
+ notification handler. When the handler is set up we send the SIGCONT signal to the child process.
+
+ * mac/MainMac.cpp:
+ (main):
+ Loop through all file descriptors except for stdin, stdout and stderr and close them.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Soft-link the Web process with WebKit2. We do this so we can ensure that we won't accidentally close any
+ file descriptors opened by initialization code that would have been called before main().
+
+2010-09-21 Andras Becsi <abecsi@inf.u-szeged.hu>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt] QtWebProcess should clean up shared memory map files on close
+ https://bugs.webkit.org/show_bug.cgi?id=45984
+
+ Relocate MappedMemory struct code to it's own header and implement
+ a singleton pool class (MappedMemoryPool) which tracks shared memory
+ to be able to clean up map files from disk if RunLoop stops.
+
+ * Shared/qt/MappedMemory.h: Added.
+ (WebKit::MappedMemory::markUsed):
+ (WebKit::MappedMemory::markFree):
+ (WebKit::MappedMemory::isFree):
+ * Shared/qt/MappedMemoryPool.cpp: Added.
+ (WebKit::MappedMemoryPool::MappedMemoryPool):
+ (WebKit::MappedMemoryPool::instance):
+ (WebKit::MappedMemoryPool::size):
+ (WebKit::MappedMemoryPool::at):
+ (WebKit::MappedMemoryPool::append):
+ (WebKit::MappedMemoryPool::cleanUp):
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::mapMemory):
+ (WebKit::mapFile):
+ * Shared/qt/UpdateChunk.h:
+ * WebKit2.pro:
+
+2010-09-20 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Eric Carlson.
+
+ [GTK] enhanced context menu for media elements
+ https://bugs.webkit.org/show_bug.cgi?id=45021
+
+ New localized strings for the media element context-menu.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::contextMenuItemTagOpenVideoInNewWindow):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagOpenAudioInNewWindow):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagCopyVideoLinkToClipboard):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagCopyAudioLinkToClipboard):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagToggleMediaControls):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagToggleMediaLoop):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagEnterVideoFullscreen):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagMediaPlay):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagMediaPause):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagMediaMute):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagMediaUnMute):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2010-09-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a way to delay sending replies to sync requests
+ https://bugs.webkit.org/show_bug.cgi?id=46117
+
+ Change the didReceiveSyncMessage client message to return a SyncReplyMode. If the SyncReplyMode is
+ AutomaticReply, the reply will be sent when the didReceiveSyncMessage function returns. However, if it is
+ ManualReply, then the client is handed ownership of the reply ArgumentEncoder and can choose to send it
+ at a later time using Connection::sendSyncReply.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendSyncReply):
+ Send the message as a sync reply.
+
+ (CoreIPC::Connection::dispatchMessages):
+ Check the return value of didReceiveSyncMessage. If it is AutomaticReply, immediately send the reply.
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::MessageReceiver::didReceiveSyncMessage):
+ Change return type.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ * UIProcess/WebProcessProxy.h:
+ Update for changed return type.
+
+2010-09-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Don't use bufferIsLargeEnoughToContain for Vectors with variable sized elements
+ https://bugs.webkit.org/show_bug.cgi?id=46109
+
+ Add a new VectorArgumentCoder class template, with specializations based on whether the
+ element is fixed size or not. Then update the ArgumentEncoder<Vector<T>> specialization to choose the
+ right VectorArgumentCoder specialization. To determine this, we use the "IsArithmetic" type trait,
+ which holds true for all integer types and all floating point types.
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+
+2010-09-20 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pasteboard doesn't work in WebKit2.
+ https://bugs.webkit.org/show_bug.cgi?id=42317
+ <rdar://problem/7660537>
+
+ Adding support for RTF, RTFD and NSUrl formats on the Mac.
+ Still missing the selective enabling of the menu entries.
+
+ * WebKit2.xcodeproj/project.pbxproj: Added WebEditorClientMac.mm.
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp: Removed Mac only methods
+ that are now in WebEditorClientMac.mm
+ * WebProcess/WebCoreSupport/WebEditorClient.h: Fixed style and changed parameter
+ type in documentFragmentFromAttributedString to be a Vector of RefPtr.
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: Added.
+ All the following methods have been moved from WebEditorClient.cpp.
+ (WebKit::WebEditorClient::userVisibleString): Added implementation.
+ (WebKit::createExcludedElementsForAttributedStringConversion): Added.
+ (WebKit::WebEditorClient::documentFragmentFromAttributedString): Added implementation.
+ (WebKit::WebEditorClient::setInsertionPasteboard):
+ (WebKit::WebEditorClient::pasteboardTypesForSelection):
+ (WebKit::WebEditorClient::uppercaseWord):
+ (WebKit::WebEditorClient::lowercaseWord):
+ (WebKit::WebEditorClient::capitalizeWord):
+ (WebKit::WebEditorClient::showSubstitutionsPanel):
+ (WebKit::WebEditorClient::substitutionsPanelIsShowing):
+ (WebKit::WebEditorClient::toggleSmartInsertDelete):
+ (WebKit::WebEditorClient::isAutomaticQuoteSubstitutionEnabled):
+ (WebKit::WebEditorClient::toggleAutomaticQuoteSubstitution):
+ (WebKit::WebEditorClient::isAutomaticLinkDetectionEnabled):
+ (WebKit::WebEditorClient::toggleAutomaticLinkDetection):
+ (WebKit::WebEditorClient::isAutomaticDashSubstitutionEnabled):
+ (WebKit::WebEditorClient::toggleAutomaticDashSubstitution):
+ (WebKit::WebEditorClient::isAutomaticTextReplacementEnabled):
+ (WebKit::WebEditorClient::toggleAutomaticTextReplacement):
+ (WebKit::WebEditorClient::isAutomaticSpellingCorrectionEnabled):
+ (WebKit::WebEditorClient::toggleAutomaticSpellingCorrection):
+ (WebKit::WebEditorClient::checkTextOfParagraph):
+ (WebKit::WebEditorClient::showCorrectionPanel):
+ (WebKit::WebEditorClient::dismissCorrectionPanel):
+ (WebKit::WebEditorClient::isShowingCorrectionPanel):
+
+2010-09-20 Andy Estes <aestes@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix a style issue and add a FIXME to make the AppleConnect plug-in
+ workaround dependent on site-specific quirks being enabled, which
+ WebKit2 does not yet support in its WebPreferences implementation.
+ https://bugs.webkit.org/show_bug.cgi?id=45960
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+
+2010-09-20 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add WebKit2 API to load a string as plain text
+ https://bugs.webkit.org/show_bug.cgi?id=46091
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageLoadPlainTextString):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::loadPlainTextString):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::loadData):
+ (WebKit::WebPage::loadHTMLString):
+ (WebKit::WebPage::loadPlainTextString):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-09-19 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * UIProcess/API/C/WKPage.h:
+
+2010-09-19 Sam Weinig <sam@webkit.org>
+
+ Attempt to fix Qt build.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
+
+2010-09-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add WebKit2 equivalent of the WebFormDelegate's doCommandBySelector
+ <rdar://problem/8377088>
+ https://bugs.webkit.org/show_bug.cgi?id=46073
+
+ Add bundle client to match the behavior of:
+ - (BOOL)textField:(DOMHTMLInputElement *)element doCommandBySelector:(SEL)commandSelector inFrame:(WebFrame *)frame;
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
+ (WebKit::InjectedBundlePageFormClient::shouldPerformActionInTextField):
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::getActionTypeForKeyEvent):
+ (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
+ (WebKit::WebEditorClient::textWillBeDeletedInTextField):
+
+2010-09-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2 decidePolicyForNavigationAction should include mouse button information
+ <rdar://problem/8413165>
+ https://bugs.webkit.org/show_bug.cgi?id=46060
+
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toRef):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPolicyClient.cpp:
+ (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
+ (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
+ * UIProcess/WebPolicyClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::findMouseEvent):
+ (WebKit::mouseButtonForNavigationAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+
+2010-09-19 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed buildfix after r67813.
+
+ Replace WKBundleRangeRef with WKBundleRangeHandleRef.
+ https://bugs.webkit.org/show_bug.cgi?id=46054
+
+ * DerivedSources.pro: Add WebCore/generated/JSRange.h to WEBCORE_GENERATED_HEADERS_FOR_WEBKIT2
+
+2010-09-19 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed buildfix after r67802.
+
+ WebKit2: Improve/unify the PageLoadClient interfaces.
+ https://bugs.webkit.org/show_bug.cgi?id=46043
+
+ * UIProcess/API/qt/ClientImpl.h:
+
+2010-09-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Replace WKBundleRangeRef with WKBundleRangeHandleRef.
+ https://bugs.webkit.org/show_bug.cgi?id=46054
+
+ The new one acts like WKBundleNodeHandleRef and allows for getting a
+ wrapper in a specific world for the handle.
+
+ * Shared/APIObject.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetJavaScriptWrapperForRangeForWorld):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleRange.cpp: Removed.
+ * WebProcess/InjectedBundle/API/c/WKBundleRange.h: Removed.
+ * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp: Added.
+ (WKBundleRangeHandleGetTypeID):
+ * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.h: Added.
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::getOrCreate):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: Added.
+ (WebKit::domHandleCache):
+ (WebKit::InjectedBundleRangeHandle::getOrCreate):
+ (WebKit::InjectedBundleRangeHandle::create):
+ (WebKit::InjectedBundleRangeHandle::InjectedBundleRangeHandle):
+ (WebKit::InjectedBundleRangeHandle::~InjectedBundleRangeHandle):
+ (WebKit::InjectedBundleRangeHandle::coreRange):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h: Added.
+ (WebKit::InjectedBundleRangeHandle::type):
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
+ (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing):
+ (WebKit::InjectedBundlePageEditorClient::shouldEndEditing):
+ (WebKit::InjectedBundlePageEditorClient::shouldInsertNode):
+ (WebKit::InjectedBundlePageEditorClient::shouldInsertText):
+ (WebKit::InjectedBundlePageEditorClient::shouldDeleteRange):
+ (WebKit::InjectedBundlePageEditorClient::shouldChangeSelectedRange):
+ (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::jsWrapperForWorld):
+ * WebProcess/WebPage/WebFrame.h:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-09-18 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Improve/unify the PageLoadClient interfaces.
+ https://bugs.webkit.org/show_bug.cgi?id=46043
+
+ - Ensure that all the PageLoadClient functions (that are load related)
+ have bundle API equivalents (this meant adding didFirstLayoutForFrame
+ and didFirstVisuallyNonEmptyLayoutForFrame to the BundlePageLoadClient).
+ - Add a userData out parameters to all the now paired BundlePageLoadClient
+ functions, and a matching userData parameter to the PageLoadClient ones.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (qt_wk_didStartProvisionalLoadForFrame):
+ (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame):
+ (qt_wk_didFailProvisionalLoadWithErrorForFrame):
+ (qt_wk_didCommitLoadForFrame):
+ (qt_wk_didFinishDocumentLoadForFrame):
+ (qt_wk_didFinishLoadForFrame):
+ (qt_wk_didFailLoadWithErrorForFrame):
+ (qt_wk_didReceiveTitleForFrame):
+ (qt_wk_didFirstLayoutForFrame):
+ (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didStartProvisionalLoadForFrame):
+ (WebKit::WebLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
+ (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame):
+ (WebKit::WebLoaderClient::didCommitLoadForFrame):
+ (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame):
+ (WebKit::WebLoaderClient::didFinishLoadForFrame):
+ (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame):
+ (WebKit::WebLoaderClient::didReceiveTitleForFrame):
+ (WebKit::WebLoaderClient::didFirstLayoutForFrame):
+ (WebKit::WebLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
+ (WebKit::WebLoaderClient::didStartProgress):
+ (WebKit::WebLoaderClient::didChangeProgress):
+ (WebKit::WebLoaderClient::didFinishProgress):
+ (WebKit::WebLoaderClient::didBecomeUnresponsive):
+ (WebKit::WebLoaderClient::didBecomeResponsive):
+ (WebKit::WebLoaderClient::processDidExit):
+ (WebKit::WebLoaderClient::didChangeBackForwardList):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didCommitLoadForFrame):
+ (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
+ (WebKit::WebPageProxy::didFinishLoadForFrame):
+ (WebKit::WebPageProxy::didFailLoadForFrame):
+ (WebKit::WebPageProxy::didReceiveTitleForFrame):
+ (WebKit::WebPageProxy::didFirstLayoutForFrame):
+ (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFirstLayoutForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didChangeLocationWithinPageForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
+ (WebKit::WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
+
+2010-09-18 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Enable Platform Strategies on Qt
+
+ [Qt] Turn on PLATFORM_STRATEGIES
+ https://bugs.webkit.org/show_bug.cgi?id=45831
+
+ * WebKit2.pro: Added Added WebPlatformStrategies.{cpp,h}
+
+2010-09-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Need a way to load data (as plain text) in a WKPage
+ <rdar://problem/8424239>
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageLoadHTMLString):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::loadHTMLString):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::loadHTMLString):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-09-17 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Anders Carlsson.
+
+ Replace all uses of WTF::String and WTF::AtomicString with
+ String and AtomicString.
+
+ * Platform/Module.h:
+ * Shared/CommandLine.h:
+ (WebKit::CommandLine::operator[]):
+ * Shared/WebCoreArgumentCoders.h:
+ * Shared/WebEvent.h:
+ (WebKit::WebKeyboardEvent::WebKeyboardEvent):
+ (WebKit::WebKeyboardEvent::text):
+ (WebKit::WebKeyboardEvent::unmodifiedText):
+ (WebKit::WebKeyboardEvent::keyIdentifier):
+ (WebKit::WebKeyboardEvent::decode):
+ * Shared/WebNavigationDataStore.h:
+ * Shared/WebPreferencesStore.h:
+ * Shared/WebString.h:
+ (WebKit::WebString::create):
+ (WebKit::WebString::string):
+ (WebKit::WebString::WebString):
+ * Shared/WebURL.h:
+ (WebKit::WebURL::create):
+ (WebKit::WebURL::string):
+ (WebKit::WebURL::WebURL):
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toRef):
+ (WebKit::toURLRef):
+ (WebKit::toCopiedRef):
+ (WebKit::toCopiedURLRef):
+ (WebKit::toWTFString):
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextCreate):
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::nsStringFromWebCoreString):
+ * UIProcess/PageClient.h:
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::setAdditionalPluginsDirectories):
+ * UIProcess/Plugins/PluginInfoStore.h:
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::PluginInfoStore::getPluginInfo):
+ (WebKit::PluginInfoStore::getMIMETypeForExtension):
+ * UIProcess/WebBackForwardListItem.h:
+ (WebKit::WebBackForwardListItem::create):
+ (WebKit::WebBackForwardListItem::setOriginalURL):
+ (WebKit::WebBackForwardListItem::originalURL):
+ (WebKit::WebBackForwardListItem::setURL):
+ (WebKit::WebBackForwardListItem::url):
+ (WebKit::WebBackForwardListItem::setTitle):
+ (WebKit::WebBackForwardListItem::title):
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::setAdditionalPluginsDirectory):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::injectedBundlePath):
+ * UIProcess/WebContextInjectedBundleClient.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didReceiveTitle):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::url):
+ (WebKit::WebFrameProxy::provisionalURL):
+ * UIProcess/WebHistoryClient.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didReceiveTitleForFrame):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebNavigationData.h:
+ (WebKit::WebNavigationData::title):
+ (WebKit::WebNavigationData::url):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::pageTitle):
+ (WebKit::WebPageProxy::toolTip):
+ (WebKit::WebPageProxy::urlAtProcessExit):
+ * UIProcess/WebPolicyClient.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPluginHostConnection):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/WebUIClient.h:
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ (WebKit::InjectedBundle::create):
+ (WebKit::InjectedBundle::setSandboxToken):
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::start):
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ * WebProcess/Plugins/Plugin.h:
+ * WebProcess/Plugins/PluginController.h:
+ * WebProcess/Plugins/PluginView.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebCoreSupport/WebContextMenuClient.h:
+ * WebProcess/WebCoreSupport/WebDragClient.h:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::showCorrectionPanel):
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebInspectorClient.h:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
+ (WebKit::WebSearchPopupMenu::saveRecentSearches):
+ (WebKit::WebSearchPopupMenu::loadRecentSearches):
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::runJavaScriptInMainFrame):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::registerURLSchemeAsEmptyDocument):
+ * WebProcess/WebProcess.h:
+
+2010-09-17 Sam Weinig <sam@webkit.org>
+
+ Fix Windows and Qt builds.
+
+ * Shared/qt/PlatformCertificateInfo.h:
+ (WebKit::PlatformCertificateInfo::decode):
+ * Shared/win/PlatformCertificateInfo.h:
+ (WebKit::PlatformCertificateInfo::decode):
+
+2010-09-17 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
+ https://bugs.webkit.org/show_bug.cgi?id=42863
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::textZoomFactor):
+ (WebKit::WebPage::setTextZoomFactor):
+ (WebKit::WebPage::pageZoomFactor):
+ (WebKit::WebPage::setPageZoomFactor):
+ (WebKit::WebPage::setPageAndTextZoomFactors):
+ Call functions on Frame instead of FrameView.
+
+2010-09-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Resize corner jiggles when resizing slowly in WebKit2
+ <rdar://problem/7897425>
+ https://bugs.webkit.org/show_bug.cgi?id=45601
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::windowResizerRect):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::windowResizerRect):
+ * WebProcess/WebPage/WebPage.h:
+ Move resize corner logic to WebPage and use the FrameView's size instead of the WebPages
+ stored size, which doesn't get updated at the right time. This is in line with all other
+ scrollbar metrics which are in terms of the FrameView's size.
+
+2010-09-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Make certificate data available to the WKFrameRef after it is committed
+ Part of <rdar://problem/8350189>
+ https://bugs.webkit.org/show_bug.cgi?id=45998
+
+ * Shared/APIObject.h:
+ Add new type.
+
+ * Shared/WebCertificateInfo.h: Added.
+ (WebKit::WebCertificateInfo::create):
+ (WebKit::WebCertificateInfo::platformCertificateInfo):
+ (WebKit::WebCertificateInfo::WebCertificateInfo):
+ (WebKit::WebCertificateInfo::type):
+ Add API type for vending.
+
+ * Shared/mac/PlatformCertificateInfo.h: Added.
+ (WebKit::PlatformCertificateInfo::peerCertificates):
+ * Shared/mac/PlatformCertificateInfo.mm: Added.
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+ (WebKit::PlatformCertificateInfo::encode):
+ (WebKit::PlatformCertificateInfo::decode):
+ (WebKit::PlatformCertificateInfo::dump):
+ * Shared/qt/PlatformCertificateInfo.h: Added.
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+ (WebKit::PlatformCertificateInfo::encode):
+ (WebKit::PlatformCertificateInfo::decode):
+ * Shared/win/PlatformCertificateInfo.h: Added.
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+ (WebKit::PlatformCertificateInfo::encode):
+ (WebKit::PlatformCertificateInfo::decode):
+ Add platform specific holder for certificate data and encode/decode functions
+ to send it over the wire. Right now, this only implemented for the mac.
+
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKCertificateInfo.cpp: Added.
+ (WKCertificateInfoGetTypeID):
+ * UIProcess/API/C/WKCertificateInfo.h: Added.
+ Add wrapper for WebCertificateInfo.
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetCertificateInfo):
+ * UIProcess/API/C/WKFrame.h:
+ Add getter for a WKCertificateInfo.
+
+ * UIProcess/API/C/mac/WKCertificateInfoMac.h: Added.
+ * UIProcess/API/C/mac/WKCertificateInfoMac.mm: Added.
+ (WKCertificateInfoGetPeerCertificates):
+ Add mac specific getters for the platform specific certificate
+ data.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::setCertificateInfo):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::certificateInfo):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didCommitLoadForFrame):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ Pipe the certificate info through to the WebFrameProxy on
+ commit.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2010-09-17 Matthew Delaney <mdelaney@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Reduce minimum DOMTimer interval
+ https://bugs.webkit.org/show_bug.cgi?id=45362
+
+ * WebProcess/WebPage/WebPage.cpp: Added in a call to set the mimimum allowed DOMTimer to 4ms.
+
+2010-09-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ CoreIPC argument coder improvements
+ https://bugs.webkit.org/show_bug.cgi?id=45999
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+ Add explicit specialization for a vector of bytes.
+
+ * Platform/CoreIPC/Arguments.h:
+ (CoreIPC::Arguments1::decode):
+ (CoreIPC::Arguments2::decode):
+ (CoreIPC::Arguments3::decode):
+ (CoreIPC::Arguments4::decode):
+ (CoreIPC::Arguments5::decode):
+ (CoreIPC::Arguments6::decode):
+ Use the injected class name for less typing.
+
+ (CoreIPC::Arguments7::Arguments7):
+ (CoreIPC::Arguments7::encode):
+ (CoreIPC::Arguments7::decode):
+ (CoreIPC::In):
+ (CoreIPC::Out):
+ Add Arguments7 class.
+
+2010-09-17 Andy Estes <aestes@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/8440903> WK2: REGRESSION (r66156): Web sites using
+ AppleConnect fail to log in: "HTTP Status 404 - /ssowebapp/scriptFrame"
+ https://bugs.webkit.org/show_bug.cgi?id=45960
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+
+2010-09-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Make WebNumbers immutable matching CF.
+
+ * Shared/WebNumber.h:
+ (WebKit::WebNumber::value):
+ (WebKit::WebNumber::WebNumber):
+ * UIProcess/API/C/WKNumber.cpp:
+ (WKUInt64GetValue):
+ * UIProcess/API/C/WKNumber.h:
+
+2010-09-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by John Sullivan.
+
+ Add bool wrapper for WebKit2 API
+ https://bugs.webkit.org/show_bug.cgi?id=45985
+
+ * Shared/APIObject.h:
+ * Shared/WebNumber.h:
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKNumber.cpp:
+ (WKBooleanGetTypeID):
+ (WKBooleanCreate):
+ (WKBooleanGetValue):
+ (WKBooleanSetValue):
+ * UIProcess/API/C/WKNumber.h:
+
+2010-09-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add support for sending synchronous messages from the InjectedBundle to the WKContext
+ <rdar://problem/8365320>
+ https://bugs.webkit.org/show_bug.cgi?id=44785
+
+ * Shared/CoreIPCSupport/WebContextMessageKinds.h:
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didReceiveSynchronousMessageFromInjectedBundle):
+ (WebKit::WebContext::didReceiveMessage):
+ (WebKit::WebContext::didReceiveSyncMessage):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebContextInjectedBundleClient.cpp:
+ (WebKit::WebContextInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle):
+ * UIProcess/WebContextInjectedBundleClient.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundlePostSynchronousMessage):
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::postSynchronousMessage):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+
+2010-09-16 Balazs Kelemen <kbalazs@webkit.org>
+
+ Unreviewed trivial typo fix.
+
+ Remove old debug helper code inside |#if 0| from ConnectionQt.cpp
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::readyReadHandler):
+
+2010-09-15 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pasteboard doesn't work in WebKit2.
+ https://bugs.webkit.org/show_bug.cgi?id=42317
+ <rdar://problem/7660537>
+
+ Initial work to support cut, copy, paste and selectAll in WebKit2.
+ It still does not support RTF and RTFD format for Mac and the selective
+ enabling of the editing menu entries.
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h: Added messages to support the
+ new editing commands.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]): Added.
+ (-[WKView copy:]): Added.
+ (-[WKView cut:]): Added.
+ (-[WKView paste:]): Addded.
+ (-[WKView selectAll:]): Added.
+ * UIProcess/WebPageProxy.cpp: Added all the proxy methods.
+ (WebKit::WebPageProxy::selectAll):
+ (WebKit::WebPageProxy::copy):
+ (WebKit::WebPageProxy::cut):
+ (WebKit::WebPageProxy::paste):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::documentFragmentFromAttributedString): Added but not
+ implemented. This is needed to support RTF and RTFD.
+ (WebKit::WebEditorClient::setInsertionPasteboard): Added but not implemented.
+ This is needed only to support Mail on the Mac.
+ * WebProcess/WebPage/WebPage.cpp: Added all the stub methods.
+ (WebKit::WebPage::selectAll):
+ (WebKit::WebPage::copy):
+ (WebKit::WebPage::cut):
+ (WebKit::WebPage::paste):
+ (WebKit::WebPage::didReceiveMessage): Modified to handle the new messages from
+ the UI process.
+ * WebProcess/WebPage/WebPage.h:
+
+2010-09-16 Eric Uhrhane <ericu@chromium.org>
+
+ Reviewed by Jian Li.
+
+ Unify FILE_SYSTEM and FILE_WRITER enables under the name FILE_SYSTEM.
+ https://bugs.webkit.org/show_bug.cgi?id=45798
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-09-15 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKit2 should be able to encode and decode objects of type APIObject::TypeURL.
+ https://bugs.webkit.org/show_bug.cgi?id=45819
+
+ * Shared/UserMessageCoders.h:
+ Add the ability to encode and decode the URL type.
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+
+2010-09-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Add user message coding for WebUInt64 type.
+
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+
+2010-09-15 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ We should save messages that can't be sent when postMessageToInjectedBundle is called and
+ send them in ensureWebProcess.
+ https://bugs.webkit.org/show_bug.cgi?id=45822
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ Post any messages to the Injected Bundle that couldn't be sent earlier because the
+ WebProcess hadn't been initialized yet.
+ (WebKit::WebContext::postMessageToInjectedBundle):
+ * UIProcess/WebContext.h:
+
+2010-09-15 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8214099> Mousewheel scrolling in WebKit2 is wonky
+
+ Use floats so that fractional scrollwheel deltas don't get lost.
+
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::WebEventFactory::createWebWheelEvent):
+
+2010-09-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Add WKUInt64Ref wrapper for sending uint64_ts.
+
+ * Shared/APIObject.h:
+ * Shared/WebNumber.h:
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKNumber.cpp:
+ (WKUInt64GetTypeID):
+ (WKUInt64Create):
+ (WKUInt64GetValue):
+ (WKUInt64SetValue):
+ * UIProcess/API/C/WKNumber.h:
+
+2010-09-15 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=44715
+ maps.google.com flips upside down when zooming map using trackpad in WebKit2 on Mac
+
+ Move geometry flipping to platform-specific code.
+
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::platformInit):
+
+2010-09-14 Jia Pu <jpu@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Only intercept ESC key press when autocorrection UI is visible.
+ https://bugs.webkit.org/show_bug.cgi?id=45071
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::isShowingCorrectionPanel): Dummy implementation.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.h: Adopt new method delcared in base class.
+
+2010-09-14 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * win/WebKit2Generated.make:
+
+2010-09-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Remove WKBundleNodeRef, replacing uses with WKBundleNodeHandleRef.
+ https://bugs.webkit.org/show_bug.cgi?id=45785
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Remove files.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp: Removed.
+ * WebProcess/InjectedBundle/API/c/WKBundleNode.h: Removed.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleRange.cpp:
+ (WKBundleRangeCopyStartContainer):
+ (WKBundleRangeCopyEndContainer):
+ * WebProcess/InjectedBundle/API/c/WKBundleRange.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
+ (WebKit::InjectedBundlePageEditorClient::shouldInsertNode):
+ Change to be in terms of WKBundleNodeHandleRef.
+
+2010-09-14 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Exceptions are getting ignored on 64-bit Windows in the Web Process
+ https://bugs.webkit.org/show_bug.cgi?id=45779
+
+ * WebProcess/WebKitMain.cpp:
+ (disableProcessCallbackFilterForExceptions):
+ Clear the PROCESS_CALLBACK_FILTER_ENABLED flag so that exceptions thrown in callback routines
+ are not ignored, as described in http://support.microsoft.com/kb/976038 and
+ http://blog.paulbetts.org/index.php/2010/07/20/the-case-of-the-disappearing-onload-exception-user-mode-callback-exceptions-in-x64/.
+ (WebKitMain):
+
+2010-09-14 Brent Fulgham <bfulgham@webkit.org>
+
+ Build correction, no review.
+
+ * win/WebKit2.vcproj: Disable build for Cairo targets of
+ the WebURLRequestWin.cpp and WebURLResponseWin.cpp files.
+
+2010-09-14 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, reverting changes r67451 and r67451.
+ Broke lots of builders.
+
+ Only intercept ESC key press when autocorrection UI is visible.
+ https://bugs.webkit.org/show_bug.cgi?id=45071
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::dismissCorrectionPanel):
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+
+2010-09-14 Jia Pu <jpu@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Only intercept ESC key press when autocorrection UI is visible.
+ https://bugs.webkit.org/show_bug.cgi?id=45071
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::isShowingCorrectionPanel): Dummy implementation.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.h: Adopt new method delcared in base class.
+
+2010-09-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ URL in address bar doesn't update when navigating to http://webkit.org/new-bug when using WebKit2
+ <rdar://problem/8272775>
+ https://bugs.webkit.org/show_bug.cgi?id=45729
+
+ Pass an updated provisional url while notifying the UIProcess of
+ didReceiveServerRedirectForProvisionalLoadForFrame.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
+
+2010-09-13 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+
+2010-09-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Threaded mode should work in WebKit2 MiniBrowser
+ https://bugs.webkit.org/show_bug.cgi?id=45727
+
+ - Make starting the web thread more like starting a new
+ process (encapsulate it in a thread launcher class).
+ - Make the call to didFinishLaunching asynchronous so that
+ WebProcess is fully constructed before it is called.
+
+ * Platform/WorkItem.h:
+ (MemberFunctionWorkItem1::MemberFunctionWorkItem1):
+ (MemberFunctionWorkItem1::~MemberFunctionWorkItem1):
+ (MemberFunctionWorkItem1::execute):
+ (WorkItem::create):
+ * UIProcess/Launcher/ProcessLauncher.h:
+ * UIProcess/Launcher/ThreadLauncher.cpp: Added.
+ (WebKit::ThreadLauncher::ThreadLauncher):
+ (WebKit::ThreadLauncher::launchThread):
+ (WebKit::ThreadLauncher::didFinishLaunchingThread):
+ (WebKit::ThreadLauncher::invalidate):
+ * UIProcess/Launcher/ThreadLauncher.h: Added.
+ (WebKit::ThreadLauncher::Client::~Client):
+ (WebKit::ThreadLauncher::create):
+ (WebKit::ThreadLauncher::isLaunching):
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::terminateProcess):
+ * UIProcess/Launcher/mac/ThreadLauncherMac.mm: Added.
+ (WebKit::webThreadBody):
+ (WebKit::ThreadLauncher::createWebThread):
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Added.
+ (WebKit::webThreadBody):
+ (WebKit::ProcessLauncher::createWebThread):
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ * UIProcess/Launcher/win/ThreadLauncherWin.cpp: Added.
+ (WebKit::webThreadBody):
+ (WebKit::ProcessLauncher::createWebThread):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::~WebProcessProxy):
+ (WebKit::WebProcessProxy::connect):
+ (WebKit::WebProcessProxy::isLaunching):
+ (WebKit::WebProcessProxy::didFinishLaunching):
+ * UIProcess/WebProcessProxy.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-09-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ didFinishDocumentLoadForFrame() is not being sent by WebKit2
+ <rdar://problem/8424171>
+
+ Finish wiring up didFinishDocumentLoad to the UIProcess.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
+
+2010-09-13 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Paste should be implemented in WebCore like Copy and Cut for Mac also.
+ https://bugs.webkit.org/show_bug.cgi?id=45494
+ <rdar://problem/7660537>
+
+ On the Mac platform, the implementation of the paste operation is all done
+ at the WebKit level. In order to support it on WebKit2 it is necessary to
+ refactor the code and move this functionality at the level of WebCore like
+ we already have on Windows.
+ The original code relies on some in AppKit functions that call back into
+ WebKit causing problems in WebKit2. All this functionality has been moved
+ at the level of the editor client where it can be dealt with appropriately.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::documentFragmentFromAttributedString): Added.
+ (WebKit::WebEditorClient::setInsertionPasteboard): Added.
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::canShowMIMETypeAsHTML): Added.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-09-11 Daniel Bates <dbates@rim.com>
+
+ Attempt to fix the Qt Linux Release build after changeset 67312 <http://trac.webkit.org/changeset/67312>.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage): Add missing ',' in WKPageUIClient initialization list.
+
+2010-09-11 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ Make SecurityOrigin::canDisplay an instance function
+ https://bugs.webkit.org/show_bug.cgi?id=45219
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::performFrameLoadURLRequest):
+
+2010-09-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Implement WebKit2 callback equivalent to - [WebUIDelegate webView:setStatusText:]
+ <rdar://problem/8359252>
+ https://bugs.webkit.org/show_bug.cgi?id=45605
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::setStatusText):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::setStatusText):
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setStatusbarText):
+
+2010-09-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Add callback mechanism for the getting the source of a frame
+ <rdar://problem/8364681>
+ https://bugs.webkit.org/show_bug.cgi?id=45604
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetSourceForFrame):
+ (callGetSourceForFrameBlockBlockAndDispose):
+ (WKPageGetSourceForFrame_b):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::getSourceForFrame):
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didGetSourceForFrame):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::source):
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::getSourceForFrame):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-09-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Darin Adler.
+
+ Add NetworkingContext to avoid layer violations
+ https://bugs.webkit.org/show_bug.cgi?id=42292
+
+ * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp:
+ * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
+ (WebFrameNetworkingContext::create):
+
+2010-09-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Add zoom support to WebKit2 API
+ <rdar://problem/7660657>
+ https://bugs.webkit.org/show_bug.cgi?id=45585
+
+ - Add UIProcess API for setting zoom factors.
+ - Change bundle zoom API to be in terms of doubles
+ for consistency.
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetTextZoomFactor):
+ (WKPageSetTextZoomFactor):
+ (WKPageGetPageZoomFactor):
+ (WKPageSetPageZoomFactor):
+ (WKPageSetPageAndTextZoomFactors):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::setTextZoomFactor):
+ (WebKit::WebPageProxy::setPageZoomFactor):
+ (WebKit::WebPageProxy::setPageAndTextZoomFactors):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::textZoomFactor):
+ (WebKit::WebPageProxy::pageZoomFactor):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageGetTextZoomFactor):
+ (WKBundlePageSetTextZoomFactor):
+ (WKBundlePageGetPageZoomFactor):
+ (WKBundlePageSetPageZoomFactor):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::textZoomFactor):
+ (WebKit::WebPage::setTextZoomFactor):
+ (WebKit::WebPage::pageZoomFactor):
+ (WebKit::WebPage::setPageZoomFactor):
+ (WebKit::WebPage::setPageAndTextZoomFactors):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-09-10 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Andreas Kling.
+
+ Application cache directory should be checked before sending to the web process
+ https://bugs.webkit.org/show_bug.cgi?id=45462
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::WebProcessProxy): Check the return value of
+ m_context->applicationCacheDirectoy() to avoid sending a null string
+ to the web process what makes it asserting.
+
+2010-09-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom.
+ Precursor to <rdar://problem/7660657>
+ https://bugs.webkit.org/show_bug.cgi?id=45522
+
+ Now that WebCore doesn't require a mode, change the bundle API for zoom to not
+ require one either.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageStopLoading):
+ (WKBundlePageGetTextZoomFactor):
+ (WKBundlePageSetTextZoomFactor):
+ (WKBundlePageGetPageZoomFactor):
+ (WKBundlePageSetPageZoomFactor):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::textZoomFactor):
+ (WebKit::WebPage::setTextZoomFactor):
+ (WebKit::WebPage::pageZoomFactor):
+ (WebKit::WebPage::setPageZoomFactor):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-09-10 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Implement port specific part of WebKit::InjectedBundle
+ https://bugs.webkit.org/show_bug.cgi?id=45541
+
+ * WebProcess/InjectedBundle/InjectedBundle.h: Typedef PlatformBundle as QLibrary for qt.
+ * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
+ (WebKit::InjectedBundle::load): Implemented.
+
+2010-09-10 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] MiniBrowser crashes with multiply windows when closing one of them
+ https://bugs.webkit.org/show_bug.cgi?id=45536
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::~QWKPage): Do not call WKPageTerminate since this is designed
+ to terminate the web process. We are correctly detaching the page without
+ this call anyway.
+
+2010-09-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Fisher.
+
+ Move code from WebKit-layer to DocumentLoader
+ https://bugs.webkit.org/show_bug.cgi?id=45569
+
+ This code looks copy/pasted from Mac. It's unclear whether whether all
+ the complexity is needed here, but I don't have a good way to find out.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::committedLoad):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-09-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Mark Rowe and Darin Adler.
+
+ Set the visible name for the web process
+ https://bugs.webkit.org/show_bug.cgi?id=45564
+ <rdar://problem/8416970>
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::processName):
+ Add a thread safe implementation of -[NSProcessInfo processName].
+
+ (WebKit::ProcessLauncher::launchProcess):
+ Pass the process name to the child process.
+
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+ Set the visible name.
+
+2010-09-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Main resource bytes shouldn't bounce through FrameLoader
+ https://bugs.webkit.org/show_bug.cgi?id=45496
+
+ Now return the bytes to the DocumentLoader.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::receivedData):
+
+2010-09-10 Adam Roben <aroben@apple.com>
+
+ Don't crash when a frame is destroyed after the UI process has
+ disconnected
+
+ Fixes <http://webkit.org/b/45535> <rdar://problem/8412928> Crash in
+ WebProcess::removeWebFrame on exit with WebKit2 (Release builds only)
+
+ Reviewed by Darin Adler.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::removeWebFrame): Null-check m_connection before
+ dereferencing it.
+
+2010-09-09 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Scrollbars fail to render in composited iframes.
+ https://bugs.webkit.org/show_bug.cgi?id=45335
+
+ Use LocalWindowsContext when painting the plugin.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::NetscapePlugin::platformPaint):
+
+2010-09-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Allow passing WebDoubles via postMessage.
+
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+
+2010-09-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2 needs a way to box numbers (for Array, Dictionary, etc.)
+ <rdar://problem/8408844>
+ https://bugs.webkit.org/show_bug.cgi?id=45429
+
+ This adds a generic WebNumber class that can be used for any scalar
+ numeric type. Right now, we are only exposing a double version, but it
+ is designed to allow more.
+
+ * Shared/APIObject.h:
+ * Shared/WebNumber.h: Added.
+ (WebKit::WebNumber::create):
+ (WebKit::WebNumber::value):
+ (WebKit::WebNumber::setValue):
+ (WebKit::WebNumber::WebNumber):
+ (WebKit::WebNumber::type):
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKNumber.cpp: Added.
+ (WKDoubleGetTypeID):
+ (WKDoubleCreate):
+ (WKDoubleGetValue):
+ (WKDoubleSetValue):
+ * UIProcess/API/C/WKNumber.h: Added.
+ * UIProcess/API/C/WebKit2.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-09-08 Anders Carlsson <andersca@apple.com>
+
+ Don't include the std namespace in a header. This hopefully fixes the Windows build.
+
+ * Shared/WebCoreArgumentCoders.h:
+
+2010-09-08 Anders Carlsson <andersca@apple.com>
+
+ Suggested and reviewed by Darin Adler.
+
+ Fix an overflow bug in bufferIsLargeEnoughToContain.
+
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
+
+2010-09-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Improve CoreIPC encoding of strings
+ https://bugs.webkit.org/show_bug.cgi?id=45418
+
+ Encode and decode null Strings. Check that the string length isn't bogus.
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
+ * Shared/WebCoreArgumentCoders.h:
+
+2010-09-08 Adam Roben <aroben@apple.com>
+
+ Add a way to cause the web process to crash at a random time
+
+ Setting the WEBKIT2_CRASH_WEB_PROCESS_RANDOMLY environment variable
+ will cause the web process to crash at a random point up to 3 minutes
+ after launching.
+
+ Fixes <http://webkit.org/b/43058> <rdar://problem/8240150>
+
+ Reviewed by Darin Adler.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::sleep): Added an implementation of this function for Windows.
+ It just calls through to ::Sleep.
+ (WebKit::randomCrashThread): Added. Sleeps for a random amount of time
+ up to 3 minutes, then crashes.
+ (WebKit::startRandomCrashThreadIfRequested): Added. Starts the crash
+ thread if the WEBKIT2_CRASH_WEB_PROCESS_RANDOMLY environment variable
+ is set.
+ (WebKit::WebProcess::initialize): Added a call to
+ startRandomCrashThreadIfRequested.
+
+2010-09-08 Adam Roben <aroben@apple.com>
+
+ Fix potential ref-counting issues with WorkItemWin
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/WorkQueue.h: Changed WorkItemWin to inherit from
+ ThreadSafeShared instead of RefCounted so that its ref-count will stay
+ consistent when used on multiple threads.
+
+2010-09-08 Adam Roben <aroben@apple.com>
+
+ Teach WorkQueue how to stop waiting on objects on Windows
+
+ WorkQueue now uses a subclass of WorkItemWin, HandleWorkItem, to hold
+ the waited-upon HANDLE and its corresponding wait handle. When a
+ HANDLE is unregistered, we use the HandleWorkItem to cancel the wait
+ and destroy the HANDLE.
+
+ Fixes <http://webkit.org/b/42826> <rdar://problem/8222253> Crash in
+ thread pool because WorkQueue keeps waiting on closed HANDLEs
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::platformInvalidate): Changed to call
+ WorkQueue::unregisterAndCloseHandle instead of closing our handles
+ manually.
+
+ (CoreIPC::Connection::readEventHandler):
+ (CoreIPC::Connection::writeEventHandler):
+ Handle cases where the pipe has already closed by just bailing out.
+ This can happen if a WorkItem to call one of these functions has
+ already been scheduled before platformInvalidate is called.
+
+ * Platform/WorkQueue.h: Gave WorkItemWin a virtual destructor, added
+ HandleWorkItem, changed m_handles to hold HandleWorkItems, and added
+ functions for unregistering waits.
+
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::WorkItemWin::~WorkItemWin): Added. This virtual destructor
+ ensures that HandleWorkItem's destructor gets called.
+
+ (WorkQueue::HandleWorkItem::HandleWorkItem):
+ (WorkQueue::HandleWorkItem::createByAdoptingHandle):
+ Added simple constructor/creator.
+
+ (WorkQueue::HandleWorkItem::~HandleWorkItem): Closes the handle we
+ adopted.
+ (WorkQueue::registerHandle): Changed to create a HandleWorkItemWin and
+ to store the wait handle in it.
+ (WorkQueue::unregisterAndCloseHandle): Added. Removes the
+ HandleWorkItem for this HANDLE from m_handles and then schedules its
+ wait to be unregistered and the item to be destroyed.
+ (WorkQueue::platformInvalidate): Added an assertion and removed an
+ obsolete FIXME.
+ (WorkQueue::unregisterWaitAndDestroyItemSoon): Added. Calls
+ unregisterWaitAndDestroyItemCallback on a worker thread, passing it
+ ownership of the HandleWorkItem.
+ (WorkQueue::unregisterWaitAndDestroyItemCallback): Added. Adopts the
+ passed-in HandleWorkItem, then unregisters the handle's wait, then
+ destroys the HandleWorkItem when the RefPtr holding it goes out of
+ scope. Destroying the HandleWorkItem closes the handle.
+
+2010-09-08 Adam Roben <aroben@apple.com>
+
+ Remove WKSerializedScriptValue.cpp/h from the Copy Files build phase
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-09-08 Adam Roben <aroben@apple.com>
+
+ Get rid of WorkQueue::m_performWorkEvent
+
+ We were signaling m_performWorkEvent to spawn a worker thread. We can
+ use ::QueueUserWorkItem to spawn the thread instead.
+
+ Fixes <http://webkit.org/b/45407> WorkQueue::m_performWorkEvent is
+ unnecessary
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/WorkQueue.h: Removed m_performWorkEvent.
+
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::workThreadCallback): Replaced eventCallback with this
+ function. Its functionality is unchanged.
+
+ (WorkQueue::platformInitialize):
+ (WorkQueue::platformInvalidate):
+ Removed code to set up and clean up m_performWorkEvent.
+
+ (WorkQueue::scheduleWork): Use ::QueueUserWorkItem instead of
+ signaling m_performWorkEvent to spawn a worker thread.
+
+2010-09-08 Adam Roben <aroben@apple.com>
+
+ Fix WebKit2Common.vsprops line-endings
+
+ * win/WebKit2Common.vsprops: Made all line-endings be CRLF, as this is
+ the format Visual Studio wants.
+
+2010-09-07 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Support SerializedScriptValue in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=45340
+
+ Add wrappers and IPC serialization for SerializedScriptValue
+
+ * Shared/APIObject.h:
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+ * Shared/WebSerializedScriptValue.h: Added.
+ (WebKit::WebSerializedScriptValue::create):
+ (WebKit::WebSerializedScriptValue::adopt):
+ (WebKit::WebSerializedScriptValue::deserialize):
+ (WebKit::WebSerializedScriptValue::data):
+ (WebKit::WebSerializedScriptValue::WebSerializedScriptValue):
+ (WebKit::WebSerializedScriptValue::type):
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKSerializedScriptValue.cpp: Added.
+ (WKSerializedScriptValueGetTypeID):
+ (WKSerializedScriptValueCreate):
+ (WKSerializedScriptValueDeserialize):
+ * UIProcess/API/C/WKSerializedScriptValue.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-09-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Would like WKBundleFrameRef to turn into WKFrameRef across postMessage boundary, a la PageRef
+ <rdar://problem/8402804>
+ https://bugs.webkit.org/show_bug.cgi?id=45370
+
+ * UIProcess/WebContextUserMessageCoders.h:
+ (WebKit::WebContextUserMessageEncoder::encode):
+ (WebKit::WebContextUserMessageDecoder::decode):
+ * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
+ (WebKit::InjectedBundleUserMessageEncoder::encode):
+ (WebKit::InjectedBundleUserMessageDecoder::decode):
+
+2010-09-07 Kinuko Yasuda <kinuko@chromium.org>
+
+ Unreviewed, another Qt release build fix attempt.
+
+ * UIProcess/API/cpp/qt/WKURLQt.cpp:
+
+2010-09-07 Kinuko Yasuda <kinuko@chromium.org>
+
+ Unreviewed, attempt to fix Qt release build.
+
+ * UIProcess/API/cpp/qt/WKStringQt.cpp:
+
+2010-09-07 Brent Fulgham <bfulgham@webkit.org>
+
+ Build correction, no review.
+
+ * win/WebKit2.vcproj: Disable two unused files for
+ the WinCairo target.
+
+2010-09-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix clang++ build.
+
+ * UIProcess/API/C/WKAPICast.h:
+ Move all functions into the WebKit namespace.
+
+ * UIProcess/API/C/cf/WKStringCF.cpp:
+ Add using namespace WebKit.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ Move all functions into the WebKit namespace.
+
+2010-09-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
+
+ Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
+
+ * Configurations/Base.xcconfig:
+
+2010-09-07 Sam Weinig <sam@webkit.org>
+
+ Another windows fix.
+
+ * UIProcess/win/WebView.cpp:
+
+2010-09-07 Sam Weinig <sam@webkit.org>
+
+ Try and fix windows.
+
+ * UIProcess/WebEditCommandProxy.h:
+
+2010-09-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix incorrect parameter name.
+
+ * UIProcess/API/mac/PageClientImpl.mm:
+
+2010-09-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Add support for Undo/Redo
+ <rdar://problem/7660519>
+ https://bugs.webkit.org/show_bug.cgi?id=42781
+
+ Adds platform independent parts of Undo/Redo support and the mac
+ platform support.
+
+ To work around the common assumption made by platforms, that a redo
+ item will be added synchronously while an undo is in progress, we
+ ignore the calls from WebCore to add redo items, and instead add add
+ them after telling WebCore to unapply the EditCommand. We similarly
+ need to ignore undos, that take place during a redo, and force the
+ addition ourselves.
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ Add new messages.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (-[WebEditCommandObjC initWithWebEditCommandProxy:WebKit::]):
+ (-[WebEditCommandObjC WebKit::]):
+ (-[WebEditorUndoTargetObjC undoEditing:]):
+ (-[WebEditorUndoTargetObjC redoEditing:]):
+ (WebKit::PageClientImpl::PageClientImpl):
+ (WebKit::nameForEditAction):
+ (WebKit::PageClientImpl::registerEditCommand):
+ (WebKit::PageClientImpl::clearAllEditCommands):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::registerEditCommand):
+ (QWKPagePrivate::clearAllEditCommands):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::registerEditCommand):
+ (WebKit::WebView::clearAllEditCommands):
+ * UIProcess/win/WebView.h:
+ Add platform specific hooks for undo/redo.
+
+ * UIProcess/WebEditCommandProxy.cpp: Added.
+ (WebKit::WebEditCommandProxy::WebEditCommandProxy):
+ (WebKit::WebEditCommandProxy::~WebEditCommandProxy):
+ (WebKit::WebEditCommandProxy::unapply):
+ (WebKit::WebEditCommandProxy::reapply):
+ * UIProcess/WebEditCommandProxy.h: Added.
+ (WebKit::WebEditCommandProxy::create):
+ (WebKit::WebEditCommandProxy::commandID):
+ (WebKit::WebEditCommandProxy::editAction):
+ (WebKit::WebEditCommandProxy::invalidate):
+ A proxy for the WebEditCommands in the WebProcess. These are owned
+ by the platform back/forward list, with a weak reference back to the
+ WebPageProxy (which holds a weakset of live WebEditCommandProxys).
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::registerEditCommandForUndo):
+ (WebKit::WebPageProxy::clearAllEditCommands):
+ (WebKit::WebPageProxy::registerEditCommandForRedo):
+ (WebKit::WebPageProxy::addEditCommand):
+ (WebKit::WebPageProxy::removeEditCommand):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ Forward messages.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::registerCommandForUndo):
+ (WebKit::WebEditorClient::registerCommandForRedo):
+ (WebKit::WebEditorClient::clearUndoRedoOperations):
+ Send undo/redo registration and clearing to the UIProcess.
+
+ * WebProcess/WebPage/WebEditCommand.cpp: Added.
+ (WebKit::generateCommandID):
+ (WebKit::WebEditCommand::WebEditCommand):
+ * WebProcess/WebPage/WebEditCommand.h: Added.
+ (WebKit::WebEditCommand::create):
+ (WebKit::WebEditCommand::command):
+ (WebKit::WebEditCommand::commandID):
+ Wrapper for WebCore::EditCommand, with an added unique ID.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::webEditCommand):
+ (WebKit::WebPage::addWebEditCommand):
+ (WebKit::WebPage::removeWebEditCommand):
+ (WebKit::WebPage::unapplyEditCommand):
+ (WebKit::WebPage::reapplyEditCommand):
+ (WebKit::WebPage::didRemoveEditCommand):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::isInRedo):
+ Forward messages.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-09-07 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Indicate which one of the ScriptWorlds for a Frame the Window Object has been cleared for
+ https://bugs.webkit.org/show_bug.cgi?id=45217
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
+
+2010-09-06 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Rename SecurityOrigin::canLoad to canDisplay
+ https://bugs.webkit.org/show_bug.cgi?id=45214
+
+ Propagate name change.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::performFrameLoadURLRequest):
+
+2010-09-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Allow passing null to postMessage API functions
+ https://bugs.webkit.org/show_bug.cgi?id=45234
+
+ * Shared/APIObject.h: Add TypeNull to enum. This is only used
+ for serialization purposes, and does not represent a concrete subclass
+ of APIObject.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Remove WillSubmitFormWithUserData
+ now that it is not needed.
+
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+ Add explicit encoding/decoding of null for user messages.
+
+ * UIProcess/WebContextUserMessageCoders.h:
+ (WebKit::WebContextUserMessageEncoder::encode):
+ (WebKit::WebContextUserMessageDecoder::decode):
+ * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
+ (WebKit::InjectedBundleUserMessageEncoder::encode):
+ (WebKit::InjectedBundleUserMessageDecoder::decode):
+ Update UserMessageCoders subclasses to call the base class in the correct
+ way to work with null messages. This means moving the encoding/decoding
+ of the type down to the base class, which is a nice cleanup.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ Remove now redundant WillSubmitFormWithUserData implementation.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
+ Ditto.
+
+2010-09-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Darin Adler.
+
+ Add NetworkingContext to avoid layer violations
+ https://bugs.webkit.org/show_bug.cgi?id=42292
+
+ Add FrameNetworkingContext implementation.
+
+ * WebKit2.pro:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createNetworkingContext):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
+ (WebKit::WebFrameNetworkingContext::needsSiteSpecificQuirks):
+ (WebKit::WebFrameNetworkingContext::localFileContentSniffingEnabled):
+ (WebKit::WebFrameNetworkingContext::scheduledRunLoopPairs):
+ (WebKit::WebFrameNetworkingContext::blockedError):
+ * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: Added.
+ (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
+ (WebCore::WebFrameNetworkingContext::create):
+ (WebCore::WebFrameNetworkingContext::originatingObject):
+ (WebCore::WebFrameNetworkingContext::networkAccessManager):
+ * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: Added.
+ * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp: Added.
+ * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: Added.
+ (WebFrameNetworkingContext::create):
+ (WebFrameNetworkingContext::WebFrameNetworkingContext):
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+
+2010-09-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Add ability to send UserData to willSubmitForm
+ https://bugs.webkit.org/show_bug.cgi?id=45222
+
+ - Adds a willSubmitForm callback to the BundlePageFormClient with an out
+ parameter WKTypeRef* parameter.
+ - That out parameter gets serialized and then passed to the PageFormClient's
+ willSubmitForm, which now has WKTypeRef parameter.
+
+ - Temporarily adds a new WillSubmitFormWithUserData message kind. This will
+ be replaced by the ability to explicitly serialize null as a UserMessage.
+
+ * Platform/CoreIPC/Arguments.h:
+ (CoreIPC::Arguments6::Arguments6):
+ (CoreIPC::Arguments6::encode):
+ (CoreIPC::Arguments6::decode):
+ (CoreIPC::In):
+ (CoreIPC::Out):
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebFormClient.cpp:
+ (WebKit::WebFormClient::willSubmitForm):
+ * UIProcess/WebFormClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::willSubmitForm):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
+ (WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing):
+ (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
+ (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
+ (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
+ (WebKit::InjectedBundlePageFormClient::willSubmitForm):
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
+
+2010-09-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Change WKDictionaryIsMutable to take a WKDictionaryRef instead of a WKMutableDictionaryRef.
+ If the type is already states it is mutable, there would be no reason for the check.
+
+ * UIProcess/API/C/WKMutableDictionary.cpp:
+ (WKDictionaryIsMutable):
+ * UIProcess/API/C/WKMutableDictionary.h:
+
+2010-09-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add ability to send WKDictionaryRefs via post message.
+ https://bugs.webkit.org/show_bug.cgi?id=45151
+
+ * Shared/ImmutableDictionary.cpp:
+ (WebKit::ImmutableDictionary::ImmutableDictionary):
+ * Shared/ImmutableDictionary.h:
+ (WebKit::ImmutableDictionary::adopt): Remove tag, it wasn't doing anything.
+ (WebKit::ImmutableDictionary::isMutable):
+ (WebKit::ImmutableDictionary::map): Add accessor of internal
+ map for encoder.
+
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+ Add encoder/decoder.
+
+2010-09-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Share the common parts of UserMessage coding between both processes.
+ https://bugs.webkit.org/show_bug.cgi?id=45139
+
+ Add base classes UserMessageEncoder and UserMessageDecoder which implement
+ encoding/decoding of ImmutableArray and String (soon to be others as well, such
+ as ImmutableDictionary, Data, etc.) and add derived classes which implement the
+ process specific bits such as Page -> BundlePage conversion.
+
+ * Shared/UserMessageCoders.h: Copied from WebProcess/InjectedBundle/InjectedBundle.cpp.
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageEncoder::UserMessageEncoder):
+ (WebKit::UserMessageDecoder::baseDecode):
+ (WebKit::UserMessageDecoder::UserMessageDecoder):
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::postMessageToInjectedBundle):
+ (WebKit::WebContext::didReceiveMessage):
+ * UIProcess/WebContextUserMessageCoders.h: Copied from UIProcess/WebContext.cpp.
+ (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
+ (WebKit::WebContextUserMessageEncoder::encode):
+ (WebKit::WebContextUserMessageDecoder::WebContextUserMessageDecoder):
+ (WebKit::WebContextUserMessageDecoder::decode):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::postMessage):
+ (WebKit::InjectedBundle::didReceiveMessage):
+ * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: Copied from WebProcess/InjectedBundle/InjectedBundle.cpp.
+ (WebKit::InjectedBundleUserMessageEncoder::InjectedBundleUserMessageEncoder):
+ (WebKit::InjectedBundleUserMessageEncoder::encode):
+ (WebKit::InjectedBundleUserMessageDecoder::InjectedBundleUserMessageDecoder):
+ (WebKit::InjectedBundleUserMessageDecoder::decode):
+ * win/WebKit2.vcproj:
+
+2010-09-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Simplify ownership semantics of some WebKit2 types
+ https://bugs.webkit.org/show_bug.cgi?id=45120
+
+ - Make ImmutableArray and MutableArray use a Vector<RefPtr<APIObject> > and
+ therefore ref any items it takes in.
+ - Make the PostMessageDecoder operate on a RefPtr<APIObject>& to avoid the odd
+ leaking semantics.
+
+ * Shared/ImmutableArray.cpp:
+ (WebKit::ImmutableArray::ImmutableArray): This constructor now uses a for-loop
+ instead of memcpy to ref each item.
+ (WebKit::ImmutableArray::~ImmutableArray): No longer necessary to manually deref.
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::adopt):
+ (WebKit::ImmutableArray::at):
+ Changes to accommodate entries being changed to a Vector<RefPtr<APIObject> >.
+
+ * Shared/ImmutableDictionary.cpp:
+ (WebKit::ImmutableDictionary::keys):
+ Build a Vector<RefPtr<APIObject> >.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+ (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
+ Ditto.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::PostMessageEncoder::PostMessageDecoder::PostMessageDecoder):
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ (WebKit::WebContext::didReceiveMessage):
+ APIObject>& to avoid the odd leaking semantics.
+
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::PostMessageEncoder::PostMessageDecoder::PostMessageDecoder):
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ (WebKit::InjectedBundle::didReceiveMessage):
+ Ditto.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::childFrames):
+ Build a Vector<RefPtr<APIObject> >.
+
+2010-09-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add WKMutableDictionary API for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=45117
+
+ Add WKMutableDictionary API that inherits from WKDictionaryRef
+ the same way WKMutableArrayRef inherits from WKArrayRef.
+
+ * Shared/ImmutableDictionary.h:
+ (WebKit::ImmutableDictionary::get):
+ (WebKit::ImmutableDictionary::isMutable):
+ * Shared/MutableDictionary.cpp: Added.
+ (WebKit::MutableDictionary::MutableDictionary):
+ (WebKit::MutableDictionary::~MutableDictionary):
+ (WebKit::MutableDictionary::add):
+ (WebKit::MutableDictionary::set):
+ * Shared/MutableDictionary.h: Added.
+ (WebKit::MutableDictionary::create):
+ (WebKit::MutableDictionary::isMutable):
+ * UIProcess/API/C/WKAPICast.h:
+ (toWK):
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKMutableDictionary.cpp: Added.
+ (WKMutableDictionaryCreate):
+ (WKDictionaryIsMutable):
+ (WKDictionaryAddItem):
+ (WKDictionarySetItem):
+ * UIProcess/API/C/WKMutableDictionary.h: Added.
+ * UIProcess/API/C/WebKit2.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-09-02 Jessie Berlin <jberlin@apple.com>
+
+ Windows build fix. Unreviewed.
+
+ * UIProcess/API/win/WKAPICastWin.h:
+ (toWK):
+ * UIProcess/API/win/WKBaseWin.h:
+
+2010-09-01 Jia Pu <jpu@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add support for autocorrection UI on Mac OS X.
+ https://bugs.webkit.org/show_bug.cgi?id=44958
+ <rdar://problem/7326847>
+
+ See detailed high level description in WebCore/ChangeLog.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::showCorrectionPanel): Dummy implementation.
+ (WebKit::WebEditorClient::dismissCorrectionPanel): Ditto
+
+ * WebProcess/WebCoreSupport/WebEditorClient.h: Added new methods declared in base class.
+
+2010-09-01 Sam Weinig <sam@webkit.org>
+
+ Fix the build.
+
+ As with CF, const struct OpaqueType* should be the default type
+ so that const_casts are not necessary in user code.
+
+ * UIProcess/API/C/WKArray.cpp:
+ (WKArrayCreate):
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKType.cpp:
+ (WKGetTypeID):
+ (WKRetain):
+ (WKRelease):
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ (toWK):
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+
+2010-09-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add mutable array API to WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=45082
+
+ Add a mutable API to WebKit2 called WKMutableArrayRef. Make it "inherit" from
+ WKArrayRef in the same way JSObjectRef can inherit from JSValueRef in the JSC
+ API, by abusing the c type system (WKArrayRef is defined as a const version of
+ WKMutableArrayRef). Add very basic mutable API to go along with it.
+
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::isMutable):
+ Add ability to ask it an array is mutable.
+
+ * Shared/MutableArray.cpp: Added.
+ (WebKit::MutableArray::MutableArray):
+ (WebKit::MutableArray::~MutableArray):
+ (WebKit::MutableArray::append):
+ * Shared/MutableArray.h: Added.
+ (WebKit::MutableArray::create):
+ (WebKit::MutableArray::isMutable):
+ Sketch out the mutable array interface.
+
+ * UIProcess/API/C/WKAPICast.h:
+ (toWK):
+ Now that the opaque types can be const, use template magic to const_cast
+ it away.
+
+ * UIProcess/API/C/WKBase.h:
+ Add new type and re-type WKArrayRef as const.
+
+ * UIProcess/API/C/WKMutableArray.cpp: Added.
+ (WKMutableArrayCreate):
+ (WKArrayIsMutable):
+ (WKArrayAppendItem):
+ * UIProcess/API/C/WKMutableArray.h: Added.
+ Fill in basic API.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add files.
+
+2010-09-01 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implement PluginInfoStore for UNIX
+ https://bugs.webkit.org/show_bug.cgi?id=45038
+
+ This implementation is generally just reusing the logic in WebCore since
+ there is no way to get informations from a UNIX plugin without loading it
+ - in contrast to mac bundles and windows dll-s.
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ (WebKit::PluginInfoStore::pluginsDirectories):
+ (WebKit::PluginInfoStore::pluginPathsInDirectory):
+ (WebKit::PluginInfoStore::getPluginInfo):
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+
+2010-09-01 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Allow the web process to load frameworks other than WebKit2.framework from the build directory
+ when running engineering builds.
+
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain): Pass the path containing WebKit2.framework to the sandbox rather than
+ the path of the WebKit2.framework itself.
+
+2010-09-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by John Sullivan.
+
+ Change ImmutableArray to be backed by a Vector
+ https://bugs.webkit.org/show_bug.cgi?id=45064
+
+ Change ImmutableArray to be backed by a Vector to work toward having
+ a mutable subclass and to improve the API when working with it in WebKit2
+ itself.
+
+ - Also remove WKArrayCreateAdoptingValues which was confusing and unused.
+
+ * Shared/ImmutableArray.cpp:
+ (WebKit::ImmutableArray::ImmutableArray):
+ (WebKit::ImmutableArray::~ImmutableArray):
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::adopt):
+ (WebKit::ImmutableArray::at):
+ (WebKit::ImmutableArray::size):
+ * Shared/ImmutableDictionary.cpp:
+ (WebKit::ImmutableDictionary::keys):
+ * UIProcess/API/C/WKArray.cpp:
+ * UIProcess/API/C/WKArray.h:
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+ (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
+ * UIProcess/WebContext.cpp:
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::childFrames):
+
+2010-09-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add URLResponse API for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=45062
+
+ Add WebURLResponse class and WKURLResponseRef C API to go with it. Right now,
+ instance of WKURLResponseRef are manipulated via platform types just like
+ WKURLRequestRef.
+
+ This just adds the type and conversion functions, no uses yet.
+
+ * Shared/APIObject.h:
+ * Shared/WebCoreArgumentCoders.h:
+ * Shared/WebURLResponse.cpp: Added.
+ (WebKit::WebURLResponse::WebURLResponse):
+ * Shared/WebURLResponse.h: Added.
+ (WebKit::WebURLResponse::create):
+ (WebKit::WebURLResponse::resourceResponse):
+ (WebKit::WebURLResponse::type):
+ * Shared/mac/WebCoreArgumentCodersMac.mm:
+ (CoreIPC::encodeWithNSKeyedArchiver):
+ (CoreIPC::decodeWithNSKeyedArchiver):
+ (CoreIPC::encodeResourceRequest):
+ (CoreIPC::decodeResourceRequest):
+ * Shared/mac/WebURLResponseMac.mm: Added.
+ (WebKit::WebURLResponse::WebURLResponse):
+ (WebKit::WebURLResponse::platformResponse):
+ * Shared/qt/WebURLResponseQt.cpp: Added.
+ (WebKit::WebURLResponse::WebURLResponse):
+ (WebKit::WebURLResponse::platformResponse):
+ * Shared/win/WebURLResponseWin.cpp: Added.
+ (WebKit::WebURLResponse::WebURLResponse):
+ (WebKit::WebURLResponse::platformResponse):
+ * UIProcess/API/C/WKURLResponse.cpp: Added.
+ (WKURLResponseGetTypeID):
+ * UIProcess/API/C/WKURLResponse.h: Added.
+ * UIProcess/API/C/cf/WKURLResponseCF.cpp: Added.
+ (WKURLResponseCreateWithCFURLResponse):
+ (WKURLResponseCopyCFURLResponse):
+ * UIProcess/API/C/cf/WKURLResponseCF.h: Added.
+ * UIProcess/API/C/mac/WKURLResponseNS.h: Added.
+ * UIProcess/API/C/mac/WKURLResponseNS.mm: Added.
+ (WKURLResponseCreateWithNSURLResponse):
+ (WKURLResponseCopyNSURLResponse):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-09-01 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Auto-generate WebKit2 forwarding headers
+ https://bugs.webkit.org/show_bug.cgi?id=44692
+
+ * DerivedSources.pro: let the generate-forwarding-headers.pl
+ script generate forwarding headers.
+ * generate-forwarding-headers.pl: Added.
+
+2010-08-31 Dave Hyatt <hyatt@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=44863
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::layoutIfNeeded):
+
+2010-08-31 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Fix some copy/paste errors.
+
+ Reviewed by Steve Falkenburg.
+
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
+ (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
+ Null check the correct callback.
+ (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
+ Ditto.
+ (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
+ Ditto.
+
+2010-08-31 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Crash when closing a page with a form field when using WebKit2.
+
+ Reviewed by Anders Carlsson.
+
+ The crash came from accessing a BundlePageFormClient that had been
+ destroyed. The client was intended to be cleared by a call to
+ WKBundlePageSetFormClient, but a null check there caused it not to be
+ cleared.
+
+ I fixed this and all of the other WK "set client" functions.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetInjectedBundleClient):
+ Return early if the caller passed a client with a version not equal to
+ 0.
+ (WKContextSetHistoryClient):
+ Ditto.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetPageLoaderClient):
+ Ditto.
+ (WKPageSetPagePolicyClient):
+ Ditto.
+ (WKPageSetPageFormClient):
+ Ditto.
+ (WKPageSetPageUIClient):
+ Ditto.
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleSetClient):
+ Ditto.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetEditorClient):
+ Ditto.
+ (WKBundlePageSetFormClient):
+ Ditto.
+ (WKBundlePageSetLoaderClient):
+ Ditto.
+ (WKBundlePageSetUIClient):
+ Ditto.
+
+2010-08-31 Alexey Proskuryakov <ap@apple.com>
+
+ Build fix.
+
+ * Shared/WebPreferencesStore.h: Actually remove encode(), which has been moved to WebPreferencesStore.cpp.
+
+2010-08-31 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42195
+ <rdar://problem/8186761> WebKitTestRunner needs to support layoutTestController.setXSSAuditorEnabled
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore): Initialize xssAuditorEnabled.
+ (WebKit::WebPreferencesStore::decode): Moved from header, added xssAuditorEnabled.
+ (WebKit::WebPreferencesStore::encode): Ditto.
+ (WebKit::WebPreferencesStore::overrideXSSAuditorEnabledForTestRunner): Set an override, so
+ that decoding a WebPreferencesStore in the process will give the override result. WebProcess
+ doesn't hold to WebPreferencesStore, so there are no existing ones to patch.
+ (WebKit::WebPreferencesStore::removeTestRunnerOverrides): Remove the override.
+
+ * Shared/WebPreferencesStore.h: Added xssAuditorEnabled.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetXSSAuditorEnabled):
+ (WKPreferencesGetXSSAuditorEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ Added an API method to change xssAuditorEnabled preference.
+
+ * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::preferencesDidChange): Added a comment
+ explaining how making this method smarter could affect WebKitTestRunner.
+
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setXSSAuditorEnabled):
+ (WebKit::WebPreferences::xssAuditorEnabled):
+ * UIProcess/WebPreferences.h:
+ Implemented xssAuditorEnabled preference accessors.
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleOverrideXSSAuditorEnabledForTestRunner):
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ Added a private methods to temporarily change xssAuditor setting from an injected bundle,
+ not notifying UIProcess about the change.
+
+ * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideXSSAuditorEnabledForTestRunner):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ Change the setting in existing pages, and override it for future ones.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Take xssAuditorEnabled from preferences store.
+ (WebKit::WebPage::preferencesDidChange): If preferences change, forget our override. This only
+ happens in WKRT when the next test begins.
+
+2010-08-31 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ WebKitTestRunner needs layoutTestController.addUserStyleSheet
+ https://bugs.webkit.org/show_bug.cgi?id=42680
+
+ WebKitTestRunner needs layoutTestController.addUserScript
+ https://bugs.webkit.org/show_bug.cgi?id=42681
+
+ Improve UserContent APIs to allow passing null in the same places
+ the WebKit1 API allowed. Add convenience function toWTFString to do
+ WKStringRef conversion with correct null string behavior.
+
+ * UIProcess/API/C/WKAPICast.h:
+ (toWTFString):
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleAddUserScript):
+ (WKBundleAddUserStyleSheet):
+ (WKBundleRemoveUserScript):
+ (WKBundleRemoveUserStyleSheet):
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::toStringVector):
+
+2010-08-31 Steve Falkenburg <sfalken@apple.com>
+
+ Rubber stamped by Sam Weinig.
+
+ Remove library directive from def file to fix Debug_All build.
+
+ * win/WebKit2.def:
+
+2010-08-31 Adam Roben <aroben@apple.com>
+
+ Handle WM_PRINTCLIENT in WebKit2 on Windows
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::wndProc): Call through to onPrintClientEvent when we
+ get a WM_PRINTCLIENT message.
+ (WebKit::WebView::onPrintClientEvent): Added. Paints the entire view
+ into the HDC provided by Windows.
+
+ * UIProcess/win/WebView.h: Added onPrintClientEvent.
+
+2010-08-27 Adam Roben <aroben@apple.com>
+
+ Don't send messages to the injected bundle if the web process has
+ exited
+
+ Fixes <http://webkit.org/b/43046> <rdar://problem/8239455> Crash in
+ WKContextPostMessageToInjectedBundle if the web process has exited
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::postMessageToInjectedBundle): Only send messages
+ when we have a valid web process.
+
+2010-08-27 Adam Roben <aroben@apple.com>
+
+ Use the Windows thread pool instead of a dedicated thread for
+ WorkQueue on Windows
+
+ WorkQueue now uses ::RegisterWaitForSingleObject to find out when work
+ items need to be executed. This causes Windows to wait on the objects
+ on a thread pool wait thread, and then to spawn a thread pool worker
+ thread when an object is signaled. This is more efficient than using
+ our own dedicated thread to perform the wait and the work because
+ multiple WorkQueues (and even other parts of WebKit or other modules)
+ can all share the same wait thread and worker thread pool.
+
+ Each time WorkQueue::m_performWorkEvent or any handle in
+ WorkQueue::m_handles is signaled, a worker thread will be spawned.
+ To maintain WorkQueue's serial nature, only one worker thread is
+ allowed to perform work items at a time. (The worker thread that is
+ actually performing work items is called the queue's "work thread".)
+ To accomplish this, worker threads must register as the queue's work
+ thread before performing work items.
+ WorkQueue::m_isWorkThreadRegistered is used as an atomic guard to make
+ sure that only one worker thread is registered at a time.
+
+ Fixes <http://webkit.org/b/43150> <rdar://problem/8247280>.
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/WorkQueue.h:
+ - Added the WorkItemWin class, which is used to wrap WorkItems for
+ WorkQueue's Windows implementation
+ - Changed m_workItemQueue and m_handles to hold
+ RefPtr<WorkItemWin>s
+ - Replaced "work queue thread"-related members with new members that
+ handle our thread pool code
+
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::WorkItemWin::WorkItemWin):
+ (WorkQueue::WorkItemWin::create):
+ Added simple constructor/creator.
+
+ (WorkQueue::handleCallback): Added. This function is called whenever a
+ handle in WorkQueue::m_handles is signaled. We add the WorkItemWin
+ that corresponds to the handle (passed via the context parameter) to
+ the work item queue, then try to register as the work thread and
+ perform any queued work. If another thread is already registered as
+ the work thread, we just exit and let that thread handle the work we
+ queued.
+ (WorkQueue::registerHandle): Changed to wrap the WorkItem in a
+ WorkItemWin, and to use ::RegisterWaitForSingleObject to wait on the
+ handle.
+ (WorkQueue::eventCallback): Added. This function is called whenever
+ m_performWorkEvent is signaled. We try to register as the work thread
+ and perfom any queued work. If another thread is already registered as
+ the work thread, we just exit and let that thread handle the work.
+ (WorkQueue::performWorkOnRegisteredWorkThread): Added. Performs any
+ queued work in a loop until either the queue becomes invalid or no
+ work is left to perform. Unregisters as the work thread before exiting
+ so that other threads can perform work in the future.
+ (WorkQueue::platformInitialize): Added initialization of
+ m_isWorkThreadRegistered. Replaced code to spawn the old work queue
+ thread with a call to ::RegisterWaitForSingleObject so that a worker
+ thread from the thread pool will be spawned when m_performWorkEvent is
+ signaled.
+ (WorkQueue::tryRegisterAsWorkThread): Added. Attempts an atomic
+ compare-and-swap to change m_isWorkThreadRegistered from 0 to 1. If
+ sucessful, we return true to indicate that this thread is now
+ registered as the work thread.
+ (WorkQueue::unregisterAsWorkThread): Added. Uses an atomic
+ compare-and-swap to change m_isWorkThreadRegistered back from 1 to 0.
+ (WorkQueue::scheduleWork): Changed to wrap the WorkItem in a
+ WorkItemWin. Also added an optimization to avoid signaling
+ m_performWorkEvent when a work thread is already performing work, as
+ it will pick up the item we just queued without us having to do
+ anything.
+
+2010-08-31 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] Fix warnings in WebKit2 directory
+ https://bugs.webkit.org/show_bug.cgi?id=44593
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp: Mark unused variables for compiler.
+ (CoreIPC::Connection::readyReadHandler):
+ (CoreIPC::Connection::sendOutgoingMessage):
+ * Shared/qt/WebEventFactoryQt.cpp:
+ (WebKit::WebEventFactory::createWebTouchEvent): Initialize state variable. Default case added.
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
+ (WebKit::toNP): Return initialized NPEvent.
+
+2010-08-31 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] Determine application path of MiniBrowser at runtime and use that path
+ for QtWebProcess if the executable exists in that path.
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncherHelper::launch):
+
+2010-08-31 Zoltan Horvath <zoltan@webkit.org>
+
+ Build fix after r66448 on WebKit2.
+
+ [Qt] qt_wk_didFinishDocumentLoadForFrame needs to be implemented
+ https://bugs.webkit.org/show_bug.cgi?id=44934
+
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (qt_wk_didFinishDocumentLoadForFrame):
+ * UIProcess/API/qt/ClientImpl.h:
+
+2010-08-30 Alice Liu <alice.liu@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add missing parts of didFinishDocumentLoadForFrame
+ https://bugs.webkit.org/show_bug.cgi?id=44913
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added new kind
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage): Updated struct
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame): Added
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage): Added case for WebPageProxyMessage::DidFinishDocumentLoadForFrame
+ (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): Added
+ * UIProcess/WebPageProxy.h:
+
+ Just rearranging existing code in these:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+
+2010-08-30 Sam Weinig <sam@webkit.org>
+
+ Try and fix the WebKit2 buildbot.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface): Add missing initialization of QTMovieDisableComponent.
+
+2010-08-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add URLRequest API for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=44910
+
+ Add WebURLRequest class and WKURLRequestRef C API to go with it. Right now,
+ instance of WKURLRequestRef are manipulated via platform types, a la the
+ WKStringRef and WKURLRef types.
+
+ - Pipes WKPageLoadURLRequest through to the WebProcess.
+
+ * Shared/APIObject.h:
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ * Shared/WebCoreArgumentCoders.h:
+ * Shared/WebURLRequest.cpp: Added.
+ (WebKit::WebURLRequest::WebURLRequest):
+ * Shared/WebURLRequest.h: Added.
+ (WebKit::WebURLRequest::create):
+ (WebKit::WebURLRequest::resourceRequest):
+ (WebKit::WebURLRequest::type):
+ * Shared/mac/WebCoreArgumentCodersMac.mm: Added.
+ (CoreIPC::encodeResourceRequest):
+ (CoreIPC::decodeResourceRequest):
+ * Shared/mac/WebURLRequestMac.mm: Added.
+ (WebKit::WebURLRequest::WebURLRequest):
+ (WebKit::WebURLRequest::platformRequest):
+ * Shared/qt/WebCoreArgumentCodersQt.cpp: Added.
+ (CoreIPC::encodeResourceRequest):
+ (CoreIPC::decodeResourceRequest):
+ * Shared/qt/WebURLRequestQt.cpp: Added.
+ (WebKit::WebURLRequest::WebURLRequest):
+ (WebKit::WebURLRequest::platformRequest):
+ * Shared/win/WebCoreArgumentCodersWin.cpp: Added.
+ (CoreIPC::encodeResourceRequest):
+ (CoreIPC::decodeResourceRequest):
+ * Shared/win/WebURLRequestWin.cpp: Added.
+ (WebKit::WebURLRequest::WebURLRequest):
+ (WebKit::WebURLRequest::platformRequest):
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageLoadURLRequest):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WKURLRequest.cpp: Added.
+ (WKURLRequestGetTypeID):
+ * UIProcess/API/C/WKURLRequest.h: Added.
+ * UIProcess/API/C/WebKit2.h:
+ * UIProcess/API/C/cf/WKURLRequestCF.cpp: Added.
+ (WKURLRequestCreateWithCFURLRequest):
+ (WKURLRequestCopyCFURLRequest):
+ * UIProcess/API/C/cf/WKURLRequestCF.h: Added.
+ * UIProcess/API/C/mac: Added.
+ * UIProcess/API/C/mac/WKURLRequestNS.h: Added.
+ * UIProcess/API/C/mac/WKURLRequestNS.mm: Added.
+ (WKURLRequestCreateWithNSURLRequest):
+ (WKURLRequestCopyNSURLRequest):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::loadURL):
+ (WebKit::WebPageProxy::loadURLRequest):
+ * UIProcess/WebPageProxy.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::loadURL):
+ (WebKit::WebPage::loadURLRequest):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-08-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WorkQueue leaks its dispatch queue
+ <rdar://problem/8358509>
+ https://bugs.webkit.org/show_bug.cgi?id=44689
+
+ * Platform/mac/WorkQueueMac.cpp:
+ (WorkQueue::platformInvalidate):
+
+2010-08-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Add UserContent API to WebKit2 InjectedBundle
+ <rdar://problem/8367587>
+ https://bugs.webkit.org/show_bug.cgi?id=44810
+
+ The new API differs from the version in WebKit1 in that the function do not take
+ a group name since we currently do not expose a way to make multiple PageGroups in
+ the API.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ (toUserScriptInjectionTime):
+ (toUserContentInjectedFrames):
+ Add conversion functions for enums.
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleAddUserScript):
+ (WKBundleAddUserStyleSheet):
+ (WKBundleRemoveUserScript):
+ (WKBundleRemoveUserStyleSheet):
+ (WKBundleRemoveUserScripts):
+ (WKBundleRemoveUserStyleSheets):
+ (WKBundleRemoveAllUserContent):
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::toStringVector):
+ (WebKit::InjectedBundle::addUserScript):
+ (WebKit::InjectedBundle::addUserStyleSheet):
+ (WebKit::InjectedBundle::removeUserScript):
+ (WebKit::InjectedBundle::removeUserStyleSheet):
+ (WebKit::InjectedBundle::removeUserScripts):
+ (WebKit::InjectedBundle::removeUserStyleSheets):
+ (WebKit::InjectedBundle::removeAllUserContent):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ Forward API to PageGroup.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::sharedPageGroup):
+ (WebKit::WebProcess::visitedLinkStateChanged):
+ (WebKit::WebProcess::allVisitedLinkStateChanged):
+ * WebProcess/WebProcess.h: Ad accessor for global PageGroup.
+
+2010-08-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Move WKBundle didCreatePage callback to outside the WebPage
+ constructor to avoid adoptRef errors.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::create):
+ (WebKit::WebPage::WebPage):
+
+2010-08-27 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8147879> - Null URL passed to WebKit2 HistoryDelegate
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): WK2 now loads initial about:blank document's synchronously,
+ without consulting the policy delegate.
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto.
+
+2010-08-27 Adam Roben <aroben@apple.com>
+
+ Handle ERROR_IO_INCOMPLETE more correctly in Connection
+
+ We still don't know exactly why we're getting this error, but at least
+ we can do something sensible when we do.
+
+ Fixes <http://webkit.org/b/44776> Occasional crash in
+ Connection::readEventHandler or assertion failure in
+ Connection::writeEventHandler due to ERROR_IO_INCOMPLETE
+
+ Reviewed by Sam Weinig.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::readEventHandler): Bail out of this function
+ entirely when we get ERROR_IO_INCOMPLETE. We'll get called back later
+ when the read completes. Continuing in the function at this point
+ would cause us to treat an incomplete read as a complete one, leading
+ to a crash. Added an assertion to make the crash more understandable
+ in the future.
+ (CoreIPC::Connection::writeEventHandler): Bail out when we get
+ ERROR_IO_INCOMPLETE. We'll get called back later when the write
+ completes.
+
+2010-08-27 Adam Roben <aroben@apple.com>
+
+ Make the web process pause on launch when the
+ WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable is set
+
+ This is a bit easier to use than holding Ctrl-Alt-Shift during launch,
+ since the process can sometimes take a long time to launch under the
+ debugger. Ctrl-Alt-Shift still works, however.
+
+ Fixes <http://webkit.org/b/44774> Would like an easier way to pause
+ the web process on launch
+
+ Reviewed by Sam Weinig.
+
+ * WebProcess/WebKitMain.cpp:
+ (WebKitMain):
+
+2010-08-27 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Adam Roben.
+
+ * WebKit2.xcodeproj/project.pbxproj: Make WKBundleScriptWorld.h public.
+
+2010-08-26 Daniel Bates <dbates@rim.com>
+
+ Attempt to fix the Qt WebKit2 build.
+
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent): Pass m_page.get() to WebKit::scroll()
+ instead of m_page since it expects a raw pointer.
+
+2010-08-26 Gavin Barraclough <barraclough@apple.com>
+
+ Speculative windows build fix.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+
+2010-08-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Adopt more uses OwnPtr/OwnArray in WebKit2.
+ https://bugs.webkit.org/show_bug.cgi?id=44728
+
+ Also clears up weird create vs. adoption semantics. Now both create
+ and adopt both don't ref their pointers, adoption is just about the
+ buffer.
+
+ * Shared/ImmutableArray.cpp:
+ (WebKit::ImmutableArray::ImmutableArray):
+ (WebKit::ImmutableArray::~ImmutableArray):
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::adopt):
+ * Shared/ImmutableDictionary.cpp:
+ (WebKit::ImmutableDictionary::keys):
+ * Shared/WebData.h:
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::create):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:]):
+ (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaProxy::]):
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::init):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::create):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::create):
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+ (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
+ * UIProcess/WebContext.cpp:
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::createPopupMenu):
+ (WebKit::WebChromeClient::createSearchPopupMenu):
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
+ (WebKit::WebPopupMenu::create):
+ * WebProcess/WebCoreSupport/WebPopupMenu.h:
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
+ (WebKit::WebSearchPopupMenu::create):
+ (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::childFrames):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::close):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::corePage):
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+
+2010-08-26 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=44726
+ <rdar://problem/7935518> WebFrameProxies aren't destroyed until a page is destroyed
+
+ Since frames can be moved across documents, they are not really a Page level concept.
+ Moved frame tracking to WebProcess/WebProcessProxy.
+
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ (WebProcessProxyMessage::):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::getStatistics):
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ (WebKit::WebPageProxy::didCreateMainFrame):
+ (WebKit::WebPageProxy::didCreateSubFrame):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ (WebKit::WebProcessProxy::didClose):
+ (WebKit::WebProcessProxy::webFrame):
+ (WebKit::WebProcessProxy::frameCreated):
+ (WebKit::WebProcessProxy::frameDestroyed):
+ (WebKit::WebProcessProxy::disconnectFramesFromPage):
+ (WebKit::WebProcessProxy::frameCountInPage):
+ * UIProcess/WebProcessProxy.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::WebFrame):
+ (WebKit::WebFrame::invalidate):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::webFrame):
+ (WebKit::WebProcess::addWebFrame):
+ (WebKit::WebProcess::removeWebFrame):
+ * WebProcess/WebProcess.h:
+
+2010-08-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Add PassOwnArrayPtr
+ https://bugs.webkit.org/show_bug.cgi?id=44627
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+
+2010-08-26 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Misc. cleanup split off from bug 32356.
+ https://bugs.webkit.org/show_bug.cgi?id=44696
+
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+
+2010-08-25 Brent Fulgham <bfulgham@webkit.org>
+
+ Build fix, no review.
+
+ Add conditional guards around Safari-specific
+ include files.
+
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+
+2010-08-25 Adam Roben <aroben@apple.com>
+
+ Clean up Connection::open on Windows
+
+ Fixes <http://webkit.org/b/44185>.
+
+ Reviewed by Steve Falkenburg.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::platformInitialize): Set m_isConnected to true
+ since the pipe got connected before it was even given to us.
+ (CoreIPC::Connection::readEventHandler): Removed code that will never
+ run now that m_isConnected is always true when this function is
+ called. Since no outgoing messages will have been queued before
+ m_isConnected is set to true, there's no need to send them explicitly
+ here; they'll get sent as they're queued.
+ (CoreIPC::Connection::open): Removed the call to ::ConnectNamedPipe,
+ since the pipe is already connected by this point. Changed to schedule
+ a read in the server and client the same way (rather than using
+ ::SetEvent in the server).
+
+2010-08-19 Adam Roben <aroben@apple.com>
+
+ Call NP_GetEntryPoints before NP_Initialize on Windows
+
+ Doing otherwise will cause Flash and QuickTime to crash inside
+ NP_Initialize.
+
+ Fixes <http://webkit.org/b/44270> <rdar://problem/8330393> Crash in
+ NP_Initialize when loading QuickTime when running
+ plugins/embed-attributes-setting.html in WebKit2 on Windows
+
+ Reviewed by John Sullivan.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::tryLoad): On Windows, first call
+ NP_GetEntryPoints, then NP_Initialize. Do the reverse on Mac to
+ prevent Silverlight (e.g.) from crashing (see r38858).
+
+2010-08-25 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implement WebKit::Module for qt
+ https://bugs.webkit.org/show_bug.cgi?id=44527
+
+ * Platform/Module.h:
+ * Platform/qt/ModuleQt.cpp:
+ (WebKit::Module::load):
+ (WebKit::Module::unload):
+ (WebKit::Module::platformFunctionPointer):
+
+2010-08-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ WebKit2 should launch the WebProcess in 32-bit mode if the UIProcess is in 32-bit mode
+ <rdar://problem/8348100>
+ https://bugs.webkit.org/show_bug.cgi?id=44537
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess): Use posix_spawnattr_setbinpref_np
+ to tell posix_spawn to launch the WebProcess in 32-bit mode when the UIProcess
+ is running in 32-bit mode.
+
+2010-08-24 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ Set the install path of WebKit2.framework to the build directory for debug and release builds
+ to match our other frameworks.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-08-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by John Sullivan.
+
+ Update profile.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2010-08-23 Darin Adler <darin@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp:
+ (WKBundleNodeGetParent): Update since parent now returns a
+ ContainerNode*. The toRef function is a bit too picky to convert
+ it without a bit of help.
+
+2010-08-23 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r65703.
+ http://trac.webkit.org/changeset/65703
+ https://bugs.webkit.org/show_bug.cgi?id=44460
+
+ "Causing lots of crashes on Snow Leopard when running the
+ layout tests" (Requested by eseidel2 on #webkit).
+
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::tryLoad):
+
+2010-08-23 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Layout tests do not run when using WebKitTestRunner in a Debug build.
+ https://bugs.webkit.org/show_bug.cgi?id=44409
+
+ Reviewed by Dan Bernstein.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ (WebKit::ProcessLauncher::launchProcess):
+ Use WebKit2WebProcess_debug.exe when building Debug.
+
+2010-08-23 Daniel Bates <dbates@rim.com>
+
+ Rubber-stamped by Adam Roben.
+
+ Substitute "sizeof("javascript:") - 1" for the hardcoded constant 11 when
+ extracting the JavaScript code portion of a JavaScript URL so as to make
+ it clearer that the 11 represents the length of the scheme portion of
+ a JavaScript URL.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::performJavaScriptURLRequest):
+
+2010-08-23 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Find needed forwarding headers for WebKit2 automatically
+ https://bugs.webkit.org/show_bug.cgi?id=44336
+
+ * DerivedSources.pro: Use the new enumerate-included-framework-headers script for generating
+ the list of forwarding headers we want to create.
+
+2010-08-23 Zoltan Horvath <zoltan@webkit.org>
+
+ [Qt] Build fix.
+
+ * DerivedSources.pro:
+ * WebKit2.pro:
+ * WebProcess/Plugins/Netscape/qt: Added.
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: Added.
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ (WebKit::NetscapePlugin::platformPaint):
+ (WebKit::toNP):
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ (WebKit::NetscapePlugin::platformHandleWheelEvent):
+ (WebKit::NetscapePlugin::platformSetFocus):
+ (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
+
+2010-08-22 Juha Savolainen <juha.savolainen@weego.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add QTouchEvents support for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=44330
+
+ This patch adds support for QTouchEvents in WebKit2. A new WebEvent-class
+ is created for touchevents, WebTouchEvent. Also touchpoints needed a new
+ class, WebPlatformTouchPoint. This is similar solution like in other
+ events(like MouseEvent) on WebKit2. These classes are introduced in WebEvent.h
+ Also there was a need to create an empty constructor to PlatformTouchPoint-class.
+
+ * DerivedSources.pro:
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ (WebPageMessage::):
+ * Shared/WebEvent.h:
+ (WebKit::WebEvent::):
+ (WebKit::WebTouchPoint::):
+ (WebKit::WebTouchPoint::WebTouchPoint):
+ (WebKit::WebTouchPoint::id):
+ (WebKit::WebTouchPoint::state):
+ (WebKit::WebTouchPoint::screenPosX):
+ (WebKit::WebTouchPoint::screenPosY):
+ (WebKit::WebTouchPoint::posX):
+ (WebKit::WebTouchPoint::posY):
+ (WebKit::WebTouchPoint::setState):
+ (WebKit::WebTouchPoint::encode):
+ (WebKit::WebTouchPoint::decode):
+ (WebKit::WebTouchEvent::WebTouchEvent):
+ (WebKit::WebTouchEvent::type):
+ (WebKit::WebTouchEvent::touchPoints):
+ (WebKit::WebTouchEvent::encode):
+ (WebKit::WebTouchEvent::decode):
+ (WebKit::WebTouchEvent::isTouchEventType):
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
+ (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
+ (WebKit::platform):
+ * Shared/WebEventConversion.h:
+ * Shared/qt/WebEventFactoryQt.cpp:
+ (WebKit::webEventTypeForEvent):
+ (WebKit::WebEventFactory::createWebTouchEvent):
+ * Shared/qt/WebEventFactoryQt.h:
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::event):
+ (QGraphicsWKView::touchEvent):
+ * UIProcess/API/qt/qgraphicswkview.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::touchEvent):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::touchEvent):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::touchEvent):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-08-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Remove specialized retain/release functions in favor of a single one for WKTypeRefs
+ https://bugs.webkit.org/show_bug.cgi?id=44386
+
+ * UIProcess/API/C/WKArray.cpp:
+ (WKArrayGetSize):
+ * UIProcess/API/C/WKArray.h:
+ * UIProcess/API/C/WKBackForwardList.cpp:
+ (WKBackForwardListCopyForwardListWithLimit):
+ * UIProcess/API/C/WKBackForwardList.h:
+ * UIProcess/API/C/WKBackForwardListItem.cpp:
+ (WKBackForwardListItemCopyTitle):
+ * UIProcess/API/C/WKBackForwardListItem.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKContext.cpp:
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/API/C/WKData.cpp:
+ (WKDataGetSize):
+ * UIProcess/API/C/WKData.h:
+ * UIProcess/API/C/WKDictionary.cpp:
+ (WKDictionaryCopyKeys):
+ * UIProcess/API/C/WKDictionary.h:
+ * UIProcess/API/C/WKError.h:
+ * UIProcess/API/C/WKFormSubmissionListener.cpp:
+ (WKFormSubmissionListenerContinue):
+ * UIProcess/API/C/WKFormSubmissionListener.h:
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetPage):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/API/C/WKFramePolicyListener.cpp:
+ (WKFramePolicyListenerIgnore):
+ * UIProcess/API/C/WKFramePolicyListener.h:
+ * UIProcess/API/C/WKNavigationData.cpp:
+ (WKNavigationDataCopyURL):
+ * UIProcess/API/C/WKNavigationData.h:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WKPageNamespace.cpp:
+ (WKPageNamespaceGetContext):
+ * UIProcess/API/C/WKPageNamespace.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesCreate):
+ (WKPreferencesGetLocalStorageEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/API/C/WKString.cpp:
+ * UIProcess/API/C/WKString.h:
+ * UIProcess/API/C/WKType.cpp:
+ (WKRetain):
+ (WKRelease):
+ * UIProcess/API/C/WKType.h:
+ * UIProcess/API/C/WKURL.cpp:
+ (WKURLGetTypeID):
+ * UIProcess/API/C/WKURL.h:
+ * UIProcess/API/cpp/WKRetainPtr.h:
+ * UIProcess/API/win/WKView.cpp:
+ * UIProcess/API/win/WKView.h:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::shared):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleGetTypeID):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
+ (WKBundleScriptWorldNormalWorld):
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
+
+2010-08-20 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] Implement cursor change in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=44263
+
+ Implemented PageClient::setCursor.
+ * UIProcess/API/qt/qgraphicswkview.cpp: Added updateCursor slot to be connected to the QWKPage::setCursor signal.
+ (QGraphicsWKView::QGraphicsWKView):
+ (QGraphicsWKView::updateCursor): Sets the cursor of the widget.
+ * UIProcess/API/qt/qgraphicswkview.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::setCursor): Added implementation for PageClient::setCursor. Emitting singal through the QWKPage.
+ * UIProcess/API/qt/qwkpage.h: Added setCursor signal.
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2010-08-19 David Kilzer <ddkilzer@apple.com>
+
+ BUILD FIX: Fix Mac build after Windows WebKit2 changes for Netscape Plug-ins
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPaint): Changed frameRect() to
+ m_frameRect.
+
+2010-08-19 Adam Roben <aroben@apple.com>
+
+ Send mouse events to windowless plugins on Windows
+
+ This seems to have been the last issue blocking us from playing videos
+ on vimeo.com.
+
+ Fixes <http://webkit.org/b/44276> <rdar://problem/8330398> Can't click
+ play button in vimeo.com Flash video player in WebKit2 on Windows
+
+ Reviewed by Sam Weinig.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::toNP): Added. Converts a WebMouseEvent to an NPEvent. Code
+ was adapted from WebCore's PluginViewWin.cpp.
+
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
+ Convert the WebMouseEvent to an NPEvent and send it to the plugin.
+
+2010-08-19 Adam Roben <aroben@apple.com>
+
+ Add support for painting windowless plugins on Windows
+
+ This gets the video on the front page of vimeo.com painting (though
+ you can't make it play because we don't support mouse events yet).
+
+ Fixes <http://webkit.org/b/44274> <rdar://problem/8330395> Windowless
+ plugins don't paint in WebKit2 on Windows
+
+ Reviewed by Sam Weinig.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue): Tell the plugin that we support windowless
+ mode on Windows.
+ (WebKit::NPN_SetValue): Implemented handling of NPPVpluginWindowBool
+ by calling through to NetscapePlugin::setIsWindowed.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin): Added initialization of
+ m_isWindowed. It defaults to false on Mac and true on other platforms,
+ matching WebCore's PluginView.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added m_isWindowed.
+ (WebKit::NetscapePlugin::setIsWindowed): Added standard setter.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPaint): Moved Mac-specific context
+ translation code here from PluginView::paint.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::NetscapePlugin::platformPaint): Implemented. Code was ported
+ from WebCore's PluginViewWin.cpp.
+
+ * WebProcess/Plugins/Plugin.h: Updated the comment for Plugin::paint
+ to explain the coordinate system of the context.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::paint): Changed to translate the context from
+ document to window coordinates. We were previously trying to translate
+ to plugin-local coordinates, but this only worked for documents whose
+ origin was the same as the window's origin (i.e., the main frame). The
+ plugin takes care of any further translations needed. (Mac translates
+ the context into plugin-local coordinates, and Windows leaves it in
+ window coordinates.)
+
+2010-08-19 Adam Roben <aroben@apple.com>
+
+ Implement PluginInfoStore::pluginsDirectories
+
+ This makes WebKit2 able to find and load Flash on Windows.
+
+ Note that we aren't yet respecting the MozillaPlugins registry key.
+ That's covered by <http://webkit.org/b/44271>.
+
+ Fixes <http://webkit.org/b/43510> <rdar://problem/8273827> WebKit2
+ should load plugins from the same directories as old-WebKit
+
+ Reviewed by Jon Honeycutt and Ada Chan.
+
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::parseVersionString):
+ (WebKit::compareVersions):
+ (WebKit::safariPluginsDirectory):
+ (WebKit::addMozillaPluginDirectories):
+ (WebKit::addWindowsMediaPlayerPluginDirectory):
+ (WebKit::addQuickTimePluginDirectory):
+ (WebKit::addAdobeAcrobatPluginDirectory):
+ (WebKit::addMacromediaPluginDirectories):
+ (WebKit::PluginInfoStore::pluginsDirectories):
+ Ported (and ever-so-slightly cleaned up) code from WebCore's
+ PluginDatabaseWin.cpp.
+
+2010-08-19 Adam Roben <aroben@apple.com>
+
+ Call NP_GetEntryPoints before NP_Initialize on Windows
+
+ Doing otherwise will cause Flash and QuickTime to crash inside
+ NP_Initialize.
+
+ Fixes <http://webkit.org/b/44270> <rdar://problem/8330393> Crash in
+ NP_Initialize when loading QuickTime when running
+ plugins/embed-attributes-setting.html in WebKit2 on Windows
+
+ Reviewed by Sam Weinig.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::tryLoad): On Windows, first call
+ NP_GetEntryPoints, then NP_Initialize. Do the reverse on Mac to
+ prevent Silverlight (e.g.) from crashing (see r38858).
+
+2010-08-19 Adam Roben <aroben@apple.com>
+
+ Add NetscapePluginWin.cpp
+
+ Fixes <http://webkit.org/b/44269> <rdar://problem/8330391>
+ NetscapePlugin.h contains functions that should be in
+ NetscapePluginWin.cpp
+
+ Reviewed by Sam Weinig.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h: Moved functions from
+ here...
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: ...to here.
+
+ * win/WebKit2.vcproj: Added NetscapePluginWin.cpp and let VS reorder
+ the file list.
+
+2010-08-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add modifier key info to policy client functions in WebKit2
+ <rdar://problem/8185298>
+ https://bugs.webkit.org/show_bug.cgi?id=44280
+
+ * UIProcess/API/C/WKAPICast.h:
+ Add conversion function for modifiers and rename an incorrectly named
+ toWK to toRef.
+
+ * UIProcess/API/C/WKPage.h:
+ Add WKEventModifiers enum.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPolicyClient.cpp:
+ (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
+ (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
+ * UIProcess/WebPolicyClient.h:
+ Pipe through modifier info.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::modifiersForNavigationAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ Get modifier info out of the NavigationInfo class in the same manner as
+ WebKit1.
+
+2010-08-18 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add ability to get all the keys from a WKDictionaryRef
+ https://bugs.webkit.org/show_bug.cgi?id=44221
+
+ * Shared/ImmutableDictionary.cpp:
+ (WebKit::ImmutableDictionary::keys):
+ * Shared/ImmutableDictionary.h:
+ Add keys function.
+
+ * UIProcess/API/C/WKDictionary.cpp:
+ (WKDictionaryCopyKeys):
+ * UIProcess/API/C/WKDictionary.h:
+ Wrap keys function.
+
+2010-08-18 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Add ability to set custom userAgent for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=44215
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ (WebPageMessage::):
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetCustomUserAgent):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setCustomUserAgent):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::userAgent):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setCustomUserAgent):
+ (WebKit::WebPage::userAgent):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-08-18 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by John Sullivan.
+
+ Make WKBundleNodeHandleRef usable from WKRetainPtr.
+
+ * WebKit2.xcodeproj/project.pbxproj: Make WKBundleNodeHandle.h public.
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h: Add WKRetain/WKRelease overloads.
+
+2010-08-18 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Forwards QtWebProcess' stdout, stderr onto the UI process
+ https://bugs.webkit.org/show_bug.cgi?id=44159
+
+ For debugging purposes forwards stdout and stderr of QtWebProcess onto the UI process.
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncherHelper::launch):
+
+2010-08-17 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Darin Adler.
+
+ Add NetworkingContext to avoid layer violations
+ https://bugs.webkit.org/show_bug.cgi?id=42292
+
+ Preparation: Just add the files to the build system.
+
+ * WebKit2.xcodeproj/project.pbxproj: Added new files.
+ * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: Added.
+ Placeholder with tentative code that might be changed when landing
+ the rest of it.
+ * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: Added.
+ Empty placeholder for now.
+
+2010-08-16 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Allow some tests to pass in WebKitTestRunner before SharedMemory and
+ PluginInfoStore are implemented on Windows.
+
+ Reviewed by Sam Weinig.
+
+ * Platform/win/SharedMemoryWin.cpp:
+ Disable not implemented warnings.
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ Ditto.
+
+2010-08-16 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Sam Weinig
+
+ Remove unnecessary includes from UString.h, add new includes as necessary.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+
+2010-08-16 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * Shared/win/CommandLineWin.cpp:
+
+2010-08-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Remove #includes of <WebCore/PlatformString.h> in favor of <wtf/text/WTFString.h>
+
+ * Platform/Module.cpp:
+ * Platform/Module.h:
+ * Shared/CommandLine.h:
+ * Shared/WebCoreArgumentCoders.h:
+ * Shared/WebEvent.h:
+ * Shared/WebNavigationDataStore.h:
+ * Shared/WebPreferencesStore.h:
+ * Shared/WebString.h:
+ * Shared/WebURL.h:
+ * Shared/mac/CommandLineMac.cpp:
+ * Shared/qt/UpdateChunk.cpp:
+ * UIProcess/API/C/WKContext.cpp:
+ * UIProcess/API/C/cf/WKStringCF.cpp:
+ * UIProcess/API/C/cf/WKURLCF.cpp:
+ * UIProcess/API/cpp/qt/WKStringQt.cpp:
+ * UIProcess/API/cpp/qt/WKURLQt.cpp:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ * UIProcess/WebBackForwardListItem.cpp:
+ * UIProcess/WebBackForwardListItem.h:
+ * UIProcess/WebContext.h:
+ * UIProcess/WebContextInjectedBundleClient.cpp:
+ * UIProcess/WebFrameProxy.cpp:
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPolicyClient.cpp:
+ * UIProcess/WebProcessProxy.cpp:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/win/WebView.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+ * WebProcess/Plugins/JSNPObject.cpp:
+ * WebProcess/Plugins/NPJSObject.cpp:
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebKitMain.cpp:
+ * WebProcess/win/WebProcessMainWin.cpp:
+
+2010-08-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Null CFURLRef returned from provisionalURL after searching on zillow.com
+ <rdar://problem/8261812>
+ https://bugs.webkit.org/show_bug.cgi?id=44072
+
+ Conversion from WKURLRef to CFRURLRef was breaking on URLs using characters
+ such as '{'.
+
+ * UIProcess/API/C/cf/WKURLCF.cpp:
+ (WKURLCopyCFURL): Use code similar to that found in KURLCFNet.cpp for conversion.
+
+2010-08-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Remove unnecessary copy constructor, assignment operator and swap function.
+ The defaults (for all except swap) should do just fine.
+
+ * Shared/WebPreferencesStore.cpp:
+ * Shared/WebPreferencesStore.h:
+
+2010-08-16 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Handle content size change in WebKit2
+ Re-landing after fix.
+
+ https://bugs.webkit.org/show_bug.cgi?id=43198
+
+ Based on the work of Antti Koivisto.
+ Send message to the UI client when the contents size has changed through the WebChromeClient
+ and propagate it to the WKPageUIClient.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::): Added ContentsSizeChanged message kind.
+ * UIProcess/API/C/WKPage.h: Added WKPageContentsSizeChangedCallback callback to the WKPageUIClient.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage): Initialize the new callback to 0.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage): Handle ContentsSizeChanged message. Calls contetsSizeChanged.
+ (WebKit::WebPageProxy::contentsSizeChanged): Added. Propagate the event to the the UI client.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::contentsSizeChanged): Added. Propagate the event forward to the WKPageUIClient.
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::contentsSizeChanged): Implemented.
+
+2010-08-16 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r65419.
+ http://trac.webkit.org/changeset/65419
+ https://bugs.webkit.org/show_bug.cgi?id=44053
+
+ Broke the Windows build (Requested by bbandix on #webkit).
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::contentsSizeChanged):
+
+2010-08-16 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Handle content size change in WebKit2
+
+ https://bugs.webkit.org/show_bug.cgi?id=43198
+
+ Based on the work of Antti Koivisto.
+ Send message to the UI client when the contents size has changed through the WebChromeClient
+ and propagate it to the WKPageUIClient.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::): Added ContentsSizeChanged message kind.
+ * UIProcess/API/C/WKPage.h: Added WKPageContentsSizeChangedCallback callback to the WKPageUIClient.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage): Initialize the new callback to 0.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage): Handle ContentsSizeChanged message. Calls contetsSizeChanged.
+ (WebKit::WebPageProxy::contentsSizeChanged): Added. Propagate the event to the the UI client.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::contentsSizeChanged): Added. Propagate the event forward to the WKPageUIClient.
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::contentsSizeChanged): Implemented.
+
+2010-08-16 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Unreviewed Qt WebKit2 build fix.
+
+ * UIProcess/qt/WebContextQt.cpp:
+ (WebKit::WebContext::platformSetUpWebProcess): Added empty stub implementation.
+ * WebKit2.pro: Enumerate new files, include WebKit.pri for correct define macro set.
+
+2010-08-15 Dan Bernstein <mitz@apple.com>
+
+ Revised build fix from r65363 based on suggestion from Darin Adler.
+
+ * UIProcess/API/C/WKArray.h: Include stddef.h.
+ * UIProcess/API/C/WKBase.h: Uninclude ctype.h.
+ * UIProcess/API/C/WKData.h: Include stddef.h.
+ * UIProcess/API/C/WKDictionary.h: Ditto.
+
+2010-08-14 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson in Sweden.
+
+ Clean build of WebKitTestRunner fails with “'size_t' has not been declared” in WKArray.h
+ https://bugs.webkit.org/show_bug.cgi?id=44005
+
+ * UIProcess/API/C/WKBase.h: Include ctype.h.
+
+2010-08-13 Sam Weinig <sam@webkit.org>
+
+ Fix build.
+
+ * WebKit2.xcodeproj/project.pbxproj: Make WKDictionary.h public.
+
+2010-08-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brady Eidson.
+
+ Pass values map to willSubmitForm in WebKit2 API
+ Part of <rdar://problem/8255932>
+ https://bugs.webkit.org/show_bug.cgi?id=43995
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+ (CoreIPC::):
+ Add overload for std::pair.
+
+ * Shared/ImmutableDictionary.h:
+ (WebKit::ImmutableDictionary::adopt):
+ Fix function signature by removing size parameter.
+
+ * UIProcess/API/C/WKPage.h:
+ Add dictionary parameter to callback.
+
+ * UIProcess/WebFormClient.cpp:
+ (WebKit::WebFormClient::willSubmitForm):
+ Create an ImmutableDictionary from the vector of string pairs.
+
+ * UIProcess/WebFormClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::willSubmitForm):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
+ Plumb through the values vector.
+
+2010-08-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brady Eidson.
+
+ Add dictionary API type
+ https://bugs.webkit.org/show_bug.cgi?id=43990
+
+ Add an immutable dictionary type (WKStringRef -> WKTypeRef).
+
+ * Shared/APIObject.h:
+ (WebKit::APIObject::):
+ Add new APIType.
+
+ * Shared/ImmutableDictionary.cpp: Added.
+ (WebKit::ImmutableDictionary::ImmutableDictionary):
+ (WebKit::ImmutableDictionary::~ImmutableDictionary):
+ * Shared/ImmutableDictionary.h: Added.
+ (WebKit::ImmutableDictionary::create):
+ (WebKit::ImmutableDictionary::adopt):
+ (WebKit::ImmutableDictionary::get):
+ (WebKit::ImmutableDictionary::size):
+ (WebKit::ImmutableDictionary::):
+ (WebKit::ImmutableDictionary::type):
+ Add basic implementation
+
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::):
+ Add new mappings.
+
+ * UIProcess/API/C/WKBase.h:
+ Add new opaque type.
+
+ * UIProcess/API/C/WKDictionary.cpp: Added.
+ (WKDictionaryGetTypeID):
+ (WKDictionaryGetItemForKey):
+ (WKDictionaryGetSize):
+ (WKDictionaryRetain):
+ (WKDictionaryRelease):
+ * UIProcess/API/C/WKDictionary.h: Added.
+ Add API wrappings.
+
+ * UIProcess/API/C/WebKit2.h:
+ Add missing public headers.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2010-08-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Add form submission listener to WebKit2
+ Part of <rdar://problem/8255932>
+ https://bugs.webkit.org/show_bug.cgi?id=43947
+
+ * Shared/APIObject.h:
+ Add TypeFormSubmissionListener APIType.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ Add WillSubmitForm message kind.
+
+ * UIProcess/API/C/WKAPICast.h:
+ Add new mappings for WKFormSubmissionListenerRef -> WebFormSubmissionListener
+
+ * UIProcess/API/C/WKBase.h:
+ Add OpaqueWKFormSubmissionListener and rename the other opaque types to match.
+
+ * UIProcess/API/C/WKFormSubmissionListener.cpp: Added.
+ (WKFormSubmissionListenerGetTypeID):
+ (WKFormSubmissionListenerContinue):
+ (WKFormSubmissionListenerRetain):
+ (WKFormSubmissionListenerRelease):
+ * UIProcess/API/C/WKFormSubmissionListener.h: Added.
+ Add C wrapper for WebFormSubmissionListener.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetPageFormClient):
+ * UIProcess/API/C/WKPage.h:
+ Add WKPageFormClient with willSubmitForm callback. Additional callbacks will be added as
+ needed.
+
+ * UIProcess/API/C/WebKit2.h:
+ Add include for WKFormSubmissionListener.h
+
+ * UIProcess/WebFormClient.cpp: Added.
+ (WebKit::WebFormClient::WebFormClient):
+ (WebKit::WebFormClient::initialize):
+ (WebKit::WebFormClient::willSubmitForm):
+ * UIProcess/WebFormClient.h: Added.
+ Add client for form related delagations.
+
+ * UIProcess/WebFormSubmissionListenerProxy.cpp: Added.
+ (WebKit::WebFormSubmissionListenerProxy::WebFormSubmissionListenerProxy):
+ (WebKit::WebFormSubmissionListenerProxy::continueSubmission):
+ * UIProcess/WebFormSubmissionListenerProxy.h: Added.
+ (WebKit::WebFormSubmissionListenerProxy::create):
+ (WebKit::WebFormSubmissionListenerProxy::type):
+ * UIProcess/WebFrameListenerProxy.cpp: Copied from UIProcess/WebFramePolicyListenerProxy.cpp.
+ Add new type of listener for form submissions. It inherits from the new base class
+ for listeners, WebFrameListenerProxy.
+
+ (WebKit::WebFrameListenerProxy::WebFrameListenerProxy):
+ (WebKit::WebFrameListenerProxy::~WebFrameListenerProxy):
+ (WebKit::WebFrameListenerProxy::invalidate):
+ (WebKit::WebFrameListenerProxy::receivedPolicyDecision):
+ * UIProcess/WebFrameListenerProxy.h: Copied from UIProcess/WebFramePolicyListenerProxy.h.
+ Move logic that would have to be shared between WebFramePolicyListenerProxy and
+ WebFormSubmissionListenerProxy into shared base class.
+
+ * UIProcess/WebFramePolicyListenerProxy.cpp:
+ (WebKit::WebFramePolicyListenerProxy::WebFramePolicyListenerProxy):
+ * UIProcess/WebFramePolicyListenerProxy.h:
+ (WebKit::WebFramePolicyListenerProxy::create):
+ (WebKit::WebFramePolicyListenerProxy::type):
+ Move to inheriting from WebFrameListenerProxy.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::disconnect):
+ (WebKit::WebFrameProxy::receivedPolicyDecision):
+ (WebKit::WebFrameProxy::setUpPolicyListenerProxy):
+ (WebKit::WebFrameProxy::setUpFormSubmissionListenerProxy):
+ * UIProcess/WebFrameProxy.h:
+ Change listener functions to act on WebFrameListenerProxys and add setUpFormSubmissionListenerProxy.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeFormClient):
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::willSubmitForm):
+ * UIProcess/WebPageProxy.h:
+ Plumb through willSubmitForm call as we do with the other listeners.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
+ Ditto.
+
+ * WebKit2.xcodeproj/project.pbxproj: Add new files.
+ * win/WebKit2.vcproj: Add new files.
+ * win/WebKit2Generated.make: Ditto.
+
+2010-08-13 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig
+
+ Unify UString::UTF8String() & String::utf8() methods,
+ remove UString::cost() & make atArrayIndex a free function.
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::npIdentifierFromIdentifier):
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::enumerate):
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
+
+2010-08-12 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r65295.
+ http://trac.webkit.org/changeset/65295
+ https://bugs.webkit.org/show_bug.cgi?id=43950
+
+ It broke 4 sputnik tests (Requested by Ossy on #webkit).
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::npIdentifierFromIdentifier):
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::enumerate):
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
+
+2010-08-12 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig
+
+ Unify UString::UTF8String() & String::utf8() methods,
+ remove UString::cost() & make atArrayIndex a free function.
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::npIdentifierFromIdentifier):
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::enumerate):
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
+
+2010-08-12 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKit2 crashes when WebFrame outlives WebPage
+ https://bugs.webkit.org/show_bug.cgi?id=43939
+
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ (WebKit::WebChromeClient::page): Add this method, to allow
+ WebFrame to retrieve its WebPage following WebCore pointers.
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::WebFrame): Do not initialize m_page (it's gone).
+ (WebKit::WebFrame::page): Don't use the data member, get it from
+ WebCore.
+ (WebKit::WebFrame::invalidate): Use method to get page() and null check.
+ (WebKit::WebFrame::isMainFrame): ditto
+ * WebProcess/WebPage/WebFrame.h:
+
+2010-08-12 Jon Honeycutt <jhoneycutt@apple.com>
+
+ WebKit2 needs to initialize SafariTheme
+ https://bugs.webkit.org/show_bug.cgi?id=43901
+
+ Reviewed by Sam Weinig.
+
+ * WebProcess/win/WebProcessMainWin.cpp:
+ (WebKit::initializeSafariTheme):
+ Copied from old WebKit.
+ (WebKit::WebProcessMain):
+ If we're using SafariTheme, initialize it.
+
+2010-08-12 Jon Honeycutt <jhoneycutt@apple.com>
+
+ WebKitTestRunner needs to run tests without using native controls
+ https://bugs.webkit.org/show_bug.cgi?id=43772
+
+ Reviewed by Sam Weinig.
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+ Add a new message.
+
+ * UIProcess/API/C/win/WKContextPrivateWin.h: Added.
+ Declare WKContextSetShouldPaintNativeControls().
+
+ * UIProcess/API/C/win/WKContextWin.cpp: Added.
+ (WKContextSetShouldPaintNativeControls):
+ Call the WebContext's setShouldPaintNativeControls().
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ Initialize m_shouldPaintNativeControls.
+ (WebKit::WebContext::ensureWebProcess):
+ If we created a web process, call platformSetUpWebProcess().
+
+ * UIProcess/WebContext.h:
+ Declare new functions and a member to store whether we should paint
+ native controls.
+
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformSetUpWebProcess):
+ Stubbed.
+
+ * UIProcess/win/WebContextWin.cpp:
+ (WebKit::WebContext::setShouldPaintNativeControls):
+ Set m_shouldPaintNativeControls. If we have a valid web process, send a
+ SetShouldPaintNativeControls message.
+ (WebKit::WebContext::platformSetUpWebProcess):
+ Send a SetShouldPaintNativeControls message.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveMessage):
+ If this is a SetShouldPaintNativeControls message, decode the argument,
+ and call Settings::setShouldPaintNativeControls().
+
+ * win/WebKit2.vcproj:
+ Add WKContextPrivateWin.h and WKContextWin.cpp to project.
+
+ * win/WebKit2Generated.make:
+ Copy WKContextPrivateWin.h.
+
+2010-08-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Add SPI to stop loading from the InjectedBundle.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageStopLoading):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ * WebProcess/WebPage/WebPage.h:
+
+2010-08-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ WKPageStopLoading always asserts
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveMessage): Switch break to return, break made us
+ hit the ASSERT_NOT_REACHED at the end of the function.
+
+2010-08-11 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Unreviewed build fix.
+
+ [Qt] Update WebKit2 build environment, add stub implementation of SharedMemory.
+
+ * DerivedSources.pro:
+ * Platform/qt/SharedMemoryQt.cpp: Added.
+ (WebKit::SharedMemory::Handle::Handle):
+ (WebKit::SharedMemory::Handle::~Handle):
+ (WebKit::SharedMemory::Handle::encode):
+ (WebKit::SharedMemory::Handle::decode):
+ (WebKit::SharedMemory::create):
+ (WebKit::SharedMemory::~SharedMemory):
+ (WebKit::SharedMemory::createHandle):
+ (WebKit::SharedMemory::systemPageSize):
+ * WebKit2.pro:
+ * WebKit2Prefix.h:
+
+2010-08-11 Mark Rowe <mrowe@apple.com>
+
+ Build fix. Update references to StringHash.h.
+
+ * Shared/CommandLine.h:
+ * UIProcess/WebContext.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/win/WebProcessMainWin.cpp:
+
+2010-08-10 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add leakRef and clear to all RefPtr variants
+ https://bugs.webkit.org/show_bug.cgi?id=42389
+
+ * UIProcess/API/cpp/WKRetainPtr.h: Changed all uses of "template <...>" to
+ "template<...>". Defined many of the inlined functions outside the class
+ definition, to avoid style checker warnings about multiple statements on
+ a single line and for slightly better clarity of the class definition itself.
+ Renamed releaseRef to leakRef. Added a releaseRef that calls leakRef so we
+ don't have to rename all callers at once. Added a clear function.
+
+2010-08-10 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] Build WebKit2 into a static lib
+
+ https://bugs.webkit.org/show_bug.cgi?id=43621
+
+ * WebKit2.pri: Added. Defined addWebKit2Lib function that defines how to link against the static lib.
+ * WebKit2.pro: Build specification for the WebKit2 framework.
+ * WebProcess.pro: Copied from WebKit2/WebKit2.pro. Build specification for the WebProcess binary.
+
+2010-08-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Add zoom support for injected bundle
+ https://bugs.webkit.org/show_bug.cgi?id=43759
+
+ Add SPI to change the zoom factor for a page.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ (toZoomMode):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageGetZoomFactor):
+ (WKBundlePageSetZoomFactor):
+ (WKBundlePageSetZoomMode):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::zoomFactor):
+ (WebKit::WebPage::setZoomFactor):
+ (WebKit::WebPage::setZoomMode):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-08-06 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Sam Weinig
+
+ Bug 43594 - Add string forwards to Forward.h
+ This allows us to remove forward declarations for these classes from
+ WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
+
+ * UIProcess/PageClient.h:
+ * UIProcess/VisitedLinkProvider.h:
+ * UIProcess/WebContextInjectedBundleClient.h:
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebHistoryClient.h:
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPolicyClient.h:
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/WebUIClient.h:
+ * UIProcess/win/WebView.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ * WebProcess/Plugins/PluginController.h:
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebProcess.h:
+
+2010-08-09 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] No need for PageClientImpl
+
+ https://bugs.webkit.org/show_bug.cgi?id=43728
+
+ Remove PageClientImpl, take the implementation of WebKit::PageClient into QWKPagePrivate.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPagePrivate::toolTipChanged):
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QWKPagePrivate::pageDidEnterAcceleratedCompositing):
+ (QWKPagePrivate::pageDidLeaveAcceleratedCompositing):
+ (QWKPagePrivate::processDidExit):
+ (QWKPagePrivate::processDidRevive):
+ (QWKPagePrivate::setCursor):
+ (QWKPagePrivate::takeFocus):
+
+2010-08-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKitTestRunner needs to print onunload handler information
+ <rdar://problem/8213831>
+ https://bugs.webkit.org/show_bug.cgi?id=42703
+
+ Add SPI to get the number of pending unload events.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetPendingUnloadCount):
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::pendingUnloadCount):
+ * WebProcess/WebPage/WebFrame.h:
+
+2010-08-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add additional loader client functions need to complete WebKitTestRunner
+ https://bugs.webkit.org/show_bug.cgi?id=43684
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didChangeLocationWithinPageForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
+ (WebKit::WebFrameLoaderClient::dispatchDidCancelClientRedirect):
+ (WebKit::WebFrameLoaderClient::dispatchWillPerformClientRedirect):
+ (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
+ (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
+ (WebKit::WebFrameLoaderClient::didRunInsecureContent):
+
+2010-08-07 Sam Weinig <sam@webkit.org>
+
+ Another fix for the windows build.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
+
+2010-08-07 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::platformLayer):
+ * WebProcess/Plugins/PluginView.h:
+
+2010-08-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKitTestRunner needs GCController
+ <rdar://problem/8213834>
+ https://bugs.webkit.org/show_bug.cgi?id=42701
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleGarbageCollectJavaScriptObjects):
+ (WKBundleGarbageCollectJavaScriptObjectsOnAlternateThreadForDebugging):
+ (WKBundleGetJavaScriptObjectsCount):
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::garbageCollectJavaScriptObjects):
+ (WebKit::InjectedBundle::garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging):
+ (WebKit::InjectedBundle::javaScriptObjectsCount):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+
+2010-08-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ CA drawing model support for Mac Plugins
+ https://bugs.webkit.org/show_bug.cgi?id=43678
+ <rdar://problem/7929701>
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue):
+ Handle WKNVSupportsCompositingCoreAnimationPluginsBool and
+ NPNVsupportsCoreAnimationBool and return true if accelerated compositing is enabled.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
+ Call PluginController::isAcceleratedCompositingEnabled.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ If the plug-in uses the Core Animation drawing model, ask it for its layer.
+
+ (WebKit::NetscapePlugin::platformPaint):
+ Don't send draw events if the Core Animation drawing model is used.
+
+ (WebKit::NetscapePlugin::pluginLayer):
+ Return the plug-in layer.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add a pluginLayer pure virtual member function.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add an isAcceleratedCompositingEnabled pure virtual member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::initializePlugin):
+ If the plug-in has a layer, enter compositing mode.
+
+ (WebKit::PluginView::platformLayer):
+ Ask the plug-in for its layer.
+
+ (WebKit::PluginView::isAcceleratedCompositingEnabled):
+ Call Settings::acceleratedCompositingEnabled.
+
+ * WebProcess/Plugins/PluginView.h:
+
+2010-08-06 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Delete key doesn't go Back in WebKit2
+ <rdar://problem/8272978>
+ https://bugs.webkit.org/show_bug.cgi?id=43665
+
+ - Adds support for delete key going back (mac only for now)
+ - Adds support for command-left/command right going back/forward
+ - Flesh out scrolling due to arrow keys on the mac to match old webkit.
+ - Made performDefaultBehaviorForKeyEvent platform specific and added
+ a boolean return value which will be used later to inform the UI process
+ about what events have been processed.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _wantsKeyDownForEvent:]):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::backItem):
+ (WebKit::WebBackForwardListProxy::forwardItem):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::keyEvent):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::scroll):
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::scroll):
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::scroll):
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+
+2010-08-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r64904.
+ http://trac.webkit.org/changeset/64904
+ https://bugs.webkit.org/show_bug.cgi?id=43671
+
+ Broke the Qt Windows builders. (Requested by bbandix on
+ #webkit).
+
+ * WebKit2.pri: Removed.
+ * WebKit2.pro:
+ * WebProcess.pro: Removed.
+
+2010-08-07 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Eric Seidel.
+
+ NPAPI headers should be included through npruntime_internal.h
+
+ https://bugs.webkit.org/show_bug.cgi?id=43620
+
+ * DerivedSources.pro:
+ * WebProcess/Plugins/NPJSObject.h:
+ * WebProcess/Plugins/NPRuntimeUtilities.h:
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+
+2010-08-07 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Build WebKit2 into a static lib
+
+ https://bugs.webkit.org/show_bug.cgi?id=43621
+
+ * WebKit2.pri: Added. Defined addWebKit2Lib function that defines how to link against the static lib.
+ * WebKit2.pro: Build specification for the WebKit2 framework.
+ * WebProcess.pro: Copied from WebKit2/WebKit2.pro. Build specification for the WebProcess binary.
+
+2010-08-05 Jon Honeycutt <jhoneycutt@apple.com>
+
+ WebKitTestRunner needs to be able to set the font smoothing type
+ https://bugs.webkit.org/show_bug.cgi?id=43406
+
+ Reviewed by Adam Roben.
+
+ * Shared/FontSmoothingLevel.h: Added.
+ (WebKit::):
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ Initialize fontSmoothingLevel.
+ (WebKit::WebPreferencesStore::swap):
+ Copy fontSmoothingLevel.
+
+ * Shared/WebPreferencesStore.h:
+ (WebKit::WebPreferencesStore::encode):
+ Encode fontSmoothingLevel.
+ (WebKit::WebPreferencesStore::decode):
+ Decode it.
+
+ * UIProcess/API/C/WKPreferencesPrivate.cpp: Added.
+ (WKPreferencesSetFontSmoothingLevel):
+ Get the font smoothing level from the WKFontSmoothingLevel, and call
+ WebPreferences::setFontSmoothingLevel().
+ (WKPreferencesGetFontSmoothingLevel):
+ Get the font smoothing level from WebPreferences, and translate it to a
+ WKFontSmoothingLevel.
+
+ * UIProcess/API/C/WKPreferencesPrivate.h: Added.
+ Declare the font smoothing levels, and declare functions to get and set
+ the level.
+
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setFontSmoothingLevel):
+ Set fontSmoothingLevel and call update().
+ (WebKit::WebPreferences::fontSmoothingLevel):
+ Return the level.
+
+ * UIProcess/WebPreferences.h:
+ Declare getter and setter for fontSmoothingLevel.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files to project.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::preferencesDidChange):
+ Call platformPreferencesDidChange().
+
+ * WebProcess/WebPage/WebPage.h:
+ Declare platformPreferencesDidChange().
+
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::platformPreferencesDidChange):
+ Stubbed.
+
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::WebPage::platformPreferencesDidChange):
+ Stubbed.
+
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::platformPreferencesDidChange):
+ On CG platforms, call wkSetFontSmoothingLevel(). This matches the code
+ in old WebKit's WebPreferences. Set the font rendering mode to either
+ normal (CG) or alternative (GDI) based on the font smoothing level. This
+ matches what was done in old WebKit's WebView.
+
+ * win/WebKit2.vcproj:
+ Add FontSmoothingLevel.h and WKPreferencesPrivate.{h,cpp} to project.
+
+ * win/WebKit2Generated.make:
+ Copy WKPreferencesPrivate.h.
+
+2010-08-06 Anders Carlsson <andersca@apple.com>
+
+ Build fixes.
+
+ * Platform/win/SharedMemoryWin.cpp:
+ (WebKit::SharedMemory::Handle::encode):
+ (WebKit::SharedMemory::Handle::decode):
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::encode):
+ (WebKit::UpdateChunk::decode):
+ * Shared/qt/UpdateChunk.h:
+ * Shared/win/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::encode):
+ (WebKit::UpdateChunk::decode):
+ * Shared/win/UpdateChunk.h:
+
+2010-08-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Change all ArgumentEncoder and ArgumentDecoder references to pointers
+ https://bugs.webkit.org/show_bug.cgi?id=43651
+
+ * Platform/CoreIPC/ArgumentCoder.h:
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ * Platform/CoreIPC/Arguments.h:
+ * Platform/CoreIPC/Attachment.cpp:
+ * Platform/CoreIPC/Attachment.h:
+ * Platform/CoreIPC/mac/MachPort.h:
+ * Platform/SharedMemory.h:
+ * Platform/mac/SharedMemoryMac.cpp:
+ * Shared/DrawingAreaBase.cpp:
+ * Shared/DrawingAreaBase.h:
+ * Shared/WebEvent.h:
+ * Shared/WebNavigationDataStore.h:
+ * Shared/WebPreferencesStore.h:
+ * Shared/mac/UpdateChunk.cpp:
+ * Shared/mac/UpdateChunk.h:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/WebContext.cpp:
+ * UIProcess/WebContext.h:
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebProcessProxy.cpp:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebProcess.cpp:
+
+2010-08-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't try to allocate a vector unless we know the buffer can contain it
+ https://bugs.webkit.org/show_bug.cgi?id=43647
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+ (CoreIPC::):
+ Check that the argument decoder buffer actually can hold all the vector elements.
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughtToContain):
+ Align the current position to the given alignment, add the size and check if the position is
+ past the end of the buffer.
+
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughtToContain):
+ Get the size and alignment and call the other bufferIsLargeEnoughtToContain overload.
+
+2010-08-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Detect invalid CoreIPC messages and call didReceiveInvalidMessage
+ https://bugs.webkit.org/show_bug.cgi?id=43643
+ <rdar://problem/7891069>
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ (CoreIPC::ArgumentDecoder::alignBufferPosition):
+ If we can't correctly align the buffer position, mark the decoder as invalid.
+
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ (CoreIPC::ArgumentDecoder::isInvalid):
+ Check if the argument decoder is valid.
+
+ (CoreIPC::ArgumentDecoder::markInvalid):
+ Mark the argument decoder as invalid, by setting its buffer position past its end position.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::dispatchMessages):
+ Check if m_client is null before dispatching messages. If an argument decoder was marked invalid, call
+ Connection::Client::didReceiveInvalidMessage.
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::Message::releaseArguments):
+ Rename destroy to releaseArguments and make it return a PassOwnPtr.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::~WebProcessProxy):
+ Call releaseArguments instead of destroy.
+
+ (WebKit::WebProcessProxy::didReceiveInvalidMessage):
+ Kill the web process and invalidate its connection.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveInvalidMessage):
+ Don't do anything, if the UI process is sending invalid messages there's not much we can do.
+
+ * WebProcess/WebProcess.h:
+
+2010-08-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add CoreIPC::MessageReceiver class
+ https://bugs.webkit.org/show_bug.cgi?id=43637
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::MessageReceiver::~MessageReceiver):
+ Add MessageReceiver class and make Client inherit from it.
+
+ (CoreIPC::Connection::MessageReceiver::didReceiveSyncMessage):
+ Change didReceiveSyncMessage from being a pure virtual member function and make it
+ assert by default instead.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ Remove ChunkedUpdateDrawingAreaProxy::didReceiveSyncMessage.
+
+ * Shared/DrawingAreaBase.h:
+ Include "Connection.h" instead.
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::didReceiveSyncMessage):
+ Change didReceiveSyncMessage from being a pure virtual member function and make it
+ assert by default instead.
+
+ * WebProcess/WebProcess.cpp:
+ * WebProcess/WebProcess.h:
+ Remove didReceiveSyncMessage.
+
+2010-08-06 Jessie Berlin <jberlin@apple.com>
+
+ Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
+ Unreviewed.
+
+ * UIProcess/PageClient.h:
+ * UIProcess/VisitedLinkProvider.h:
+ * UIProcess/WebContextInjectedBundleClient.h:
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebHistoryClient.h:
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPolicyClient.h:
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/WebUIClient.h:
+ * UIProcess/win/WebView.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ * WebProcess/Plugins/PluginController.h:
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebProcess.h:
+
+2010-08-05 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add form client for injected bundle code
+ https://bugs.webkit.org/show_bug.cgi?id=43603
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetFormClient):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: Added.
+ (WebKit::InjectedBundlePageFormClient::InjectedBundlePageFormClient):
+ (WebKit::InjectedBundlePageFormClient::initialize):
+ (WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing):
+ (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
+ (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
+ (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: Added.
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::textFieldDidBeginEditing):
+ (WebKit::WebEditorClient::textFieldDidEndEditing):
+ (WebKit::WebEditorClient::textDidChangeInTextField):
+ (WebKit::WebEditorClient::textDidChangeInTextArea):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::initializeInjectedBundleFormClient):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::injectedBundleFormClient):
+ * win/WebKit2.vcproj:
+
+2010-08-05 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add ability to get a JSValueRef for a node handle and a world
+ https://bugs.webkit.org/show_bug.cgi?id=43591
+
+ - Add API to get a JSValueRef for a world, node and frame (the
+ frame is currently necessary to pick the right globalObject for
+ the node wrapper).
+ - Add API to a JSGlobalContextRef for a world and a frame.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetJavaScriptContextForWorld):
+ (WKBundleFrameGetJavaScriptWrapperForNodeForWorld):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::coreNode):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+ * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
+ (WebKit::InjectedBundleScriptWorld::coreWorld):
+ * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::jsContext):
+ (WebKit::WebFrame::jsContextForWorld):
+ (WebKit::WebFrame::jsWrapperForWorld):
+ * WebProcess/WebPage/WebFrame.h:
+
+2010-08-05 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Sam Weinig
+
+ Bug 43594 - Add string forwards to Forward.h
+ This allows us to remove forward declarations for these classes from
+ WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
+
+ * UIProcess/PageClient.h:
+ * UIProcess/VisitedLinkProvider.h:
+ * UIProcess/WebContextInjectedBundleClient.h:
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebHistoryClient.h:
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPolicyClient.h:
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/WebUIClient.h:
+ * UIProcess/win/WebView.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ * WebProcess/Plugins/PluginController.h:
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebProcess.h:
+
+2010-08-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Use the visited link provider for visited links
+ https://bugs.webkit.org/show_bug.cgi?id=43583
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+ Remove AddVisitedLink.
+
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ (WebProcessProxyMessage::):
+ Remove PopulateVisitedLinks and add AddVisitedLink.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::sharedProcessContext):
+ Initialize the main run loop before creating the context.
+
+ (WebKit::WebContext::sharedThreadContext):
+ Ditto.
+
+ (WebKit::WebContext::create):
+ Ditto.
+
+ (WebKit::WebContext::WebContext):
+ Initialize the visited link provider.
+
+ (WebKit::WebContext::processDidFinishLaunching):
+ Ask the visited link provider to populate visited links.
+
+ (WebKit::WebContext::addVisitedLink):
+ Ask the visited link provider to add the visited link.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::addVisitedLink):
+ Call WebContext::addVisitedLink.
+
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ Handle AddVisitedLink.
+
+ (WebKit::WebProcessProxy::didFinishLaunching):
+ Call WebContext::processdidFinishLaunching.
+
+ * UIProcess/WebProcessProxy.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::populateVisitedLinks):
+ Don't send the WebProcessProxyMessage::PopulateVisitedLinks message.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::isLinkVisited):
+ Call WebProcess::isLinkVisited.
+
+ (WebKit::WebPlatformStrategies::addVisitedLink):
+ Call WebProcess::addVisitedLink.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::setVisitedLinkTable):
+ Create a shared memory object and tell the visited link table about it.
+
+ (WebKit::WebProcess::visitedLinkStateChanged):
+ Go through the link hashes and call Page::visitedStateChanged.
+
+ (WebKit::WebProcess::allVisitedLinkStateChanged):
+ Call Page::allVisitedStateChanged.
+
+ (WebKit::WebProcess::isLinkVisited):
+ Call VisitedLinkTable::isLinkVisited.
+
+ (WebKit::WebProcess::addVisitedLink):
+ Inform the UI process about the added link.
+
+ (WebKit::WebProcess::didReceiveMessage):
+ Handle new messages.
+
+2010-08-05 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+ Add missing include path.
+
+ * win/WebKit2Common.vsprops:
+
+2010-08-05 Brady Eidson <beidson@apple.com>
+
+ Rubberstamped by Sam Weinig.
+
+ Export WKError.h
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-08-05 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+ Correct vcproj nesting.
+
+ * win/WebKit2.vcproj:
+
+2010-08-05 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Add script world API for injected bundles
+ https://bugs.webkit.org/show_bug.cgi?id=43577
+
+ * Shared/APIObject.h:
+ (WebKit::APIObject::):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ (WebKit::):
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: Added.
+ (WKBundleScriptWorldGetTypeID):
+ (WKBundleScriptWorldCreateWorld):
+ (WKBundleScriptWorldNormalWorld):
+ (WKBundleScriptWorldRetain):
+ (WKBundleScriptWorldRelease):
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h: Added.
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp: Added.
+ (WebKit::allWorlds):
+ (WebKit::InjectedBundleScriptWorld::create):
+ (WebKit::InjectedBundleScriptWorld::getOrCreate):
+ (WebKit::InjectedBundleScriptWorld::normalWorld):
+ (WebKit::InjectedBundleScriptWorld::InjectedBundleScriptWorld):
+ (WebKit::InjectedBundleScriptWorld::~InjectedBundleScriptWorld):
+ * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: Added.
+ (WebKit::InjectedBundleScriptWorld::type):
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-08-05 Sam Weinig <sam@webkit.org>
+
+ Reviewed Anders Carlsson.
+
+ Add DOM Node wrapper class for injected bundle
+ https://bugs.webkit.org/show_bug.cgi?id=43524
+
+ - This class should not expose any DOM APIs, but just be a handle that can be used to get a JS
+ wrapper for the node in a specific world.
+
+ * Shared/APIObject.h:
+ (WebKit::APIObject::):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ (WebKit::):
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleNode.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: Added.
+ (WKBundleNodeHandleGetTypeID):
+ (WKBundleNodeHandleRetain):
+ (WKBundleNodeHandleRelease):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h: Added.
+ * WebProcess/InjectedBundle/DOM: Added.
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: Added.
+ (WebKit::domHandleCache):
+ (WebKit::getDOMHandle):
+ (WebKit::setDOMHandle):
+ (WebKit::removeDOMHandle):
+ (WebKit::InjectedBundleNodeHandle::getOrCreate):
+ (WebKit::InjectedBundleNodeHandle::create):
+ (WebKit::InjectedBundleNodeHandle::InjectedBundleNodeHandle):
+ (WebKit::InjectedBundleNodeHandle::~InjectedBundleNodeHandle):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Added.
+ (WebKit::InjectedBundleNodeHandle::type):
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-08-05 Anders Carlsson <andersca@apple.com>
+
+ Build fix.
+
+ * Platform/mac/SharedMemoryMac.cpp:
+
+2010-08-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add VisitedLinkProvider class
+ https://bugs.webkit.org/show_bug.cgi?id=43570
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+ Add SetVisitedLinkTable, VisitedLinkStateChanged and AllVisitedLinkStateChanged.
+
+ * UIProcess/VisitedLinkProvider.cpp: Added.
+ (WebKit::VisitedLinkProvider::VisitedLinkProvider):
+ Initialize table.
+
+ (WebKit::VisitedLinkProvider::populateVisitedLinksIfNeeded):
+ Ask the context to populate visited links.
+
+ (WebKit::VisitedLinkProvider::addVisitedLink):
+ Add the link hash to the set of pending visited links and start the timer.
+
+ (WebKit::nextPowerOf2):
+ Add helper function.
+
+ (WebKit::tableSizeForKeyCount):
+ Given a key count, returns a table size. The table size is always a power of two, and
+ is chosen so that the table is always at least half empty.
+
+ (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
+ First, check if we need to resize the hash table and allocate new shared memory for it if that is the case.
+ Then, go through the pending link hash vector and insert all the elements in the table. Finally, notify the web
+ process about visited links whose state have changed.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveMessage):
+ Add case statements.
+
+ * win/WebKit2.vcproj:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add VisitedLinkProvider.cpp and VisitedLinkProvider.h.
+
+2010-08-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add VisitedLinkTable class
+ https://bugs.webkit.org/show_bug.cgi?id=43566
+
+ * Shared/VisitedLinkTable.cpp: Added.
+ (WebKit::VisitedLinkTable::VisitedLinkTable):
+ (WebKit::VisitedLinkTable::~VisitedLinkTable):
+ Add out of line constructors so we won't have to include SharedMemory.h in the
+ VisitedLinkTable.h header.
+
+ (WebKit::isPowerOf2):
+ Add helper function.
+
+ (WebKit::VisitedLinkTable::setSharedMemory):
+ Set the new shared memory and update the table size and hash.
+
+ (WebKit::doubleHash):
+ Add helper function from the WTF HashTable.
+
+ (WebKit::VisitedLinkTable::addLinkHash):
+ Add a link hash to the table.
+
+ (WebKit::VisitedLinkTable::isLinkVisited):
+ See if there is an entry for the given link hash.
+
+ * Shared/VisitedLinkTable.h: Added.
+ (WebKit::VisitedLinkTable::sharedMemory):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add VisitedLinkTable.cpp and VisitedLinkTable.h
+
+2010-08-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add shared memory abstraction
+ https://bugs.webkit.org/show_bug.cgi?id=43535
+ <rdar://problem/8275295>
+
+ * Platform/SharedMemory.h: Added.
+ (WebKit::SharedMemory::):
+ (WebKit::SharedMemory::size):
+ Return the size, in bytes, of the shared memory object.
+
+ (WebKit::SharedMemory::data):
+ Return a pointer to the shared memory object.
+
+ * Platform/mac/SharedMemoryMac.cpp: Added.
+ (WebKit::SharedMemory::Handle):
+ A shared memory handle, which can be passed in a CoreIPC Connection.
+
+ (WebKit::SharedMemory::create):
+ Allocate the shared memory.
+
+ (WebKit::SharedMemory::~SharedMemory):
+ Deallocate the shared memory.
+
+ (WebKit::SharedMemory::createHandle):
+ Create a mach port and pass it to the handle.
+
+ (WebKit::SharedMemory::systemPageSize):
+ Return the system page size, in bytes.
+
+ * Platform/win/SharedMemoryWin.cpp: Added.
+ Add stubbed out version.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add files.
+
+2010-08-05 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ Unify blob related feature defines to ENABLE(BLOB).
+ https://bugs.webkit.org/show_bug.cgi?id=43081
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-08-05 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Rubber-stamped by Kenneth Rohde Christiansen.
+
+ [Qt] Remove redundant include paths from WebKit2.pro.
+
+ * WebKit2.pro:
+
+2010-08-04 Adam Roben <aroben@apple.com>
+
+ Teach WebKit2 how to load the TestNetscapePlugin
+
+ Fixes <http://webkit.org/b/43513> WebKitTestRunner on Windows fails to
+ load TestNetscapePlugin
+
+ Reviewed by Jon Honeycutt.
+
+ * Platform/Module.cpp:
+ (WebKit::Module::Module): Initialize m_module on Windows.
+
+ * Platform/Module.h: Added m_module on Windows.
+
+ * Platform/win/ModuleWin.cpp:
+ (WebKit::Module::load): Implemented using ::LoadLibraryExW.
+ (WebKit::Module::unload): Implemented using ::FreeLibrary.
+ (WebKit::Module::platformFunctionPointer): Implemented using
+ ::GetProcAddress.
+
+ * Platform/win/RunLoopWin.cpp:
+ (RunLoop::TimerBase::timerFired): Kill the native timer before calling
+ the fired callback. This makes all our timers non-repeating, but
+ that's all we need currently.
+ (RunLoop::TimerBase::start): Added an assertion to help us figure out
+ when we need to implement repeating timers. Also fixed a typo.
+
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::PluginInfoStore::pluginsDirectories): Added a FIXME.
+
+ (WebKit::PathWalker::PathWalker):
+ (WebKit::PathWalker::~PathWalker):
+ (WebKit::PathWalker::isValid):
+ (WebKit::PathWalker::data):
+ (WebKit::PathWalker::step):
+ Added. This class wraps the ::FindFirstFile/::FindNextFile APIs.
+
+ (WebKit::PluginInfoStore::pluginPathsInDirectory): Implemented by
+ porting logic from
+ WebCore::PluginDatabase::getPluginPathsInDirectories.
+ (WebKit::getVersionInfo): Copied from PluginDatabaseWin.cpp.
+ (WebKit::PluginInfoStore::getPluginInfo): Implemented by porting logic
+ from WebCore::PluginPackage::fetchInfo.
+ (WebKit::PluginInfoStore::shouldUsePlugin): Changed to always return
+ true for now. Added a FIXME about implementing this for real.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+ Removed PLATFORM(MAC) guards around plugin code.
+
+ * win/WebKit2.vcproj: Let VS sort the file.
+
+2010-08-05 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Use toCopiedRef for making WK objects
+ https://bugs.webkit.org/show_bug.cgi?id=43552
+
+ * UIProcess/API/cpp/qt/WKStringQt.cpp:
+ (WKStringCreateWithQString):
+ * UIProcess/API/cpp/qt/WKURLQt.cpp:
+ (WKURLCreateWithQUrl):
+
+2010-08-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Change callback APIs to include an Error object in one callback, instead of having a second callback for failure.
+ https://bugs.webkit.org/show_bug.cgi?id=43522
+
+ This includes adding a WKErrorRef object which - for now - either exists or doesn't.
+ In the future, it may contain useful information about the error.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+ * Shared/APIObject.h:
+ (WebKit::APIObject::):
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+
+ * Shared/WebError.h: Added.
+ (WebKit::WebError::create):
+ (WebKit::WebError::WebError):
+ (WebKit::WebError::type):
+
+ * UIProcess/API/C/WKError.cpp: Added.
+ (WKErrorGetTypeID):
+ * UIProcess/API/C/WKError.h: Added.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageRunJavaScriptInMainFrame):
+ (callRunJavaScriptBlockAndRelease):
+ (WKPageRunJavaScriptInMainFrame_b):
+ (WKPageRenderTreeExternalRepresentation):
+ (callRenderTreeExternalRepresentationBlockAndDispose):
+ (WKPageRenderTreeExternalRepresentation_b):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WKPagePrivate.h:
+
+ * UIProcess/GenericCallback.h:
+ (WebKit::GenericCallback::create):
+ (WebKit::GenericCallback::performCallbackWithReturnValue):
+ (WebKit::GenericCallback::invalidate):
+ (WebKit::GenericCallback::GenericCallback):
+
+2010-08-04 Ada Chan <adachan@apple.com>
+
+ Windows build fix
+
+ * win/WebKit2Generated.make:
+
+2010-08-04 John Sullivan <sullivan@apple.com>
+
+ Build fix, rubber-stamped by Brady Eidson.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Made WKData.h a public header.
+
+2010-08-04 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_SetValue): Removed unreachable code.
+
+2010-08-04 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_SetValue): Added some case statements that are compiled
+ on Windows to avoid a warning about having default but not cases.
+
+2010-08-04 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * win/WebKit2.vcproj: Added NetscapeBrowserFuncs.
+
+2010-08-04 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ The functions in NetscapePluginModuleWin.cpp have been moved to
+ NetscapePluginModule.cpp.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Removed.
+ * win/WebKit2.vcproj: Removed NetscapePluginModuleWin.
+
+2010-08-04 Adam Roben <aroben@apple.com>
+
+ Move bundle-loading code from NetscapePluginModule to a new Module
+ class
+
+ This allows more NetscapePluginModule code to be cross-platform.
+
+ Fixes <http://webkit.org/b/43497> NetscapePluginModule::try/unload
+ should be cross-platform
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/Module.cpp: Added.
+ (WebKit::Module::Module): Store our path.
+ (WebKit::Module::~Module): Unload our native module.
+
+ * Platform/Module.h: Added.
+ (WebKit::Module::leakBundle): Does what it says.
+ (WebKit::Module::functionPointer): Returns a pointer to the named
+ function, with the right type.
+
+ * Platform/mac/ModuleMac.mm: Added.
+ (WebKit::Module::load): Code was moved here from
+ NetscapePluginModule::tryLoad.
+ (WebKit::Module::unload): Just clears our bundle.
+ (WebKit::Module::platformFunctionPointer): Code was moved here from
+ NetscapePluginModuleMac.cpp.
+
+ * Platform/qt/ModuleQt.cpp: Added.
+ (WebKit::Module::load):
+ (WebKit::Module::unload):
+ (WebKit::Module::platformFunctionPointer):
+ * Platform/win/ModuleWin.cpp: Added.
+ (WebKit::Module::load):
+ (WebKit::Module::unload):
+ (WebKit::Module::platformFunctionPointer):
+ Just stubbed out these functions.
+
+ * WebKit2.xcodeproj/project.pbxproj: Added Module.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::tryLoad):
+ (WebKit::NetscapePluginModule::unload):
+ Moved here from NetscapePluginModuleMac.cpp. Now uses the
+ cross-platform m_module member.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.h: Replaced
+ m_bundle with m_module.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp: Removed.
+
+ * win/WebKit2.vcproj: Added Module.
+
+2010-08-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Lay the groundwork for saving/restoring page session state to WK2
+ https://bugs.webkit.org/show_bug.cgi?id=43495
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+ * Shared/APIObject.h:
+ (WebKit::APIObject::):
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+
+ Arbitrary byte buffer:
+ * Shared/WebData.h: Added.
+ (WebKit::WebData::create):
+ (WebKit::WebData::bytes):
+ (WebKit::WebData::size):
+ (WebKit::WebData::WebData):
+ (WebKit::WebData::type):
+
+ API facing object to act as a byte buffer:
+ * UIProcess/API/C/WKData.cpp: Added.
+ (WKDataGetTypeID):
+ (WKDataCreate):
+ (WKDataGetBytes):
+ (WKDataGetSize):
+ (WKDataRetain):
+ (WKDataRelease):
+ * UIProcess/API/C/WKData.h: Added.
+
+ API for saving/restoring state:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageCopySessionState):
+ (WKPageRestoreFromSessionState):
+ * UIProcess/API/C/WKPage.h:
+
+ These will be filled in later:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::sessionState):
+ (WebKit::WebPageProxy::restoreFromSessionState):
+ * UIProcess/WebPageProxy.h:
+
+
+2010-08-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Set correct default minimumFontSize.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+
+2010-08-03 Adam Roben <aroben@apple.com>
+
+ Turn on PLATFORM_STRATEGIES on Windows
+
+ Fixes <http://webkit.org/b/43431>.
+
+ Reviewed by Anders Carlsson.
+
+ * win/WebKit2.vcproj: Added WebPlatformStrategies. Also let VS reorder
+ this file as it saw fit.
+
+2010-08-03 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Close the WebProcess
+
+ https://bugs.webkit.org/show_bug.cgi?id=41690
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::open): Registered connectionDidClose to be called when the client disconnected.
+ * Platform/qt/RunLoopQt.cpp:
+ (RunLoop::stop): Implemented by calling QCoreApplication::exit.
+
+2010-08-03 Jon Honeycutt <jhoneycutt@apple.com>
+
+ WebKitTestRunner needs to activate the Mac font ascent hack
+ https://bugs.webkit.org/show_bug.cgi?id=43404
+
+ Reviewed by Darin Adler.
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleActivateMacFontAscentHack):
+ Get the InjectedBundle, and calls its activateMacFontAscentHack().
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ Declare WKBundleActivateMacFontAscentHack().
+
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ Declare activateMacFontAscentHack().
+
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+ (WebKit::InjectedBundle::activateMacFontAscentHack):
+ Stubbed.
+
+ * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
+ (WebKit::InjectedBundle::activateMacFontAscentHack):
+ Stubbed.
+
+ * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
+ (WebKit::InjectedBundle::activateMacFontAscentHack):
+ Activate the ascent hack.
+
+2010-08-03 Simon Fraser <simon.fraser@apple.com>
+
+ Fix typo in typo fix.
+
+ * Shared/DrawingAreaBase.h:
+ (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
+ (WebKit::DrawingAreaBase::DrawingAreaBase):
+
+2010-08-03 Simon Fraser <simon.fraser@apple.com>
+
+ Fix typo in previous commit.
+
+ * Shared/DrawingAreaBase.h:
+ (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
+ (WebKit::DrawingAreaBase::DrawingAreaBase):
+
+2010-08-03 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Compositing iframe layout test crashes in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42860
+
+ Fix assertion caused by a DrawingArea handling a message that was targetted at an older DrawingArea
+ that it has replaced.
+
+ This was done by assigning a unique ID to each DrawingAreaProxy that gets created, and passing
+ this ID, along with the type, to the WebProcess via an encoded DrawingAreaInfo. Each message
+ also includes this ID. Messages with an ID that doesn't match that of the current DrawingArea are ignored.
+
+ Refactored some common code and data into a DrawingAreaBase class which is shared, and adding
+ encode/decode of DrawingAreaInfo.
+
+ * Shared/DrawingAreaBase.cpp: Added.
+ (WebKit::DrawingAreaBase::encode):
+ (WebKit::DrawingAreaBase::decode):
+ * Shared/DrawingAreaBase.h: Added.
+ (WebKit::DrawingAreaBase::):
+ (WebKit::DrawingAreaBase::~DrawingAreaBase):
+ (WebKit::DrawingAreaBase::type):
+ (WebKit::DrawingAreaBase::id):
+ (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
+ (WebKit::DrawingAreaBase::DrawingAreaBase):
+ (CoreIPC::):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::update):
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::DrawingAreaProxy):
+ (WebKit::DrawingAreaProxy::nextDrawingAreaID):
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::setSize):
+ (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
+ (WebKit::LayerBackedDrawingAreaProxy::update):
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::createWindow):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ (WebKit::DrawingArea::DrawingArea):
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ (WebKit::LayerBackedDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::create):
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::createWebPage):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ * win/WebKit2.vcproj:
+
+2010-08-03 Alex Milowski <alex@milowski.com>
+
+ Reviewed by Beth Dakin.
+
+ Changed the ENABLE_MATHML value to enable MathML by default.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-08-03 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Compositing iframe layout test crashes in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42860
+
+ Part one of the fix: make DrawingArea ref-counted, so that the object
+ can survide a swap in drawing areas inside the run loop observer callback.
+
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::platformClear):
+ (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverCallback):
+ (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverFired):
+
+2010-08-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Frequent ASSERT_NOT_REACHED in Connection::processIncomingMessage when running regression tests
+ https://bugs.webkit.org/show_bug.cgi?id=42926
+ <rdar://problem/8237329>
+
+ Remove this assert, it's bogus. It would fire when a reply came in on the connection queue before
+ waitForReply was called on the client thread, but that case is already covered.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::processIncomingMessage):
+
+2010-08-03 Adam Roben <aroben@apple.com>
+
+ Compile out two Mac-only localized strings on non-Mac platforms
+
+ Fixes <http://webkit.org/b/43433> copyImageUnknownFileLabel and
+ AXARIAContentGroupText should only be compiled on Mac
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+ Wrapped copyImageUnknownFileLabel and AXARIAContentGroupText in
+ PLATFORM(MAC).
+
+2010-08-03 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ [Qt] Unreviewed typo fix in the WebKit2/DerivedSources.pro project file.
+
+ Use QMAKE_MKDIR as the command for directory creation.
+
+ * DerivedSources.pro:
+
+2010-08-02 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Add VisitedLinkStrategy for each platform to implement
+ https://bugs.webkit.org/show_bug.cgi?id=43393
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::createVisitedLinkStrategy):
+ (WebKit::WebPlatformStrategies::isLinkVisited): Call back into PageGroup's visited links, for now.
+ (WebKit::WebPlatformStrategies::addVisitedLink): Ditto.
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Darin Fisher.
+
+ PopupMenu refactoring in preparation to WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42592
+
+ Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
+ SearchPopupMenu respectively. At this point they are just empty implementations.
+
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added.
+ (WebKit::WebPopupMenu::WebPopupMenu):
+ (WebKit::WebPopupMenu::~WebPopupMenu):
+ (WebKit::WebPopupMenu::disconnectClient):
+ (WebKit::WebPopupMenu::show):
+ (WebKit::WebPopupMenu::hide):
+ (WebKit::WebPopupMenu::updateFromElement):
+ * WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added.
+ (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
+ (WebKit::WebSearchPopupMenu::popupMenu):
+ (WebKit::WebSearchPopupMenu::saveRecentSearches):
+ (WebKit::WebSearchPopupMenu::loadRecentSearches):
+ (WebKit::WebSearchPopupMenu::enabled):
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.
+
+ As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
+ instances, concrete classes that inherit from ChromeClient needed to be changed to
+ implement the new methods.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
+ (WebKit::WebChromeClient::createPopupMenu):
+ (WebKit::WebChromeClient::createSearchPopupMenu):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+ build issues:
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-08-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix plug-in test failures and remove tests from the Skipped list
+ https://bugs.webkit.org/show_bug.cgi?id=43389
+
+ * WebProcess/Plugins/JSNPMethod.cpp:
+ JSNPMethod::s_info should specify InternalFunction::info as its parent.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::cancelStreamLoad):
+ Special-case the manual stream and call PluginController::cancelManualStreamLoad.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::stop):
+ It's OK to call stop on a stream that hasn't been started. Remove assertion and return early.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add cancelManualStreamLoad.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::cancelManualStreamLoad):
+ Tell the document loader to cancel the main resource load.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::innerText):
+ Check for a null document element.
+
+2010-08-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add support for loading manual streams
+ https://bugs.webkit.org/show_bug.cgi?id=43380
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize m_loadManually to false.
+
+ (WebKit::NetscapePlugin::removePluginStream):
+ Special case the manual stream.
+
+ (WebKit::NetscapePlugin::initialize):
+ Don't request the stream if we're already loading.
+
+ (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
+ Create the manual stream and pass the response to it.
+
+ (WebKit::NetscapePlugin::manualStreamDidReceiveData):
+ Pass the data to the manual stream.
+
+ (WebKit::NetscapePlugin::manualStreamDidFinishLoading):
+ Call the manual stream.
+
+ (WebKit::NetscapePlugin::manualStreamDidFail):
+ Ditto.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add pure virtual member functions for manual stream loading.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::buildHTTPHeaders):
+ Put code in a function so both PluginView::Stream::didReceiveResponse and
+ manualLoadDidReceiveResponse can call it.
+
+ (WebKit::PluginView::Stream::didReceiveResponse):
+ Call buildHTTPHeaders.
+
+ (WebKit::PluginView::Stream::didFinishLoading):
+ Protect the plug-in when calling destroyStream.
+
+ (WebKit::PluginView::manualLoadDidReceiveResponse):
+ Call Plugin::manualStreamDidReceiveResponse.
+
+ (WebKit::PluginView::manualLoadDidReceiveData):
+ Call Plugin::manualStreamDidReceiveData.
+
+ (WebKit::PluginView::manualLoadDidFinishLoading):
+ Call Plugin::manualStreamDidFinishLoading.
+
+ (WebKit::PluginView::manualLoadDidFail):
+ Call Plugin::manualStreamDidFail.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
+ Initialize m_hasSentResponseToPluginView to false.
+
+ (WebKit::WebFrameLoaderClient::setMainDocumentError):
+ Call PluginView::manualLoadDidFail.
+
+ (WebKit::WebFrameLoaderClient::committedLoad):
+ Call PluginView::manualLoadDidReceiveResponse.
+
+ (WebKit::WebFrameLoaderClient::finishedLoading):
+ Call PluginView::manualLoadDidFinishLoading.
+
+ (WebKit::WebFrameLoaderClient::redirectDataToPlugin):
+ Keep track of the plug-in view.
+
+2010-08-02 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Basic WK2 visited link coloring
+ https://bugs.webkit.org/show_bug.cgi?id=43377
+
+ Add simple API that allows the WK2 app to add 1 visited link at a time.
+ For now, this just pipes each individual LinkHash down to WebCore.
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextAddVisitedLink):
+ * UIProcess/API/C/WKContext.h:
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::addVisitedLink):
+ * UIProcess/WebContext.h:
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::addVisitedLinkHash):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+
+2010-08-02 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKitTestRunner needs layoutTestController.setCanOpenWindows
+ https://bugs.webkit.org/show_bug.cgi?id=42321
+
+ WebKitTestRunner needs layoutTestController.setCloseRemainingWindowsWhenComplete
+ https://bugs.webkit.org/show_bug.cgi?id=42779
+
+ Implemented window.close, added a function that does a similar operation on behalf
+ of injected bundle code named WKBundlePageClose, and fixed the reference counting of
+ the result of the createNewPage client function.
+
+ * UIProcess/API/cpp/WKRetainPtr.h: Added clear. Tweaked formatting. Renamed
+ releaseRef to leakRef.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _updateVisibility]): Handle the case where drawing area is 0. This
+ came up in WebKitTestRunner and other functions handle drawing area of 0.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveSyncMessage): Update now that createNewPage
+ returns a PassRefPtr.
+ (WebKit::WebPageProxy::createNewPage): Changed to return a PassRefPtr.
+ * UIProcess/WebPageProxy.h: Ditto.
+
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::createNewPage): Changed to return a PassRefPtr and adopt
+ the WKPageRef passed from the client. This follows the "create rule".
+ * UIProcess/WebUIClient.h: Ditto.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageClose): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added WKBundlePageClose
+ and re-sorted the other functions in this file.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::closeWindowSoon): Implemented this.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Called setJavaScriptCanOpenWindowsAutomatically(true).
+ I suppose we will need to revisit this later when we implement pop-up blocking.
+ (WebKit::WebPage::tryClose): Factored out the part of this that sends a message
+ to the other process.
+ (WebKit::WebPage::sendClose): This is where the part that sends a message went.
+ * WebProcess/WebPage/WebPage.h: Added sendClose, used by both closeWindowSoon
+ and WKBundlePageClose.
+
+2010-08-02 John Sullivan <sullivan@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=43369
+ WebBackForwardList::forwardListAsImmutableArrayWithLimit can return partly-uninitialized array
+
+ Reviewed by Ada Chan.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
+ Use a simpler and correct expression to determine "last".
+
+2010-08-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Protect the plug-in from being destroyed while in plug-in code
+ https://bugs.webkit.org/show_bug.cgi?id=43370
+
+ Add a PluginProtector to NPRuntimeObjectMap and use it in JSNPObject.
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::JSNPObject::callMethod):
+ (WebKit::JSNPObject::callObject):
+ (WebKit::JSNPObject::callConstructor):
+ (WebKit::JSNPObject::put):
+ (WebKit::JSNPObject::getOwnPropertyNames):
+ (WebKit::JSNPObject::propertyGetter):
+ Add PluginProtector declarations.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::PluginProtector::PluginProtector):
+ Ref the plug-in view (unless it's being destroyed).
+
+ (WebKit::NPRuntimeObjectMap::PluginProtector::~PluginProtector):
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ Initialize m_isBeingDestroyed.
+
+ (WebKit::PluginView::~PluginView):
+ Set m_isBeingDestroyed to true.
+
+ (WebKit::PluginView::scriptObject):
+ Don't crash if the plug-in failed to initialize.
+
+ (WebKit::PluginView::evaluate):
+ Remove comment.
+
+ * WebProcess/Plugins/PluginView.h:
+ (WebKit::PluginView::isBeingDestroyed):
+
+2010-08-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Cache JSNPObjects and fix bugs in the object map
+ https://bugs.webkit.org/show_bug.cgi?id=43368
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::JSNPObject::JSNPObject):
+ Assert that we're not trying to wrap an NPJSObject.
+
+ (WebKit::JSNPObject::~JSNPObject):
+ Tell the object map that we're gone.
+
+ (WebKit::JSNPObject::invalidate):
+ Release the NPObject and null out the pointer.
+
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::create):
+ Assert that we're not trying to wrap a JSNPObject.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
+ If we're passed a JSNPObject, just extract its NPObject.
+
+ (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
+ If we're passed an NPJSObject, just extract its JSObject. Otherwise, check if we already have
+ a JSObject for this NPObject and return it.
+
+ (WebKit::NPRuntimeObjectMap::jsNPObjectDestroyed):
+ Remove the object from the map.
+
+ (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
+ getOrCreateJSObject now checks for wrapped objects.
+
+ (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
+ getOrCreateNPObject now checks for wrapped objects.
+
+ (WebKit::NPRuntimeObjectMap::invalidate):
+ Invalidate JSNPObjects as well.
+
+2010-08-02 Jeremy Orlow <jorlow@chromium.org>
+
+ Speculative revert of 64425 due to Chromium instability
+ https://bugs.webkit.org/show_bug.cgi?id=43347
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Removed.
+ * WebProcess/WebCoreSupport/WebPopupMenu.h: Removed.
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Removed.
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Removed.
+ * win/WebKit2.vcproj:
+
+2010-08-02 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Generate forwarding headers for WebKit2
+
+ https://bugs.webkit.org/show_bug.cgi?id=43336
+
+ * DerivedSources.pro: Added.
+
+2010-08-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_SetException
+ https://bugs.webkit.org/show_bug.cgi?id=43320
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::JSNPObject::callConstructor):
+ (WebKit::JSNPObject::put):
+ (WebKit::JSNPObject::getOwnPropertyNames):
+ (WebKit::JSNPObject::propertyGetter):
+ Call NPRuntimeObjectMap::moveGlobalExceptionToExecState.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::globalExceptionString):
+ Add static global.
+
+ (WebKit::NPRuntimeObjectMap::setGlobalException):
+ Set the global exception string.
+
+ (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
+ Create an error from the exception string.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_SetException):
+ Call NetscapePlugin::setException.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::setException):
+ Call NPRuntimeObjectMap::setGlobalException.
+
+2010-08-01 Sam Weinig <sam@webkit.org>
+
+ Roll r64446 out. It broke the test runner.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::postMessageToInjectedBundle):
+
+2010-08-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Don't send user messages to the injected bundle if the process is not active
+ https://bugs.webkit.org/show_bug.cgi?id=43317
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::postMessageToInjectedBundle):
+
+2010-08-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add ability to reset frame names for WebKitTestRunner
+ https://bugs.webkit.org/show_bug.cgi?id=43316
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageClearMainFrameName):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::clearMainFrameName):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-08-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Minor NPRuntime fixes
+ https://bugs.webkit.org/show_bug.cgi?id=43318
+
+ * WebProcess/Plugins/JSNPObject.h:
+ (WebKit::JSNPObject::npObject):
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
+ If we see an JSNPObject, extract the NPObject.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetProperty):
+ Don't check for whether the property exists before getting it.
+
+2010-08-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_RemoveProperty
+ https://bugs.webkit.org/show_bug.cgi?id=43315
+
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::removeProperty):
+ Try to remove the property.
+
+ (WebKit::NPJSObject::npClass):
+ Add NP_RemoveProperty.
+
+ (WebKit::NPJSObject::NP_RemoveProperty):
+ Call NPJSObject::removeProperty.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_RemoveProperty):
+ Call the NPClass::removeProperty function.
+
+2010-07-31 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Crash due to calling StringImpl::createCFString() from non-main thread in plug-in code
+ https://bugs.webkit.org/show_bug.cgi?id=43306
+ <rdar://problem/8259687>
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::getMIMETypeForExtension):
+ (WebKit::PluginInfoStore::findPlugin):
+ * UIProcess/Plugins/PluginInfoStore.h:
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::safeCreateCFString):
+ (WebKit::PluginInfoStore::getMIMETypeForExtension):
+ Bypass MIMETypeRegistry in the UIProcess until we can safely convert Strings
+ to CFStringRefs.
+
+2010-07-31 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43305
+ Add back WKBundleFrameCopyInnerText to fix ~50 test failures
+ due to SVGElements not having the innerText function.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopyInnerText):
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::innerText):
+ * WebProcess/WebPage/WebFrame.h:
+
+2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Darin Fisher.
+
+ PopupMenu refactoring in preparation to WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42592
+
+ Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
+ SearchPopupMenu respectively. At this point they are just empty implementations.
+
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added.
+ (WebKit::WebPopupMenu::WebPopupMenu):
+ (WebKit::WebPopupMenu::~WebPopupMenu):
+ (WebKit::WebPopupMenu::disconnectClient):
+ (WebKit::WebPopupMenu::show):
+ (WebKit::WebPopupMenu::hide):
+ (WebKit::WebPopupMenu::updateFromElement):
+ * WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added.
+ (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
+ (WebKit::WebSearchPopupMenu::popupMenu):
+ (WebKit::WebSearchPopupMenu::saveRecentSearches):
+ (WebKit::WebSearchPopupMenu::loadRecentSearches):
+ (WebKit::WebSearchPopupMenu::enabled):
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.
+
+ As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
+ instances, concrete classes that inherit from ChromeClient needed to be changed to
+ implement the new methods.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
+ (WebKit::WebChromeClient::createPopupMenu):
+ (WebKit::WebChromeClient::createSearchPopupMenu):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+ build issues:
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-07-31 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r64422.
+ http://trac.webkit.org/changeset/64422
+ https://bugs.webkit.org/show_bug.cgi?id=43304
+
+ Build fixes are needed for Snow Leopard and Windows.
+ (Requested by lca on #webkit).
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Removed.
+ * WebProcess/WebCoreSupport/WebPopupMenu.h: Removed.
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Removed.
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Removed.
+ * win/WebKit2.vcproj:
+
+2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Darin Fisher.
+
+ PopupMenu refactoring in preparation to WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42592
+
+ Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
+ SearchPopupMenu respectively. At this point they are just empty implementations.
+
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added.
+ (WebKit::WebPopupMenu::WebPopupMenu):
+ (WebKit::WebPopupMenu::~WebPopupMenu):
+ (WebKit::WebPopupMenu::disconnectClient):
+ (WebKit::WebPopupMenu::show):
+ (WebKit::WebPopupMenu::hide):
+ (WebKit::WebPopupMenu::updateFromElement):
+ * WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added.
+ (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
+ (WebKit::WebSearchPopupMenu::popupMenu):
+ (WebKit::WebSearchPopupMenu::saveRecentSearches):
+ (WebKit::WebSearchPopupMenu::loadRecentSearches):
+ (WebKit::WebSearchPopupMenu::enabled):
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.
+
+ As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
+ instances, concrete classes that inherit from ChromeClient needed to be changed to
+ implement the new methods.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
+ (WebKit::WebChromeClient::createPopupMenu):
+ (WebKit::WebChromeClient::createSearchPopupMenu):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+ build issues:
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-07-30 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Eliminate BackForwardList::pushStateItem
+ https://bugs.webkit.org/show_bug.cgi?id=43282
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ * WebProcess/WebPage/WebBackForwardListProxy.h:
+
+2010-07-30 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
+ https://bugs.webkit.org/show_bug.cgi?id=40627
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+2010-07-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43290
+ Add structured message passing from the injected bundle to UIProcess
+
+ * Platform/CoreIPC/MessageID.h:
+ * Shared/CoreIPCSupport/WebContextMessageKinds.h: Added.
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ (WebProcessProxyMessage::):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::):
+ (WebKit::PostMessageEncoder::PostMessageDecoder::PostMessageDecoder):
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
+ (WebKit::WebContext::didReceiveMessage):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebContextInjectedBundleClient.cpp:
+ (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle):
+ * UIProcess/WebContextInjectedBundleClient.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ * UIProcess/WebProcessProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundlePostMessage):
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::):
+ (WebKit::InjectedBundle::InjectedBundle):
+ (WebKit::InjectedBundle::~InjectedBundle):
+ (WebKit::InjectedBundle::initializeClient):
+ (WebKit::InjectedBundle::postMessage):
+ (WebKit::InjectedBundle::setShouldTrackVisitedLinks):
+ (WebKit::InjectedBundle::removeAllVisitedLinks):
+ (WebKit::InjectedBundle::didCreatePage):
+ (WebKit::InjectedBundle::willDestroyPage):
+ (WebKit::InjectedBundle::didReceiveMessage):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+
+2010-07-30 Andy Estes <aestes@apple.com>
+
+ Reviewed by David Kilzer.
+
+ Add support to Xcode for compiling WebKit against iOS SDKs.
+ https://bugs.webkit.org/show_bug.cgi?id=42796
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-07-30 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Cast the return value for the templated ImmutableArray::at().
+
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::at):
+
+2010-07-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43283
+ Add APIObject template introspection support.
+
+ Add a way to get the type the APIObject::Type from the APIObject subclass typenames
+ for template fun. Use this to make a type checking version of ImmutableArray::at.
+
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::at):
+ (WebKit::ImmutableArray::type):
+ * Shared/WebString.h:
+ (WebKit::WebString::type):
+ * Shared/WebURL.h:
+ (WebKit::WebURL::type):
+ * UIProcess/API/C/WKArray.cpp:
+ (WKArrayGetTypeID):
+ * UIProcess/API/C/WKBackForwardList.cpp:
+ (WKBackForwardListGetTypeID):
+ * UIProcess/API/C/WKBackForwardListItem.cpp:
+ (WKBackForwardListItemGetTypeID):
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextGetTypeID):
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetTypeID):
+ * UIProcess/API/C/WKFramePolicyListener.cpp:
+ (WKFramePolicyListenerGetTypeID):
+ * UIProcess/API/C/WKNavigationData.cpp:
+ (WKNavigationDataGetTypeID):
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetTypeID):
+ * UIProcess/API/C/WKPageNamespace.cpp:
+ (WKPageNamespaceGetTypeID):
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesGetTypeID):
+ * UIProcess/API/C/WKString.cpp:
+ (WKStringGetTypeID):
+ * UIProcess/API/C/WKURL.cpp:
+ (WKURLGetTypeID):
+ * UIProcess/WebBackForwardList.h:
+ (WebKit::WebBackForwardList::type):
+ * UIProcess/WebBackForwardListItem.h:
+ (WebKit::WebBackForwardListItem::type):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::type):
+ * UIProcess/WebFramePolicyListenerProxy.h:
+ (WebKit::WebFramePolicyListenerProxy::type):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::type):
+ * UIProcess/WebNavigationData.h:
+ (WebKit::WebNavigationData::type):
+ * UIProcess/WebPageNamespace.h:
+ (WebKit::WebPageNamespace::type):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::type):
+ * UIProcess/WebPreferences.h:
+ (WebKit::WebPreferences::type):
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleGetTypeID):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetTypeID):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageGetTypeID):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ (WebKit::InjectedBundle::type):
+ * WebProcess/WebPage/WebFrame.h:
+ (WebKit::WebFrame::type):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::type):
+
+2010-07-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43275
+ Make WKArrayRef more usable.
+
+ - Add Create functions.
+ - Make WKArrayGetItemAtIndex return a WKTypeRef.
+
+ * UIProcess/API/C/WKArray.cpp:
+ (WKArrayCreate):
+ (WKArrayCreateAdoptingValues):
+ (WKArrayGetItemAtIndex):
+ * UIProcess/API/C/WKArray.h:
+
+2010-07-30 Ada Chan <adachan@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Fix issue with populating the back list when limit is a huge number.
+ https://bugs.webkit.org/show_bug.cgi?id=43270
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+
+2010-07-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43274
+ Add first pass of structured message passing.
+
+ - Only supports passing messages from the UIProcess -> InjectedBundle
+ - Only supports passing Strings, Arrays, and WebPage references (NOTE: There
+ currently isn't a way to make an array).
+ - Changed ImmutableArray to operate on APIObjects instead of void*'s and
+ removed the retain/release abstraction.
+
+ * Platform/CoreIPC/MessageID.h:
+ (CoreIPC::):
+ * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h: Added.
+ (InjectedBundleMessage::):
+ (CoreIPC::):
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+ * Shared/ImmutableArray.cpp:
+ (WebKit::ImmutableArray::ImmutableArray):
+ (WebKit::ImmutableArray::~ImmutableArray):
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::create):
+ (WebKit::ImmutableArray::adopt):
+ (WebKit::ImmutableArray::at):
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextPostMessageToInjectedBundle):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/API/C/WKType.cpp:
+ (WKGetTypeID):
+ * UIProcess/API/C/WebKit2.h:
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+ (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::postMessageToInjectedBundle):
+ (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
+ * UIProcess/WebContext.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::didReceiveMessage):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::childFrames):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ * win/WebKit2.vcproj:
+
+2010-07-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_Evaluate
+ https://bugs.webkit.org/show_bug.cgi?id=43268
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::evaluate):
+ Evaluate the passed in string.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_Evaluate):
+ Call NetscapePlugin::evaluate.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::evaluate):
+ Call PluginController::evaluate.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add evaluate pure virtual member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::evaluate):
+ Update the popup window state and call NPRuntimeObjectMap::evaluate.
+
+2010-07-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_InvokeDefault
+ https://bugs.webkit.org/show_bug.cgi?id=43266
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::JSNPObject::JSNPObject):
+ Remove ExecState parameter.
+
+ (WebKit::JSNPObject::callObject):
+ Call the NPClass::invokeDefault function.
+
+ (WebKit::callNPJSObject):
+ Call JSNPObject::callObject.
+
+ (WebKit::JSNPObject::getCallData):
+ Check if the NPClass has an invokeDefault function.
+
+ * WebProcess/Plugins/JSNPObject.h:
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
+ Remove ExecState parameter.
+
+ (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
+ Remove ExecState parameter.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::scriptObject):
+ Remove ExecState parameter.
+
+2010-07-30 Adam Roben <aroben@apple.com>
+
+ Roll our r64361 and r64363
+
+ We can't make these changes until QuartzCore.lib is included in
+ WebKitSupportLibrary.
+
+2010-07-30 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * win/WebKit2Apple.vsprops: Always link against QuartzCore, since
+ WebKitSystemInterface requires it.
+
+2010-07-30 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Unreviewed build fix.
+
+ [Qt] Build fix for recent API changes in WebKit2.
+
+ * UIProcess/API/cpp/qt/WKStringQt.cpp:
+ (WKStringCopyQString):
+ * UIProcess/API/cpp/qt/WKURLQt.cpp:
+ (WKURLCopyQUrl):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+
+2010-07-29 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Setting empty document schemes on the WKContext shouldn't start the WebProcess
+ <rdar://problem/8253734> and https://bugs.webkit.org/show_bug.cgi?id=43222
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
+ * UIProcess/WebContext.h:
+
+2010-07-29 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make all public facing client setters take const pointers
+ https://bugs.webkit.org/show_bug.cgi?id=43219
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetInjectedBundleClient):
+ (WKContextSetHistoryClient):
+ * UIProcess/API/C/WKContext.h:
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetPageLoaderClient):
+ (WKPageSetPagePolicyClient):
+ (WKPageSetPageUIClient):
+ * UIProcess/API/C/WKPage.h:
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::initializeInjectedBundleClient):
+ (WebKit::WebContext::initializeHistoryClient):
+ * UIProcess/WebContext.h:
+
+ * UIProcess/WebContextInjectedBundleClient.cpp:
+ (WebKit::WebContextInjectedBundleClient::initialize):
+ * UIProcess/WebContextInjectedBundleClient.h:
+
+ * UIProcess/WebHistoryClient.cpp:
+ (WebKit::WebHistoryClient::initialize):
+ * UIProcess/WebHistoryClient.h:
+
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::initialize):
+ * UIProcess/WebLoaderClient.h:
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeLoaderClient):
+ (WebKit::WebPageProxy::initializePolicyClient):
+ (WebKit::WebPageProxy::initializeUIClient):
+ * UIProcess/WebPageProxy.h:
+
+ * UIProcess/WebPolicyClient.cpp:
+ (WebKit::WebPolicyClient::initialize):
+ * UIProcess/WebPolicyClient.h:
+
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::initialize):
+ * UIProcess/WebUIClient.h:
+
+2010-07-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_SetProperty
+ https://bugs.webkit.org/show_bug.cgi?id=43217
+
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::setProperty):
+ Convert the NPVariant to a JSValue and set it on the underlying JSObject.
+
+ (WebKit::NPJSObject::NP_SetProperty):
+ Call NPJSObject::setProperty.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetProperty):
+ Remove unused parameter name.
+
+ (WebKit::NPN_SetProperty):
+ Call the NPClass::setProperty function.
+
+2010-07-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_Enumerate
+ https://bugs.webkit.org/show_bug.cgi?id=43215
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::npIdentifierFromIdentifier):
+ Get the UTF-8 string representation instead of the lossy ASCII representation.
+
+ (WebKit::JSNPObject::getOwnPropertyNames):
+ Implement by calling the NPClass::enumerate function.
+
+ * WebProcess/Plugins/JSNPObject.h:
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::enumerate):
+ Implement by calling JSObject::getPropertyNames.
+
+ (WebKit::NPJSObject::npClass):
+ (WebKit::NPJSObject::NP_Enumerate):
+ Call NPJSObject::enumerate.
+
+ * WebProcess/Plugins/NPJSObject.h:
+ * WebProcess/Plugins/NPRuntimeUtilities.cpp:
+ (WebKit::createNPObject):
+ Fix a comment.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_Enumerate):
+ Call the NPClass::enumerate function.
+
+2010-07-29 John Sullivan <sullivan@apple.com>
+
+ <https://bugs.webkit.org/show_bug.cgi?id=43203>
+ WebBackForwardList::back/ForwardListWithLimit() crashes if passed a limit larger than max int
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+ Fixed casting so that a large unsigned won't become a negative int.
+ (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
+ Ditto.
+
+2010-07-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_Status
+ https://bugs.webkit.org/show_bug.cgi?id=43205
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_Status):
+ Convert the message char* to a String and call NetscapePlugin::setStatusbarText.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::setStatusbarText):
+ Call PluginController::setStatusbarText.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add setStatusbarText.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::setStatusbarText):
+ Call the Chrome member function.
+
+2010-07-29 Adam Roben <aroben@apple.com>
+
+ Always say "plugins directory" when referring to a directory
+ containing one or more plugins
+
+ Fixes <http://webkit.org/b/43197> WebKit2 often says "plugin
+ directory" when it means "plugins directory"
+
+ Reviewed by John Sullivan.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (_WKContextSetAdditionalPluginsDirectory):
+ * UIProcess/API/C/WKContextPrivate.h:
+ Renamed from _WKContextSetAdditionalPluginDirectory.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::setAdditionalPluginsDirectories): Renamed
+ from setAdditionalPluginDirectories.
+ (WebKit::PluginInfoStore::loadPluginsIfNecessary): Updated for rename.
+
+ * UIProcess/Plugins/PluginInfoStore.h: Renamed
+ m_additionalPluginDirectories to m_additionalPluginsDirectories.
+
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::PluginInfoStore::pluginsDirectories):
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ (WebKit::PluginInfoStore::pluginsDirectories):
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::PluginInfoStore::pluginsDirectories):
+ Renamed from pluginDirectories.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::setAdditionalPluginsDirectory):
+ * UIProcess/WebContext.h:
+ Renamed from setAdditionalPluginDirectory.
+
+2010-07-29 Adam Roben <aroben@apple.com>
+
+ Always say "directory" when referring to a plugin directory
+
+ Fixes <http://webkit.org/b/43195> WebKit2 often says "plugin path"
+ when it means "plugin directory"
+
+ Reviewed by John Sullivan.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (_WKContextSetAdditionalPluginDirectory):
+ * UIProcess/API/C/WKContextPrivate.h:
+ Renamed from _WKContextSetAdditionalPluginPath.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::setAdditionalPluginDirectories): Renamed
+ from setAdditionalPluginPaths.
+ (WebKit::PluginInfoStore::loadPluginsIfNecessary): Updated for rename.
+
+ * UIProcess/Plugins/PluginInfoStore.h: Renamed m_additionalPluginPaths
+ to m_additionalPluginDirectories.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::setAdditionalPluginDirectory):
+ * UIProcess/WebContext.h:
+ Renamed from setAdditionalPluginPath, and updated for PluginInfoStore
+ rename.
+
+2010-07-29 Adam Roben <aroben@apple.com>
+
+ Remove PluginInfoStore::mimeTypeFromExtension
+
+ WebCore::MIMETypeRegistry already provides a cross-platform interface
+ for this.
+
+ Fixes <http://webkit.org/b/43188>
+ PluginInfoStore::mimeTypeFromExtension is unnecessary
+
+ Reviewed by Nikolas Zimmermann.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::findPlugin): Changed to use
+ MIMETypeRegistry.
+
+ * UIProcess/Plugins/PluginInfoStore.h:
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ Removed mimeTypeFromExtension.
+
+2010-07-28 Sam Weinig <sam@webkit.org>
+
+ Another Windows build fix.
+
+ * UIProcess/API/C/WKBase.h:
+ * win/WebKit2Generated.make:
+
+2010-07-28 Sam Weinig <sam@webkit.org>
+
+ Fix builds.
+
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::ProxyingRefPtr::operator APIType):
+ (toURLRef):
+ (toCopiedRef):
+ (toCopiedURLRef):
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::type):
+
+2010-07-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43163
+ Add a CF-style base type (WKTypeRef) as a base for polymorphic functions.
+
+ - Add first polymorphic function, WKGetTypeID.
+ - Add functions to each WK type to get their respective TypeIDs.
+ - Adds WebURL to complement WebString.
+
+ * Shared/APIObject.h:
+ (WebKit::APIObject::):
+ (WebKit::APIObject::~APIObject):
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::type):
+ * Shared/WebString.h:
+ (WebKit::WebString::type):
+ * Shared/WebURL.h: Added.
+ (WebKit::WebURL::create):
+ (WebKit::WebURL::type):
+ (WebKit::WebURL::isNull):
+ (WebKit::WebURL::isEmpty):
+ (WebKit::WebURL::string):
+ (WebKit::WebURL::WebURL):
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::ProxyingRefPtr::ProxyingRefPtr):
+ (WebKit::ProxyingRefPtr::operator APIType):
+ (toRef):
+ (toURLRef):
+ (toCopiedURLRef):
+ * UIProcess/API/C/WKArray.cpp:
+ (WKArrayGetTypeID):
+ * UIProcess/API/C/WKArray.h:
+ * UIProcess/API/C/WKBackForwardList.cpp:
+ (WKBackForwardListGetTypeID):
+ * UIProcess/API/C/WKBackForwardList.h:
+ * UIProcess/API/C/WKBackForwardListItem.cpp:
+ (WKBackForwardListItemGetTypeID):
+ * UIProcess/API/C/WKBackForwardListItem.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextGetTypeID):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetTypeID):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/API/C/WKFramePolicyListener.cpp:
+ (WKFramePolicyListenerGetTypeID):
+ * UIProcess/API/C/WKFramePolicyListener.h:
+ * UIProcess/API/C/WKNavigationData.cpp:
+ (WKNavigationDataGetTypeID):
+ * UIProcess/API/C/WKNavigationData.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetTypeID):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WKPageNamespace.cpp:
+ (WKPageNamespaceGetTypeID):
+ * UIProcess/API/C/WKPageNamespace.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesGetTypeID):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/API/C/WKString.cpp:
+ (WKStringGetTypeID):
+ * UIProcess/API/C/WKString.h:
+ * UIProcess/API/C/WKType.cpp: Added.
+ (WKGetTypeID):
+ * UIProcess/API/C/WKType.h: Added.
+ * UIProcess/API/C/WKURL.cpp:
+ (WKURLGetTypeID):
+ * UIProcess/API/C/WKURL.h:
+ * UIProcess/API/win/WKView.cpp:
+ (WKViewGetTypeID):
+ * UIProcess/API/win/WKView.h:
+ * UIProcess/WebBackForwardList.h:
+ (WebKit::WebBackForwardList::type):
+ * UIProcess/WebBackForwardListItem.h:
+ (WebKit::WebBackForwardListItem::type):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::type):
+ * UIProcess/WebFramePolicyListenerProxy.h:
+ (WebKit::WebFramePolicyListenerProxy::type):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::type):
+ * UIProcess/WebNavigationData.h:
+ (WebKit::WebNavigationData::type):
+ * UIProcess/WebPageNamespace.h:
+ (WebKit::WebPageNamespace::type):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::type):
+ * UIProcess/WebPreferences.h:
+ (WebKit::WebPreferences::type):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleGetTypeID):
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetTypeID):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageGetTypeID):
+ (WKBundlePageSetEditorClient):
+ (WKBundlePageSetLoaderClient):
+ (WKBundlePageSetUIClient):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/WebPage/WebFrame.h:
+ (WebKit::WebFrame::type):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::type):
+ * win/WebKit2.vcproj:
+
+2010-07-28 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKitTestRunner needs to support layoutTestController.execCommand
+ <https://bugs.webkit.org/show_bug.cgi?id=42538>
+
+ WebKitTestRunner needs layoutTestController.isCommandEnabled
+ <https://bugs.webkit.org/show_bug.cgi?id=42671>
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageExecuteEditingCommand): Added.
+ (WKBundlePageIsEditingCommandEnabled): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Ditto.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::executeEditingCommand): Added.
+ (WebKit::WebPage::isEditingCommandEnabled): Added.
+ * WebProcess/WebPage/WebPage.h: Ditto.
+
+2010-07-28 Anders Carlsson <andersca@apple.com>
+
+ Fix 64-bit build.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue):
+
+2010-07-28 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ First pass at visited link support for WK2
+ https://bugs.webkit.org/show_bug.cgi?id=43157
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::):
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ (WebProcessProxyMessage::):
+
+ Move HistoryClient support from the page...:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+
+ ...to the Context
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetHistoryClient):
+ * UIProcess/API/C/WKContext.h:
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::initializeHistoryClient):
+ (WebKit::WebContext::ensureWebProcess): When a new WebProcess is created, set its "should track visited links" mode.
+ (WebKit::WebContext::didNavigateWithNavigationData):
+ (WebKit::WebContext::didPerformClientRedirect):
+ (WebKit::WebContext::didPerformServerRedirect):
+ (WebKit::WebContext::didUpdateHistoryTitle):
+ (WebKit::WebContext::populateVisitedLinks):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::hasValidProcess):
+
+ * UIProcess/WebHistoryClient.cpp:
+ (WebKit::WebHistoryClient::initialize):
+ (WebKit::WebHistoryClient::didNavigateWithNavigationData):
+ (WebKit::WebHistoryClient::didPerformClientRedirect):
+ (WebKit::WebHistoryClient::didPerformServerRedirect):
+ (WebKit::WebHistoryClient::didUpdateHistoryTitle):
+ (WebKit::WebHistoryClient::populateVisitedLinks):
+ * UIProcess/WebHistoryClient.h:
+ (WebKit::WebHistoryClient::shouldTrackVisitedLinks):
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ * UIProcess/WebPageProxy.h:
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::populateVisitedLinks):
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::updateGlobalHistory):
+ (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
+ (WebKit::WebFrameLoaderClient::setTitle):
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveMessage):
+
+2010-07-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add JSNPObject::getConstructData
+ https://bugs.webkit.org/show_bug.cgi?id=43165
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::JSNPObject::callMethod):
+ Add a null check for m_npObject.
+
+ (WebKit::JSNPObject::callConstructor):
+ Call NPClass::construct.
+
+ (WebKit::JSNPObject::getConstructData):
+ Set up the construct data.
+
+ (WebKit::JSNPObject::propertyGetter):
+ convertNPVariantToJSValue now takes a JSGlobalObject as well.
+
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::invoke):
+ (WebKit::NPJSObject::invokeDefault):
+ (WebKit::NPJSObject::construct):
+ convertNPVariantToJSValue now takes a JSGlobalObject as well.
+
+ * WebProcess/Plugins/NPJSObject.h:
+ Make isNPJSObject and toNPJSObject public.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
+ Convert NPObjects correctly.
+
+ (WebKit::NPRuntimeObjectMap::globalObject):
+ Get the globalObject from the frame.
+
+ (WebKit::NPRuntimeObjectMap::globalExec):
+ Call globalObject.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+
+2010-07-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_InvokeDefault and NPN_Construct
+ https://bugs.webkit.org/show_bug.cgi?id=43160
+
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::invoke):
+ Just call invoke directly.
+
+ (WebKit::NPJSObject::invokeDefault):
+ Call invoke.
+
+ (WebKit::NPJSObject::construct):
+ Implement this.
+
+ (WebKit::NPJSObject::invoke):
+ Add new invoke overload that takes the function as a JSValue.
+
+ (WebKit::NPJSObject::npClass):
+ Add NP_Construct.
+
+ (WebKit::NPJSObject::NP_InvokeDefault):
+ Call NPJSObject::invokeDefault.
+
+ (WebKit::NPJSObject::NP_Construct):
+ Call NPJSObject::construct.
+
+ * WebProcess/Plugins/NPJSObject.h:
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue):
+ Handle the Core Animation drawing model and the Carbon event model.
+
+ (WebKit::NPN_InvokeDefault):
+ Call the NPClass::invokeDefault function.
+
+ (WebKit::NPN_Construct):
+ Call the NPClass::construct function.
+
+2010-07-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_Invoke
+ https://bugs.webkit.org/show_bug.cgi?id=43158
+
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::hasMethod):
+ Use the free getCallData function.
+
+ (WebKit::NPJSObject::invoke):
+ Get the JavaScript function and call it.
+
+ (WebKit::NPJSObject::NP_Invoke):
+ Call NPJSObject::invoke.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_Invoke):
+ Call the NPClass::invoke function.
+
+2010-07-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_HasMethod
+ https://bugs.webkit.org/show_bug.cgi?id=43155
+
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::hasMethod):
+ Check if the JSObject has a property with the given name. If it does, check that the value is a function.
+
+ (WebKit::NPJSObject::hasProperty):
+ Add a JSLock.
+
+ (WebKit::NPJSObject::npClass):
+ Add some stubbed out functions.
+
+ (WebKit::NPJSObject::NP_HasMethod):
+ Call NPJSObject::hasMethod.
+
+ (WebKit::NPJSObject::NP_Invoke):
+ (WebKit::NPJSObject::NP_InvokeDefault):
+ (WebKit::NPJSObject::NP_SetProperty):
+ Stub out functions.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_HasMethod):
+ Call the NPClass::hasMethod function.
+
+2010-07-28 Brady Eidson <beidson@apple.com>
+
+ Rubberstamped by Sam Weinig.
+
+ Make sure new pages are always added to the same PageGroup (for now).
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+
+2010-07-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43097
+ Make all objects in the WebKit2 API inherit from a single base class
+
+ - Adds an APIObject base class for all objects which one can get through
+ the C API to inherit from.
+ - Adds a WebString class which wraps WebCore::String for now. I am not too fond of
+ this solution, so we should continue to iterate on it.
+ - This is a first step toward make a CF-style base type (eg. CFTypeRef) for the C-API.
+
+ * Shared/APIObject.h: Added.
+ (WebKit::APIObject::APIObject):
+ Base class for API objects.
+
+ * Shared/ImmutableArray.h:
+ Make inherit from APIObject.
+
+ * Shared/WebString.h: Added.
+ (WebKit::WebString::create):
+ (WebKit::WebString::isNull):
+ (WebKit::WebString::isEmpty):
+ (WebKit::WebString::string):
+ (WebKit::WebString::WebString):
+ Wraps a WebCore::String so that it can be passed out to the API
+ and still inherit from APIObject.
+
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::WebStringAdaptor::WebStringAdaptor):
+ (WebKit::WebStringAdaptor::operator WKStringRef):
+ (WebKit::WebStringAdaptor::operator WKURLRef):
+ Update conversion methods to deal in terms of WebStrings. Added WebStringAdaptor
+ to ease passing strings to client functions.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextCreateWithInjectedBundlePath):
+ (WKContextPostMessageToInjectedBundle):
+ (_WKContextSetAdditionalPluginPath):
+ (_WKContextRegisterURLSchemeAsEmptyDocument):
+ Get the WebCore::String from the WebString.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageLoadURL):
+ Ditto.
+
+ * UIProcess/API/C/WKString.cpp:
+ (WKStringIsEmpty):
+ Implement in terms of WebString.
+
+ * UIProcess/API/C/WKURL.cpp:
+ * UIProcess/API/C/cf/WKStringCF.cpp:
+ (WKStringCreateWithCFString):
+ (WKStringCopyCFString):
+ Ditto.
+
+ * UIProcess/API/C/cf/WKURLCF.cpp:
+ (WKURLCreateWithCFURL):
+ (WKURLCopyCFURL):
+ Ditto.
+
+ * UIProcess/WebBackForwardList.h:
+ Make inherit from APIObject.
+
+ * UIProcess/WebBackForwardListItem.h:
+ Ditto.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
+ (WebKit::WebContext::postMessageToInjectedBundle):
+ (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
+ Use String instead of StringImpl to be consistent.
+
+ * UIProcess/WebContext.h:
+ Make inherit from APIObject.
+
+ * UIProcess/WebFramePolicyListenerProxy.h:
+ Ditto.
+
+ * UIProcess/WebFrameProxy.h:
+ Ditto.
+
+ * UIProcess/WebNavigationData.h:
+ Ditto.
+
+ * UIProcess/WebPageNamespace.h:
+ Ditto.
+
+ * UIProcess/WebPageProxy.h:
+ Ditto.
+
+ * UIProcess/WebPreferences.h:
+ Ditto.
+
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::runJavaScriptPrompt):
+ Implement in terms of WebString.
+
+ * UIProcess/win/WebView.h:
+ Make inherit from APIObject.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundlePostMessage):
+ Get the WebCore::String from the WebString.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFramePauseAnimationOnElementWithId):
+ Ditto.
+
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::postMessage):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ Use String instead of StringImpl to be consistent.
+
+ * WebProcess/WebPage/WebFrame.h:
+ Make inherit from APIObject.
+
+ * WebProcess/WebPage/WebPage.h:
+ Make inherit from APIObject.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-07-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement JSNPObject::put
+ https://bugs.webkit.org/show_bug.cgi?id=43149
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::JSNPObject::getOwnPropertySlot):
+ Fix a typo.
+
+ (WebKit::JSNPObject::getOwnPropertyDescriptor):
+ Implement this in the same way as it's implemented in RuntimeObject.
+
+ (WebKit::JSNPObject::put):
+ Implement this, call NPClass::setProperty.
+
+ * WebProcess/Plugins/JSNPObject.h:
+
+2010-07-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add support for calling NPObject methods
+ https://bugs.webkit.org/show_bug.cgi?id=43145
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add JSNPMethod.cpp and JSNPMethod.h
+
+ * WebProcess/Plugins/JSNPMethod.cpp: Added.
+ * WebProcess/Plugins/JSNPMethod.h: Added.
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::):
+ Add a ClassInfo static variable for JSNPObject.
+
+ (WebKit::JSNPObject::callMethod):
+ Convert the passed in arguments, call the method and convert the result back.
+
+ (WebKit::JSNPObject::getOwnPropertySlot):
+ Check if the NPObject has a method.
+
+ (WebKit::JSNPObject::methodGetter):
+ Return a new JSNPMethod.
+
+ * WebProcess/Plugins/JSNPObject.h:
+ (WebKit::JSNPObject::classInfo):
+ Return the s_info.
+
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::getProperty):
+ Get the property from the JSObject.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
+ Convert the given JSValue to an NPVariant.
+
+ * win/WebKit2.vcproj:
+ Add JSNPMethod.cpp and JSNPMethod.h
+
+2010-07-28 Adam Roben <aroben@apple.com>
+
+ Teach CoreIPC how to handle with a pipe closing during a write
+
+ Fixes <http://webkit.org/b/43131> Assertion failure in
+ Connection::sendOutgoingMessage if the other process exits at just the
+ wrong time
+
+ Reviewed by Darin Adler.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::sendOutgoingMessage): If ::WriteFile fails with
+ ERROR_NO_DATA, the pipe (and thus the connection) has closed.
+
+2010-07-28 Adam Roben <aroben@apple.com>
+
+ Teach CoreIPC the right way to send large messages on Windows
+
+ r63776 added support for ::WriteFile failing with ERROR_IO_PENDING,
+ but it had a major flaw: we didn't ensure that the data being sent
+ (which is owned by the ArgumentEncoder) stayed around until the write
+ finished. We'd destroy the data immediately, leading to ::WriteFile
+ accessing that freed memory later. This seemed to always manifest
+ itself as a crash in ::WaitForMultipleObjects.
+
+ The correct solution (as hinted above) is to make sure that the data
+ being written is not destroyed until the write completes. When
+ ::WriteFile fails with ERROR_IO_PENDING, we store the data being sent
+ in Connection::m_pendingWriteArguments, and don't send any more
+ messages until that write completes. We use an event in the OVERLAPPED
+ structure passed to ::WriteFile to detect when the write has completed
+ (similar to what we do for reads).
+
+ Fixes <http://webkit.org/b/42785> <rdar://problem/8218522> Crash in
+ WebKit2WebProcess in WaitForMultipleObjects beneath
+ WorkQueue::workQueueThreadBody when running tests that produce a lot
+ of output
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::canSendOutgoingMessages): Added. This calls out
+ to a platform-specific function to allow each platform to have its own
+ policy for when messages can and can't be sent.
+ (CoreIPC::Connection::sendOutgoingMessages): Use the new
+ canSendOutgoingMessages to determine whether we can send any messages
+ right now. We now remove one message at a time from m_outgoingMessages
+ and send it. We stop sending messages when sendOutgoingMessage returns
+ false.
+
+ * Platform/CoreIPC/Connection.h: Added m_pendingWriteArguments and
+ m_writeState on Windows.
+ (CoreIPC::Connection::Message::Message): Added this default
+ constructor.
+
+ * Platform/CoreIPC/MessageID.h:
+ (CoreIPC::MessageID::MessageID): Made the default constructor public
+ for Message's benefit.
+
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::platformCanSendOutgoingMessages): Added. Always
+ returns true.
+ (CoreIPC::Connection::sendOutgoingMessage): Changed to return a
+ boolean indicating whether more messages can be sent at this time.
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::platformCanSendOutgoingMessages): Added. Returns
+ true if we have a socket.
+ (CoreIPC::Connection::sendOutgoingMessage): Changed a null-check of
+ m_socket to an assertion since it should be checked for null in
+ platformCanSendOutgoingMessages. Changed to return a boolean
+ indicating whether more messages can be sent at this time.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::platformInitialize): Added initialization of
+ m_writeState.
+ (CoreIPC::Connection::platformInvalidate): Close m_writeState's event
+ handle.
+ (CoreIPC::Connection::writeEventHandler): Added. Checks if the pending
+ write has completed, cleans up our pending write state, and sends any
+ remaining messages.
+ (CoreIPC::Connection::open): Register our write event with the
+ WorkQueue so that writeEventHandler will be called when the event is
+ signaled.
+ (CoreIPC::Connection::platformCanSendOutgoingMessages): Added. We can
+ only send messages if there isn't a write pending.
+ (CoreIPC::Connection::sendOutgoingMessage): Changed to return a
+ boolean indicating whether more messages can be sent at this time. We
+ now pass m_writeState to ::WriteFile instead of an empty OVERLAPPED
+ struct so that our write event will be signaled when the write
+ completes. We also no longer pass a pointer to receive how many bytes
+ were written, as recommended by MSDN. If ::WriteFile fails with
+ ERROR_IO_PENDING, we save the ArgumentEncoder for this message and
+ return false to indicate that no more messages can be sent at this
+ time.
+
+2010-07-28 Adam Roben <aroben@apple.com>
+
+ Stop leaking Connection::m_readState.hEvent on Windows
+
+ Fixes <http://webkit.org/b/43129> CoreIPC::Connection leaks its read
+ event on Windows
+
+ Reviewed by Darin Adler.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::platformInvalidate): Close the event handle.
+
+2010-07-26 Steve Block <steveblock@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ Page clients should be passed to Page constructor via structure of pointers
+ https://bugs.webkit.org/show_bug.cgi?id=42834
+
+ * WebKit2/WebProcess/WebPage/WebPage.cpp:
+ (WebPage::WebPage):
+
+2010-07-28 Andras Becsi <abecsi@webkit.org>
+
+ Unreviewed trivial build fix.
+
+ [Qt] Follow the API changes after r64172.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::url):
+ (QWKPage::title):
+
+2010-07-27 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::JSNPObject::propertyGetter):
+ Remove unreachable code.
+
+2010-07-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement JSNPObject::propertyGetter
+ https://bugs.webkit.org/show_bug.cgi?id=43091
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::JSNPObject::propertyGetter):
+ Ask the NPObject for its property.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::jsNPObjectDestroyed):
+ Add a stub.
+
+ (WebKit::NPRuntimeObjectMap::convertNPVariantToValue):
+ Implement this for everything except objects.
+
+2010-07-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43087
+ Clean up handling of strings at the WebKit2 API layer.
+
+ - Always use the "copy" rule for functions that return WKStringRefs or WKURLRefs.
+ - Never return a null WKStringRef or WKURLRef.
+
+ * UIProcess/API/C/WKAPICast.h:
+ (toRef):
+ (toURLRef):
+ (toCopiedRef):
+ (toCopiedURLRef):
+ * UIProcess/API/C/WKBackForwardListItem.cpp:
+ (WKBackForwardListItemCopyOriginalURL):
+ (WKBackForwardListItemCopyURL):
+ (WKBackForwardListItemCopyTitle):
+ * UIProcess/API/C/WKBackForwardListItem.h:
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameIsMainFrame):
+ (WKFrameCopyProvisionalURL):
+ (WKFrameCopyURL):
+ (WKFrameGetPage):
+ (WKFrameRetain):
+ (WKFrameRelease):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/API/C/WKNavigationData.cpp:
+ (WKNavigationDataCopyTitle):
+ (WKNavigationDataCopyURL):
+ * UIProcess/API/C/WKNavigationData.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageCopyTitle):
+ * UIProcess/API/C/WKPage.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopyURL):
+ (WKBundleFrameCopyName):
+ (WKBundleFrameCopyCounterValue):
+ (WKBundleFrameCopyMarkerText):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp:
+ (WKBundleNodeCopyNodeName):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageCopyRenderTreeExternalRepresentation):
+
+2010-07-27 Adam Roben <aroben@apple.com>
+
+ Fix PageClient ownership in WebPageProxy
+
+ WKView now owns the PageClient, similar to how things work on Windows
+ (where the WebView is the PageClient).
+
+ Fixes <http://webkit.org/b/40185> WebPageProxy should keep a weak
+ reference to the PageClient
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:]): Store the PageClientImpl
+ on our WKViewData object and pass it to the WebPageProxy.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setPageClient):
+ * UIProcess/WebPageProxy.h:
+ Removed Mac-specific code that put the PageClient in an OwnPtr. We now
+ store it in a bare pointer just like on Windows.
+
+2010-07-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add JSNPObject, a JSObject that wraps an NPObject
+ https://bugs.webkit.org/show_bug.cgi?id=43079
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add JSNPObject.cpp and JSNPObject.h
+
+ * WebProcess/Plugins/JSNPObject.cpp: Added.
+ (WebKit::npIdentifierFromIdentifier):
+ (WebKit::JSNPObject::JSNPObject):
+ (WebKit::JSNPObject::~JSNPObject):
+ (WebKit::JSNPObject::getOwnPropertySlot):
+ Check if the NPObject has the given property.
+
+ (WebKit::JSNPObject::propertyGetter):
+ (WebKit::JSNPObject::throwInvalidAccessError):
+ * WebProcess/Plugins/JSNPObject.h: Added.
+ (WebKit::JSNPObject::createStructure):
+ * WebProcess/Plugins/NPJSObject.h:
+
+ * win/WebKit2.vcproj:
+ Add JSNPObject.cpp and JSNPObject.h
+
+2010-07-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Expose interface for returning the plug-in script JSObject
+ https://bugs.webkit.org/show_bug.cgi?id=43074
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
+ Add empty stub.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::pluginScriptableNPObject):
+ Ask the plug-in for it's scriptable NPObject.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/Plugin.h:
+ Add pluginScritableNPObject.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ Call PluginViewBase constructor.
+
+ (WebKit::PluginView::scriptObject):
+ Ask the plug-in for its scriptable object and wrap it.
+
+ * WebProcess/Plugins/PluginView.h:
+ PluginView now inherits from PluginViewBase.
+
+2010-07-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move NPJSObject out into separate files
+ https://bugs.webkit.org/show_bug.cgi?id=43068
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/NPJSObject.cpp: Added.
+ (WebKit::NPJSObject::create):
+ (WebKit::NPJSObject::NPJSObject):
+ (WebKit::NPJSObject::~NPJSObject):
+ (WebKit::NPJSObject::isNPJSObject):
+ (WebKit::NPJSObject::initialize):
+ (WebKit::identifierFromIdentifierRep):
+ (WebKit::NPJSObject::hasProperty):
+ (WebKit::NPJSObject::getProperty):
+ (WebKit::NPJSObject::npClass):
+ (WebKit::NPJSObject::NP_Allocate):
+ (WebKit::NPJSObject::NP_Deallocate):
+ (WebKit::NPJSObject::NP_HasProperty):
+ (WebKit::NPJSObject::NP_GetProperty):
+ * WebProcess/Plugins/NPJSObject.h: Added.
+ (WebKit::NPJSObject::jsObject):
+ (WebKit::NPJSObject::toNPJSObject):
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::npJSObjectDestroyed):
+ (WebKit::NPRuntimeObjectMap::globalExec):
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+ * win/WebKit2.vcproj:
+
+2010-07-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Rename NPJSObjectMap to NPRuntimeObjectMap
+ https://bugs.webkit.org/show_bug.cgi?id=43066
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/NPJSObjectMap.cpp: Removed.
+ * WebProcess/Plugins/NPJSObjectMap.h: Removed.
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp: Added.
+ (WebKit::NPJSObject::NPJSObject):
+ (WebKit::NPJSObject::~NPJSObject):
+ (WebKit::NPJSObject::toNPJSObject):
+ (WebKit::NPJSObject::create):
+ (WebKit::NPJSObject::isNPJSObject):
+ (WebKit::NPJSObject::initialize):
+ (WebKit::identifierFromIdentifierRep):
+ (WebKit::NPJSObject::hasProperty):
+ (WebKit::NPJSObject::getProperty):
+ (WebKit::NPJSObject::npClass):
+ (WebKit::NPJSObject::NP_Allocate):
+ (WebKit::NPJSObject::NP_Deallocate):
+ (WebKit::NPJSObject::NP_HasProperty):
+ (WebKit::NPJSObject::NP_GetProperty):
+ (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
+ (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
+ (WebKit::NPRuntimeObjectMap::invalidate):
+ * WebProcess/Plugins/NPRuntimeObjectMap.h: Added.
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ (WebKit::PluginView::~PluginView):
+ (WebKit::PluginView::windowScriptNPObject):
+ (WebKit::PluginView::pluginElementNPObject):
+ * WebProcess/Plugins/PluginView.h:
+ * win/WebKit2.vcproj:
+
+2010-07-27 Adam Roben <aroben@apple.com>
+
+ Make preferences APIs robust against web process crashes
+
+ Fixes <http://webkit.org/b/43049> Crash in
+ WebPageNamespace::preferencesDidChange if preferences are changed
+ after the web process crashes
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::preferencesDidChange): Bail out if we don't have
+ a web process. The new preference values will get propogated to the
+ web process if and when it launches.
+
+2010-07-27 Adam Roben <aroben@apple.com>
+
+ Add a ProcessDidExit callback to the WKPageLoaderClient
+
+ Fixes <http://webkit.org/b/43048> UI process needs a way to find out
+ when the web process crashes
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/API/C/WKPage.h: Added WKPageProcessDidExitCallback, and a
+ processDidExit member of that type to WKPageLoaderClient.
+
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::processDidExit): Added. Calls through to the
+ WKPageLoaderClient.
+
+ * UIProcess/WebLoaderClient.h: Added processDidExit.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::processDidExit): Tell the loader client the
+ process exited.
+
+2010-07-27 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] WebEventFactory::createWebMouseEvent should follow WebKit2 API changes
+ https://bugs.webkit.org/show_bug.cgi?id=43042
+
+ * Shared/qt/WebEventFactoryQt.cpp:
+ (WebKit::WebEventFactory::createWebMouseEvent):
+ Set deltaX, deltaY and deltaZ arguments.
+
+2010-07-27 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] WebKit::PageClient implementation needs a dedicated class
+
+ https://bugs.webkit.org/show_bug.cgi?id=42974
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (PageClientImpl::PageClientImpl): Added.
+ (PageClientImpl::pageDidEnterAcceleratedCompositing): Moved from QWKPagePrivate.
+ (PageClientImpl::pageDidLeaveAcceleratedCompositing): Ditto.
+ (PageClientImpl::processDidExit): Ditto.
+ (PageClientImpl::processDidRevive): Ditto.
+ (PageClientImpl::setCursor): Ditto.
+ (PageClientImpl::takeFocus): Ditto.
+ (PageClientImpl::toolTipChanged): Ditto.
+ (QWKPagePrivate::QWKPagePrivate): Set a new instance of the PageClientImpl as PageClient rather than 'this'.
+ * UIProcess/API/qt/qwkpage_p.h: Removed PageClient implementation methods from QWKPagePrivate.
+
+2010-07-26 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKitTestRunner needs to support layoutTestController.counterValueForElementById
+ https://bugs.webkit.org/show_bug.cgi?id=42537
+
+ WebKitTestRunner needs layoutTestController.markerTextForListItem
+ https://bugs.webkit.org/show_bug.cgi?id=42549
+
+ * UIProcess/API/C/WKString.cpp:
+ (WKStringIsEmpty): Added.
+ * UIProcess/API/C/WKString.h: Added WKStringIsEmpty.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (copiedString): Added. Helper for functions that return a
+ WKStringRef that follows the copy rule.
+ (WKBundleFrameCopyName): Use copiedString.
+ (WKBundleFrameCopyCounterValue): Added. Calls counterValue.
+ (WKBundleFrameCopyMarkerText): Added. Calls markerText.
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
+ Added WKBundleFrameCopyCounterValue and WKBundleFrameCopyMarkerText.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::computedStyleIncludingVisitedInfo):
+ Renamed argument to streamline function a bit.
+ (WebKit::WebFrame::counterValue): Added.
+ (WebKit::WebFrame::markerText): Added.
+ * WebProcess/WebPage/WebFrame.h: Added counterValue and markerText.
+
+2010-07-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Part 2 of https://bugs.webkit.org/show_bug.cgi?id=43013
+ <rdar://problem/8152434>
+ Add support for scrolling using the keyboard in WebKit2
+
+ Add support for scrolling with the space bar and ensure that we don't scroll
+ if WebCore is handling the event in another way.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::keyEvent):
+ (WebKit::getScrollMapping):
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-07-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43013
+ Part of <rdar://problem/8152434>
+ Add support for scrolling using the keyboard in WebKit2
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::getScrollMapping):
+ (WebKit::WebPage::keyEvent):
+ Scroll the page in response to keyDown.
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ Use WindowsKeyboardCodes.h instead of redefining the constants.
+
+2010-07-26 Ada Chan <adachan@apple.com>
+
+ Fix Windows build.
+
+ * win/WebKit2Generated.make:
+
+2010-07-26 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
+
+2010-07-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Handle mouseenter/mouseleave + focus events
+ https://bugs.webkit.org/show_bug.cgi?id=42997
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::handleMouseEnterEvent):
+ Call platformHandleMouseEnterEvent.
+
+ (WebKit::NetscapePlugin::handleMouseLeaveEvent):
+ Call platformHandleMouseExitEvent.
+
+ (WebKit::NetscapePlugin::setFocus):
+ Call platformSetFocus.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::fillInCocoaEventFromMouseEvent):
+ Factor out code that fills in an NPCocoaEvent from a WebMouseEvent.
+
+ (WebKit::initializeMouseEvent):
+ Call fillInCocoaEventFromMouseEvent.
+
+ (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
+ Send an NPCocoaEventMouseEntered event.
+
+ (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
+ Send an NPCocoaEventMouseExited event.
+
+ (WebKit::NetscapePlugin::platformSetFocus):
+ Send an NPCocoaEventFocusChanged.
+
+ * WebProcess/Plugins/Plugin.h:
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::handleEvent):
+ Dispatch mouse enter and mouse leave events. Call focusPluginElement on mousedown.
+
+ (WebKit::PluginView::focusPluginElement):
+ Focus the plug-in's containing frame and its element.
+
+ (WebKit::PluginView::setFocus):
+ Call Plugin::setFocus.
+
+2010-07-26 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add ability for WK2 to register a scheme to always be displayed as an empty document
+ https://bugs.webkit.org/show_bug.cgi?id=42995
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+
+ * UIProcess/API/C/WKContext.cpp:
+ (_WKContextRegisterURLSchemeAsEmptyDocument):
+ * UIProcess/API/C/WKContextPrivate.h:
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
+ * UIProcess/WebContext.h:
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::registerURLSchemeAsEmptyDocument):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+
+2010-07-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Get rid of the dummy plug-in.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/DummyPlugin.cpp: Removed.
+ * WebProcess/Plugins/DummyPlugin.h: Removed.
+ * win/WebKit2.vcproj:
+
+2010-07-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Move some non-APIish functions into private headers.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Copied from WebProcess/InjectedBundle/API/c/WKBundleFrame.h.
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Copied from WebProcess/InjectedBundle/API/c/WKBundle.h.
+ * win/WebKit2.vcproj:
+
+2010-07-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=42986
+ Add prompt and confirm client functions to WebKit2
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ (WebKit::WebPageProxy::runJavaScriptAlert):
+ (WebKit::WebPageProxy::runJavaScriptConfirm):
+ (WebKit::WebPageProxy::runJavaScriptPrompt):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::runJavaScriptAlert):
+ (WebKit::WebUIClient::runJavaScriptConfirm):
+ (WebKit::WebUIClient::runJavaScriptPrompt):
+ * UIProcess/WebUIClient.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::runJavaScriptConfirm):
+ (WebKit::WebChromeClient::runJavaScriptPrompt):
+
+2010-07-26 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+ Removed empty attributes so the values will be picked up from the
+ vsprops files. (Also removed a couple of attributes that accidentally
+ duplicated values from the vsprops files.)
+
+2010-07-26 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Composited layers don't scroll in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42771
+
+ In WebKit2, do the compositing layer geometry flipping on the drawing area's main
+ backing layer. This both avoids us having to flip the layer contents, and also avoids issues
+ with the positioning of the root platform layer, which we want top-left. Doing the flipping
+ lower down would require that the root platform layer know where the scrollbar is.
+
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+
+2010-07-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Deliver mouse and wheel events to plug-ins
+ https://bugs.webkit.org/show_bug.cgi?id=42988
+
+ * Shared/WebEvent.h:
+ (WebKit::WebMouseEvent::WebMouseEvent):
+ (WebKit::WebMouseEvent::deltaX):
+ (WebKit::WebMouseEvent::deltaY):
+ (WebKit::WebMouseEvent::deltaZ):
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::WebEventFactory::createWebMouseEvent):
+ Add deltaX, deltaY and deltaZ member variables to WebMosueEvent.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Rename NetscapePluginMac.cpp to NetscapePluginMac.mm.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NPP_HandleEvent):
+ Add NPP_ wrapper.
+
+ (WebKit::NetscapePlugin::handleMouseEvent):
+ (WebKit::NetscapePlugin::handleWheelEvent):
+ Call the platform variants.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Added.
+ (WebKit::modifierFlags):
+ (WebKit::buttonNumber):
+ (WebKit::initializeMouseEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ Create an NPCocoaEvent and send it to the plug-in.
+
+ (WebKit::NetscapePlugin::platformHandleWheelEvent):
+ Ditto.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::handleEvent):
+ Get the current WebEvent and send it to the plug-in if necessary.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::currentEvent):
+ (WebKit::CurrentEvent::CurrentEvent):
+ (WebKit::CurrentEvent::~CurrentEvent):
+ (WebKit::WebPage::mouseEvent):
+ (WebKit::WebPage::wheelEvent):
+ (WebKit::WebPage::keyEvent):
+ * WebProcess/WebPage/WebPage.h:
+ Add RAII object for keeping track of the current event.
+
+2010-07-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Clean up event handling functions
+ https://bugs.webkit.org/show_bug.cgi?id=42977
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::mouseEvent):
+ (WebKit::WebPage::wheelEvent):
+ (WebKit::WebPage::keyEvent):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-07-25 Darin Adler <darin@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ WebKitTestRunner needs to support layoutTestController.keepWebHistory
+ https://bugs.webkit.org/show_bug.cgi?id=42323
+
+ Added WKBundleSetShouldTrackVisitedLinks, WKBundleRemoveAllVisitedLinks,
+ and WKBundleFrameGetComputedStyleIncludingVisitedInfo.
+
+ Also fixed misspellings of the word "receive".
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleSetShouldTrackVisitedLinks): Added.
+ (WKBundleRemoveAllVisitedLinks): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundle.h: Added functions and
+ fixed mispellings of receive.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetJavaScriptContext): Moved the code from here into WebFrame,
+ to be consistent with the rest of the functions in this file.
+ (WKBundleFrameGetComputedStyleIncludingVisitedInfo): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Added
+ WKBundleFrameGetComputedStyleIncludingVisitedInfo and tried to rearrange the
+ file to be more logically ordered and grouped.
+
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::setShouldTrackVisitedLinks): Added.
+ (WebKit::InjectedBundle::removeAllVisitedLinks): Added.
+ (WebKit::InjectedBundle::didReceiveMessage): Fixed mispellings of receive.
+ * WebProcess/InjectedBundle/InjectedBundle.h: Ditto.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::jsContext): Added. Contains the code that used to be in
+ WKBundleFrameGetJavaScriptContext.
+ (WebKit::WebFrame::computedStyleIncludingVisitedInfo): Added.
+ * WebProcess/WebPage/WebFrame.h: Ditto.
+
+ * UIProcess/API/C/WKContext.h: Fixed misspellings of receive.
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didReceiveMessageFromInjectedBundle): Ditto.
+ * UIProcess/WebContext.h: Ditto.
+ * UIProcess/WebContextInjectedBundleClient.cpp:
+ (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle): Ditto.
+ * UIProcess/WebContextInjectedBundleClient.h: Ditto.
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::forwardMessageToWebContext): Ditto.
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::forwardMessageToInjectedBundle): Ditto.
+
+2010-07-25 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42193
+ Support layoutTestController.dumpEditingDelegates in WebKitTestRunner
+
+ Step 2 - add the rest of editing delegates.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+ Added enums for EditorInsertAction and EAffinity. Also added a dummy type for
+ CSSStyleDeclaration - neither DumpRenderTree not WebKitTestRunner actually use that.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
+ (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing):
+ (WebKit::InjectedBundlePageEditorClient::shouldEndEditing):
+ (WebKit::InjectedBundlePageEditorClient::shouldInsertNode):
+ (WebKit::InjectedBundlePageEditorClient::shouldInsertText):
+ (WebKit::InjectedBundlePageEditorClient::shouldDeleteRange):
+ (WebKit::InjectedBundlePageEditorClient::shouldChangeSelectedRange):
+ (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle):
+ (WebKit::InjectedBundlePageEditorClient::didBeginEditing):
+ (WebKit::InjectedBundlePageEditorClient::didEndEditing):
+ (WebKit::InjectedBundlePageEditorClient::didChange):
+ (WebKit::InjectedBundlePageEditorClient::didChangeSelection):
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::shouldDeleteRange):
+ (WebKit::WebEditorClient::shouldEndEditing):
+ (WebKit::WebEditorClient::shouldInsertNode):
+ (WebKit::WebEditorClient::shouldInsertText):
+ (WebKit::WebEditorClient::shouldChangeSelectedRange):
+ (WebKit::WebEditorClient::shouldApplyStyle):
+ (WebKit::WebEditorClient::didBeginEditing):
+ (WebKit::WebEditorClient::respondToChangedContents):
+ (WebKit::WebEditorClient::respondToChangedSelection):
+ (WebKit::WebEditorClient::didEndEditing):
+ Added remaining delagates that are needed for WebKitTestRunner.
+
+2010-07-19 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Setup the QtWebProcess
+
+ https://bugs.webkit.org/show_bug.cgi?id=42623
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ Remove the framework entry point from here to WebProcess/qt/WebProcessMainQt.cpp to match with with the mac and the win port.
+ * WebKit2.pro: Added.
+ * WebProcess/qt/WebProcessMainQt.cpp: Added.
+ (WebKit::WebProcessMainQt): Framework entry point for Qt.
+ * qt/MainQt.cpp: Added.
+ (main):
+
+2010-07-22 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Eliminate unneeded WKBundleFrameCopyInnerText function from WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42847
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Removed WKBundleFrameCopyInnerText.
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Ditto.
+ * WebProcess/WebPage/WebFrame.cpp: Removed innerText.
+ * WebProcess/WebPage/WebFrame.h: Ditto.
+
+2010-07-22 Alexey Proskuryakov <ap@apple.com>
+
+ More Windows build fixing.
+
+ * win/WebKit2Generated.make: Copy the new public headers to $(WEBKITOUTPUTDIR)\include\WebKit2.
+
+2010-07-22 Alexey Proskuryakov <ap@apple.com>
+
+ Windows build fix.
+
+ * win/WebKit2.vcproj: Added new files.
+
+2010-07-22 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig and Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42193
+ Support layoutTestController.dumpEditingDelegates in WebKitTestRunner
+
+ Step 1: Add the method, and implement one actual delegate call as proof of concept. No tests
+ fixed, but this makes difference one line smaller on many editing tests.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp: Added.
+ (WKBundleNodeCopyNodeName):
+ (WKBundleNodeGetParent):
+ * WebProcess/InjectedBundle/API/c/WKBundleNode.h: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetEditorClient):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleRange.cpp: Added.
+ (WKBundleRangeGetStartOffset):
+ (WKBundleRangeGetStartContainer):
+ (WKBundleRangeGetEndOffset):
+ (WKBundleRangeGetEndContainer):
+ * WebProcess/InjectedBundle/API/c/WKBundleRange.h: Added.
+ Added WKBundleRangeRef and WKBundleNodeRef types for injected bundles. These are just pointers
+ to respective WebCore objects, without any WebKit2 wrappers.
+
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: Added.
+ (WebKit::InjectedBundlePageEditorClient::InjectedBundlePageEditorClient):
+ (WebKit::InjectedBundlePageEditorClient::initialize):
+ (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing):
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: Added.
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::shouldBeginEditing):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::initializeInjectedBundleEditorClient):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::injectedBundleEditorClient):
+ Added the plumbing for invoking injected bundle code for editor client. There is no real API
+ for editor client yet.
+
+2010-07-22 Ivan Krstić <ike@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Adapt sandbox for new WebProcess bootstrap service naming scheme.
+ <rdar://problem/8225000>
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2010-07-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ It should be possible to attach to the WebProcess in gdb during startup
+ https://bugs.webkit.org/show_bug.cgi?id=42853
+
+ Create an unique bootstrap service name and pass it to the web process, instead of registering a per process
+ name (which was incorrect anyway). This lets us get rid of the requirement that the UI process always should be
+ the parent process of the web process, something which is false when running under the debugger.
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+
+2010-07-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't assert when Connection::invalidate is called before Connection::dispatchConnectionDidClose
+ https://bugs.webkit.org/show_bug.cgi?id=42851
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::dispatchConnectionDidClose):
+ Just return early if m_client is 0.
+
+2010-07-22 Adam Roben <aroben@apple.com>
+
+ Use ::MessageBox instead of ::DebugBreak to make the web process wait
+ for a debugger
+
+ While ::DebugBreak can make it easier to attach a debugger (because it
+ brings up the Just-in-Time debugger window), using ::MessageBox has
+ two advantages:
+ 1) It explains to the user what's going on, so it's harder to
+ mistake this debugging aid for a bug.
+ 2) It allows you to debug the UI process and the web process using
+ the same debugger, if desired.
+
+ Special thanks to John Sullivan for help with the text that's shown in
+ the alert.
+
+ Fixes <http://webkit.org/b/42848> WebKit2's wait-for-debugger
+ debugging aid should explain to the user what's happening
+
+ Reviewed by John Sullivan and Anders Carlsson.
+
+ * WebProcess/WebKitMain.cpp:
+ (WebKitMain): Use a ::MessageBox instead of a ::DebugBreak to wait for
+ the debugger. The alert explains to the user what's going on.
+
+2010-07-22 Adam Roben <aroben@apple.com>
+
+ Make WorkQueue aware of potential errors with ::WaitForMultipleObjects
+
+ Fixes <http://webkit.org/b/42846> WorkQueue should detect
+ ::WaitForMultipleObject failures
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::workQueueThreadBody): Added some assertions about the
+ various things that can fail with ::WaitForMultipleObjects,
+ specifically:
+ - Passing too many objects
+ - Timeouts (which shouldn't happen since we pass a timeout interval
+ of INFINITE)
+ - Abandoned mutexes (which shouldn't happen since we don't wait on
+ any mutexes currently)
+ - Miscellaneous failures
+
+2010-07-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42836
+ Add localized strings stubs for WebKit2.
+
+ Gets us below 200 tests failing in WebKitTestRunner.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2010-07-22 Andras Becsi <abecsi@webkit.org>
+
+ Unreviewed trivial build fix.
+
+ [Qt] Mend remaining issues to fix the WebKit2 build.
+
+ * Shared/qt/UpdateChunk.h: add missing function
+ (WebKit::UpdateChunk::isEmpty):
+ * UIProcess/API/qt/qwkpage_p.h: Add stub implementation
+ (QWKPagePrivate::pageDidEnterAcceleratedCompositing):
+ (QWKPagePrivate::pageDidLeaveAcceleratedCompositing):
+
+2010-07-22 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] Implement WebContext::applicationCacheDirectory() for the Qt port of WebKit2.
+ https://bugs.webkit.org/show_bug.cgi?id=42830
+
+ * UIProcess/qt/WebContextQt.cpp: Added.
+ (WebKit::WebContext::applicationCacheDirectory):
+
+2010-07-22 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Unreviewed build fix.
+
+ [Qt] Fix WebKit2 build
+
+ https://bugs.webkit.org/show_bug.cgi?id=42638
+
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QWKPagePrivate::setCursor): Added empty implementation.
+
+2010-07-22 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Antonio Gomes.
+
+ Lazy cursor creation should be guarded by #if USE(LAZY_NATIVE_CURSOR) in WebKit2
+
+ https://bugs.webkit.org/show_bug.cgi?id=42622
+
+ * Shared/WebCoreArgumentCoders.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setCursor):
+
+2010-07-22 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Build fix. Unreviewed.
+
+ * win/WebKit2WebProcess.vcproj:
+ Remove the pre- and post-build events, so that they will use the value
+ inherited from the vsprops.
+
+2010-07-21 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKitTestRunner needs layoutTestController.dumpChildFrameScrollPositions
+ https://bugs.webkit.org/show_bug.cgi?id=42548
+
+ Added WKBundleFrameCopyName.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopyName): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Ditto.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::name): Added.
+ * WebProcess/WebPage/WebFrame.h: Ditto.
+
+2010-07-21 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKitTestRunner needs to support dumping of scroll position
+ https://bugs.webkit.org/show_bug.cgi?id=42514
+
+ Added WKBundleFrameGetJavaScriptContext function.
+
+ * WebKit2.xcodeproj: Added property svn:ignore.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetJavaScriptContext): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Ditto.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
+ Use JSGlobalContextRef instead of JSContextRef and context instead of ct.
+
+2010-07-21 Adam Roben <aroben@apple.com>
+
+ Handle broken pipes in more places in CoreIPC
+
+ Fixes <http://webkit.org/b/42784> Assertion failure in
+ Connection::readEventHandler when WebKitTestRunner exits
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::readEventHandler): Check for a broken pipe
+ whenever we call ::PeekNamedPipe.
+
+2010-07-21 Adam Roben <aroben@apple.com>
+
+ Teach CoreIPC how to handle messages that are larger than the pipe's
+ buffer
+
+ ::GetOverlappedResult and ::ReadFile can fail with ERROR_MORE_DATA
+ when there is more data available on the pipe than was requested in
+ the read operation. In those cases, the appropriate response is to
+ perform another read operation to read the extra data. We now do this.
+
+ Also, MSDN says that, because we are doing asynchronous read
+ operations, we should not pass a pointer to ::ReadFile to find out how
+ many bytes were read. Instead we should always call
+ ::GetOverlappedResult to find this out. I've changed
+ Connection::readEventHandler to have a single loop that calls
+ ::GetOverlappedResult and ::ReadFile in alternation, rather than
+ sometimes calling ::ReadFile multiple times in a row, to satisfy this
+ requirement.
+
+ In order to simplify the logic in this function, I've made us request
+ only a single byte from the pipe when there are no messages already in
+ the pipe. (Previously we were requesting 4096 bytes in this case.)
+ This allows us not to have to consider the case where the received
+ message is smaller than our read buffer. If we decide that this has a
+ negative impact on performance, we can of course change it. I've
+ mitigated this somewhat by using ::PeekNamedMessage to find out the
+ size of the next message in the pipe (if any), so that we can read it
+ all in one read operation.
+
+ Fixes <http://webkit.org/b/42710> <rdar://problem/8197571> Assertion
+ in Connection::readEventHandler when launching WebKitTestRunner
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::readEventHandler): Put the call to
+ ::GetOverlappedResult in the same loop as ::ReadFile so that we will
+ call them alternately. If ::GetOverlappedResult fails with
+ ERROR_MORE_DATA, use ::PeekNamedPipe to determine the size of the rest
+ of the message, then read it from the pipe. After dispatching the
+ message, use ::PeekNamedPipe to find out the size of the next message
+ in the pipe so we can read it all in one operation. If there's no
+ message in the pipe, we'll request just a single byte of the next
+ message that becomes available, and Windows will tell us when the rest
+ of the message is ready. If ::ReadFile fails with ERROR_MORE_DATA it
+ means there is data available now even though we didn't think there
+ was any. We go back to the top of the loop in this case and call
+ ::GetOverlappedResult again to retrieve the available data.
+
+2010-07-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42539
+ WebKitTestRunner needs to support printing ALERT, PROMPT and CONFIRM messages
+
+ - Convert injected bundle UIClient functions to will-style, at least until we establish
+ more concrete use cases for them past the TestRunner.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ (WebKit::InjectedBundlePageUIClient::willAddMessageToConsole):
+ (WebKit::InjectedBundlePageUIClient::willSetStatusbarText):
+ (WebKit::InjectedBundlePageUIClient::willRunJavaScriptAlert):
+ (WebKit::InjectedBundlePageUIClient::willRunJavaScriptConfirm):
+ (WebKit::InjectedBundlePageUIClient::willRunJavaScriptPrompt):
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::addMessageToConsole):
+ (WebKit::WebChromeClient::runJavaScriptAlert):
+ (WebKit::WebChromeClient::runJavaScriptConfirm):
+ (WebKit::WebChromeClient::runJavaScriptPrompt):
+ (WebKit::WebChromeClient::setStatusbarText):
+
+2010-07-21 Simon Fraser <simon.fraser@apple.com>
+
+ Windows build fix.
+
+ Need to supply implementations of PageClient::pageDidEnterAcceleratedCompositing()
+ and pageDidLeaveAcceleratedCompositing() for WebView on Windows.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::pageDidEnterAcceleratedCompositing):
+ (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
+ * UIProcess/win/WebView.h:
+
+2010-07-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't assert when clicking on a plug-in in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42762
+
+ Add stub for PluginView::handleEvent.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::handleEvent):
+ * WebProcess/Plugins/PluginView.h:
+
+2010-07-21 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Get accelerated compositing working with webkit2
+ https://bugs.webkit.org/show_bug.cgi?id=41084
+
+ Hook up dynamic DrawingArea switching, so that when the WebProcess hits a page
+ that requires accelerated compositing, we switch to the LayerBackedDrawingArea.
+
+ * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
+ (DrawingAreaProxyMessage::):
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::):
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::pageDidEnterAcceleratedCompositing):
+ (WebKit::PageClientImpl::pageDidLeaveAcceleratedCompositing):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _startAcceleratedCompositing:]):
+ (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaProxy::]):
+ (-[WKView _pageDidEnterAcceleratedCompositing]):
+ (-[WKView _pageDidLeaveAcceleratedCompositing]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveSyncMessage):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::):
+ (WebKit::DrawingAreaProxy::type):
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
+ (WebKit::LayerBackedDrawingAreaProxy::didReceiveMessage):
+ (WebKit::LayerBackedDrawingAreaProxy::didReceiveSyncMessage):
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setDrawingArea):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ (WebKit::WebPageProxy::didEnterAcceleratedCompositing):
+ (WebKit::WebPageProxy::didLeaveAcceleratedCompositing):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
+ (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::attachRootGraphicsLayer):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ (WebKit::ChunkedUpdateDrawingArea::attachCompositingContext):
+ (WebKit::ChunkedUpdateDrawingArea::setRootCompositingLayer):
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::):
+ (WebKit::DrawingArea::type):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ (WebKit::LayerBackedDrawingArea::setNeedsDisplay):
+ (WebKit::LayerBackedDrawingArea::setSize):
+ (WebKit::LayerBackedDrawingArea::didUpdate):
+ (WebKit::LayerBackedDrawingArea::setRootCompositingLayer):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+ (WebKit::WebPage::enterAcceleratedCompositingMode):
+ (WebKit::WebPage::exitAcceleratedCompositingMode):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::platformInit):
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+ (WebKit::LayerBackedDrawingArea::detachCompositingContext):
+ (WebKit::LayerBackedDrawingArea::setRootCompositingLayer):
+
+2010-07-20 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit on Windows should build optionally with an unversioned ICU DLL
+ https://bugs.webkit.org/show_bug.cgi?id=42722
+ <rdar://problem/8211767> WebKit needs to link against unversioned ICU
+
+ To get the proper value for U_DISABLE_RENAMING into all source files, we force
+ the include of ICUVersion.h (our generated header) via the compiler options.
+
+ Since the versioned and unversioned ICU have different filenames (libicuuc.lib vs icuuc.lib)
+ we copy the ICU lib to an intermediate location under obj with a common name. This
+ allows us to link properly with either without adding a new build configuration.
+
+ * win/WebKit2Common.vsprops:
+ Copy ICU libs into a common location with a common name.
+ Add additional library search path to pick up icu lib.
+ Change ICU library filename specified to linker.
+ Add forced include of ICUVersion.h.
+
+2010-07-21 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * Shared/win/UpdateChunk.h:
+ (WebKit::UpdateChunk::isEmpty): Added to match the Mac definition.
+
+2010-07-21 Anders Carlsson <andersca@apple.com>
+
+ Land file I forgot to add.
+
+ * WebProcess/com.apple.WebProcess.sb: Added.
+
+2010-07-21 Adam Roben <aroben@apple.com>
+
+ Move WebKit2WebProcess's settings to a vsprops file
+
+ Fixes <http://webkit.org/b/42751> WebKit2WebProcess should use vsprops
+ files
+
+ Reviewed by Darin Adler.
+
+ * win/WebKit2WebProcess.vcproj: Moved settings from here...
+ * win/WebKit2WebProcessCommon.vsprops: ...to here.
+
+2010-07-20 Ivan Krstić <ike@apple.com>
+
+ Reviewed and tweaked by Anders Carlsson and Sam Weinig.
+
+ Put WebProcess in a sandbox. All of the following changes are
+ Mac-only.
+ <rdar://problem/7865269>
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::WebProcessProxy):
+ Send Sandbox extension for injected bundle to WebProcess.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add Sandbox profile to Resources for WebProcess.
+
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ New function InjectedBundle::setSandboxToken.
+
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+ (WebKit::InjectedBundle::load):
+ Consume Sandbox token for the bundle if present.
+
+ (WebKit::InjectedBundle::setSandboxToken):
+ Set Sandbox token for the bundle.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::loadInjectedBundle):
+ Extra function parameter for Sandbox token.
+
+ (WebKit::WebProcess::didReceiveMessage):
+ Pass Sandbox token to loadInjectedBundle().
+
+ * WebProcess/WebProcess.h:
+ Extra function parameter for Sandbox token in loadInjectedBundle().
+
+ * WebProcess/com.apple.WebProcess.sb: Added.
+ Sandbox profile for WebProcess.
+
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+ Initialize Sandbox, exit on failure.
+
+2010-07-20 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brady Eidson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42719
+ Make Acid2 pass in WebKit2
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::objectContentType): Check for supported image mimetypes
+ before falling back to plugins.
+
+2010-07-20 Adam Roben <aroben@apple.com>
+
+ Remove WebKit2.sln
+
+ WebKit.sln builds all the same projects.
+
+ Rubber-stamped in advance by Steve Falkenburg.
+
+ * WebKit2.sln: Removed.
+
+2010-07-20 Adam Roben <aroben@apple.com>
+
+ Make the web process break into the debugger when Ctrl-Alt-Shift is
+ held during launch
+
+ Fixes <http://webkit.org/b/42670> Would like a way to break into the
+ debugger when the web process launches
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/WebKitMain.cpp:
+ (WebKitMain): If the Control, Alt, and Shift keys are held down in a
+ Debug build, call DebugBreak() so that we will break into the
+ debugger.
+
+2010-07-20 Adam Roben <aroben@apple.com>
+
+ Teach Connection how to handle a slow receiver
+
+ Fixes <http://webkit.org/b/42667> Assertion in
+ Connection::sendOutgoingMessage when browser or web process is paused
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::sendOutgoingMessage): If WriteFile returns FALSE
+ and the last error is ERROR_IO_PENDING, Windows will write the data as
+ soon as the current write operation is completed. We don't need to do
+ anything special in this case, so there's no need to assert about it.
+
+2010-07-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Handle WKView visibility changes
+ <rdar://problem/7891077>
+
+ * Shared/mac/UpdateChunk.h:
+ (WebKit::UpdateChunk::isEmpty):
+ Add convenience getter.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView viewDidMoveToWindow]):
+ Reorder the calls to _updateActiveState and _updateVisibility based on whether the view is moved to
+ a window or away from a window.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
+ Initialize m_forceRepaintWhenResumingPainting to false.
+
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
+ Pass the m_forceRepaintWhenResumingPainting along to the DrawingAreaMessage::ResumePainting message.
+
+ (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
+ Don't try to paint empty update chunks.
+
+ (WebKit::ChunkedUpdateDrawingAreaProxy::update):
+ Don't paint the update chunk if we're not visible. Instead, make sure that the entire page is being redrawn
+ when its shown again.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::display):
+ (WebKit::ChunkedUpdateDrawingArea::suspendPainting):
+ Rename m_shouldPaint to m_isPaintingSuspended and invert its logic.
+
+ (WebKit::ChunkedUpdateDrawingArea::scheduleDisplay):
+ Don't schedule a display timer if the dirty rect is empty.
+
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
+ If painting is suspended, just send back an empty update chunk in the DidSetSize message.
+
+ (WebKit::ChunkedUpdateDrawingArea::resumePainting):
+ If forceRepaint is true, repaint the entire drawing area.
+
+2010-07-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Implement NPN_GetURL and NPN_PostURL
+ https://bugs.webkit.org/show_bug.cgi?id=42650
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::parsePostBuffer):
+ Add a FIXME about deleting the file.
+
+ (WebKit::makeURLString):
+ Move this static method before NPN_GetURL.
+
+ (WebKit::NPN_GetURL):
+ Call NetscapePLugin::LoadURL.
+
+ (WebKit::NPN_PostURL):
+ Ditto.
+
+ (WebKit::NPN_PostURLNotify):
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ Remove unreached code.
+
+ (WebKit::NetscapePluginStream::deliverDataToPlugin):
+ Stop the stream if the plug-in returns -1 from NPP_Write.
+
+2010-07-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKitTestRunner and WebProcess simultaneously stall in CoreIPC::Connection::sendOutgoingMessage
+ https://bugs.webkit.org/show_bug.cgi?id=42356
+
+ Up the port queue length from 5 to 1024. While this does solve the problem, we should still try to
+ make sendOutgoingMessage not block. I've filed https://bugs.webkit.org/show_bug.cgi?id=42611 to track
+ doing this on Mac and Windows.
+
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::open):
+ Call setMachPortQueueLength.
+
+ * Platform/mac/MachUtilities.cpp: Added.
+ (setMachPortQueueLength):
+ Given a mach port receive right, sets the port queue length.
+
+ * Platform/mac/MachUtilities.h: Added.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add MachUtilities.cpp and MachUtilities.h
+
+2010-07-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler, Adam Roben, Dan Bernstein and Sam Weinig.
+
+ Handle NP_ASFILE and NP_ASFILEONLY transfer modes
+ https://bugs.webkit.org/show_bug.cgi?id=42587
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NPP_StreamAsFile):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add NPP_ wrapper.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::NetscapePluginStream):
+ Initialize m_fileHandle.
+
+ (WebKit::isSupportedTransferMode):
+ NP_ASFILE and NP_ASFILEONLY is now supported.
+
+ (WebKit::NetscapePluginStream::deliverData):
+ Call deliverDataToFile if necessary.
+
+ (WebKit::NetscapePluginStream::deliverDataToFile):
+ Create a temporary file and write the data into it.
+
+ (WebKit::NetscapePluginStream::stop):
+ If the transfer mode is either NP_ASFILE or NP_ASFILEONLY, make sure to
+ call NPP_StreamAsFile and close the file and delete it.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::cancelStreamLoad):
+ Keep a reference to the Stream since cancelling it will remove it from the map.
+
+2010-07-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_PostURLNotify
+ https://bugs.webkit.org/show_bug.cgi?id=42602
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::parsePostBuffer):
+ Read the buffer from a file if necessary and parse it.
+
+ (WebKit::NPN_GetURLNotify):
+ Add extra arguments.
+
+ (WebKit::NPN_PostURLNotify):
+ Parse the post buffer, then call NetscapePlugin::loadURL.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::loadURL):
+ Pass the method, the header fields and form data along.
+
+ (WebKit::NetscapePlugin::allowPopups):
+ Just return false for now.
+
+ (WebKit::NetscapePlugin::initialize):
+ Pass extra arguments to loadURL.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/PluginController.h:
+ Add method, header fields and form data.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::loadURL):
+ Set the method, add the header fields and set the body.
+
+2010-07-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Add local storage support for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42584
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ (WebKit::WebPreferencesStore::swap):
+ * Shared/WebPreferencesStore.h:
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetLocalStorageEnabled):
+ (WKPreferencesGetLocalStorageEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setLocalStorageEnabled):
+ (WebKit::WebPreferences::localStorageEnabled):
+ * UIProcess/WebPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::preferencesDidChange):
+
+2010-07-19 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Uae an OwnPtr for the drawing area in WebPage (fixes a leak!).
+
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::drawingArea):
+
+2010-07-19 Anders carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2 does not have application cache
+ https://bugs.webkit.org/show_bug.cgi?id=42552
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+ Add SetApplicationCacheDirectory.
+
+ * Shared/WebPreferencesStore.h:
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ add offlineWebApplicationCacheEnabled.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetOfflineWebApplicationCacheEnabled):
+ (WKPreferencesGetOfflineWebApplicationCacheEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ Add getters/setters for whether the application cache is enabled.
+
+ * UIProcess/WebContext.h:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setOfflineWebApplicationCacheEnabled):
+ Update the store and call update().
+
+ * UIProcess/WebPreferences.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::WebProcessProxy):
+ Ask the web process to set the application cache directory.
+
+ * UIProcess/mac/WebContextMac.mm: Added.
+ (WebKit::WebContext::applicationCacheDirectory):
+ Return the application cache directory.
+
+ * UIProcess/win/WebContextWin.cpp: Added.
+ (WebKit::WebContext::applicationCacheDirectory):
+ Ditto.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add WebContextMac.mm
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::preferencesDidChange):
+
+ (WebKit::WebPage::didReceiveMessage):
+ Handle PreferencesDidChange. Get rid of the default: case statement so we'll
+ get warnings if we have unhandled message kinds.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::setApplicationCacheDirectory):
+ Set the application cache directory.
+
+ (WebKit::WebProcess::didReceiveMessage):
+ Handle SetApplicationCacheDirectory.
+
+ win/WebKit2.vcproj:
+ Add WebContextWin.cpp
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Another attempt at fixing the Windows build.
+
+ * WebProcess/Plugins/NPJSObjectMap.h:
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Try to fix Windows build.
+
+ * win/WebKit2.vcproj:
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More NPRuntime work
+ https://bugs.webkit.org/show_bug.cgi?id=42526
+
+ * WebProcess/Plugins/NPJSObjectMap.cpp:
+ (WebKit::identifierFromIdentifierRep):
+ (WebKit::NPJSObject::hasProperty):
+ Check if the JSObject has the given property.
+
+ (WebKit::NPJSObject::getProperty):
+ Add stubbed out function.
+
+ (WebKit::NPJSObject::npClass):
+ Add NP_HasProperty and NP_GetProperty.
+
+ (WebKit::NPJSObject::NP_HasProperty):
+ Call NPJSObject::hasProperty.
+
+ (WebKit::NPJSObject::NP_GetProperty):
+ Call NPJSObject::getProperty.
+
+ * WebProcess/Plugins/NPRuntimeUtilities.cpp:
+ (WebKit::releaseNPVariantValue):
+ Release the given NPVariant.
+
+ * WebProcess/Plugins/NPRuntimeUtilities.h:
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetProperty):
+ Call the NPClass GetProperty function.
+
+ (WebKit::NPN_HasProperty):
+ Call the NPClass HasProperty function.
+
+ (WebKit::NPN_ReleaseVariantValue):
+ Call releaseNPVariantValue.
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add NPJSObjectMap class
+ https://bugs.webkit.org/show_bug.cgi?id=42524
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add files.
+
+ * WebProcess/Plugins/NPJSObjectMap.cpp: Added.
+ * WebProcess/Plugins/NPJSObjectMap.h: Added.
+ Add NPJSObjectMap, a map which contains NPObjects that wrap JavaScript objects.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ Initialize the map.
+
+ (WebKit::PluginView::~PluginView):
+ Invalidate the map.
+
+ (WebKit::PluginView::frame):
+ Add frame getter.
+
+ (WebKit::PluginView::windowScriptNPObject):
+ Wrap the window object.
+
+ (WebKit::PluginView::pluginElementNPObject):
+ Wrap the plug-in element object.
+
+ * WebProcess/Plugins/PluginView.h:
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement more NPRuntime related NPN_ functions
+ https://bugs.webkit.org/show_bug.cgi?id=42520
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/NPRuntimeUtilities.cpp: Added.
+ * WebProcess/Plugins/NPRuntimeUtilities.h: Added.
+ Add new file with NPRuntime related utility functions.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_CreateObject):
+ (WebKit::NPN_RetainObject):
+ (WebKit::NPN_ReleaseObject):
+ Call the corresponding NPRuntimeUtilities functions.
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Begin work on NPRuntime support
+ https://bugs.webkit.org/show_bug.cgi?id=42519
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue):
+ Handle NPNVWindowNPObject and NPNVPluginElementNPObject.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::windowScriptNPObject):
+ (WebKit::NetscapePlugin::pluginElementNPObject):
+ Call the plug-in controller.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add new windowScriptNPObject and pluginElementNPObject functions.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::windowScriptNPObject):
+ (WebKit::PluginView::pluginElementNPObject):
+ Add stubbed out functions.
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Implement some NPRuntime related NPN_ functions
+ https://bugs.webkit.org/show_bug.cgi?id=42518
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetStringIdentifier):
+ (WebKit::NPN_GetStringIdentifiers):
+ (WebKit::NPN_GetIntIdentifier):
+ (WebKit::NPN_IdentifierIsString):
+ (WebKit::NPN_UTF8FromIdentifier):
+ (WebKit::NPN_IntFromIdentifier):
+ (WebKit::NPN_CreateObject):
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add dumping of statusbar text to WebKitTestRunner
+ https://bugs.webkit.org/show_bug.cgi?id=42516
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ Add setStatusbarText callback to WKBundlePageUIClient.
+
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ (WebKit::InjectedBundlePageUIClient::setStatusbarText):
+ Call setStatusbarText.
+
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setStatusbarText):
+ Call the bundle page UI client.
+
+2010-07-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ WebKitTestRunner should load the test plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=42509
+
+ * UIProcess/API/C/WKContext.cpp:
+ (_WKContextSetAdditionalPluginPath):
+ Add a private function for setting a single additional plug-in path. the WebKit1 SPI that does the
+ same thing takes an array of paths, but this is good enough for now.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::setAdditionalPluginPaths):
+ Set the additional plug-in paths vector and refresh the database.
+
+ (WebKit::PluginInfoStore::loadPluginsIfNecessary):
+ First try to load plug-ins in the additional plug-in paths.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::setAdditionalPluginPath):
+ Call PluginInfoStore::setAdditionalPluginPaths.
+
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::pluginInfoStore):
+ Make the plug-in info store per context instead of having a single shared info store.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPlugins):
+ (WebKit::WebProcessProxy::getPluginHostConnection):
+ * UIProcess/WebProcessProxy.h:
+ Get the plug-in info store from the context.
+
+2010-07-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Stop all NPStreams before destroying a plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=42504
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::stopAllStreams):
+ Go through all streams and stop them.
+
+ (WebKit::NetscapePlugin::destroy):
+ Call stopAllStreams.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add stopAllStreams.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ Make stop public.
+
+2010-07-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Open streams should not keep a plug-in view alive
+ https://bugs.webkit.org/show_bug.cgi?id=42503
+
+ PluginView::Stream now has a weak reference to its PluginView.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::Stream::~Stream):
+ Assert that the plug-in view is null.
+
+ (WebKit::PluginView::Stream::didFail):
+ After calling removeStream, set the plug-in view member variable to 0. This is OK to do
+ since we keep a reference to the Stream, so we're sure that the call to removeStream does not
+ destroy the stream.
+
+ (WebKit::PluginView::Stream::didFinishLoading):
+ Ditto .
+
+ (WebKit::PluginView::~PluginView):
+ Cancel all streams.
+
+ (WebKit::PluginView::cancelAllStreams):
+ Cancel all streams.
+
+2010-07-16 Zhe Su <suzhe@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
+ https://bugs.webkit.org/show_bug.cgi?id=42253
+
+ Dummy implementation of EditorClient::willSetInputMethodState.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::willSetInputMethodState):
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+
+2010-07-16 Alice Liu <alice.liu@apple.com>
+
+ Build fix, not reviewed.
+
+ Reverted http://trac.webkit.org/changeset/63585 because getopt isn't
+ available in the OpenSource support libraries
+
+ * WebKit2.sln:
+
+2010-07-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=42482
+ <rdar://problem/8197701>
+ Add notification of when the BackForwardList changes
+ to aid invalidation of Back/Forward related UI elements.
+
+ * UIProcess/API/C/WKPage.h:
+ Add didChangeBackForwardList to the WKPageLoaderClient. This
+ fires whenever an item is added or removed from the back forward
+ list or when the cursor changes position.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::addItem):
+ (WebKit::WebBackForwardList::goToItem):
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didChangeBackForwardList):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didChangeBackForwardList):
+ * UIProcess/WebPageProxy.h:
+ Pipe changes to the WebBackForwardList up to the page load client.
+
+2010-07-16 Alice Liu <alice.liu@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add WebKitTestRunner to the WebKit2 solution
+
+ * WebKit2.sln: Add InjectedBundle and WebKitTestRunner projects. Also change the build dependency order from
+ DumpRunderTree --> WebKitAPITest to
+ DumpRenderTree --> InjectedBundle --> WebKitTestRunner --> WebKitAPITest
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Set notifyData to the stream's notification data
+ https://bugs.webkit.org/show_bug.cgi?id=42429
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::start):
+
+2010-07-15 Brent Fulgham <bfulgham@webkit.org>
+
+ Build fix. Don't include CoreGraphics.h on non-CG builds.
+
+ * WebKit2Prefix.h: Conditionalize include of CoreGraphics.h
+ to avoid build break on WinCairo.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ If needed, NPN_GetURL the src URL
+ https://bugs.webkit.org/show_bug.cgi?id=42424
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NPP_GetValue):
+ Add NPP_GetValue wrapper.
+
+ (WebKit::NetscapePlugin::shouldLoadSrcURL):
+ Check whether the src url should be cancelled.
+
+ (WebKit::NetscapePlugin::initialize):
+ If the src URL should be loaded, then load it.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Stop the plug-in stream when it's finished loading
+ https://bugs.webkit.org/show_bug.cgi?id=42423
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::streamDidFinishLoading):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Add empty stub.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::streamDidFinishLoading):
+ Call NetscapePluginStream::didFinishLoading.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::didFinishLoading):
+ Stop the stream with NPRES_DONE.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add streamDidFinishLoading.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::Stream::didFinishLoading):
+ Call Plugin::streamDidFinishLoading.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pass URL stream data to the plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=42420
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::streamDidReceiveData):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Add empty stub.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::streamDidReceiveData):
+ Call NetscapePluginStream::didReceiveData.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::didReceiveData):
+ Deliver the data to the plug-in.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add pure virtual streamDidReceiveData member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::Stream::didReceiveData):
+ Call Plugin::streamDidReceiveData.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Handle failed loads correctly
+ https://bugs.webkit.org/show_bug.cgi?id=42418
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::streamDidFail):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Add empty stub.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::streamDidFail):
+ Call NetscapePluginStream::didFail.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::didReceiveResponse):
+ Take a reference to the plug-in stream in case starting it causes it to be destroyed.
+
+ (WebKit::NetscapePluginStream::didFail):
+ Take a reference to the plug-in stream in case stopping it causes it to be destroyed.
+
+ (WebKit::NetscapePluginStream::destroy):
+ Cancel the stream.
+
+ (WebKit::NetscapePluginStream::start):
+ If we fail to start the stream, cancel the load.
+
+ (WebKit::NetscapePluginStream::cancel):
+ Call NetscapePlugin::cancelStreamLoad.
+
+ (WebKit::NetscapePluginStream::notifyAndDestroyStream):
+ Don't call cancel here. notifyAndDestroyStream can be called when we don't want to cancel the
+ load, such as when it's already failed to load.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ Add didFail.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add pure virtual streamDidFail member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::Stream::Stream):
+ Initialize m_streamWasCancelled to false.
+
+ (WebKit::PluginView::Stream::cancel):
+ Set m_streamWasCancelled to true.
+
+ (WebKit::PluginView::Stream::didFail):
+ Call Plugin::streamDidFail.
+
+2010-07-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=42358
+ <rdar://problem/8194512>
+ Hyphenation tests crash the Web process
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface): Add missing initializer.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Attempt to fix the Windows build.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::Stream::didReceiveResponse):
+ expectedContentLength should be a signed long long.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Cancel stream loads when destroying NetscapePluginStreams
+ https://bugs.webkit.org/show_bug.cgi?id=42413
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::cancelStreamLoad):
+ Call PluginController::cancelStreamLoad.
+
+ (WebKit::NetscapePlugin::streamDidReceiveResponse):
+ Call NetscapePluginStream::didReceiveResponse.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::didReceiveResponse):
+ Try to start the stream.
+
+ (WebKit::NetscapePluginStream::sendJavaScriptStream):
+ Don't stop the stream if it can't be started. start handles that now.
+
+ (WebKit::isSupportedTransferMode):
+ Return whether the given transfer mode is supported.
+
+ (WebKit::NetscapePluginStream::start):
+ If the stream fails to start, call notifyAndDestroyStream. If it starts successfully but has
+ an unsupported transfer mode, call stop.
+
+ (WebKit::NetscapePluginStream::notifyAndDestroyStream):
+ Cancel the stream load unless it's being destroyed because it has finished loading.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add cancelStreamLoad pure virtual member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::Stream::cancel):
+ Tell the stream loader to cancel and null it out.
+
+ (WebKit::PluginView::cancelStreamLoad):
+ Get the stream and cancel it.
+
+ * WebProcess/Plugins/PluginView.h:
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Start loading plug-in streams
+ https://bugs.webkit.org/show_bug.cgi?id=42407
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::streamDidReceiveResponse):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Add empty stub.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::streamDidReceiveResponse):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add empty stub.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add streamDidReceiveResponse pure virtual member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ Make PluginView::Stream a NetscapePlugInStreamLoaderClient.
+
+ (WebKit::PluginView::Stream::start):
+ Create a plug-in loader and start loading.
+
+ (WebKit::PluginView::Stream::didReceiveResponse):
+ Get the necessary data out of the resource response and call streamDidReceiveResponse.
+
+ (WebKit::PluginView::Stream::didReceiveData):
+ (WebKit::PluginView::Stream::didFail):
+ (WebKit::PluginView::Stream::didFinishLoading):
+ Add empty stubs.
+
+2010-07-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42396
+ Give the navigation type in the policy client callbacks meaning.
+
+ - Use the new WKFrameNavigationType instead of just uint32_t.
+
+ * UIProcess/API/C/WKAPICast.h:
+ (toWK):
+ Add conversion method from WebCore::NavigationType to WKFrameNavigationType.
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPolicyClient.cpp:
+ (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
+ (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
+ * UIProcess/WebPolicyClient.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a PluginView::Stream class
+ https://bugs.webkit.org/show_bug.cgi?id=42398
+
+ * WebProcess/Plugins/PluginView.cpp:
+ Add the Stream class.
+
+ (WebKit::PluginView::performURLRequest):
+ Create the stream and start it.
+
+ (WebKit::PluginView::addStream):
+ Add the stream to the map.
+
+ (WebKit::PluginView::removeStream):
+ Remove the stream from the map.
+
+ * WebProcess/Plugins/PluginView.h:
+ Add Stream forward declaration and the m_streams map.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't allow multiple calls to NetscapePluginStream::stop
+ https://bugs.webkit.org/show_bug.cgi?id=42395
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::NetscapePluginStream):
+ Initialize m_urlNotifyHasBeenCalled.
+
+ (WebKit::NetscapePluginStream::~NetscapePluginStream):
+ Assert that the stream didn't need a URL notification or that one was sent.
+
+ (WebKit::NetscapePluginStream::sendJavaScriptStream):
+ Don't call stop in the JS failure case because the stream won't be started.
+
+ (WebKit::NetscapePluginStream::stop):
+ Remove m_isStarted check and add an assertion instead. Move code that calls NPP_URLNotify and
+ destroys the stream out to a separate function.
+
+ (WebKit::NetscapePluginStream::notifyAndDestroyStream):
+ Call NPP_URLNotify if necessary and destroy the stream.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_DestroyStream
+ https://bugs.webkit.org/show_bug.cgi?id=42393
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_DestroyStream):
+ Call NetscapePlugin::destroyStream.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::destroyStream):
+ Check if the stream is valid, and if it is call NetscapePluginStream::destroy.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::sendJavaScriptStream):
+ Keep a reference to the stream in case it's destroyed by an NPP_ call.
+
+ (WebKit::NetscapePluginStream::destroy):
+ Verify that the stream can be destroyed and stop it.
+
+ (WebKit::NetscapePluginStream::deliverDataToPlugin):
+ Add m_isStarted checks after any calls to NPP_ functions.
+
+ (WebKit::NetscapePluginStream::stop):
+ Set m_isStarted to false before calling NPP_DestroyStream.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ (WebKit::NetscapePluginStream::npStream):
+ Add NPStream getter.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKitTestRunner goes off the deep end, spinning in a dispatch queue thread
+ https://bugs.webkit.org/show_bug.cgi?id=42355
+
+ Sometimes, when receiving a message whose size is very close to the inlineMessageMaxSize,
+ mach_msg would return with MACH_RCV_TOO_LARGE. In debug builds we would assert, but in release
+ builds we would just bail and the receiveSourceEventHandler would be run again shortly since we didn't
+ actually pull the message off the mach message queue.
+
+ Fix this by setting the receive source buffer size to include the maximum message trailer size, which
+ mach_msg requires. Also, handle mach_msg returning MACH_RCV_TOO_LARGE (even though in theory it would never happen
+ now that the receivedBufferSize always includes the maximum message trailer size.
+
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::receiveSourceEventHandler):
+ Use a Vector with inline data instead of a char array. This way we can resize the Vector if the message received
+ is too big.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Send JavaScript stream data to plug-ins
+ https://bugs.webkit.org/show_bug.cgi?id=42384
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NPP_WriteReady):
+ (WebKit::NetscapePlugin::NPP_Write):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add NPP_ wrappers.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::NetscapePluginStream):
+ Initialize m_deliveryDataTimer and m_stopstreamWhenDoneDelivering.
+
+ (WebKit::NetscapePluginStream::sendJavaScriptStream):
+ Call deliverData and stop.
+
+ (WebKit::NetscapePluginStream::deliverData):
+ Add the data to m_deliveryData and call deliverDataToPlugin.
+
+ (WebKit::NetscapePluginStream::deliverDataToPlugin):
+ Deliver the data in m_deliveryData to the plug-in. Call NPP_WriteReady to see how much
+ data the plug-in can handle right now. If the plug-in returns zero or a negative value, delay the
+ delivery using the delivery data timer. Otherwise, call NPP_Write in chunks until all the data has been
+ delivered, then stop the stream if needed.
+
+ (WebKit::NetscapePluginStream::stop):
+ If the reason for stopping the stream is that it's finished and the plug-in hasn't processed all the data,
+ don't close the stream now. Instead, set m_stopStreamWhenDoneDelivering to true which will cause the stream to be
+ closed once all data has been delivered.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ Add member functions and member variables.
+
+2010-07-14 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Steve Falkenburg.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42299
+ Correct WinCairo build for new WebKit2 project structure.
+
+ * win/WebKit2Apple.vsprops: Put WebKit2.def here.
+ * win/WebKit2CFLite.def: Added CFLite version of def file.
+ * win/WebKit2CFLite.vsprops: Add new WebKit2CFLite.def here.
+ * win/WebKit2Common.vsprops: Remove WebKit2.def definition as
+ WinCairo and Apple need different versions of this.
+ * win/WebKit2WebProcess.vcproj: Add a new Debug_Cairo target
+ for the WebKit2WebProcess project.
+
+2010-07-15 Mark Rowe <mrowe@apple.com>
+
+ Update the sorting in the Xcode project files.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42315
+ <rdar://problem/8185281>
+ All text in WebKit2 draws with no subpixel antialiasing
+
+ - Change CGBitmapInfo passed to CGBitmapContextCreate and CGImageCreate
+ from kCGImageAlphaPremultipliedLast to kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host.
+
+ * Shared/mac/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::createImage):
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
+ * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
+
+2010-07-14 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ - Fix WebKitTestRunner build
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add stdint.h include.
+
+2010-07-14 Anders Carlsson <andersca@apple.com>
+
+ Try to fix Windows build.
+
+ * win/WebKit2.vcproj:
+
+2010-07-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More work on plug-in streams
+ https://bugs.webkit.org/show_bug.cgi?id=42308
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::loadURL):
+ If the target is null, create a NetscapePluginStream and add it to the m_streams map.
+
+ (WebKit::NetscapePlugin::removePluginStream):
+ Remove the given NetscapePluginStream from the m_streams map.
+
+ (WebKit::NetscapePlugin::NPP_NewStream):
+ (WebKit::NetscapePlugin::NPP_DestroyStream):
+ Add NPP_ wrappers.
+
+ (WebKit::NetscapePlugin::streamFromID):
+ Return the plug-in stream given a stream ID.
+
+ (WebKit::NetscapePlugin::didEvaluateJavaScript):
+ Find the plug-in stream and call sendJavaScriptStream.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::NetscapePluginStream):
+ Initialize member variables.
+
+ (WebKit::NetscapePluginStream::~NetscapePluginStream):
+ Assert that we aren't started.
+
+ (WebKit::NetscapePluginStream::sendJavaScriptStream):
+ If the JavaScript request was successful, start the stream. Otherwise call stop() which just
+ ends up calling NPP_URLNotify when the stream isn't started.
+
+ (WebKit::NetscapePluginStream::start):
+ Set up the NPStream object. Call NPP_NewStream. Return false if the call was not successful, or if
+ the requested stream type is one that we don't yet support.
+
+ (WebKit::NetscapePluginStream::stop):
+ Call NPP_DestroyStream if the stream is started. Call NPP_URLNotify if necessary.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::performJavaScriptURLRequest):
+ Remove unneeded comment.
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by John Sullivan.
+
+ Make Back/Forward work.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::goForward): Pass the item ID to avoid roundtrip.
+ (WebKit::WebPageProxy::goBack): Ditto.
+ (WebKit::WebPageProxy::didReceiveMessage): Implement WebPageProxyMessage::BackForwardGoToItem.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::goForward): Use m_page->goToItem with the correct type instead of the Page shortcut.
+ (WebKit::WebPage::goBack): Ditto.
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+ Remove unused m_canGoBack and m_canGoForward.
+
+2010-07-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add NetscapePluginStream class
+ https://bugs.webkit.org/show_bug.cgi?id=42296
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: Added.
+ (WebKit::NetscapePluginStream::NetscapePluginStream):
+ (WebKit::NetscapePluginStream::~NetscapePluginStream):
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h: Added.
+ (WebKit::NetscapePluginStream::create):
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42297
+ <rdar://problem/8187355>
+ Make titles in WebBackForwardListItems work.
+
+ - Make WebBackForwardListItemMap per WebProcessProxy to allow updating
+ them separate from a page. They are conceptually per process anyway.
+ - Add a message to add or update a WebBackForwardListItemMap triggered
+ by the WebCore::notifyHistoryItemChanged mechanism.
+
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ (WebProcessProxyMessage::):
+ Add AddOrUpdateBackForwardItem message.
+
+ * UIProcess/WebBackForwardListItem.h:
+ (WebKit::WebBackForwardListItem::setOriginalURL):
+ (WebKit::WebBackForwardListItem::setURL):
+ (WebKit::WebBackForwardListItem::setTitle):
+ Add setters.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ BackForwardAddItem now assumes the item has already been created, so
+ now just forwards the add message onto the WebBackForwardList.
+
+ (WebKit::WebPageProxy::addItemToBackForwardList): Take a WebBackForwardList instead of an ID.
+ (WebKit::WebPageProxy::goToItemInBackForwardList): Ditto.
+ * UIProcess/WebPageProxy.h: Ditto.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::webBackForwardItem):
+ (WebKit::WebProcessProxy::addOrUpdateBackForwardListItem):
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ * UIProcess/WebProcessProxy.h:
+ Have the WebProcessProxy manage the WebBackForwardListItems.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::updateBackForwardItem):
+ (WebKit::WK2NotifyHistoryItemChanged): Use this to notify UIProcess
+ of HistoryItem changes (such as the title being added).
+ (WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
+ Register the notifyHistoryItemChanged function.
+ (WebKit::WebBackForwardListProxy::addItem):
+ Just send the ID as the updateBackForwardItem is already going to have
+ been called by this time.
+
+2010-07-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Call NPN_URLNotify for frame loads initiated by plug-ins
+ https://bugs.webkit.org/show_bug.cgi?id=42291
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::loadURL):
+ If needed, keep track of the request ID and URL so we can call NPP_URLNotify at a later point.
+
+ (WebKit::NetscapePlugin::frameDidFinishLoading):
+ Get the notification data and the URL from the map and call NPP_URLNotify.
+
+ (WebKit::NetscapePlugin::frameDidFail):
+ Get the notification data and the URL from the map and call NPP_URLNotify.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+
+2010-07-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add NetscapePlugin::NPP_ member functions for calling into the plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=42287
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NPP_New):
+ (WebKit::NetscapePlugin::NPP_Destroy):
+ (WebKit::NetscapePlugin::NPP_SetWindow):
+ (WebKit::NetscapePlugin::NPP_URLNotify):
+ (WebKit::NetscapePlugin::callSetWindow):
+ (WebKit::NetscapePlugin::initialize):
+ (WebKit::NetscapePlugin::destroy):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+
+2010-07-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Send JavaScript url request results back to the plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=42277
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::didEvaluateJavaScript):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Add empty stub.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::didEvaluateJavaScript):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add Empty stub.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add didEvaluateJavaScript pure virtual member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::performJavaScriptURLRequest):
+ If target is not null, Call Plugin::frameDidFail or Plugin::frameDidFinishLoading.
+ If target is null, call didEvaluateJavaScript with the result string.
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
+ Make changing Cursors work in WebKit2.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ Add SetCursor message.
+
+ * Shared/WebCoreArgumentCoders.h:
+ Add encoding/decoding of Cursors. For now we don't support Custom
+ cursors.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setCursor):
+ * UIProcess/PageClient.h:
+ Add pass through functions to get the cursor from the WebPageProxy
+ to the WKView.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _setCursor:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ Implement changing the cursor.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::setCursor):
+ * UIProcess/WebPageProxy.h:
+ Decode the cursor.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::wndProc):
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::onSetCursor):
+ (WebKit::WebView::setCursor):
+ * UIProcess/win/WebView.h:
+ Implement changing the cursor.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setCursor):
+ (WebKit::WebChromeClient::setLastSetCursorToCurrentCursor):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ Encode the cursor when setCursor is called.
+
+2010-07-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add support for loading javascript: URLs
+ https://bugs.webkit.org/show_bug.cgi?id=42221
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::controller):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Add stub function.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::destroy):
+ Set the plug-in controller to 0.
+
+ (WebKit::NetscapePlugin::controller):
+ Return the plug-in controller.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add controller() member function.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add controller() pure virtual member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::performURLRequest):
+ If the given URL request has a javascript: protocol, call
+ performJavaScriptURLRequest.
+
+ (WebKit::PluginView::performFrameLoadURLRequest):
+ Add a security origin check.
+
+ (WebKit::PluginView::performJavaScriptURLRequest):
+ Evaluate the JavaScript code, Get the resulting string.
+
+ * WebProcess/Plugins/PluginView.h:
+ Add performJavaScriptURLRequest.
+
+2010-07-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add support for URL frame loading using NPN_GetURLNotify
+ https://bugs.webkit.org/show_bug.cgi?id=42192
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::frameDidFinishLoading):
+ (WebKit::DummyPlugin::frameDidFail):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Add empty stubs.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ Implement NPN_GetURLNotify and have it call NetscapePlugin::loadURL.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize m_nextRequestID to 0.
+
+ (WebKit::NetscapePlugin::loadURL):
+ Ask the plug-in controller to load the URL.
+
+ (WebKit::NetscapePlugin::frameDidFinishLoading):
+ (WebKit::NetscapePlugin::frameDidFail):
+ Add empty stubs for now.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add new member functions for frame load notifications.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add loadURL.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::URLRequest::URLRequest):
+ Add class that represents an URL request.
+
+ (WebKit::PluginView::PluginView):
+ Initialize m_pendingURLRequestsTimer.
+
+ (WebKit::PluginView::~PluginView):
+ Unset all active load listeners.
+
+ (WebKit::PluginView::pendingURLRequestsTimerFired):
+ Take the first request in the queue and process it.
+
+ (WebKit::PluginView::performURLRequest):
+ Call performFrameLoadURLRequest if necessary.
+
+ (WebKit::PluginView::performFrameLoadURLRequest):
+ Find a frame to load the request in. If a frame doesn't exist try to create a new frame.
+
+ (WebKit::PluginView::loadURL):
+ Create a URLRequest and add it to the queue.
+
+ (WebKit::PluginView::didFinishLoad):
+ Get the pending frame load request and call Plugin::frameDidFinishLoading.
+
+ (WebKit::PluginView::didFailLoad):
+ Get the pending frame load request and call Plugin::frameDidFail.
+
+ * WebProcess/Plugins/PluginView.h:
+ Inherit from WebFrame::LoadListener.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
+ (WebKit::WebFrameLoaderClient::didFinishLoad):
+ Call the WebFrame's load listener if needed.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::WebFrame):
+ Initialize m_loadListener to 0.
+
+ * WebProcess/WebPage/WebFrame.h:
+ Add a LoadListener class that the plug-in view can use to track frame loads.
+
+ (WebKit::WebFrame::LoadListener::~LoadListener):
+ (WebKit::WebFrame::setLoadListener):
+ (WebKit::WebFrame::loadListener):
+
+2010-07-13 Diego Gonzalez <diegohcg@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [WebKit2] Hook up navigation actions
+ https://bugs.webkit.org/show_bug.cgi?id=42183
+
+ Make Back, Forward, Stop and Reload being enable/disabled according
+ page loading.
+
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (qt_wk_didStartProvisionalLoadForFrame):
+ (qt_wk_didCommitLoadForFrame):
+ (qt_wk_didFinishLoadForFrame):
+ (qt_wk_didFailLoadWithErrorForFrame):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::updateAction):
+
+2010-07-13 John Sullivan <sullivan@apple.com>
+
+ Written by Simon Fraser, reviewed by me.
+
+ Cleaner fix for previous check-in.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+ Use std::max<int> for int-casting brevity.
+
+2010-07-13 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed signed/unsigned problem that led to bogus contents in the array
+ returned by WKBackForwardListCopyBackListWithLimit().
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+ Cast m_current and limit to signed values in std::max call.
+
+2010-07-13 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Ada Chan.
+
+ Fix missing resources causing layout test failures
+ https://bugs.webkit.org/show_bug.cgi?id=42179
+
+ Quick fix to get the layout tests going again.
+ I'll work on getting resource.h from WebKit into a cross-project
+ propagated header after this lands.
+
+ * win/WebKit2.rc:
+ * win/resource.h: Copied from WebKit/win/WebKit.vcproj/resource.h.
+
+2010-07-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Make all NPN_ functions static.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+
+2010-07-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Document the member functions of the abstract Plugin and PluginController classes.
+
+ * WebProcess/Plugins/Plugin.h:
+ * WebProcess/Plugins/PluginController.h:
+
+2010-07-13 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Trivial build fix.
+
+ Provide a stub for mimeTypeFromExtension() that uses notImplemented().
+
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ (WebKit::PluginInfoStore::mimeTypeFromExtension):
+
+2010-07-13 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Tweaks needed to compile WebKit2 with Qt
+ https://bugs.webkit.org/show_bug.cgi?id=41604
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncherHelper::launch): Adjust to PassOwnPtr API changes.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Don't include JavaScriptCore.h,
+ as it unconditionally includes JSStringRefCF. Instead include JavaScript.h.
+
+2010-07-12 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+ Don't build MiniBrowser except for Debug_Internal.
+
+ * WebKit2.sln:
+
+2010-07-12 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Make WebKit2 be built by build-webkit (so it will be built by build.webkit.org bots)
+ https://bugs.webkit.org/show_bug.cgi?id=40922
+
+ Add additional dependent projects. Necessary since our WebKit build on
+ Windows is packaged into a DLL with WebKit2.
+
+ * WebKit2.sln:
+
+2010-07-12 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Maciej Stachowiak.
+
+ Fix WebKit2 to use the same compiler-selection logic as the other projects.
+
+ * WebKit2.xcodeproj/project.pbxproj: Don't hard-code WebKit2 to build with GCC 4.2.
+
+2010-07-12 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WKView should override setFrameSize: instead of setFrame:
+ https://bugs.webkit.org/show_bug.cgi?id=42127
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView setFrameSize:]): Override this method instead of setFrame:,
+ since that is the right way to do it.
+
+2010-07-12 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Alice Liu.
+
+ <rdar://problem/8113038> WebKit1 and WebKit2 should build as a single DLL
+ https://bugs.webkit.org/show_bug.cgi?id=40921
+
+ Pre-WebKit2 WebKit now builds into a static library named WebKitLib.lib.
+ WebKit.dll now links in WebCore.lib, WebKitLib.lib and WebKit2 code.
+
+ This is a first step. We'll likely want to migrate the remainder of
+ the non-deprecated WebKit code (strings, DLLMain, resources) into WebKit2.
+
+ * UIProcess/API/C/WKBase.h: Updated to new BUILDING_ name.
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Updated to new BUILDING_ name.
+ * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp: Removed.
+ * WebProcess/win/DllMain.cpp: Removed. Overlaps with implementation in WebKitLib.lib.
+ * WebProcess/win/WebLocalizableStrings.cpp: Removed. Overlaps with implementation in WebKitLib.lib.
+ * WebProcess/win/WebLocalizableStrings.h: Removed. Overlaps with implementation in WebKitLib.lib.
+ * win/WebKit2.def: Added. Copied from WebKit project.
+ * win/WebKit2.rc: Added resources previously in WebKit.
+ * win/WebKit2.vcproj: Changed project name to WebKit so we will link output to WebKit.dll.
+ Removed implementations overlapping with WebKitLib (WebCoreLocalizedStrings, DllMain, WebLocalizableStrings, WebProcessMain).
+ * win/WebKit2Common.vsprops: Use a framework name of WebKit instead of WebKit2 to reflect project name.
+ Renamed BUILDING_WEBKIT2 to BUILDING_WEBKIT since there is now just a single WebKit.dll.
+ * win/WebKit2WebProcess.vcproj: Link against WebKit instead of WebKit2 due to renaming.
+ * win/deleteButton.png: Copied from ../WebKit/win/WebKit.vcproj/deleteButton.png.
+ * win/deleteButtonPressed.png: Copied from ../WebKit/win/WebKit.vcproj/deleteButtonPressed.png.
+ * win/fsVideoAudioVolumeHigh.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoAudioVolumeHigh.png.
+ * win/fsVideoAudioVolumeLow.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoAudioVolumeLow.png.
+ * win/fsVideoExitFullscreen.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoExitFullscreen.png.
+ * win/fsVideoPause.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoPause.png.
+ * win/fsVideoPlay.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoPlay.png.
+ * win/missingImage.png: Copied from ../WebKit/win/WebKit.vcproj/missingImage.png.
+ * win/nullplugin.png: Copied from ../WebKit/win/WebKit.vcproj/nullplugin.png.
+ * win/panEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panEastCursor.png.
+ * win/panIcon.png: Copied from ../WebKit/win/WebKit.vcproj/panIcon.png.
+ * win/panNorthCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthCursor.png.
+ * win/panNorthEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthEastCursor.png.
+ * win/panNorthWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthWestCursor.png.
+ * win/panSouthCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthCursor.png.
+ * win/panSouthEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthEastCursor.png.
+ * win/panSouthWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthWestCursor.png.
+ * win/panWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panWestCursor.png.
+ * win/searchCancel.png: Copied from ../WebKit/win/WebKit.vcproj/searchCancel.png.
+ * win/searchCancelPressed.png: Copied from ../WebKit/win/WebKit.vcproj/searchCancelPressed.png.
+ * win/searchMagnifier.png: Copied from ../WebKit/win/WebKit.vcproj/searchMagnifier.png.
+ * win/searchMagnifierResults.png: Copied from ../WebKit/win/WebKit.vcproj/searchMagnifierResults.png.
+ * win/textAreaResizeCorner.png: Copied from ../WebKit/win/WebKit.vcproj/textAreaResizeCorner.png.
+ * win/verticalTextCursor.png: Copied from ../WebKit/win/WebKit.vcproj/verticalTextCursor.png.
+ * win/zoomInCursor.png: Copied from ../WebKit/win/WebKit.vcproj/zoomInCursor.png.
+ * win/zoomOutCursor.png: Copied from ../WebKit/win/WebKit.vcproj/zoomOutCursor.png.
+
+2010-07-12 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Get rid of auto_ptr use in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42119
+
+ Replace all use of auto_ptr with OwnPtr/PassOwnPtr.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendMessage):
+ (CoreIPC::Connection::waitForMessage):
+ (CoreIPC::Connection::sendSyncMessage):
+ (CoreIPC::Connection::processIncomingMessage):
+ (CoreIPC::Connection::sendOutgoingMessages):
+ (CoreIPC::Connection::dispatchMessages):
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::Message::Message):
+ (CoreIPC::Connection::send):
+ (CoreIPC::Connection::sendSync):
+ (CoreIPC::Connection::waitFor):
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::sendOutgoingMessage):
+ (CoreIPC::createArgumentDecoder):
+ (CoreIPC::Connection::receiveSourceEventHandler):
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::readyReadHandler):
+ (CoreIPC::Connection::sendOutgoingMessage):
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::readEventHandler):
+ (CoreIPC::Connection::sendOutgoingMessage):
+ * Platform/RunLoop.cpp:
+ (RunLoop::performWork):
+ (RunLoop::scheduleWork):
+ * Platform/RunLoop.h:
+ * Platform/WorkItem.h:
+ (WorkItem::create):
+ * Platform/WorkQueue.h:
+ * Platform/mac/WorkQueueMac.cpp:
+ (WorkQueue::executeWorkItem):
+ (WorkQueue::scheduleWork):
+ (WorkQueue::EventSource::EventSource):
+ (WorkQueue::registerMachPortEventHandler):
+ * Platform/qt/WorkQueueQt.cpp:
+ (WorkQueue::connectSignal):
+ (WorkQueue::scheduleWork):
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::registerHandle):
+ (WorkQueue::scheduleWork):
+ (WorkQueue::performWork):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::sendMessage):
+ (WebKit::WebProcessProxy::didFinishLaunching):
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::send):
+
+2010-07-12 Ada Chan <adachan@apple.com>
+
+ Build fix. Copy WKArray.h to the include directory.
+
+ * win/WebKit2Generated.make:
+
+2010-07-12 Mark Rowe <mrowe@apple.com>
+
+ Re-do an Xcode project change that Xcode decided not to save.
+
+ * WebKit2.xcodeproj/project.pbxproj: Remove WebKit2.exp from the project.
+ For some reason it was being copied in to the framework wrapper.
+
+2010-07-12 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove the exports file from WebKit2.
+
+ * Configurations/Base.xcconfig: Have symbols default to hidden visibility.
+ * Configurations/WebKit2.xcconfig: Remove the export file.
+ * UIProcess/API/mac/WKView.h: Export the WKView class.
+ * WebProcess/WebKitMain.cpp: Export the WebKitMain function.
+ * mac/WebKit2.exp: Removed.
+
+2010-07-12 Adam Roben <aroben@apple.com>
+
+ Move WebKit2.vcproj's settings into .vsprops files
+
+ This makes it easier to make changes that affect all configurations.
+
+ Fixes <http://webkit.org/b/42097> WebKit2 should use .vsprops files
+
+ Reviewed by Steve Falkenburg.
+
+ * win/WebKit2.vcproj: Moved settings from here to the files below.
+ * win/WebKit2Apple.vsprops: Added. Links against Apple-specific
+ libraries.
+ * win/WebKit2CFLite.vsprops: Added. Links against CFLite.
+ * win/WebKit2Common.vsprops: Added. Contains settings shared by all
+ configurations.
+ * win/WebKit2DirectX.vsprops: Added. Contains settings to help with
+ linking against DirectX.
+
+2010-07-12 Adam Roben <aroben@apple.com>
+
+ Stop generating stripped symbols for Release builds
+
+ It turns out we can strip the symbols after-the-fact using PDBCopy.
+
+ Fixes <http://webkit.org/b/42085>.
+
+ Reviewed by Steve Falkenburg.
+
+ * win/WebKit2.vcproj: Removed the no-longer-needed Release override of
+ the StripPrivateSymbols attribute. (This attribute is no longer set in
+ release.vsprops, so doesn't need to be overridden.)
+
+2010-07-12 Brian Weinstein <bweinstein@apple.com>
+
+ WebKit2 build fix for Windows.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Remove some stub function definitions.
+ * win/WebKit2.vcproj: Add PluginController.h to the vcproj.
+
+2010-07-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a PluginController class, use it for invalidation and getting the user agent
+ https://bugs.webkit.org/show_bug.cgi?id=42084
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add PluginController.h
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::initialize):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Pass the PluginController to initialize.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ Implement NPN_UserAgent, NPN_MemAlloc, NPN_MemFree, NPN_InvalidateRect and NPN_InvalidateRegion.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize m_pluginController to null.
+
+ (WebKit::NetscapePlugin::invalidate):
+ Ask the plug-in controller to invalidate.
+
+ (WebKit::NetscapePlugin::userAgent):´
+ Ask the plug-in controller for the user agent.
+
+ (WebKit::NetscapePlugin::initialize):
+ Set the m_pluginController member variable.
+
+ * WebProcess/Plugins/Plugin.h:
+ Make initialize take a PluginController.
+
+ * WebProcess/Plugins/PluginController.h: Added.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::initializePlugin):
+ Pass the PluginController to initialize.
+
+ (WebKit::PluginView::invalidateRect):
+ Tell the host window to invalidate the given rect.
+
+ (WebKit::PluginView::invalidate):
+ Call invalidateRect.
+
+ (WebKit::PluginView::userAgent):
+ Ask the frame loader client for the user agent.
+
+ * WebProcess/Plugins/PluginView.h:
+
+2010-07-12 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Added.
+ (WebKit::NetscapePluginModule::tryLoad):
+ (WebKit::NetscapePluginModule::unload):
+ Stubbed these out.
+
+ * win/WebKit2.vcproj: Added a Netscape filter beneath
+ WebProcess/Plugins, and moved NetscapePlugin into it. Added
+ NetscapePluginModule to the new Netscape filter. Added
+ WebProcess/Plugins to the include path for all configurations (it was
+ only added to Release and Debug_Internal previously) and added
+ WebProcess/Plugins/Netscape to the include path for all
+ configurations.
+
+2010-07-11 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Implement animation-related methods for WebKitTestRunner
+ https://bugs.webkit.org/show_bug.cgi?id=42053
+
+ Implemented some helpers for WebKitTestRunner;
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetNumberOfActiveAnimations):
+ (WKBundleFramePauseAnimationOnElementWithId):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::numberOfActiveAnimations):
+ (WebKit::WebFrame::pauseAnimationOnElementWithId):
+ * WebProcess/WebPage/WebFrame.h:
+ * mac/WebKit2.exp:
+
+2010-07-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't initialize plug-ins until allowed by the page
+ https://bugs.webkit.org/show_bug.cgi?id=42033
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::paint):
+ (WebKit::NetscapePlugin::geometryDidChange):
+ Assert that the plug-in is started.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ Initialize m_isWaitingUntilMediaCanStart.
+
+ (WebKit::PluginView::~PluginView):
+ If necessary, remove the plug-in view as a MediaCanStartListener.
+
+ (WebKit::PluginView::initializePlugin):
+ If we're not allowed to initialize the plug-in, add the plug-in view as a MediaCanStartListener.
+
+ (WebKit::PluginView::paint):
+ Check that the plug-in is initialized.
+
+ (WebKit::PluginView::viewGeometryDidChange):
+ Ditto.
+
+ (WebKit::PluginView::mediaCanStart):
+ Initialize the plug-in.
+
+ * WebProcess/Plugins/PluginView.h:
+
+2010-07-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Have the plug-in view initialize the plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=42030
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::initialize):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Plugin::initialize now takes a struct.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::initialize):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Plugin::initialize now takes a struct.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add Parameters struct.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ Add Parameters parameter.
+
+ (WebKit::PluginView::~PluginView):
+ Add m_plugin null check.
+
+ (WebKit::PluginView::initializePlugin):
+ Try to initialize the plug-in and zero out the plug-in if initialization fails.
+
+ (WebKit::PluginView::paint):
+ Add m_plugin null check.
+
+ (WebKit::PluginView::setParent):
+ Initialize the plug-in.
+
+ * WebProcess/Plugins/PluginView.h:
+ (WebKit::PluginView::create):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+ Don't initialize the plug-in here.
+
+2010-07-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Call Page::canStartMedia when the WKView is added to/removed from a window
+ https://bugs.webkit.org/show_bug.cgi?id=42029
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ (WebPageMessage::):
+ Add SetIsInWindow.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:]):
+ Call setIsInWindow.
+
+ (-[WKView _updateVisibility]):
+ Call setIsInWindow.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ Initialize m_isInWindow.
+
+ (WebKit::WebPageProxy::setIsInWindow):
+ Send WebPageMessage::SetIsInWindow.
+
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setIsInWindow):
+ Call Page::canStartMedia.
+
+ (WebKit::WebPage::didReceiveMessage):
+ Handle the SetIsInWindow message.
+
+ * WebProcess/WebPage/WebPage.h:
+
+2010-07-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Reuse initialized NetscapePluginModules, pass parameters to NPP_New
+ https://bugs.webkit.org/show_bug.cgi?id=42028
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Let the plug-in module know that a plug-in has been created.
+
+ (WebKit::NetscapePlugin::~NetscapePlugin):
+ Let the plug-in module know that a plug-in has been destroyed.
+
+ (WebKit::NetscapePlugin::initialize):
+ Pass the MIME type and parameters to the plug-in.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::initializedNetscapePluginModules):
+ Add list of initialized plug-in modules.
+
+ (WebKit::NetscapePluginModule::NetscapePluginModule):
+ Initialize m_pluginCount to 0.
+
+ (WebKit::NetscapePluginModule::~NetscapePluginModule):
+ Assert that we're not in the list of initialized plug-ins.
+
+ (WebKit::NetscapePluginModule::pluginCreated):
+ Increment the plug-in count.
+
+ (WebKit::NetscapePluginModule::pluginDestroyed):
+ Decrement the plug-in count and call shutdown if it's 0.
+
+ (WebKit::NetscapePluginModule::shutdown):
+ Call NP_Shutdown and remove the plug-in from the list of initialized plug-ins.
+
+ (WebKit::NetscapePluginModule::getOrCreate):
+ Look for an already initialized plug-in module before creating one.
+
+ (WebKit::NetscapePluginModule::load):
+ Set m_isInitialized to true.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp:
+ (WebKit::NetscapePluginModule::unload):
+ Leak the CFBundleRef to avoid possible crashes.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+ Call getOrCreate instead of create.
+
+2010-07-09 Leon Clarke <leonclarke@google.com>
+
+ Reviewed by Adam Barth.
+
+ add support for link prefetching
+ https://bugs.webkit.org/show_bug.cgi?id=3652
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-07-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig and Dan Bernstein.
+
+ Handle setting of drawing and event models
+ https://bugs.webkit.org/show_bug.cgi?id=41994
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ Handle NPPVpluginDrawingModel and NPPVpluginEventModel.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize m_inNPPNew.
+
+ (WebKit::NetscapePlugin::~NetscapePlugin):
+ Assert that we aren't still running.
+
+ (WebKit::NetscapePlugin::fromNPP):
+ New function that returns a NetscapePlugin object given a NPP pointer.
+
+ (WebKit::NetscapePlugin::initialize):
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.cpp:
+ (WebKit::NetscapePlugin::setDrawingModel):
+ Set the drawing model.
+
+ (WebKit::NetscapePlugin::setEventModel):
+ Set the event model.
+
+ (WebKit::initializeEvent):
+ (WebKit::NetscapePlugin::platformPaint):
+ Only send the Cocoa event when using the Cocoa event model.
+
+2010-07-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=41971
+ Add really basic BackForwardList support.
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ (WebPageMessage::):
+ Add new message kind.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::):
+ Add new message kinds. Remove DidChangeCanGoBack and DidChangeCanGoForward.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGoToBackForwardListItem):
+ * UIProcess/API/C/WKPage.h:
+ Add function to initiate a navigation to a BackForward item. The
+ BackForward list will be updated to use this as the current item
+ asynchronously.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::WebBackForwardList):
+ (WebKit::WebBackForwardList::addItem): Added.
+ (WebKit::WebBackForwardList::goToItem): Added.
+ (WebKit::WebBackForwardList::itemAtIndex): Added.
+ (WebKit::WebBackForwardList::backListCount): Changed to return int matching WebCore.
+ (WebKit::WebBackForwardList::forwardListCount): Ditto.
+ (WebKit::WebBackForwardList::backListWithLimit): Add cast to int.
+ (WebKit::WebBackForwardList::forwardListWithLimit): Ditto.
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): Ditto.
+ (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): Ditto.
+ * UIProcess/WebBackForwardList.h:
+
+ * UIProcess/WebBackForwardListItem.cpp:
+ (WebKit::WebBackForwardListItem::WebBackForwardListItem):
+ * UIProcess/WebBackForwardListItem.h:
+ (WebKit::WebBackForwardListItem::create):
+ (WebKit::WebBackForwardListItem::itemID):
+ Added itemID.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::canGoForward):
+ (WebKit::WebPageProxy::canGoBack):
+ (WebKit::WebPageProxy::goToBackForwardItem):
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ (WebKit::WebPageProxy::addItemToBackForwardList):
+ (WebKit::WebPageProxy::goToItemInBackForwardList):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ - Removed m_canGoBack and m_canGoForward booleans and instead use the BackForwardList.
+ - Forward goToBackForwardItem to the WebProcess.
+ - Respond to messages from the WebBackForwardListProxy in the WebProcess,
+ forwarding to the WebBackForwardList.
+
+ * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp:
+ (WebKit::WebBackForwardControllerClient::createBackForwardList):
+ Start using a WebBackForwardListProxy instead of a BackForwardListImpl.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidAddBackForwardItem):
+ (WebKit::WebFrameLoaderClient::dispatchDidRemoveBackForwardItem):
+ (WebKit::WebFrameLoaderClient::dispatchDidChangeBackForwardIndex):
+ Remove calls backForwardListDidChange() now that we communicate much more
+ information than just this state.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::idToHistoryItemMap):
+ (WebKit::historyItemToIDMap):
+ (WebKit::generateHistoryItemID):
+ (WebKit::getIDForHistoryItem):
+ (WebKit::WebBackForwardListProxy::itemForID):
+ Add leaking cached maps of HistoryItems to IDs, the life time of these
+ objects will be improved in a subsequent patch.
+
+ (WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
+ (WebKit::WebBackForwardListProxy::addItem):
+ (WebKit::WebBackForwardListProxy::goBack):
+ (WebKit::WebBackForwardListProxy::goForward):
+ (WebKit::WebBackForwardListProxy::goToItem):
+ (WebKit::WebBackForwardListProxy::backItem):
+ (WebKit::WebBackForwardListProxy::currentItem):
+ (WebKit::WebBackForwardListProxy::forwardItem):
+ (WebKit::WebBackForwardListProxy::itemAtIndex):
+ (WebKit::WebBackForwardListProxy::backListWithLimit):
+ (WebKit::WebBackForwardListProxy::forwardListWithLimit):
+ (WebKit::WebBackForwardListProxy::capacity):
+ (WebKit::WebBackForwardListProxy::setCapacity):
+ (WebKit::WebBackForwardListProxy::enabled):
+ (WebKit::WebBackForwardListProxy::setEnabled):
+ (WebKit::WebBackForwardListProxy::backListCount):
+ (WebKit::WebBackForwardListProxy::forwardListCount):
+ (WebKit::WebBackForwardListProxy::containsItem):
+ (WebKit::WebBackForwardListProxy::close):
+ (WebKit::WebBackForwardListProxy::closed):
+ (WebKit::WebBackForwardListProxy::removeItem):
+ (WebKit::WebBackForwardListProxy::entries):
+ (WebKit::WebBackForwardListProxy::pushStateItem):
+ * WebProcess/WebPage/WebBackForwardListProxy.h:
+ Forward functions to the UIProcess.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::goToBackForwardItem):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+ Respond to GoToBackForwardItem message.
+
+ * mac/WebKit2.exp: Add new API function.
+
+2010-07-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Verify drawing coordinates, add crude painting support
+ https://bugs.webkit.org/show_bug.cgi?id=41984
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add NetscapePluginMac.cpp.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize drawing and event models.
+
+ (WebKit::NetscapePlugin::initialize):
+ Call platformPostInitialize.
+
+ (WebKit::NetscapePlugin::destroy):
+ Call NPP_Destroy.
+
+ (WebKit::NetscapePlugin::paint):
+ Call platformPaint.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add member functions.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.cpp: Added.
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ Set default event and drawing models and verify that they are compatible.
+
+ (WebKit::NetscapePlugin::platformPaint):
+ Send a paint event (assuming the Cocoa event model currently).
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::paint):
+ Change the paint rect to be in window coordinates.
+
+ (WebKit::PluginView::viewGeometryDidChange):
+ (WebKit::PluginView::clipRectInWindowCoordinates):
+ * WebProcess/Plugins/PluginView.h:
+
+2010-07-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pass a clip rect to the plugin and call NPP_SetWindow
+ https://bugs.webkit.org/show_bug.cgi?id=41969
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::geometryDidChange):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Add clip rect parameter.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize m_npWindow.
+
+ (WebKit::NetscapePlugin::callSetWindow):
+ Call NPP_SetWindow.
+
+ (WebKit::NetscapePlugin::initialize):
+ Set the window type to NPWindowTypeDrawable for now.
+
+ (WebKit::NetscapePlugin::geometryDidChange):
+ Update the frame and clip rects and call NPP_SetWindow.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add an NPWindow member variable.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add a clipRect parameter to geometryDidChange.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ Add the plug-in element to the constructor.
+
+ (WebKit::PluginView::viewGeometryDidChange):
+ Compute the clip rect and pass it to the plug-in.
+
+ * WebProcess/Plugins/PluginView.h:
+ (WebKit::PluginView::create):
+ Pass the plug-in element to the constructor.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+ Pass the plug-in element to PluginView::create.
+
+2010-07-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Instantiate Netscape plug-ins, pass geometry information to Plugin
+ https://bugs.webkit.org/show_bug.cgi?id=41960
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ Handle NPNVsupportsCoreGraphicsBool and NPNVsupportsCocoaBool.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Set npp.ndata.
+
+ (WebKit::NetscapePlugin::initialize):
+ Try to instantiate the plug-in by calling NPP_New.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Store the NetscapePluginModule and the NPP struct.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
+ Add a getter for the NPPluginFuncs vtable.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::frameRectsChanged):
+ Make sure to call viewGeometryDidChange.
+
+ (WebKit::PluginView::setParent):
+ Ditto.
+
+ (WebKit::PluginView::viewGeometryDidChange):
+ Convert the frame rect to window coordinates and pass it to the plug-in.
+
+ * WebProcess/Plugins/PluginView.h:
+ Add function declarations.
+
+2010-07-08 Diego Gonzalez <diegohcg@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [WebKit2] Make QWKPage call _q_webActionTriggered as a private slot
+ https://bugs.webkit.org/show_bug.cgi?id=41880
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/qwkpage.h:
+
+2010-07-09 Antti Koivisto <koivisto@iki.fi>
+
+ Not reviewed.
+
+ Build fix.
+
+ * UIProcess/API/qt/qwkpage.h:
+
+2010-07-08 Brian Weinstein <bweinstein@apple.com>
+
+ WebKit2 build fix for Windows.
+
+ * WebProcess/Plugins/PluginView.h: Change the forward declaration of Plugin
+ to an include.
+ * win/WebKit2.vcproj: Update the include paths for Release to match Debug, and
+ add some files to the vcproj that were added on Mac.
+
+2010-07-08 Sam Weinig <sam@webkit.org>
+
+ Attempt to fix the windows build.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add NetscapePlugin class
+ https://bugs.webkit.org/show_bug.cgi?id=41919
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Added.
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ (WebKit::NetscapePlugin::~NetscapePlugin):
+ (WebKit::NetscapePlugin::initialize):
+ (WebKit::NetscapePlugin::destroy):
+ (WebKit::NetscapePlugin::paint):
+ (WebKit::NetscapePlugin::geometryDidChange):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added.
+ (WebKit::NetscapePlugin::create):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Enable notImplemented messages by default and have the various clients explicitly disable them.
+
+ * Shared/NotImplemented.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ * WebProcess/WebCoreSupport/WebDragClient.cpp:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add stubbed out NPN functions
+ https://bugs.webkit.org/show_bug.cgi?id=41917
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: Added.
+ (WebKit::initializeBrowserFuncs):
+ (WebKit::netscapeBrowserFuncs):
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h: Added.
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp:
+ (WebKit::NetscapePluginModule::tryLoad):
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+
+2010-07-08 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Spelling and style correction
+ https://bugs.webkit.org/show_bug.cgi?id=41891
+
+ Correcting a spelling and a style mistakes.
+
+ * UIProcess/Launcher/ProcessLauncher.h:
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement more of NetscapePluginModule
+ https://bugs.webkit.org/show_bug.cgi?id=41910
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::create):
+ (WebKit::NetscapePluginModule::load):
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp: Added.
+ (WebKit::NetscapePluginModule::unload):
+ (WebKit::pointerToFunction):
+ (WebKit::NetscapePluginModule::tryLoad):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add stubbed out NetscapePluginModule class
+ https://bugs.webkit.org/show_bug.cgi?id=41901
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp: Added.
+ (WebKit::NetscapePluginModule::NetscapePluginModule):
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.h: Added.
+ (WebKit::NetscapePluginModule::create):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+
+2010-07-08 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Move socket objects to connection's thread
+ https://bugs.webkit.org/show_bug.cgi?id=41897
+
+ To receive network related notifications in the WorkQueue thread, the
+ QLocalSocket instances must be moved to that thread.
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::open):
+ * Platform/WorkQueue.h:
+ * Platform/qt/WorkQueueQt.cpp:
+ (WorkQueue::moveSocketToWorkThread):
+
+2010-07-08 Alice Liu <alice.liu@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=41653
+ Add new WebKitTestRunner project for Windows
+
+ * win/WebKit2Generated.make: Add files needed for WebKitTestRunner
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a GetPluginHostConnection WebProcessProxy message
+ https://bugs.webkit.org/show_bug.cgi?id=41893
+
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ (WebProcessProxyMessage::):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPluginHostConnection):
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ * UIProcess/WebProcessProxy.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add more parameters to Plugin::initialize
+ https://bugs.webkit.org/show_bug.cgi?id=41890
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::initialize):
+ * WebProcess/Plugins/DummyPlugin.h:
+ * WebProcess/Plugins/Plugin.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebProcess/Plugins/DummyPlugin.h:
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a Plugin abstract base class and a DummyPlugin that implements it
+ https://bugs.webkit.org/show_bug.cgi?id=41885
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add files.
+
+ * WebProcess/Plugins/DummyPlugin.cpp: Added.
+ (WebKit::DummyPlugin::paint):
+ Paint a red rectangle.
+
+ * WebProcess/Plugins/Plugin.cpp: Added.
+ * WebProcess/Plugins/Plugin.h: Added.
+ Add Plugin, an abstract baseclass.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ (WebKit::PluginView::~PluginView):
+ (WebKit::PluginView::paint):
+ (WebKit::PluginView::viewGeometryDidChange):
+ * WebProcess/Plugins/PluginView.h:
+ (WebKit::PluginView::create):
+ Add a Plugin member function and forward PluginView calls to it.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+ Make a DummyPlugin and pass it to the PluginView.
+
+ * win/WebKit2.vcproj:
+ Add files.
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add stubbed out PluginView class
+ https://bugs.webkit.org/show_bug.cgi?id=41879
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add PluginView.cpp and PluginView.h
+
+ * WebProcess/Plugins/PluginView.cpp: Added.
+ (WebKit::PluginView::PluginView):
+ (WebKit::PluginView::~PluginView):
+ (WebKit::PluginView::setFrameRect):
+ (WebKit::PluginView::paint):
+ (WebKit::PluginView::viewGeometryDidChange):
+ (WebKit::PluginView::invalidateRect):
+ Stub out these functions.
+
+ * WebProcess/Plugins/PluginView.h: Added.
+ (WebKit::PluginView::create):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+ Create a plug-in view.
+
+ * win/WebKit2.vcproj:
+ Add PluginView.cpp and PluginView.h.
+
+2010-07-08 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2 on Windows needs a version resource
+ https://bugs.webkit.org/show_bug.cgi?id=41870
+ <rdar://problem/8170501>
+
+ * win/WebKit2.rc: Added.
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.rc: Added.
+ * win/WebKit2WebProcess.vcproj:
+
+2010-07-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=41874
+ Add stubbed out WebBackForwardListProxy
+
+ - No behavior change.
+ - Rename the old WebBackForwardListProxy to WebBackForwardList since it
+ will be the implementation, not the proxy.
+
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBackForwardList.cpp:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/WebBackForwardList.cpp: Copied from UIProcess/WebBackForwardListProxy.cpp.
+ * UIProcess/WebBackForwardList.h: Copied from UIProcess/WebBackForwardListProxy.h.
+ (WebKit::WebBackForwardList::create):
+ * UIProcess/WebBackForwardListProxy.cpp: Removed.
+ * UIProcess/WebBackForwardListProxy.h: Removed.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::backForwardList):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp: Added.
+ * WebProcess/WebPage/WebBackForwardListProxy.h: Added.
+ (WebKit::WebBackForwardListProxy::create):
+ * win/WebKit2.vcproj:
+
+2010-07-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Pass Page to BackForwardControllerClient::createBackForwardList since it
+ may be called before implementations of BackForwardControllerClient have
+ access to a Page.
+
+ * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp:
+ (WebKit::WebBackForwardControllerClient::createBackForwardList):
+ * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h:
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix fallout from Darin's adoptRef assertion changes.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::sharedProcessContext):
+ (WebKit::WebContext::sharedThreadContext):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::createMainFrame):
+ (WebKit::WebFrame::createSubframe):
+ (WebKit::WebFrame::create):
+ (WebKit::WebFrame::WebFrame):
+ * WebProcess/WebPage/WebFrame.h:
+
+2010-07-08 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ WebKit2 should enable DEP (Data Execution Prevention) on Windows via /NXCOMPAT
+ https://bugs.webkit.org/show_bug.cgi?id=41837
+ <rdar://problem/8170505>
+
+ * win/WebKit2WebProcess.vcproj:
+
+2010-07-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
+ Convert BackForwardList to an abstract base class and add BackForwardListImpl
+ as the concrete implementation of it.
+
+ * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp:
+ (WebKit::WebBackForwardControllerClient::createBackForwardList):
+
+2010-07-08 Luiz Agostini <luiz@webkit.org>, Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Improve QtWebkit2 secondary process launching procedure
+ https://bugs.webkit.org/show_bug.cgi?id=41853
+
+ Changing secondary process launching procedure to make sure that the method
+ ProcessLauncher::didFinishLaunchingProcess will only be called after secondary
+ process has been launched and the connection has been stablished between the
+ UIProcess and WebProcess.
+
+ This solves the timing issues ocasionaly observed when launching MiniBrowser.
+
+ QLocalServer object and related code has been removed from the class Connection.
+ Server instances of the Connection class now get the QLocalSocket via ProcessLauncher.
+
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::platformInitialize):
+ (CoreIPC::Connection::platformInvalidate):
+ (CoreIPC::Connection::open):
+
+ Using QProcess* as PlatformProcessIdentifier.
+
+ * Platform/PlatformProcessIdentifier.h:
+
+ A new singleton class named ProcessLauncherHelper was created to handle the QLocalServer
+ object used to receive connections. This class launches the process and waits for it to connect
+ before calling ProcessLauncher::didFinishLaunchingProcess.
+
+ * UIProcess/Launcher/ProcessLauncher.h:
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncherHelper::launch):
+ (WebKit::ProcessLauncherHelper::takePendingConnection):
+ (WebKit::ProcessLauncherHelper::ProcessLauncherHelper):
+ (WebKit::ProcessLauncherHelper::instance):
+ (WebKit::ProcessLauncherHelper::newConnection):
+ (WebKit::ProcessLauncher::launchProcess):
+ (WebKit::ProcessLauncher::terminateProcess):
+ (_qt_takePendingConnection):
+
+2010-07-08 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Random build fixes.
+
+ * Shared/qt/WebEventFactoryQt.cpp:
+ * UIProcess/API/qt/ClientImpl.cpp:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
+ * WebProcess/WebProcess.cpp:
+
+2010-07-07 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Terminate QtWebProcess on exit
+ https://bugs.webkit.org/show_bug.cgi?id=41766
+
+ Call WKPageTerminate to terminate QtWebProcess on exit.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::~QWKPage):
+
+2010-07-07 Steve Falkenburg <sfalken@apple.com>
+
+ Windows release build fix.
+ Don't generate public symbols since this is exceeding address space on our builders.
+
+ * win/WebKit2.vcproj:
+
+2010-07-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
+ Add basic piping for BackForwardControllerClient.
+
+ - Add very basic WebBackForwardControllerClient.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp: Added.
+ (WebKit::WebBackForwardControllerClient::backForwardControllerDestroyed):
+ (WebKit::WebBackForwardControllerClient::createBackForwardList):
+ * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h: Added.
+ (WebKit::WebBackForwardControllerClient::WebBackForwardControllerClient):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ * win/WebKit2.vcproj:
+
+2010-07-07 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add Qt section to the prefix header.
+
+ * WebKit2Prefix.h:
+
+2010-07-07 Antti Koivisto <koivisto@iki.fi>
+
+ Not reviewed.
+
+ Fix build, remove some left over debugging code.
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::readyReadHandler):
+ (CoreIPC::Connection::sendOutgoingMessage):
+
+2010-07-07 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Implement WebPage for Qt.
+
+ * WebProcess/WebPage/qt/WebPageQt.cpp: Added.
+ (WebKit::WebPage::platformInitialize):
+ (WebKit::):
+ (WebKit::WebPage::interpretKeyEvent):
+
+
+2010-07-06 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows WebKit2 build.
+
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::PluginInfoStore::mimeTypeFromExtension):
+
+2010-07-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add PluginInfoStore::findPlugin
+ https://bugs.webkit.org/show_bug.cgi?id=41719
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::getPlugins):
+ (WebKit::PluginInfoStore::findPluginForMIMEType):
+ (WebKit::PluginInfoStore::findPluginForExtension):
+ (WebKit::pathExtension):
+ (WebKit::PluginInfoStore::findPlugin):
+ * UIProcess/Plugins/PluginInfoStore.h:
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::PluginInfoStore::mimeTypeFromExtension):
+
+2010-07-06 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add injected bundle API for exposing console messages.
+
+ - Split WKBundlePageClient into multiple clients matching WKPage.
+ (For now we only have a loader client and a UI client)
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetLoaderClient):
+ (WKBundlePageSetUIClient):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Removed.
+ * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Removed.
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: Copied from WebProcess/InjectedBundle/InjectedBundlePageClient.cpp.
+ (WebKit::InjectedBundlePageLoaderClient::InjectedBundlePageLoaderClient):
+ (WebKit::InjectedBundlePageLoaderClient::initialize):
+ (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: Copied from WebProcess/InjectedBundle/InjectedBundlePageClient.h.
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Added.
+ (WebKit::InjectedBundlePageUIClient::InjectedBundlePageUIClient):
+ (WebKit::InjectedBundlePageUIClient::initialize):
+ (WebKit::InjectedBundlePageUIClient::addMessageToConsole):
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Added.
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::addMessageToConsole):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::initializeInjectedBundleLoaderClient):
+ (WebKit::WebPage::initializeInjectedBundleUIClient):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::injectedBundleLoaderClient):
+ (WebKit::WebPage::injectedBundleUIClient):
+ * mac/WebKit2.exp:
+ * win/WebKit2.vcproj:
+
+2010-07-06 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=41707
+ Add ability to dump frame inner text for the test runner
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopyInnerText):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::innerText):
+ * WebProcess/WebPage/WebFrame.h:
+ * mac/WebKit2.exp:
+
+2010-07-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Only export a single WebKitMain function for the Web Process to call
+ https://bugs.webkit.org/show_bug.cgi?id=41702
+
+ * Shared/CommandLine.h:
+ Add windows CommandLine::parse overload.
+
+ * Shared/win/CommandLineWin.cpp: Added.
+ (WebKit::CommandLine::parse):
+ Move parse overload from WebProcess/win/WebProcessMain.cpp.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ (WebKit::ProcessLauncher::launchProcess):
+ Pass the right mode to.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Update for moves.
+
+ * WebProcess/Launching/mac/WebProcessMain.mm: Removed.
+ * WebProcess/Launching/win/WebProcessWinMain.cpp: Removed.
+ * WebProcess/WebKitMain.cpp: Added.
+ (WebKitMain):
+ (enableTerminationOnHeapCorruption):
+ Add WebKitMain functions for Mac and Windows.
+
+ * WebProcess/WebProcessMain.h: Added.
+ * WebProcess/mac/WebProcessMainMac.mm: Added.
+ (WebKit::WebProcessMain):
+ Add Mac version of WebProcessMain.
+
+ * WebProcess/win/WebProcessMain.cpp: Removed.
+ * WebProcess/win/WebProcessMain.h: Removed.
+ * WebProcess/win/WebProcessMainWin.cpp: Added.
+ (WebKit::WebProcessMain):
+ Add Windows version of WebProcessMain.
+
+ * mac/MainMac.cpp: Added.
+ (main):
+ Add Mac WebProcess main function.
+
+ * mac/WebKit2.exp:
+ Remove functions that we don't need to export.
+
+ * win/MainWin.cpp: Added.
+ (wWinMain):
+ Add Windows WebProcess main function.
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+ Update for moves.
+
+2010-07-05 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] WebKit2 triple click
+ https://bugs.webkit.org/show_bug.cgi?id=41629
+
+ QtWebkit2 triple click implementation.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::mousePressEvent):
+ (QWKPagePrivate::mouseDoubleClickEvent):
+ (QWKPage::timerEvent):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add stubs
+
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp: Copied from WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp.
+ (WebKit::PluginInfoStore::pluginDirectories):
+ (WebKit::PluginInfoStore::pluginPathsInDirectory):
+ (WebKit::PluginInfoStore::getPluginInfo):
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: Added.
+ (WebKit::InjectedBundle::load):
+
+2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add WebErrorsQt
+
+ * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Added.
+ (WebKit::):
+ (WebKit::cancelledError):
+ (WebKit::blockedError):
+ (WebKit::cannotShowURLError):
+ (WebKit::interruptForPolicyChangeError):
+ (WebKit::cannotShowMIMETypeError):
+ (WebKit::fileDoesNotExistError):
+
+2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add Qt C API integration.
+
+ * UIProcess/API/cpp/qt/WKStringQt.cpp: Added.
+ (WKStringCreateWithQString):
+ (WKStringCopyQString):
+ * UIProcess/API/cpp/qt/WKStringQt.h: Added.
+ * UIProcess/API/cpp/qt/WKURLQt.cpp: Added.
+ (WKURLCreateWithQUrl):
+ (WKURLCopyQUrl):
+ * UIProcess/API/cpp/qt/WKURLQt.h: Added.
+
+2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add the Qt process launcher.
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Added.
+ (WebKit::ProcessLauncher::launchProcess):
+ (WebKit::ProcessLauncher::terminateProcess):
+ (WebKit::webThreadBody):
+ (WebKit::ProcessLauncher::createWebThread):
+ (webProcessMain):
+
+2010-07-05 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Implement ChunkedUpdateDrawingArea + Proxy for Qt. Not built yet.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/qt: Added.
+ * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingAreaProxy::page):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+ * WebProcess/WebPage/qt: Added.
+ * WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
+
+2010-07-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add simple command line parser and pass mode argument to the web process
+ https://bugs.webkit.org/show_bug.cgi?id=41586
+
+ * Shared/CommandLine.h:
+ (WebKit::CommandLine::operator[]):
+ Add CommandLine class.
+
+ * Shared/mac/CommandLineMac.cpp:
+ (WebKit::CommandLine::parse):
+ Implement Mac version of CommandLine::parse.
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ Add "legacywebprocess" mode to the posix_spawn call.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add CommandLine to the xcode project.
+
+ * WebProcess/Launching/mac/WebProcessMain.mm:
+ (webProcessMain):
+ (main):
+ Parse the command line and check the mode.
+
+2010-07-04 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ WebProcess crashes in release for simple layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=41575
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageCopyRenderTreeExternalRepresentation): ref external representation StringImpl*
+ before taking it out of its parent String, to avoid returning freed memory.
+
+2010-07-03 Maciej Stachowiak <mjs@apple.com>
+
+ Rubber stamped by Anders Carlsson.
+
+ Add stdint.h include to fix WebKitTestRunner build.
+
+ * UIProcess/API/C/WKPage.h:
+
+2010-07-02 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Wrong method name in file Connection.h
+ https://bugs.webkit.org/show_bug.cgi?id=41536
+
+ Method openConnectionHandler was spelled as openConnection in class Connection.
+
+ * Platform/CoreIPC/Connection.h:
+
+2010-07-02 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Sam Weinig.
+
+ Adding notification and touch events methods to WebChromeClient
+ https://bugs.webkit.org/show_bug.cgi?id=41527
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::notificationPresenter):
+ (WebKit::WebChromeClient::needTouchEvents):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+2010-07-02 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Sam Weinig.
+
+ Removing CoreFoundation.h include from WKFrame.h
+ https://bugs.webkit.org/show_bug.cgi?id=41528
+
+ * UIProcess/API/C/WKFrame.h:
+
+2010-07-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=41540
+ WebKit2: Add InjectedCode API to get a list of subframes
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopyChildFrames):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::childFrameRef):
+ (WebKit::childFrameDeref):
+ (WebKit::WebFrame::childFrames):
+ * WebProcess/WebPage/WebFrame.h:
+ * mac/WebKit2.exp:
+
+2010-07-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Turn off the Objective-C garbage collection for the WebProcess.
+
+ * Configurations/WebProcess.xcconfig:
+ * WebProcess/Launching/mac/WebProcessMain.mm:
+ (main): Assert that GC is off.
+
+2010-07-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ There is no longer a reason to check that the process is valid when posting
+ a message to the bundle, the process code will take care of that for us.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::postMessageToInjectedBundle):
+
+2010-07-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Use send instead of connection()->send(), now that connections() are created
+ asynchronously it can be null at this point and the message needs to be queued.
+
+ * UIProcess/mac/WebProcessProxyMac.mm:
+ (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
+
+2010-07-01 Steve Falkenburg <sfalken@apple.com>
+
+ Even more Windows build fixing.
+ Removed bogus post-build event commands.
+ Removed unnecessary link libraries.
+
+ * win/WebKit2.vcproj:
+
+2010-07-01 Steve Falkenburg <sfalken@apple.com>
+
+ Fix Windows while not breaking Qt (didn't realize this was building for Qt).
+
+ * WebProcess/WebProcess.cpp:
+
+2010-07-01 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * win/WebKit2Generated.make:
+
+2010-07-01 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * WebProcess/WebProcess.cpp:
+
+2010-07-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Make WebKit2 compile (though not work) on Leopard.
+
+ * Platform/WorkQueue.h:
+ * Platform/mac/WorkQueueMac.cpp:
+ (WorkQueue::EventSource::EventSource):
+ (WorkQueue::scheduleWork):
+ (WorkQueue::registerMachPortEventHandler):
+ (WorkQueue::unregisterMachPortEventHandler):
+ (WorkQueue::platformInitialize):
+ (WorkQueue::platformInvalidate):
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
+ (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
+ * UIProcess/mac/WebProcessProxyMac.mm:
+ (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ (WebKit::LayerBackedDrawingArea::setNeedsDisplay):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::platformClear):
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+
+2010-07-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=41491
+ Add first stab at back/forward list API.
+
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBackForwardList.cpp: Added.
+ * UIProcess/API/C/WKBackForwardList.h: Added.
+ * UIProcess/API/C/WKBackForwardListItem.cpp: Added.
+ * UIProcess/API/C/WKBackForwardListItem.h: Added.
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WebKit2.h:
+ * UIProcess/WebBackForwardListItem.cpp: Added.
+ * UIProcess/WebBackForwardListItem.h: Added.
+ * UIProcess/WebBackForwardListProxy.cpp: Added.
+ * UIProcess/WebBackForwardListProxy.h: Added.
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-07-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make process launching asynchronous
+ https://bugs.webkit.org/show_bug.cgi?id=41489
+
+ * Platform/CoreIPC/Connection.h:
+ Make OutgoingMessage public.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
+ Don't wait for a paint reply when the process is starting up.
+
+ * UIProcess/Launcher/ProcessLauncher.cpp: Added.
+ Add new ProcessLauncher class.
+
+ (WebKit::processLauncherWorkQueue):
+ Returns the work queue where process launching will happen.
+
+ (WebKit::ProcessLauncher::ProcessLauncher):
+ Schedule launching the process.
+
+ (WebKit::ProcessLauncher::didFinishLaunchingProcess):
+ Call the client method.
+
+ (WebKit::ProcessLauncher::invalidate):
+ Set the client to 0.
+
+ * UIProcess/Launcher/ProcessLauncher.h: Added.
+ * UIProcess/Launcher/WebProcessLauncher.h: Removed.
+ Rename WebProcessLauncher.h -> ProcessLauncher.h
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm: Added.
+ * UIProcess/Launcher/mac/WebProcessLauncher.mm: Removed.
+ Rename WebProcessLauncher.mm -> ProcessLauncherMac.mm, update for ProcessLauncher changes.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp: Added.
+ * UIProcess/Launcher/win/WebProcessLauncher.cpp: Removed.
+ Rename WebProcessLauncher.cpp -> ProcessLauncherWin.cpp, update for ProcessLauncher changes.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::~WebProcessProxy):
+ Delete any unsent messages.
+
+ (WebKit::WebProcessProxy::connect):
+ Use the new ProcessLauncher.
+
+ (WebKit::WebProcessProxy::sendMessage):
+ If we're waiting for the process to launch, the messages need to be enqueued.
+
+ (WebKit::WebProcessProxy::didFinishLaunching):
+ Send the outgoing messages.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Update for renames.
+
+2010-07-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Get accelerated compositing working with webkit2
+ https://bugs.webkit.org/show_bug.cgi?id=41084
+
+ Start up the CA render server in the UI process (currently, at launch time), and
+ pass the server port over to the web process for use by the layer-backed drawing area.
+
+ Fix some style issues pointed out by Dan Bernstein.
+
+ Implement the WebChromeClient methods that pass the attach/detach calls through
+ to the drawing area.
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _startAcceleratedCompositing:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::WebProcessProxy):
+ (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
+ * UIProcess/mac/WebProcessProxyMac.mm: Added.
+ (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::attachRootGraphicsLayer):
+ (WebKit::WebChromeClient::scheduleCompositingLayerSync):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ (WebKit::WebProcess::compositingRenderServerPort):
+
+2010-07-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Get accelerated compositing working with webkit2
+ https://bugs.webkit.org/show_bug.cgi?id=41084
+
+ Add a new kind of DrawingArea, which is a LayerBackedDrawingArea, which will be used
+ when the page goes into accelerated compositing mode. It is not wired up yet.
+
+ * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: New 'attach' and 'detach' messages
+ related to accelerated compositing.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _startAcceleratedCompositing:]):
+ (-[WKView _stopAcceleratedCompositing]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ Add a subview of the WKView which has layer-backing enabled, and put the drawing area's
+ layer inside of that.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::attachCompositingContext):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::detachCompositingContext): These methods will never be called
+ on the ChunkedUpdateDrawingArea. Stub them out.
+
+ * UIProcess/DrawingAreaProxy.h:
+ Add attachCompositingContext() and detachCompositingContext() methods, and a new drawing area
+ type to the enum.
+
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp: Added.
+ * UIProcess/LayerBackedDrawingAreaProxy.h: Added.
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: Added.
+
+ * WebKit2.xcodeproj/project.pbxproj: Add LayerBackedDrawingArea files.
+
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: Add virtual methods stubs.
+
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create): Create a LayerBackedDrawingArea if asked.
+ * WebProcess/WebPage/DrawingArea.h: New LayerBackedDrawingAreaType type, and new virtual
+ methods related to accelerated compositing.
+
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp: Added.
+ * WebProcess/WebPage/LayerBackedDrawingArea.h: Added.
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: Added.
+
+2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Rubberstamped by Sam Weinig.
+
+ Export symbols on Linux with GCC, like JSC does.
+
+ * UIProcess/API/C/WKBase.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+
+2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add implementation of the UI and loader client for Qt.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/ClientImpl.cpp: Added.
+ (toQWKPage):
+ (qt_wk_didStartProvisionalLoadForFrame):
+ (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame):
+ (qt_wk_didFailProvisionalLoadWithErrorForFrame):
+ (qt_wk_didCommitLoadForFrame):
+ (qt_wk_didFinishLoadForFrame):
+ (qt_wk_didFailLoadWithErrorForFrame):
+ (qt_wk_didReceiveTitleForFrame):
+ (qt_wk_didFirstLayoutForFrame):
+ (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
+ (qt_wk_didStartProgress):
+ (qt_wk_didChangeProgress):
+ (qt_wk_didFinishProgress):
+ (qt_wk_didBecomeUnresponsive):
+ (qt_wk_didBecomeResponsive):
+ (qt_wk_createNewPage):
+ (qt_wk_showPage):
+ (qt_wk_close):
+ (qt_wk_runJavaScriptAlert):
+ * UIProcess/API/qt/ClientImpl.h: Added.
+
+2010-07-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Change the CoreIPC connection identifier to be a HANDLE on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=41479
+
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::createServerAndClientIdentifiers):
+ New function that creates a server and client HANDLE.
+
+ (CoreIPC::Connection::platformInitialize):
+ Don't open the connections here.
+
+ (CoreIPC::Connection::readEventHandler):
+ (CoreIPC::Connection::open):
+
+ * UIProcess/Launcher/win/WebProcessLauncher.cpp:
+ (WebKit::webThreadBody):
+ Get the handle from the thread.
+
+ (WebKit::launchWebProcess):
+ Mark the client identifier as inheritable and pass it along to the web process.
+
+ * WebProcess/win/WebProcessMain.cpp:
+ (WebKit::CommandLine::CommandLine):
+ (WebKit::CommandLine::parse):
+ (WebKit::CommandLine::operator[]):
+ Add simple command line parser.
+
+ (WebKit::WebProcessMain):
+ Get the handle identifier from the command line.
+
+ * WebProcess/win/WebProcessMain.h:
+
+2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add initial Qt API for WebKit2
+
+ * UIProcess/API/qt/WKView.h: Added.
+ * UIProcess/API/qt/qgraphicswkview.cpp: Added.
+ (QGraphicsWKViewPrivate::pageRef):
+ (QGraphicsWKView::QGraphicsWKView):
+ (QGraphicsWKView::~QGraphicsWKView):
+ (QGraphicsWKView::page):
+ (QGraphicsWKView::paint):
+ (QGraphicsWKView::setGeometry):
+ (QGraphicsWKView::load):
+ (QGraphicsWKView::setUrl):
+ (QGraphicsWKView::url):
+ (QGraphicsWKView::title):
+ (QGraphicsWKView::triggerPageAction):
+ (QGraphicsWKView::back):
+ (QGraphicsWKView::forward):
+ (QGraphicsWKView::reload):
+ (QGraphicsWKView::stop):
+ (QGraphicsWKView::itemChange):
+ (QGraphicsWKView::event):
+ (QGraphicsWKView::sizeHint):
+ (QGraphicsWKView::inputMethodQuery):
+ (QGraphicsWKView::keyPressEvent):
+ (QGraphicsWKView::keyReleaseEvent):
+ (QGraphicsWKView::hoverMoveEvent):
+ (QGraphicsWKView::mouseMoveEvent):
+ (QGraphicsWKView::mousePressEvent):
+ (QGraphicsWKView::mouseReleaseEvent):
+ (QGraphicsWKView::mouseDoubleClickEvent):
+ (QGraphicsWKView::wheelEvent):
+ (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
+ (QGraphicsWKView::visibleRect):
+ * UIProcess/API/qt/qgraphicswkview.h: Added.
+ * UIProcess/API/qt/qwkpage.cpp: Added.
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPagePrivate::~QWKPagePrivate):
+ (QWKPagePrivate::init):
+ (QWKPagePrivate::toolTipChanged):
+ (QWKPagePrivate::paint):
+ (QWKPagePrivate::keyPressEvent):
+ (QWKPagePrivate::keyReleaseEvent):
+ (QWKPagePrivate::mouseMoveEvent):
+ (QWKPagePrivate::mousePressEvent):
+ (QWKPagePrivate::mouseReleaseEvent):
+ (QWKPagePrivate::mouseDoubleClickEvent):
+ (QWKPagePrivate::wheelEvent):
+ (QWKPagePrivate::updateAction):
+ (QWKPagePrivate::updateNavigationActions):
+ (QWKPagePrivate::_q_webActionTriggered):
+ (QWKPage::QWKPage):
+ (QWKPage::~QWKPage):
+ (QWKPage::pageRef):
+ (QWKPage::setCreateNewPageFunction):
+ (QWKPage::load):
+ (QWKPage::setUrl):
+ (QWKPage::url):
+ (QWKPage::title):
+ (QWKPage::setViewportSize):
+ (QWKPage::requestZoomRect):
+ (QWKPage::triggerAction):
+ (QWKPage::action):
+ * UIProcess/API/qt/qwkpage.h: Added.
+ * UIProcess/API/qt/qwkpage_p.h: Added.
+ (QWKPagePrivate::get):
+ (QWKPagePrivate::processDidExit):
+ (QWKPagePrivate::processDidRevive):
+ (QWKPagePrivate::takeFocus):
+
+2010-07-01 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ * mac/WebKit2.exp:
+ Added _WKFramePolicyListenerDownload and _WKFramePolicyListenerIgnore.
+
+2010-07-01 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r62267.
+ http://trac.webkit.org/changeset/62267
+ https://bugs.webkit.org/show_bug.cgi?id=41468
+
+ broke stuff (Requested by weinig on #webkit).
+
+ * UIProcess/API/C/WKBase.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+
+2010-07-01 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ * mac/WebKit2.exp:
+ Added _WKFramePolicyListenerRelease and _WKFramePolicyListenerRetain.
+
+2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add our event factory for converting Qt events to something WebKit2
+ understands.
+
+ * Shared/qt/WebEventFactoryQt.cpp: Added.
+ (WebKit::mouseButtonForEvent):
+ (WebKit::webEventTypeForEvent):
+ (WebKit::modifiersForEvent):
+ (WebKit::WebEventFactory::createWebMouseEvent):
+ (WebKit::WebEventFactory::createWebWheelEvent):
+ (WebKit::WebEventFactory::createWebKeyboardEvent):
+ * Shared/qt/WebEventFactoryQt.h: Added.
+
+2010-07-01 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add UpdateChunk. This one is mmap based, using Qt abstractions.
+
+ * Shared/qt: Added.
+ * Shared/qt/UpdateChunk.cpp: Added.
+ (WebKit::MappedMemory::markUsed):
+ (WebKit::MappedMemory::markFree):
+ (WebKit::MappedMemory::isFree):
+ (WebKit::mapMemory):
+ (WebKit::mapFile):
+ (WebKit::UpdateChunk::UpdateChunk):
+ (WebKit::UpdateChunk::~UpdateChunk):
+ (WebKit::UpdateChunk::data):
+ (WebKit::UpdateChunk::encode):
+ (WebKit::UpdateChunk::decode):
+ (WebKit::UpdateChunk::createImage):
+ * Shared/qt/UpdateChunk.h: Added.
+ (WebKit::UpdateChunk::rect):
+ (WebKit::UpdateChunk::size):
+
+2010-07-01 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Include some stdlib headers to fix linux build.
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ * Platform/CoreIPC/ArgumentEncoder.cpp:
+ * UIProcess/WebLoaderClient.cpp:
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebUIClient.cpp:
+
+2010-07-01 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Implement CoreIPC::Connection and PlatformProcessIdentifier for Qt. Not built yet.
+
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/qt: Added.
+ * Platform/CoreIPC/qt/ConnectionQt.cpp: Added.
+ (CoreIPC::Connection::platformInitialize):
+ (CoreIPC::Connection::platformInvalidate):
+ (CoreIPC::Connection::newConnectionHandler):
+ (CoreIPC::Connection::readyReadHandler):
+ (CoreIPC::Connection::openConnection):
+ (CoreIPC::Connection::open):
+ (CoreIPC::Connection::sendOutgoingMessage):
+ * Platform/PlatformProcessIdentifier.h:
+
+2010-07-01 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Implement WorkQueue for Qt. Not built yet.
+
+ * Platform/WorkQueue.h:
+ * Platform/qt/WorkQueueQt.cpp: Added.
+ (WorkQueue::WorkItemQt::WorkItemQt):
+ (WorkQueue::WorkItemQt::~WorkItemQt):
+ (WorkQueue::WorkItemQt::execute):
+ (WorkQueue::WorkItemQt::timerEvent):
+ (WorkQueue::connectSignal):
+ (WorkQueue::disconnectSignal):
+ (WorkQueue::platformInitialize):
+ (WorkQueue::platformInvalidate):
+ (WorkQueue::scheduleWork):
+
+2010-07-01 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Implement RunLoop for Qt. Not built yet.
+
+ * Platform/RunLoop.h:
+ * Platform/qt: Added.
+ * Platform/qt/RunLoopQt.cpp: Added.
+ (RunLoop::TimerObject::TimerObject):
+ (RunLoop::TimerObject::performWork):
+ (RunLoop::TimerObject::wakeUp):
+ (RunLoop::TimerObject::timerEvent):
+ (RunLoop::run):
+ (RunLoop::stop):
+ (RunLoop::RunLoop):
+ (RunLoop::~RunLoop):
+ (RunLoop::wakeUp):
+ (RunLoop::TimerBase::timerFired):
+ (RunLoop::TimerBase::TimerBase):
+ (RunLoop::TimerBase::~TimerBase):
+ (RunLoop::TimerBase::start):
+ (RunLoop::TimerBase::stop):
+ (RunLoop::TimerBase::isActive):
+
+2010-06-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=41426
+ Add ImmutableArray class and WKArrayRef API to go with it. This will be used
+ in a few follow up patches.
+
+ * Shared/ImmutableArray.cpp: Added.
+ (WebKit::ImmutableArray::ImmutableArray):
+ (WebKit::ImmutableArray::~ImmutableArray):
+ * Shared/ImmutableArray.h: Added.
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKArray.cpp: Added.
+ * UIProcess/API/C/WKArray.h: Added.
+ * UIProcess/API/C/WKBase.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * mac/WebKit2.exp:
+ * win/WebKit2.vcproj:
+
+2010-06-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add WebProcessProxy::send
+ https://bugs.webkit.org/show_bug.cgi?id=41416
+
+ * Platform/CoreIPC/Connection.h:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::update):
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::postMessageToInjectedBundle):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::tryClose):
+ (WebKit::WebPageProxy::loadURL):
+ (WebKit::WebPageProxy::stopLoading):
+ (WebKit::WebPageProxy::reload):
+ (WebKit::WebPageProxy::goForward):
+ (WebKit::WebPageProxy::goBack):
+ (WebKit::WebPageProxy::setFocused):
+ (WebKit::WebPageProxy::setActive):
+ (WebKit::WebPageProxy::mouseEvent):
+ (WebKit::WebPageProxy::wheelEvent):
+ (WebKit::WebPageProxy::keyEvent):
+ (WebKit::WebPageProxy::receivedPolicyDecision):
+ (WebKit::WebPageProxy::runJavaScriptInMainFrame):
+ (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
+ (WebKit::WebPageProxy::preferencesDidChange):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::WebProcessProxy):
+ (WebKit::WebProcessProxy::sendMessage):
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::connection):
+ (WebKit::WebProcessProxy::send):
+
+2010-06-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a private Message class template
+ https://bugs.webkit.org/show_bug.cgi?id=41370
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::Message::Message):
+ (CoreIPC::Connection::Message::arguments):
+
+2010-06-28 John Gregg <johnnyg@google.com>
+
+ Unreviewed, build fix (removing merge conflict from previous).
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-06-23 John Gregg <johnnyg@google.com>
+
+ Reviewed by Kent Tamura.
+
+ add ENABLE_DIRECTORY_UPLOAD build support
+ https://bugs.webkit.org/show_bug.cgi?id=41100
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-06-28 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped Geoffrey Garen.
+
+ Add WKBundleFrameIsMainFrame to exports file.
+
+ * mac/WebKit2.exp:
+
+2010-06-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=41288
+ WebKit2: Add frame API for InjectedBundle code
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Added.
+ (WKBundleFrameIsMainFrame):
+ (WKBundleFrameGetURL):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageGetMainFrame):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::isMainFrame):
+ (WebKit::WebFrame::url):
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::mainFrame):
+ * mac/WebKit2.exp:
+ * win/WebKit2.vcproj:
+
+2010-06-27 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Maciej Stachowiak.
+
+ Update guards related to blocks to check whether __BLOCKS__ is defined, rather than checking its value.
+ This matches how similar checks are performed in system headers, and avoids a compile error when __BLOCKS__
+ is not defined.
+
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WKPagePrivate.h:
+
+2010-06-26 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add an ENABLE_WEB_TIMING option for enabling Web Timing support.
+ https://bugs.webkit.org/show_bug.cgi?id=38924
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-06-25 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * win/WebKit2.vcproj:
+
+2010-06-25 Ada Chan <adachan@apple.com>
+
+ Rubber-stamped by Mark Rowe.
+
+ Add additional include search paths relative to $(WebKitLibrariesDir) to fix a build.
+
+ * win/WebKit2.vcproj:
+
+2010-06-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WKBundlePageRenderTreeExternalRepresentation really needs to be
+ WKBundlePageCopyRenderTreeExternalRepresentation so we don't have dangling
+ pointers and adhere to naming conventions.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageCopyRenderTreeExternalRepresentation):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ * mac/WebKit2.exp:
+
+2010-06-24 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * win/WebKit2.make: Added.
+ * win/WebKit2.submit.sln: Added.
+
+2010-06-24 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * win/WebKit2WebProcess.vcproj:
+
+2010-06-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brady Eidson.
+
+ Add WKBundlePageRenderTreeExternalRepresentation for WebKitTestRunner.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageRenderTreeExternalRepresentation):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::renderTreeExternalRepresentation):
+ (WebKit::WebPage::getRenderTreeExternalRepresentation):
+ * WebProcess/WebPage/WebPage.h:
+ * mac/WebKit2.exp:
+ * win/WebKit2.vcproj:
+
+2010-06-24 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Ada Chan.
+
+ * mac/WebKit2.exp:
+ Added _WKNavigationDataRelease and _WKNavigationDataRetain.
+
+2010-06-24 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ * mac/WebKit2.exp:
+ Added _WKPageReloadFromOrigin.
+
+2010-06-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=41168
+ <rdar://problem/8124605>
+ Webkit2: Add WKPageReloadFromOrigin() to match old-WebKit functionality
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageReload):
+ (WKPageReloadFromOrigin):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::reload):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::reload):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-06-24 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ Fixes <http://webkit.org/b/41158>.
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/win/UpdateChunk.cpp: Updated header name.
+
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: Added.
+ (WebKit::PluginInfoStore::pluginDirectories):
+ (WebKit::PluginInfoStore::pluginPathsInDirectory):
+ (WebKit::PluginInfoStore::getPluginInfo):
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ Stubbed these out.
+
+ * win/WebKit2.vcproj: Added UIProcess/Plugins to the include path for
+ all configurations. Added UIProcess/Plugins files to the project.
+
+2010-06-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Have the UI process compute the plug-in data
+ https://bugs.webkit.org/show_bug.cgi?id=41118
+
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ (WebProcessProxyMessage::):
+ Add GetPlugin message kind.
+
+ * Shared/WebCoreArgumentCoders.h:
+ Add argument coders for PluginInfo and MimeClassInfo.
+
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::safeCreateCFString):
+ (WebKit::PluginInfoStore::pluginPathsInDirectory):
+ (WebKit::PluginInfoStore::getPluginInfo):
+ Use safeCreateCFString.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPlugins):
+ Ask the plug-in info store for the plug-in list.
+
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ Handle GetPlugins.
+
+ * UIProcess/WebProcessProxy.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::objectContentType):
+ Implement.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::populatePluginCache):
+ Send a sync GetPlugins message.
+
+2010-06-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add ArgumentCoder for vectors.
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+ (CoreIPC::):
+
+2010-06-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Rename WebCoreTypeArgumentMarshalling.h to WebCoreArgumentCoders.h
+
+ * Shared/WebCoreArgumentCoders.h: Copied from Shared/WebCoreTypeArgumentMarshalling.h.
+ * Shared/WebCoreTypeArgumentMarshalling.h: Removed.
+ * Shared/WebEvent.h:
+ * Shared/WebNavigationDataStore.h:
+ * Shared/WebPreferencesStore.h:
+ * Shared/mac/UpdateChunk.cpp:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ * UIProcess/WebContext.cpp:
+ * UIProcess/WebPageProxy.cpp:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebProcess.cpp:
+
+2010-06-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ MessageIDs should always have the most significant bit zeroed out
+ https://bugs.webkit.org/show_bug.cgi?id=41112
+
+ The most significant bit is used by the Mac implementation of CoreIPC, and
+ should always be zero in MessageID objects.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::waitForMessage):
+ * Platform/CoreIPC/MessageID.h:
+ (CoreIPC::MessageID::):
+ (CoreIPC::MessageID::MessageID):
+ (CoreIPC::MessageID::operator==):
+ (CoreIPC::MessageID::fromInt):
+ (CoreIPC::MessageID::isSync):
+ (CoreIPC::MessageID::stripMostSignificantBit):
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::sendOutgoingMessage):
+ (CoreIPC::createArgumentDecoder):
+
+2010-06-23 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ * mac/WebKit2.exp:
+ Added yet another symbol needed by Mac clients.
+
+2010-06-23 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ * mac/WebKit2.exp:
+ Added another symbol needed by Mac clients.
+
+2010-06-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename SimpleArgumentCoder.h to ArgumentCoders.h
+
+ * Platform/CoreIPC/ArgumentCoders.h: Copied from Platform/CoreIPC/SimpleArgumentCoder.h.
+ * Platform/CoreIPC/SimpleArgumentCoder.h: Removed.
+ * Shared/WebCoreTypeArgumentMarshalling.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-06-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a plug-in info cache to WebPlatformStrategies
+ https://bugs.webkit.org/show_bug.cgi?id=41087
+
+ This is in preparation for proxying the getPlugins call over to the UI process.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::WebPlatformStrategies):
+ (WebKit::WebPlatformStrategies::populatePluginCache):
+ (WebKit::WebPlatformStrategies::refreshPlugins):
+ (WebKit::WebPlatformStrategies::getPluginInfo):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2010-06-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by John Sullivan.
+
+ Stop silently ignoring crashes.
+
+ * WebProcess/Launching/mac/WebProcessMain.mm:
+
+2010-06-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add missing include to WKRetainPtr.
+
+ * UIProcess/API/cpp/WKRetainPtr.h:
+
+2010-06-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=41073
+ WebKit2: Flesh out more of the InjectedBundle client API
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::willDestroyPage):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp:
+ (WebKit::InjectedBundlePageClient::didStartProvisionalLoadForFrame):
+ (WebKit::InjectedBundlePageClient::didReceiveServerRedirectForProvisionalLoadForFrame):
+ (WebKit::InjectedBundlePageClient::didFailProvisionalLoadWithErrorForFrame):
+ (WebKit::InjectedBundlePageClient::didCommitLoadForFrame):
+ (WebKit::InjectedBundlePageClient::didFinishLoadForFrame):
+ (WebKit::InjectedBundlePageClient::didFailLoadWithErrorForFrame):
+ (WebKit::InjectedBundlePageClient::didReceiveTitleForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageClient.h:
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+ (WebKit::InjectedBundle::load): Add some error logging on failure to load the bundle.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::close):
+ * mac/WebKit2.exp:
+
+2010-06-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a SimpleArgumentCoder class template that works on POD types
+ https://bugs.webkit.org/show_bug.cgi?id=41023
+
+ * Platform/CoreIPC/SimpleArgumentCoder.h: Added.
+ (CoreIPC::SimpleArgumentCoder::encode):
+ (CoreIPC::SimpleArgumentCoder::decode):
+ * Shared/WebCoreTypeArgumentMarshalling.h:
+ (CoreIPC::):
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-06-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Use the ArgumentCoder class template for decoding
+ https://bugs.webkit.org/show_bug.cgi?id=41021
+
+ * Platform/CoreIPC/ArgumentCoder.h:
+ (CoreIPC::ArgumentCoder::decode):
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ (CoreIPC::ArgumentDecoder::decode):
+ * Shared/WebCoreTypeArgumentMarshalling.h:
+ (CoreIPC::):
+
+2010-06-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Change the encode functions to be specializations of a class template
+ https://bugs.webkit.org/show_bug.cgi?id=41015
+
+ * Platform/CoreIPC/ArgumentCoder.h: Added.
+ (CoreIPC::ArgumentCoder::encode):
+ * Platform/CoreIPC/ArgumentEncoder.h:
+ (CoreIPC::ArgumentEncoder::encode):
+ * Shared/WebCoreTypeArgumentMarshalling.h:
+ (CoreIPC::):
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-06-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement PluginInfoStore::shouldUsePlugin.
+
+ * UIProcess/Plugins/PluginInfoStore.h:
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::PluginInfoStore::getPluginInfo):
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-06-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Support reading plug-in info from Carbon resources
+ https://bugs.webkit.org/show_bug.cgi?id=40959
+
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::ResourceMap::ResourceMap):
+ (WebKit::ResourceMap::~ResourceMap):
+ (WebKit::ResourceMap::isValid):
+ (WebKit::getStringListResource):
+ (WebKit::getPluginInfoFromCarbonResources):
+ (WebKit::PluginInfoStore::getPluginInfo):
+
+2010-06-21 Anders Carlsson <andersca@apple.com>
+
+ Build fix.
+
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::PluginInfoStore::getPluginInfo):
+
+2010-06-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Have PluginInfoStoreMac actually get plug-in info and populate the plug-in list
+ https://bugs.webkit.org/show_bug.cgi?id=40957
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::loadPluginsIfNecessary):
+ (WebKit::PluginInfoStore::loadPluginsInDirectory):
+ (WebKit::PluginInfoStore::loadPlugin):
+ (WebKit::PluginInfoStore::getPlugins):
+ * UIProcess/Plugins/PluginInfoStore.h:
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: Added.
+ (WebKit::PluginInfoStore::pluginDirectories):
+ (WebKit::PluginInfoStore::pluginPathsInDirectory):
+ (WebKit::getPluginArchitecture):
+ (WebKit::getPluginInfoFromPropertyLists):
+ (WebKit::PluginInfoStore::getPluginInfo):
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-06-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add PluginInfoStore class
+ https://bugs.webkit.org/show_bug.cgi?id=40949
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ * Shared/WebPreferencesStore.h:
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ Add plugInsEnabled to the preferences store.
+
+ * UIProcess/Plugins: Added.
+ * UIProcess/Plugins/PluginInfoStore.cpp: Added.
+ (WebKit::PluginInfoStore::shared):
+ (WebKit::PluginInfoStore::PluginInfoStore):
+ (WebKit::PluginInfoStore::refresh):
+ (WebKit::PluginInfoStore::getPlugins):
+ * UIProcess/Plugins/PluginInfoStore.h: Added.
+ * UIProcess/Plugins/mac: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::refreshPlugins):
+ (WebKit::WebPlatformStrategies::getPluginInfo):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+
+2010-06-21 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Rename DrawingAreaProxyUpdateChunk to ChunkedUpdateDrawingArea
+ https://bugs.webkit.org/show_bug.cgi?id=40948
+
+ Rename UIProcess version of DrawingAreaUpdateChunk to ChunkedUpdateDrawingAreaProxy,
+ and rename the Mac/Win versions of the various DrawingArea files too.
+
+ Also rename the DrawingAreaUpdateChunkType enum to ChunkedUpdateDrawingAreaType.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:]):
+ * UIProcess/ChunkedUpdateDrawingArea.cpp: Removed.
+ * UIProcess/ChunkedUpdateDrawingArea.h: Removed.
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::~ChunkedUpdateDrawingAreaProxy):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::update):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveMessage):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h: Added.
+ (WebKit::ChunkedUpdateDrawingAreaProxy::encode):
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::):
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: Added.
+ (WebKit::ChunkedUpdateDrawingAreaProxy::page):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+ * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm: Removed.
+ * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingAreaProxy::page):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+ * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp: Removed.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::~ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::invalidateWindow):
+ (WebKit::ChunkedUpdateDrawingArea::invalidateContentsAndWindow):
+ (WebKit::ChunkedUpdateDrawingArea::invalidateContentsForSlowScroll):
+ (WebKit::ChunkedUpdateDrawingArea::scroll):
+ (WebKit::ChunkedUpdateDrawingArea::setNeedsDisplay):
+ (WebKit::ChunkedUpdateDrawingArea::display):
+ (WebKit::ChunkedUpdateDrawingArea::scheduleDisplay):
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
+ (WebKit::ChunkedUpdateDrawingArea::suspendPainting):
+ (WebKit::ChunkedUpdateDrawingArea::resumePainting):
+ (WebKit::ChunkedUpdateDrawingArea::didUpdate):
+ (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: Added.
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::):
+ * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp: Removed.
+ * WebProcess/WebPage/DrawingAreaUpdateChunk.h: Removed.
+ * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunkMac.cpp: Removed.
+ * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp: Removed.
+ * win/WebKit2.vcproj:
+
+2010-06-21 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Rename DrawingAreaProxyUpdateChunk to ChunkedUpdateDrawingArea
+ https://bugs.webkit.org/show_bug.cgi?id=40948
+
+ Rename DrawingAreaUpdateChunk to ChunkedUpdateDrawingArea.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:]):
+ * UIProcess/ChunkedUpdateDrawingArea.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::~ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::paint):
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
+ (WebKit::ChunkedUpdateDrawingArea::setPageIsVisible):
+ (WebKit::ChunkedUpdateDrawingArea::didSetSize):
+ (WebKit::ChunkedUpdateDrawingArea::update):
+ (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
+ * UIProcess/ChunkedUpdateDrawingArea.h: Added.
+ (WebKit::ChunkedUpdateDrawingArea::encode):
+ * UIProcess/DrawingAreaProxyUpdateChunk.cpp: Removed.
+ * UIProcess/DrawingAreaProxyUpdateChunk.h: Removed.
+ * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm:
+ (WebKit::ChunkedUpdateDrawingArea::page):
+ (WebKit::ChunkedUpdateDrawingArea::ensureBackingStore):
+ (WebKit::ChunkedUpdateDrawingArea::invalidateBackingStore):
+ (WebKit::ChunkedUpdateDrawingArea::platformPaint):
+ (WebKit::ChunkedUpdateDrawingArea::drawUpdateChunkIntoBackingStore):
+ * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::page):
+ (WebKit::ChunkedUpdateDrawingArea::ensureBackingStore):
+ (WebKit::ChunkedUpdateDrawingArea::invalidateBackingStore):
+ (WebKit::ChunkedUpdateDrawingArea::platformPaint):
+ (WebKit::ChunkedUpdateDrawingArea::drawUpdateChunkIntoBackingStore):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-06-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=40940
+ Add message passing support to the WebKit2 API.
+
+ Adds message passing for both InjectedBundle -> WebContext
+ and WebContext -> InjectedBundle.
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: Added.
+ (WebProcessProxyMessage::):
+ (CoreIPC::):
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetInjectedBundleClient):
+ (WKContextPostMessageToInjectedBundle):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::initializeInjectedBundleClient):
+ (WebKit::WebContext::forwardMessageToWebContext):
+ (WebKit::WebContext::postMessageToInjectedBundle):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebContextInjectedBundleClient.cpp: Added.
+ (WebKit::WebContextInjectedBundleClient::WebContextInjectedBundleClient):
+ (WebKit::WebContextInjectedBundleClient::initialize):
+ (WebKit::WebContextInjectedBundleClient::didRecieveMessageFromInjectedBundle):
+ * UIProcess/WebContextInjectedBundleClient.h: Added.
+ * UIProcess/WebProcessManager.cpp:
+ (WebKit::WebProcessManager::processDidClose):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveInjectedBundleMessage):
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ * UIProcess/WebProcessProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundlePostMessage):
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::postMessage):
+ (WebKit::InjectedBundle::didCreatePage):
+ (WebKit::InjectedBundle::didRecieveMessage):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::loadInjectedBundle):
+ (WebKit::WebProcess::forwardMessageToInjectedBundle):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ * mac/WebKit2.exp:
+ * win/WebKit2.vcproj:
+
+2010-06-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make WebKit2 build with clang++
+
+ * Platform/CoreIPC/Connection.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView keyUp:]):
+ (-[WKView keyDown:]):
+ * UIProcess/WebHistoryClient.h:
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebProcess.h:
+
+2010-06-21 Satish Sampath <satish@chromium.org>
+
+ Reviewed by Steve Block.
+
+ Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
+
+ Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
+ https://bugs.webkit.org/show_bug.cgi?id=40878
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-06-20 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add #if USE(PLATFORM_STRATEGIES) where WebPlatformStrategies is being used.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ Only initialize the web platform strategies if PLATFORM_STRATEGIES is being used.
+
+2010-06-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=40882
+ Add ability to have a WebProcess per WebContext.
+
+ - Move to a one-to-one correspondence of WebContexts to WebProcessProxies.
+ - Add explicit shared contexts for general use.
+ - Only non-shared contexts can use injected bundles.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextCreate):
+ (WKContextCreateWithInjectedBundlePath):
+ (WKContextGetSharedProcessContext):
+ (WKContextGetSharedThreadContext):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/API/C/WKContextPrivate.h:
+ Change API for WKContext to no longer take a WKProcessModel type and instead
+ have explicit Create/Get functions for the different kind of contexts. Added
+ two shared contexts, one threaded, one process, and made the threaded on private
+ for now.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:]):
+ Make WKViews that don't have an explicit context use the shared process
+ context by default.
+
+ * UIProcess/Launcher/WebProcessLauncher.h:
+ * UIProcess/Launcher/mac/WebProcessLauncher.mm:
+ (WebKit::launchWebProcess):
+ * UIProcess/Launcher/win/WebProcessLauncher.cpp:
+ (WebKit::launchWebProcess):
+ Use a boolean argument to note whether we are using a thread or a process
+ instead of using the process model enum.
+
+ * UIProcess/ProcessModel.h:
+ (WebKit::):
+ Convert to using explicit Shared modifier for shared contexts.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::sharedProcessContext):
+ (WebKit::WebContext::sharedThreadContext):
+ (WebKit::WebContext::ensureWebProcess):
+ (WebKit::WebContext::createWebPage):
+ (WebKit::WebContext::reviveIfNecessary):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::create):
+ (WebKit::WebContext::process):
+ * UIProcess/WebPageNamespace.cpp:
+ (WebKit::WebPageNamespace::createWebPage):
+ (WebKit::WebPageNamespace::preferencesDidChange):
+ (WebKit::WebPageNamespace::getStatistics):
+ * UIProcess/WebPageNamespace.h:
+ (WebKit::WebPageNamespace::process):
+ (WebKit::WebPageNamespace::reviveIfNecessary):
+ Move WebProcessProxy creation logic up into WebContext.
+
+ * UIProcess/WebProcessManager.cpp:
+ (WebKit::WebProcessManager::getWebProcess):
+ (WebKit::WebProcessManager::processDidClose):
+ * UIProcess/WebProcessManager.h:
+ Keep a map of WebContexts to WebProcessProxies in addition to the two
+ shared processes.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::create):
+ (WebKit::WebProcessProxy::WebProcessProxy):
+ (WebKit::WebProcessProxy::connect):
+ (WebKit::WebProcessProxy::didClose):
+ * UIProcess/WebProcessProxy.h:
+ Store a WebContext instead of the process model.
+
+ * mac/WebKit2.exp:
+ Add new functions.
+
+2010-06-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make WebCoreSystemInterface.h a C++ only header
+ https://bugs.webkit.org/show_bug.cgi?id=40867
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.h:
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.m: Removed.
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Copied from WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.m.
+ * mac/WebKit2.exp:
+
+2010-06-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add platform strategies for WebKit2.
+ https://bugs.webkit.org/show_bug.cgi?id=40863
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added.
+ (WebKit::WebPlatformStrategies::initialize):
+ (WebKit::WebPlatformStrategies::WebPlatformStrategies):
+ (WebKit::WebPlatformStrategies::createPluginStrategy):
+ (WebKit::WebPlatformStrategies::refreshPlugins):
+ (WebKit::WebPlatformStrategies::getPluginInfo):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added.
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+
+2010-06-18 Sam Weinig <weinig@apple.com>
+
+ Rolling http://trac.webkit.org/changeset/61297 back in.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Added.
+ (WKBundlePageSetClient):
+ (WKBundlePageGetMainFrameURL):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added.
+ * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Added.
+ (WebKit::InjectedBundlePageClient::InjectedBundlePageClient):
+ (WebKit::InjectedBundlePageClient::initialize):
+ (WebKit::InjectedBundlePageClient::didClearWindowObjectForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Added.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::initializeInjectedBundleClient):
+ (WebKit::WebPage::mainFrameURL):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::injectedBundleClient):
+ * mac/WebKit2.exp:
+ * win/WebKit2.vcproj:
+
+2010-06-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix a race condition during startup where we would never send the InitializeConnection message to the server.
+
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::open):
+
+2010-06-17 Ada Chan <adachan@apple.com>
+
+ Rolling out http://trac.webkit.org/changeset/61297 due to build errors.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Removed.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Removed.
+ * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Removed.
+ * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Removed.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebPage/WebPage.h:
+ * mac/WebKit2.exp:
+ * win/WebKit2.vcproj:
+
+2010-06-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for <rdar://problem/8010805>
+ Assertion failure ("mainThreadPthread") in isMainThread() mousing over cnn.com in Mini Browser
+
+ Don't use WebCore::String::operator NSString*() from the UIProcess, since it uses
+ StringImpl::createCFString() which expects to be called from WebCore's main thread.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::nsStringFromWebCoreString):
+ (WebKit::PageClientImpl::toolTipChanged):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView view:stringForToolTip:point:userData:]):
+
+2010-06-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=40630
+ WebKit2: Add mechanism to inject code into the WebProcess on startup
+
+ Add initial InjectedBundle support.
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+ Add new LoadInjectedBundle message kind.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (toWK):
+ (WKContextCreate):
+ (WKContextCreateWithInjectedBundlePath):
+ * UIProcess/API/C/WKContext.h:
+ Rename WKContextCreateWithProcessModel to WKContextCreate and add
+ WKContextCreateWithInjectedBundlePath for creating a context with
+ a bundle.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::create):
+ (WebKit::WebContext::processModel):
+ (WebKit::WebContext::bundlePath):
+ * UIProcess/WebPageNamespace.cpp:
+ (WebKit::WebPageNamespace::ensureWebProcess):
+ (WebKit::WebPageNamespace::reviveIfNecessary):
+ * UIProcess/WebProcessManager.cpp:
+ (WebKit::WebProcessManager::getWebProcess):
+ * UIProcess/WebProcessManager.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::create):
+ (WebKit::WebProcessProxy::WebProcessProxy):
+ * UIProcess/WebProcessProxy.h:
+ Thread the bundle path through process creation.
+
+ * WebProcess/InjectedBundle: Added.
+ * WebProcess/InjectedBundle/API: Added.
+ * WebProcess/InjectedBundle/API/c: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp: Added.
+ (WKBundleSetClient):
+ * WebProcess/InjectedBundle/API/c/WKBundle.h: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: Added.
+ (WebKit::):
+ (toWK):
+ (toRef):
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h: Added.
+ * WebProcess/InjectedBundle/InjectedBundle.cpp: Added.
+ (WebKit::InjectedBundle::InjectedBundle):
+ (WebKit::InjectedBundle::~InjectedBundle):
+ (WebKit::InjectedBundle::initializeClient):
+ (WebKit::InjectedBundle::didCreatePage):
+ * WebProcess/InjectedBundle/InjectedBundle.h: Added.
+ (WebKit::InjectedBundle::create):
+ Add bundle boilerplate.
+
+ * WebProcess/InjectedBundle/mac: Added.
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: Added.
+ (WebKit::InjectedBundle::load):
+ Load the InjectedBundle using CFBundle.
+
+ * WebProcess/InjectedBundle/win: Added.
+ * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: Added.
+ (WebKit::pathGetFileName):
+ (WebKit::directoryName):
+ (WebKit::InjectedBundle::load):
+ Load the InjectedBundle using HMODULE.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ Add initial bundle callback for page creation. More to come.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::loadInjectedBundle):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ (WebKit::WebProcess::injectedBundle):
+ Load the InjectedBundle on LoadInjectedBundle message.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * mac/WebKit2.exp:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add the new files.
+
+2010-06-15 Darin Adler <darin@apple.com>
+
+ Reviewed by Adam Barth.
+
+ Move functions out of Frame class that were marked "move to Chrome"
+ https://bugs.webkit.org/show_bug.cgi?id=39636
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::tryClose): Call shouldClose on FrameLoader instead of
+ going through Frame.
+
+2010-06-14 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+ Reorder build event to fix cygwin path issue.
+
+ * win/WebKit2Generated.vcproj:
+
+2010-06-14 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+ Add build failure stopping code.
+
+ * win/WebKit2WebProcess.vcproj:
+
+2010-06-14 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+ Add build failure stopping code.
+
+ * win/WebKit2Generated.vcproj:
+
+2010-06-14 Ada Chan <adachan@apple.com>
+
+ Rubber-stamped by Steve Falkenburg.
+
+ - Fix the release configuration to use release.vsprops.
+ - Add Debug_Internal and Debug_All configurations to the WebKit2WebProcess project.
+ - Fix launchWebProcess() to get the right path to the WebKit2WebProcess executable.
+
+ * UIProcess/Launcher/win/WebProcessLauncher.cpp:
+ (WebKit::launchWebProcess):
+ * win/WebKit2WebProcess.vcproj:
+
+2010-06-12 Ada Chan <adachan@apple.com>
+
+ Unreviewed fix for a linking error with WebKit2LocalizableStringsBundle for Windows release build.
+
+ * WebProcess/win/WebLocalizableStrings.cpp:
+ (findCachedString):
+
+2010-06-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Use -Os for optimized builds instead of -02. -02 wasn't giving the
+ right trade off at this time.
+
+ * Configurations/Base.xcconfig:
+
+2010-06-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Move WKRetain and WKRelease overloaded functions out of WKRetainPtr
+ and into the files of the type they overload (eg, WKRetain(WKFrameRef
+ moves to WKFrame.h)).
+
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/API/C/WKFramePolicyListener.h:
+ * UIProcess/API/C/WKNavigationData.h:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WKPageNamespace.h:
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/API/C/WKString.h:
+ * UIProcess/API/C/WKURL.h:
+ * UIProcess/API/cpp/WKRetainPtr.h:
+ * UIProcess/API/win/WKView.h:
+
+2010-06-10 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ * mac/WebKit2.exp:
+ Added another symbol needed by Mac clients.
+
+2010-06-09 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed build fix.
+
+ * WebProcess/WebCoreSupport/WebInspectorClient.h:
+
+2010-06-09 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed build fix.
+
+ WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
+ data from inspected page to WebInspector as JSON string via http. The native
+ serialization to JSON string is supported by InspectorValue's classes. This patch
+ has the implementation of sendMessageToFrontend function. WebKit version of it still
+ uses ScriptFunctionCall and will be switched to another transport a little bit later.
+ https://bugs.webkit.org/show_bug.cgi?id=40134
+
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ (WebKit::WebInspectorClient::sendMessageToFrontend):
+ * WebProcess/WebCoreSupport/WebInspectorClient.h:
+
+2010-06-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ <rdar://problem/8071268> WebKit2 URLs are displayed as 1-character strings in log statements
+
+ Create a CFString from our WebCore string and then create the CFURL from the CFString.
+
+ * UIProcess/API/C/cf/WKURLCF.cpp:
+ (WKURLCopyCFURL):
+
+2010-06-08 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ * mac/WebKit2.exp:
+ Added _WKPageGetEstimatedProgress and _WKFrameGetPage
+
+2010-06-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Would like a way to query WKPageRef for the current progress value
+ https://bugs.webkit.org/show_bug.cgi?id=40310
+ <rdar://problem/8071299>
+
+ Add WKPageGetEstimatedProgress. Remove the progress parameter from the didChangeProgress
+ loader client callback function.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetEstimatedProgress):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didChangeProgress):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::didStartProgress):
+ (WebKit::WebPageProxy::didChangeProgress):
+ (WebKit::WebPageProxy::didFinishProgress):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::estimatedProgress):
+
+2010-06-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Would like a way to tell which WKPageRef a WKFrameRef is part of
+ https://bugs.webkit.org/show_bug.cgi?id=40308
+ <rdar://problem/8071251>
+
+ Add and implement WKFrameGetPage.
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetPage):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::page):
+
+2010-06-08 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Mark Rowe.
+
+ * mac/WebKit2.exp:
+ Added a few more symbols needed by Mac clients.
+
+2010-06-08 MORITA Hajime <morrita@google.com>
+
+ Unreviewed. An attempt to fix test break.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-06-06 MORITA Hajime <morrita@google.com>
+
+ Unreviewd, follow up to r60820
+
+ https://bugs.webkit.org/show_bug.cgi?id=40219
+ [Mac] ENABLE_METER_TAG should be enabled
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-06-05 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Dan Bernstein.
+
+ <rdar://problem/8063622> Failure to launch WebProcess.app when framework is outside of the build directory
+
+ * Configurations/WebProcess.xcconfig:
+
+2010-06-04 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Ada Chan.
+
+ Added a couple of symbols needed to start using WKFrameRefs in Mac clients.
+
+ * mac/WebKit2.exp:
+ Added _WKFrameRelease and _WKFrameRetain.
+
+2010-06-04 Ada Chan <adachan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ http://bugs.webkit.org/show_bug.cgi?id=40186
+
+ Need to close WebPageProxy when the WebView is destroyed.
+ Also, WebPageProxy shouldn't hold an OwnPtr to the PageClient, which is the WebView on Windows.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::setPageClient):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::close):
+
+2010-06-03 Ada Chan <adachan@apple.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=40152
+
+ Need to remove the WebView from WindowMessageBroadcaster's listeners list when the WebView is destroyed.
+
+ * UIProcess/API/win/WKView.cpp:
+ (WKViewSetHostWindow): Expose API to change the host window of a WKView.
+ (WKViewWindowAncestryDidChange): Expose API to allow clients to notify WebKit when a WKView's window ancestry has changed.
+ * UIProcess/API/win/WKView.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::wndProc): Set the WebView's host window to 0 when it's destroyed. setHostWindow() will call
+ windowAncestryDidChange(), which will remove this WebView from the WindowMessageBroadcaster's listeners list.
+ (WebKit::WebView::WebView): Initialize m_isBeingDestroyed.
+ (WebKit::WebView::setHostWindow): Update the window's parent window and call windowAncestryDidChange().
+ (WebKit::WebView::close): Set the host window to 0.
+ * UIProcess/win/WebView.h:
+
+2010-06-04 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Utilize new takeFirst() method where appropriate.
+ https://bugs.webkit.org/show_bug.cgi?id=40089
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ (CoreIPC::ArgumentDecoder::removeAttachment):
+
+2010-06-03 Ada Chan <adachan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Add UIProcess\API\cpp to the list of additional include directories.
+ Allow WKViewRef to work with WKRetainPtr on Windows.
+
+ * UIProcess/API/cpp/WKRetainPtr.h:
+ * win/WebKit2.vcproj:
+
+2010-06-01 Alice Liu <alice.liu@apple.com>
+
+ Build fix. Not reviewed
+
+ * win/WebKit2Generated.make: Added WKRetainPtr.h
+
+2010-06-01 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ Added _WKRetainPtr to .exp file, and added .exp file to Xcode project.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Added mac/WebKit2.exp.
+
+ * mac/WebKit2.exp:
+ Added _WKRetainPtr.
+
+2010-06-01 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ Fixed typo/wordo that prevented a certain flavor of constructor from compiling.
+
+ * UIProcess/API/cpp/WKRetainPtr.h:
+ (WebKit::WKRetainPtr::WKRetainPtr):
+ Changed the mysterious "retainWKPtr" to "WKRetain".
+
+2010-05-28 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Dan Bernstein.
+
+ Add a using declaration for AdoptWK to match the one just added for WKRetainPtr.
+
+ * UIProcess/API/cpp/WKRetainPtr.h:
+
+2010-05-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add a using declaration for WKRetainPtr matching what we do for our
+ other smart pointers and fix the destructor.
+
+ * UIProcess/API/cpp/WKRetainPtr.h:
+ (WebKit::WKRetainPtr::~WKRetainPtr):
+
+2010-05-25 Ada Chan <adachan@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39686
+
+ Fix the ProjectGUID of the WebKit2 project so it doesn't conflict with the one in WebKit.
+
+ * WebKit2.sln:
+ * win/WebKit2.vcproj:
+
+2010-05-24 Ada Chan <adachan@apple.com>
+
+ Rubber-stamped by Mark Rowe.
+
+ Build fix for 32bit systems.
+
+ * mac/WebKit2.exp:
+
+2010-05-21 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Teach WebKit2 to build in the Production configuration.
+
+ * Configurations/Base.xcconfig: Restrict WebKit2 to Intel, and disable the order file.
+ * Configurations/BaseTarget.xcconfig: Fix the path to the umbrella framework directory.
+ This path is used to locate WebCore.framework, so it needs to be relative to WebKit.framework
+ rather than WebKit2.framework.
+ * Configurations/WebKit2.xcconfig: Update the install path. Add an exports file.
+ * Configurations/WebProcess.xcconfig: Update the install path.
+ * WebKit2.xcodeproj/project.pbxproj: Add a Production configuration.
+ * mac/WebKit2.exp: Added.
+
+2010-05-21 Steve Block <steveblock@google.com>
+
+ Unreviewed build fix for WebKit2
+
+ Pass 0 to Page constructor for DeviceOrientationClient.
+ See http://trac.webkit.org/changeset/59935
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+
+2010-05-11 Mark Rowe <mrowe@apple.com>
+
+ Fix the world.
+
+ In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
+ The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
+ that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
+ in sync with build-webkit. This led to WebCore and WebKit having different views of Document's vtable
+ and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
+ function in WebCore being called.
+
+ We fix this by bringing the FeatureDefines.xcconfig files in to sync. Based on the ChangeLog message and
+ other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
+ has been reverted.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-05-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ [WebKit2] The web process doesn't need to paint when the web view is hidden.
+ https://bugs.webkit.org/show_bug.cgi?id=38549
+
+ * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
+ (DrawingAreaMessage::):
+ Add SuspendPainting/ResumePainting messages.
+
+ * UIProcess/DrawingAreaProxyUpdateChunk.cpp:
+ (WebKit::DrawingAreaProxyUpdateChunk::setPageIsVisible):
+ Suspend and resume painting accordingly.
+
+ * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::DrawingAreaUpdateChunk):
+ Initialize m_shouldPaint to true.
+
+ (WebKit::DrawingAreaUpdateChunk::display):
+ Return if m_shouldPaint is false.
+
+ (WebKit::DrawingAreaUpdateChunk::scheduleDisplay):
+ Ditto.
+
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+ Assert that we should paint here.
+
+ (WebKit::DrawingAreaUpdateChunk::suspendPainting):
+ Set m_shouldPaint to false and stop the timer.
+
+ (WebKit::DrawingAreaUpdateChunk::resumePainting):
+ Set m_shouldPaint to true and paint if needed.
+
+ (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
+ handle SuspendPainting/ResumePainting messages.
+
+ * WebProcess/WebPage/DrawingAreaUpdateChunk.h:
+
+2010-05-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ [WebKit2] WKView should respond to WM_SHOWWINDOW messages
+ https://bugs.webkit.org/show_bug.cgi?id=38496
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::wndProc):
+ Add case for WM_SHOWWINDOW.
+
+ (WebKit::WebView::onShowWindowEvent):
+ Update the page visibility accordingly.
+
+ * UIProcess/win/WebView.h:
+
+2010-05-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Get rid of PageClient::isPageVisible and pass visibility directly in setPageIsVisible
+ https://bugs.webkit.org/show_bug.cgi?id=38493
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ Remove isPageVisible.
+
+ * UIProcess/API/mac/WKView.mm:
+ (isViewVisible):
+ New function (moved here from PageClientImpl).
+
+ (-[WKView _updateVisibility]):
+ Call didChangeVisibility.
+
+ (-[WKView viewDidMoveToWindow]):
+ (-[WKView viewDidHide]):
+ (-[WKView viewDidUnhide]):
+ Call _updateVisibility.
+
+ * UIProcess/DrawingAreaProxy.h:
+ Rename didChangeVisibility to setPageIsVisible and add an isVisible parameter.
+
+ * UIProcess/DrawingAreaProxyUpdateChunk.cpp:
+ (WebKit::DrawingAreaProxyUpdateChunk::setPageIsVisible):
+ Don't call WebPageProxy::isVisible.
+
+ * UIProcess/DrawingAreaProxyUpdateChunk.h:
+
+ * UIProcess/PageClient.h:
+ Remove isPageVisible.
+
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ Remove isVisible.
+
+2010-05-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Implement PageClient::isPageVisible on Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=38483
+
+ * UIProcess/PageClient.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::isPageVisible):
+ * UIProcess/win/WebView.h:
+
+2010-05-03 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::sendOutgoingMessage):
+ * Shared/win/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::UpdateChunk):
+ (WebKit::UpdateChunk::encode):
+ (WebKit::UpdateChunk::decode):
+ * Shared/win/UpdateChunk.h:
+ (WebKit::UpdateChunk::rect):
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxyUpdateChunk.h:
+ * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp:
+ (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp:
+ (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
+ * WebProcess/win/WebProcessMain.cpp:
+
+2010-04-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38415
+ Have the WKView notify the DrawingAreaProxy when its visibility changes.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::isPageVisible):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView viewDidMoveToWindow]):
+ (-[WKView viewDidHide]):
+ (-[WKView viewDidUnhide]):
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxyUpdateChunk.cpp:
+ (WebKit::DrawingAreaProxyUpdateChunk::DrawingAreaProxyUpdateChunk):
+ (WebKit::DrawingAreaProxyUpdateChunk::didChangeVisibility):
+ * UIProcess/DrawingAreaProxyUpdateChunk.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::isVisible):
+ * UIProcess/WebPageProxy.h:
+
+2010-05-03 Jens Alfke <snej@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
+ https://bugs.webkit.org/show_bug.cgi?id=38397
+
+ No tests (functionality is exposed only through native WebKit API.)
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
+
+2010-05-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38471
+ Add generic callback mechanism
+
+ Added GenericCallback class replacing RenderTreeExternalRepresentationCallback
+ and ScriptReturnValueCallback.
+
+ Also,
+ - Standardize C API callbacks to take the context last.
+ - Standardize C API callbacks to not have the _f suffix (now the block
+ variants have a _b suffix).
+ - Re-write toWK and toRef methods as a set of template functions using
+ the generic API->implementation mapping information.
+
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageRunJavaScriptInMainFrame):
+ (callRunJavaScriptBlockAndRelease):
+ (disposeRunJavaScriptBlock):
+ (WKPageRunJavaScriptInMainFrame_b):
+ (WKPageRenderTreeExternalRepresentation):
+ (WKPageRenderTreeExternalRepresentation_b):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WKPagePrivate.h:
+ * UIProcess/GenericCallback.h: Added.
+ (WebKit::GenericCallback::create):
+ (WebKit::GenericCallback::~GenericCallback):
+ (WebKit::GenericCallback::performCallbackWithReturnValue):
+ (WebKit::GenericCallback::invalidate):
+ (WebKit::GenericCallback::callbackID):
+ (WebKit::GenericCallback::generateCallbackID):
+ (WebKit::GenericCallback::GenericCallback):
+ * UIProcess/RenderTreeExternalRepresentationCallback.cpp: Removed.
+ * UIProcess/RenderTreeExternalRepresentationCallback.h: Removed.
+ * UIProcess/ScriptReturnValueCallback.cpp: Removed.
+ * UIProcess/ScriptReturnValueCallback.h: Removed.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didRunJavaScriptInMainFrame):
+ (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation):
+ * UIProcess/WebPageProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-04-30 Sam Weinig <sam@webkit.org>
+
+ Fix the build.
+
+ * Platform/CoreIPC/mac/ConnectionMac.cpp: Add missing #include.
+
+2010-04-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38413
+ Add callback based API to get the textual representation of the RenderTree.
+
+ - Also ensures that any pending callbacks are invalidated if the WebPage
+ closes (expectedly or unexpectedly).
+ - A follow up patch will unify the callback mechanism with a common base
+ class.
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ (WebPageMessage::):
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::):
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageRunJavaScriptInMainFrame_f):
+ (WKPageRenderTreeExternalRepresentation_f):
+ (callRenderTreeExternalRepresentationBlockAndDispose):
+ (disposeRenderTreeExternalRepresentationBlock):
+ (WKPageRenderTreeExternalRepresentation):
+ * UIProcess/API/C/WKPagePrivate.h: Added.
+ * UIProcess/RenderTreeExternalRepresentationCallback.cpp: Added.
+ (WebKit::generateCallbackID):
+ (WebKit::RenderTreeExternalRepresentationCallback::RenderTreeExternalRepresentationCallback):
+ (WebKit::RenderTreeExternalRepresentationCallback::~RenderTreeExternalRepresentationCallback):
+ (WebKit::RenderTreeExternalRepresentationCallback::performCallbackWithReturnValue):
+ (WebKit::RenderTreeExternalRepresentationCallback::invalidate):
+ * UIProcess/RenderTreeExternalRepresentationCallback.h: Added.
+ (WebKit::RenderTreeExternalRepresentationCallback::create):
+ (WebKit::RenderTreeExternalRepresentationCallback::callbackID):
+ * UIProcess/ScriptReturnValueCallback.cpp:
+ (WebKit::ScriptReturnValueCallback::~ScriptReturnValueCallback):
+ (WebKit::ScriptReturnValueCallback::performCallbackWithReturnValue):
+ (WebKit::ScriptReturnValueCallback::invalidate):
+ * UIProcess/ScriptReturnValueCallback.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didRunJavaScriptInMainFrame):
+ (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::getRenderTreeExternalRepresentation):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+ * win/WebKit2.vcproj:
+
+2010-04-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38406
+ Add support for sending messages with a size greater than 4096 bytes
+
+ Adds support by putting message bodies that are larger than 4096 bytes
+ in OOL memory.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendMessage):
+ (CoreIPC::Connection::waitForMessage):
+ (CoreIPC::Connection::sendSyncMessage):
+ (CoreIPC::Connection::dispatchMessages):
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::OutgoingMessage::OutgoingMessage):
+ (CoreIPC::Connection::OutgoingMessage::messageID):
+ (CoreIPC::Connection::send):
+ (CoreIPC::Connection::sendSync):
+ * Platform/CoreIPC/MessageID.h:
+ (CoreIPC::MessageID::):
+ (CoreIPC::MessageID::MessageID):
+ (CoreIPC::MessageID::equalIgnoringFlags):
+ (CoreIPC::MessageID::copyAddingFlags):
+ (CoreIPC::MessageID::fromInt):
+ (CoreIPC::MessageID::toInt):
+ (CoreIPC::MessageID::isMessageBodyOOL):
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::sendOutgoingMessage):
+ (CoreIPC::createArgumentDecoder):
+
+2010-04-28 Mike Thole <mthole@apple.com>
+
+ Build fix, not reviewed.
+
+ Fix WebKit2 build by stubbing out WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace().
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-04-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Only build on SnowLeopard and later when using the Makefile.
+
+ * Makefile:
+
+2010-04-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38238
+ Allow both WebKit and WebKit2 to link to the same WebCore.framework
+
+ * Configurations/WebKit2.xcconfig: Remove the OTHER_LDFLAGS. We don't
+ need to set WebCore as a sub_umbrella of WebKit2, since we are not
+ reexporting any of its symbols.
+
+2010-04-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Add comment about not using StringImpl::createCFString in WKStringCopyCFString.
+
+ * UIProcess/API/C/cf/WKStringCF.cpp:
+ (WKStringCopyCFString):
+
+2010-04-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Remove call to StringImpl::createCFString and instead use CFStringCreateWithCharacters
+ directly. StringImpl::createCFString only an optimization when called
+ from the thread that WebCore is running on, which is never the case for
+ WKStringCopyCFString. We should revisit this later, perhaps adding a
+ threadspecific allocator. We also now honor the passed in allocator.
+
+ * UIProcess/API/C/cf/WKStringCF.cpp:
+ (WKStringCopyCFString):
+
+2010-04-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
+ Disentangle initializing the main thread from initializing threading
+
+ * UIProcess/Launcher/mac/WebProcessLauncher.mm:
+ (WebKit::webThreadBody): Add call to initializeMainThread.
+ * UIProcess/Launcher/win/WebProcessLauncher.cpp:
+ (WebKit::webThreadBody): Ditto.
+ * WebProcess/Launching/mac/WebProcessMain.mm:
+ (main): Ditto.
+ * WebProcess/win/WebProcessMain.cpp:
+ (WebKit::WebProcessMain): Ditto.
+
+2010-04-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38065
+ Merge mac and win DrawingAreaProxyUpdateChunk implementations.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView drawRect:]):
+ * UIProcess/DrawingAreaProxy.cpp: Copied from UIProcess/mac/DrawingAreaProxy.mm.
+ * UIProcess/DrawingAreaProxy.h: Copied from UIProcess/mac/DrawingAreaProxy.h.
+ * UIProcess/DrawingAreaProxyUpdateChunk.cpp: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.mm.
+ (WebKit::DrawingAreaProxyUpdateChunk::DrawingAreaProxyUpdateChunk):
+ (WebKit::DrawingAreaProxyUpdateChunk::paint):
+ (WebKit::DrawingAreaProxyUpdateChunk::setSize):
+ (WebKit::DrawingAreaProxyUpdateChunk::didSetSize):
+ (WebKit::DrawingAreaProxyUpdateChunk::update):
+ (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
+ * UIProcess/DrawingAreaProxyUpdateChunk.h: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.h.
+ * UIProcess/mac/DrawingAreaProxy.h: Removed.
+ * UIProcess/mac/DrawingAreaProxy.mm: Removed.
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.h: Removed.
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm: Removed.
+ * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.mm.
+ (WebKit::DrawingAreaProxyUpdateChunk::page):
+ (WebKit::DrawingAreaProxyUpdateChunk::invalidateBackingStore):
+ (WebKit::DrawingAreaProxyUpdateChunk::platformPaint):
+ (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
+ * UIProcess/win/DrawingAreaProxy.cpp: Removed.
+ * UIProcess/win/DrawingAreaProxy.h: Removed.
+ * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp: Copied from UIProcess/win/DrawingAreaProxy.cpp.
+ (WebKit::DrawingAreaProxyUpdateChunk::page):
+ (WebKit::DrawingAreaProxyUpdateChunk::ensureBackingStore):
+ (WebKit::DrawingAreaProxyUpdateChunk::invalidateBackingStore):
+ (WebKit::DrawingAreaProxyUpdateChunk::platformPaint):
+ (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::onPaintEvent):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-04-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38059
+ Merge mac and win DrawingAreaUpdateChunk implementations.
+
+ * UIProcess/win/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::didSetSize):
+ (WebKit::DrawingAreaProxy::didReceiveMessage):
+ * UIProcess/win/DrawingAreaProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp.
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+ * WebProcess/WebPage/DrawingAreaUpdateChunk.h: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h.
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: Removed.
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h: Removed.
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunkMac.cpp: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp.
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: Removed.
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h: Removed.
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp: Copied from WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp.
+ (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
+ * win/WebKit2.vcproj:
+
+2010-04-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove an assert. (It's not valid when resizing).
+
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::didUpdate):
+
+2010-04-23 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/win/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::paint):
+ (WebKit::DrawingAreaProxy::setSize):
+ (WebKit::DrawingAreaProxy::didReceiveMessage):
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+ (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
+
+2010-04-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove an assert. (It's not valid when resizing).
+
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::didUpdate):
+
+2010-04-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Merge the prefix headers.
+
+ * Configurations/BaseTarget.xcconfig:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebKit2Prefix.h:
+ * WebKit2_Prefix.pch: Removed.
+
+2010-04-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't pass the new size when calling didSetSize, it's possible to get
+ the size from the update chunk.
+
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.h:
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
+ (WebKit::DrawingAreaProxyUpdateChunk::didSetSize):
+ (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+
+2010-04-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename SetFrame and DidSetFrame to SetSize and DidSetSize.
+
+ * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
+ (DrawingAreaMessage::):
+ * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
+ (DrawingAreaProxyMessage::):
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
+ (WebKit::DrawingAreaProxyUpdateChunk::drawRectIntoContext):
+ (WebKit::DrawingAreaProxyUpdateChunk::setSize):
+ (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+ (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
+
+2010-04-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38002
+ Add rudimentary statistics gathering for WebKit2
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextGetStatistics):
+ * UIProcess/API/C/WKContextPrivate.h: Copied from WebKit2/UIProcess/API/C/WKContext.h.
+ * UIProcess/API/C/WKPageNamespace.cpp:
+ (WKPageNamespaceGetContext):
+ * UIProcess/API/C/WKPageNamespace.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::getStatistics):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebPageNamespace.cpp:
+ (WebKit::WebPageNamespace::getStatistics):
+ * UIProcess/WebPageNamespace.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::getStatistics):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::numberOfPages):
+ * UIProcess/WebProcessProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-04-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't paint the web page before we've blit the last update chunk to the backing store.
+
+ * UIProcess/win/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::update):
+ (WebKit::DrawingAreaProxy::didReceiveMessage):
+ * UIProcess/win/DrawingAreaProxy.h:
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::DrawingAreaUpdateChunk):
+ (WebKit::DrawingAreaUpdateChunk::display):
+ (WebKit::DrawingAreaUpdateChunk::scheduleDisplay):
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+ (WebKit::DrawingAreaUpdateChunk::didUpdate):
+ (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h:
+
+2010-04-20 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::receivedData):
+
+2010-04-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't paint the web page before we've blit the last update chunk to the backing store
+ https://bugs.webkit.org/show_bug.cgi?id=37896
+
+ * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
+ (DrawingAreaMessage::):
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.h:
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
+ (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
+ (WebKit::DrawingAreaProxyUpdateChunk::update):
+ (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::DrawingAreaUpdateChunk):
+ (WebKit::DrawingAreaUpdateChunk::display):
+ (WebKit::DrawingAreaUpdateChunk::scheduleDisplay):
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+ (WebKit::DrawingAreaUpdateChunk::didUpdate):
+ (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h:
+
+2010-04-20 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::chooseIconForFiles):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+2010-04-19 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidChangeIcons):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-04-17 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Jon "The Belly" Honeycutt.
+
+ Remove the need for a .defs file! Define WK_EXPORT.
+
+ * UIProcess/API/C/WKBase.h:
+ * WebProcess/win/WebProcessMain.h:
+ * win/WebKit2.def: Removed.
+ * win/WebKit2.vcproj:
+
+2010-04-17 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Teach windows MiniBrowser how to work with window.open()
+ and targeted links.
+
+ Export WKPageSetPageUIClient.
+
+ * win/WebKit2.def:
+
+2010-04-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix window.open() and targeted links.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveSyncMessage): Pass in the new pageID
+ instead of 0.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::createWebPage): Allow for the page to have already
+ been created, as is the case with programmatic window opening from within
+ WebCore (e.g. window.open() or <a target="_blank">).
+
+2010-04-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Don't optimize debug builds.
+
+ * WebKit2.xcodeproj/project.pbxproj: Define GCC_OPTIMIZATION_LEVEL correctly.
+
+2010-04-16 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::runJavaScriptInMainFrame):
+
+2010-04-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix windows build.
+
+ * Platform/win/RunLoopWin.cpp:
+ (RunLoop::run):
+ * UIProcess/Launcher/win/WebProcessLauncher.cpp:
+ (WebKit::webThreadBody):
+ (WebKit::launchWebProcess):
+ * WebProcess/win/WebProcessMain.cpp:
+ (WebKit::WebProcessMain):
+
+2010-04-16 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Make resizing responsive on Windows.
+
+ - Use the same waitFor logic as do for the Mac resizing
+ DrawingAreaUpdateChunk code.
+
+ * Shared/win/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::UpdateChunk):
+ * Shared/win/UpdateChunk.h:
+ Add a constructor that only takes an IntRect and allocates
+ the shared memory mapping for you.
+ * UIProcess/win/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::DrawingAreaProxy):
+ (WebKit::DrawingAreaProxy::ensureBackingStore):
+ (WebKit::DrawingAreaProxy::paint):
+ (WebKit::DrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+ (WebKit::DrawingAreaProxy::setSize):
+ (WebKit::DrawingAreaProxy::didSetSize):
+ (WebKit::DrawingAreaProxy::didReceiveMessage):
+ * UIProcess/win/DrawingAreaProxy.h:
+ Perform wait in paint as we do on the mac.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onSizeEvent):
+ Change to use an IntSize.
+
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
+ (WebKit::DrawingAreaUpdateChunk::display):
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h:
+ Specialize setSize() drawing and factor out painting
+ into a helper function.
+
+2010-04-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Make run loops be allocated as thread specific data.
+ https://bugs.webkit.org/show_bug.cgi?id=37723
+
+ * Platform/RunLoop.cpp:
+ (RunLoop::initializeMainRunLoop):
+ (RunLoop::current):
+ (RunLoop::main):
+ * Platform/RunLoop.h:
+ * Platform/mac/RunLoopMac.mm:
+ (RunLoop::run):
+ (RunLoop::stop):
+ * UIProcess/Launcher/mac/WebProcessLauncher.mm:
+ (WebKit::webThreadBody):
+ (WebKit::launchWebProcess):
+ * UIProcess/ResponsivenessTimer.cpp:
+ (WebKit::ResponsivenessTimer::ResponsivenessTimer):
+ * WebProcess/Launching/mac/WebProcessMain.mm:
+ (main):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::isSeparateProcess):
+
+2010-04-16 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Use GDI text rendering on Windows by default.
+
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::platformInitialize): Use the AlternateRenderingMode
+ setting.
+
+2010-04-16 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Fix crash when trying to load an invalid URL.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::loadURL): Use constructor for ResourceRequest
+ that takes a KURL instead of the one that takes a String. The one
+ that takes a string expects a valid URL.
+
+2010-04-16 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Make tooltips work. Thanks Adam!
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::toolTipChanged): Pass the WebView's HWND, not the tooltip's.
+
+2010-04-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Fix build dependencies.
+
+ * WebKit2.sln:
+
+2010-04-15 Adam Roben <aroben@apple.com>
+
+ Fix Windows WebKit2 build.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::processDidExit):
+ * win/WebKit2Generated.make:
+
+2010-04-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add WebHistoryClient support.
+ https://bugs.webkit.org/show_bug.cgi?id=37671
+
+ Adds the following callbacks:
+ didNavigateWithNavigationData
+ didPerformClientRedirect
+ didPerformServerRedirect
+ didUpdateHistoryTitle
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::):
+ * Shared/WebNavigationDataStore.h: Added.
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKNavigationData.cpp: Added.
+ * UIProcess/API/C/WKNavigationData.h: Added.
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WebKit2.h:
+ * UIProcess/WebHistoryClient.cpp: Copied from UIProcess/WebUIClient.cpp.
+ * UIProcess/WebHistoryClient.h: Copied from UIProcess/WebUIClient.h.
+ * UIProcess/WebNavigationData.cpp: Added.
+ * UIProcess/WebNavigationData.h: Added.
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * win/WebKit2.vcproj:
+
+2010-04-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Remove empty file configurations.
+
+ * win/WebKit2.vcproj:
+
+2010-04-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix WebKit2s build. Don't return temporaries.
+
+ * UIProcess/API/C/cf/WKStringCF.cpp:
+ (WKStringCreateWithCFString):
+ * UIProcess/API/C/cf/WKURLCF.cpp:
+ (WKURLCreateWithCFURL):
+ (WKURLCopyCFURL):
+
+2010-04-12 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Fixed complexity and performance FIXME created by using KURL in the UI
+ process -- it turned out that everywhere we were using KURL, we could
+ have just used String instead. (That's how Windows WebKit works, too.)
+
+ I kept WKURLRef and WKStringRef distinct opaque types in the API for now,
+ though, since there may be profit in changing their backing stores in the
+ future, and it's nice for the API to encode a difference between generic
+ strings and strings that are valid, canonical URLs.
+
+ * Shared/KURLWrapper.h: Removed. Yay!
+
+ * Shared/WebCoreTypeArgumentMarshalling.h: Nixed KURL marshalling functions.
+ Old callers marshal Strings now, instead. (This is what KURL was doing
+ under the covers, anyway.)
+
+ * UIProcess/API/C/WKAPICast.h:
+ (toWK): Backed by StringImpl* now.
+ (toURLRef): Added a disambiguating function for specifying that you want
+ a WKURLRef, since StringImpl* converts to WKStringRef by default.
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetProvisionalURL):
+ (WKFrameGetURL):
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageLoadURL):
+ * UIProcess/API/C/WKURL.cpp:
+ * UIProcess/API/C/cf/WKURLCF.cpp:
+ (WKURLCreateWithCFURL):
+ (WKURLCopyCFURL):
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didStartProvisionalLoad):
+ (WebKit::WebFrameProxy::didCommitLoad):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::url):
+ (WebKit::WebFrameProxy::provisionalURL):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::loadURL):
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
+ (WebKit::WebPageProxy::decidePolicyForMIMEType):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::urlAtProcessExit):
+ * UIProcess/WebPolicyClient.cpp:
+ (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
+ (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
+ (WebKit::WebPolicyClient::decidePolicyForMIMEType):
+ * UIProcess/WebPolicyClient.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::loadURL):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h: Replaced KURL / KURLWrapper with String.
+
+2010-04-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix horizontal scrollbar repainting
+ https://bugs.webkit.org/show_bug.cgi?id=37626
+
+ Make sure that the update chunk is flipped because that's what WebCore expects.
+
+ * Shared/mac/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::createImage):
+ * Shared/mac/UpdateChunk.h:
+ Add new createImage member function that creates a CGImageRef from the update chunk.
+
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
+ (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
+ Pass the right rectangle here; CoreGraphics wants it in non-flipped coordinates.
+
+ (WebKit::DrawingAreaProxyUpdateChunk::ensureBackingStore):
+ Create a flipped backing store.
+
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
+ Flip the update chunk.
+
+2010-04-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add WKRetainPtr helper class as private header
+ https://bugs.webkit.org/show_bug.cgi?id=37603
+
+ WKRetainPtr is just like RetainPtr, but works for WK types instead of
+ CF/NS types.
+
+ * UIProcess/API/cpp: Added.
+ * UIProcess/API/cpp/WKRetainPtr.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj: Add new file.
+ * win/WebKit2.vcproj: Ditto.
+
+2010-04-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Make the WebProcess a LSUIElement to suppress its icon from the Dock.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Info.plist:
+
+2010-04-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Factor code to paint into an update chunk out into a separate function.
+ https://bugs.webkit.org/show_bug.cgi?id=37594
+
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
+ (WebKit::DrawingAreaUpdateChunk::display):
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h:
+
+2010-04-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix reported leaks when quitting MiniBrowser with open pages.
+
+ * WebProcess/WebPage/WebPage.h: Make close() public.
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ (WebKit::WebProcess::removeWebPage):
+ (WebKit::WebProcess::didClose): If the UIProcess disappears, close
+ the live pages in an effort to not leak.
+ * WebProcess/WebProcess.h:
+
+2010-04-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Do a JS collection and clear the memory cache to improve leaks output
+ when exiting. Only do this in debug builds as it is slow.
+
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/WebProcessProxy.cpp:
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::shutdown):
+ (WebKit::WebProcess::didClose):
+
+2010-04-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adele Peterson.
+
+ Post a null event after calling [NSApp stop] to flush the run loop
+ and finish teardown.
+
+ * Platform/mac/RunLoopMac.mm:
+ (RunLoop::stop):
+
+2010-04-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add #ifdef so that WKView is not included on the mac if not
+ compiling objective-c.
+
+ * UIProcess/API/C/WebKit2.h:
+
+2010-04-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add WebKit2 solution file.
+
+ * WebKit2.sln: Added.
+
+2010-04-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=37417
+ Move duplicated internal CoreIPC message kinds to a
+ header.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::processIncomingMessage):
+ * Platform/CoreIPC/CoreIPCMessageKinds.h: Added.
+ (CoreIPC::CoreIPCMessage::):
+ (CoreIPC::):
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-04-11 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Anders Carlsson.
+
+ Disable not-implemented warnings by default for now.
+
+ * Shared/NotImplemented.h:
+
+2010-04-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=37399
+ Remove use of STL data structures from CoreIPC code
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ (CoreIPC::ArgumentDecoder::ArgumentDecoder):
+ (CoreIPC::ArgumentDecoder::decodeBytes):
+ (CoreIPC::ArgumentDecoder::removeAttachment):
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ Use WTF::Deque instead of std::queue and WTF::Vector
+ instead of std::vector. Replace use of malloc/free with
+ fastMalloc/fastFree.
+
+ * Platform/CoreIPC/ArgumentEncoder.cpp:
+ (CoreIPC::ArgumentEncoder::addAttachment):
+ (CoreIPC::ArgumentEncoder::releaseAttachments):
+ * Platform/CoreIPC/ArgumentEncoder.h:
+ Use WTF::Vector instead of std::list. Replace use of malloc/free
+ with fastMalloc/fastFree.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendMessage):
+ (CoreIPC::Connection::waitForMessage):
+ (CoreIPC::Connection::processIncomingMessage):
+ (CoreIPC::Connection::sendOutgoingMessages):
+ (CoreIPC::Connection::dispatchMessages):
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::sendOutgoingMessage):
+ (CoreIPC::createArgumentDecoder):
+ Use WTF::Vector instead of std::queue.
+
+ * Platform/RunLoop.cpp:
+ (RunLoop::performWork):
+ (RunLoop::scheduleWork):
+ * Platform/RunLoop.h:
+ Ditto.
+
+ * Platform/WorkQueue.h:
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::scheduleWork):
+ (WorkQueue::performWork):
+ Ditto.
+
+2010-04-10 Mark Rowe <mrowe@apple.com>
+
+ Fix an obviously incorrect part of the Xcode configuration cleanup that resulted in debug builds
+ asserting shortly after launch.
+
+ * WebKit2.xcodeproj/project.pbxproj: Fix the setting of DEBUG_DEFINES for the Debug configuration.
+
+2010-04-09 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Bring the WebKit2 Xcode configuration in to sync with recent changes to the WebKit Xcode configuration files.
+
+ In particular, this updates the FEATURE_DEFINES to match those used in the other projects, and brings in
+ the changes to support building WebKit for older Mac OS X versions from the current Mac OS X version.
+
+ * Configurations/Base.xcconfig:
+ * Configurations/DebugRelease.xcconfig:
+ * Configurations/FeatureDefines.xcconfig:
+ * Configurations/Version.xcconfig:
+
+2010-04-09 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Clean up the Xcode project configuration.
+
+ Common target settings are pulled out in to BaseTarget.xcconfig. The majority of setting overrides are
+ removed from the Xcode project itself. Info.plist files are updated to match those used in other frameworks.
+
+ * Configurations/BaseTarget.xcconfig: Copied from WebKit2/Configurations/WebKit2.xcconfig.
+ * Configurations/WebKit2.xcconfig:
+ * Configurations/WebProcess.xcconfig: Copied from WebKit2/Configurations/WebKit2.xcconfig.
+ * Info.plist:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess-Info.plist: Removed.
+ * WebProcess/Info.plist: Moved from WebProcess-Info.plist.
+
+2010-04-09 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.m:
+ (InitWebCoreSystemInterface): Update for recent WKSI changes.
+
+2010-04-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=37351
+ Cannot build with build-webkit --webkit2
+
+ Add some headers that it seems others are not getting
+ already.
+
+ * Platform/mac/WorkQueueMac.cpp: #inlude <mach/mach_port.h>
+ * Shared/mac/UpdateChunk.cpp: #inlude <mach/vm_map.h>
+
+2010-04-09 Anders Carlsson <andersca@apple.com>
+
+ More build fixes.
+
+ * WebProcess/win/WebProcessMain.h:
+ Include windows.h here.
+
+ * win/WebKit2.def:
+ Add new exports.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-04-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add new WKString.h and WKURL.h headers to top
+ level include.
+
+ * UIProcess/API/C/WebKit2.h:
+
+2010-04-09 Anders Carlsson <andersca@apple.com>
+
+ More Windows build fixes.
+
+ * Shared/NotImplemented.h:
+ * UIProcess/API/C/cf/WKURLCF.cpp:
+ Fix typo.
+
+ (WKURLCreateWithCFURL):
+ * UIProcess/API/C/cf/WKURLCF.h:
+ Ditto.
+
+ * win/WebKit2Generated.make:
+ Copy the new CF headers.
+
+2010-04-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Two more #include sorting issues.
+
+ * Shared/NotImplemented.h:
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
+
+2010-04-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix minor style nits found by the style-script.
+
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ * Platform/CoreIPC/ArgumentEncoder.cpp:
+ * Platform/CoreIPC/Attachment.cpp:
+ * Platform/CoreIPC/Connection.cpp:
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ * Platform/WorkQueue.h:
+ * Platform/mac/WorkQueueMac.cpp:
+ * Platform/win/RunLoopWin.cpp:
+ * Shared/KURLWrapper.h:
+ * Shared/WebCoreTypeArgumentMarshalling.h:
+ * Shared/mac/UpdateChunk.cpp:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKURL.cpp:
+ * UIProcess/Launcher/win/WebProcessLauncher.cpp:
+ * UIProcess/ResponsivenessTimer.cpp:
+ * UIProcess/WebLoaderClient.cpp:
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPolicyClient.cpp:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/win/DrawingAreaProxy.cpp:
+ * UIProcess/win/WebView.cpp:
+ * WebProcess/Launching/win/WebProcessWinMain.cpp:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.h:
+ * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp:
+ * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
+ * WebProcess/WebProcess.h:
+ * WebProcess/win/WebLocalizableStrings.cpp:
+ * WebProcess/win/WebLocalizableStrings.h:
+ * WebProcess/win/WebProcessMain.cpp:
+
+2010-04-09 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * Shared/NotImplemented.h:
+ Include stdio.h.
+
+2010-04-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=37347
+ Don't use CF types in the new C API
+
+ Replace all uses of CF types in the C API.
+ - Replace CFStringRef with WKStringRef.
+ - Replace CFURLRef with WKURLRef.
+
+ * WebKit2.xcodeproj/project.pbxproj: Add new files.
+
+ * Shared/KURLWrapper.h: Added. RefCounted wrapper around KURL.
+ * UIProcess/API/C/WKAPICast.h: Add new conversions.
+ * UIProcess/API/C/WKBase.h: Add new types.
+ * UIProcess/API/C/WKFrame.cpp:
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+ Replace uses of CF types with WK equivalents.
+
+ * UIProcess/API/C/WKString.cpp: Added.
+ * UIProcess/API/C/WKString.h: Added.
+ Represents a WebCore::StringImpl*.
+
+ * UIProcess/API/C/WKURL.cpp: Added.
+ * UIProcess/API/C/WKURL.h: Added.
+ Represents a WebKit::KURLWrapper*.
+
+ * UIProcess/API/C/cf: Added.
+ * UIProcess/API/C/cf/WKStringCF.cpp: Added.
+ * UIProcess/API/C/cf/WKStringCF.h: Added.
+ * UIProcess/API/C/cf/WKURLCF.cpp: Added.
+ * UIProcess/API/C/cf/WKURLCF.h: Added.
+ CoreFoundation conversion files. Allows converting
+ WKStringRef <-> CFStringRef
+ WKURLRef <-> CFURLRef
+
+ * UIProcess/ScriptReturnValueCallback.cpp:
+ (WebKit::ScriptReturnValueCallback::performCallbackWithReturnValue):
+ * UIProcess/ScriptReturnValueCallback.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didStartProvisionalLoad):
+ (WebKit::WebFrameProxy::didCommitLoad):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::url):
+ (WebKit::WebFrameProxy::provisionalURL):
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didReceiveTitleForFrame):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::didReceiveTitleForFrame):
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
+ (WebKit::WebPageProxy::decidePolicyForMIMEType):
+ (WebKit::WebPageProxy::runJavaScriptAlert):
+ (WebKit::WebPageProxy::didRunJavaScriptInMainFrame):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::pageTitle):
+ (WebKit::WebPageProxy::urlAtProcessExit):
+ * UIProcess/WebPolicyClient.cpp:
+ (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
+ (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
+ (WebKit::WebPolicyClient::decidePolicyForMIMEType):
+ * UIProcess/WebPolicyClient.h:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::runJavaScriptAlert):
+ * UIProcess/WebUIClient.h:
+ Don't use CF types internally at all.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::frameLoaderDestroyed):
+ Fix typo.
+
+2010-04-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add build support for WebKit2.
+
+ * Configurations: Added.
+ * Configurations/Base.xcconfig: Added.
+ * Configurations/DebugRelease.xcconfig: Added.
+ * Configurations/FeatureDefines.xcconfig: Added.
+ * Configurations/Version.xcconfig: Added.
+ * Configurations/WebKit2.xcconfig: Added.
+ * English.lproj: Added.
+ * English.lproj/InfoPlist.strings: Added.
+ * Info.plist: Added.
+ * Makefile: Added.
+ * WebKit2.xcodeproj: Added.
+ * WebKit2.xcodeproj/project.pbxproj: Added.
+ * WebKit2Prefix.cpp: Added.
+ * WebKit2Prefix.h: Added.
+ * WebKit2_Prefix.pch: Added.
+ * WebProcess-Info.plist: Added.
+ * version.plist: Added.
+ * win: Added.
+ * win/WebKit2.def: Added.
+ * win/WebKit2.vcproj: Added.
+ * win/WebKit2Generated.make: Added.
+ * win/WebKit2Generated.vcproj: Added.
+ * win/WebKit2WebProcess.vcproj: Added.
+
+2010-04-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37301
+ Add WebKit2/UIProcess directory.
+
+ * UIProcess: Added.
+ * UIProcess/API: Added.
+ * UIProcess/API/C: Added.
+ * UIProcess/API/C/WKAPICast.h: Added.
+ * UIProcess/API/C/WKBase.h: Added.
+ * UIProcess/API/C/WKContext.cpp: Added.
+ * UIProcess/API/C/WKContext.h: Added.
+ * UIProcess/API/C/WKFrame.cpp: Added.
+ * UIProcess/API/C/WKFrame.h: Added.
+ * UIProcess/API/C/WKFramePolicyListener.cpp: Added.
+ * UIProcess/API/C/WKFramePolicyListener.h: Added.
+ * UIProcess/API/C/WKPage.cpp: Added.
+ * UIProcess/API/C/WKPage.h: Added.
+ * UIProcess/API/C/WKPageNamespace.cpp: Added.
+ * UIProcess/API/C/WKPageNamespace.h: Added.
+ * UIProcess/API/C/WKPreferences.cpp: Added.
+ * UIProcess/API/C/WKPreferences.h: Added.
+ * UIProcess/API/C/WebKit2.h: Added.
+ * UIProcess/API/mac: Added.
+ * UIProcess/API/mac/PageClientImpl.h: Added.
+ * UIProcess/API/mac/PageClientImpl.mm: Added.
+ * UIProcess/API/mac/WKView.h: Added.
+ * UIProcess/API/mac/WKView.mm: Added.
+ * UIProcess/API/mac/WKViewInternal.h: Added.
+ * UIProcess/API/win: Added.
+ * UIProcess/API/win/WKAPICastWin.h: Added.
+ * UIProcess/API/win/WKBaseWin.h: Added.
+ * UIProcess/API/win/WKView.cpp: Added.
+ * UIProcess/API/win/WKView.h: Added.
+ * UIProcess/Launcher: Added.
+ * UIProcess/Launcher/WebProcessLauncher.h: Added.
+ * UIProcess/Launcher/mac: Added.
+ * UIProcess/Launcher/mac/WebProcessLauncher.mm: Added.
+ * UIProcess/Launcher/win: Added.
+ * UIProcess/Launcher/win/WebProcessLauncher.cpp: Added.
+ * UIProcess/PageClient.h: Added.
+ * UIProcess/ProcessModel.h: Added.
+ * UIProcess/ResponsivenessTimer.cpp: Added.
+ * UIProcess/ResponsivenessTimer.h: Added.
+ * UIProcess/ScriptReturnValueCallback.cpp: Added.
+ * UIProcess/ScriptReturnValueCallback.h: Added.
+ * UIProcess/WebContext.cpp: Added.
+ * UIProcess/WebContext.h: Added.
+ * UIProcess/WebFramePolicyListenerProxy.cpp: Added.
+ * UIProcess/WebFramePolicyListenerProxy.h: Added.
+ * UIProcess/WebFrameProxy.cpp: Added.
+ * UIProcess/WebFrameProxy.h: Added.
+ * UIProcess/WebLoaderClient.cpp: Added.
+ * UIProcess/WebLoaderClient.h: Added.
+ * UIProcess/WebPageNamespace.cpp: Added.
+ * UIProcess/WebPageNamespace.h: Added.
+ * UIProcess/WebPageProxy.cpp: Added.
+ * UIProcess/WebPageProxy.h: Added.
+ * UIProcess/WebPolicyClient.cpp: Added.
+ * UIProcess/WebPolicyClient.h: Added.
+ * UIProcess/WebPreferences.cpp: Added.
+ * UIProcess/WebPreferences.h: Added.
+ * UIProcess/WebProcessManager.cpp: Added.
+ * UIProcess/WebProcessManager.h: Added.
+ * UIProcess/WebProcessProxy.cpp: Added.
+ * UIProcess/WebProcessProxy.h: Added.
+ * UIProcess/WebUIClient.cpp: Added.
+ * UIProcess/WebUIClient.h: Added.
+ * UIProcess/mac: Added.
+ * UIProcess/mac/DrawingAreaProxy.h: Added.
+ * UIProcess/mac/DrawingAreaProxy.mm: Added.
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.h: Added.
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm: Added.
+ * UIProcess/win: Added.
+ * UIProcess/win/DrawingAreaProxy.cpp: Added.
+ * UIProcess/win/DrawingAreaProxy.h: Added.
+ * UIProcess/win/WebView.cpp: Added.
+ * UIProcess/win/WebView.h: Added.
+
+2010-04-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig and Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37300
+ Add WebKit2/WebProcess directory.
+
+ * WebProcess: Added.
+ * WebProcess/Launching: Added.
+ * WebProcess/Launching/mac: Added.
+ * WebProcess/Launching/mac/WebProcessMain.mm: Added.
+ * WebProcess/Launching/win: Added.
+ * WebProcess/Launching/win/WebProcessWinMain.cpp: Added.
+ * WebProcess/WebCoreSupport: Added.
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp: Added.
+ * WebProcess/WebCoreSupport/WebChromeClient.h: Added.
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: Added.
+ * WebProcess/WebCoreSupport/WebContextMenuClient.h: Added.
+ * WebProcess/WebCoreSupport/WebDragClient.cpp: Added.
+ * WebProcess/WebCoreSupport/WebDragClient.h: Added.
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp: Added.
+ * WebProcess/WebCoreSupport/WebEditorClient.h: Added.
+ * WebProcess/WebCoreSupport/WebErrors.h: Added.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Added.
+ * WebProcess/WebCoreSupport/WebInspectorClient.h: Added.
+ * WebProcess/WebCoreSupport/mac: Added.
+ * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: Added.
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.h: Added.
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.m: Added.
+ * WebProcess/WebCoreSupport/win: Added.
+ * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp: Added.
+ * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: Added.
+ * WebProcess/WebPage: Added.
+ * WebProcess/WebPage/DrawingArea.cpp: Added.
+ * WebProcess/WebPage/DrawingArea.h: Added.
+ * WebProcess/WebPage/WebFrame.cpp: Added.
+ * WebProcess/WebPage/WebFrame.h: Added.
+ * WebProcess/WebPage/WebPage.cpp: Added.
+ * WebProcess/WebPage/WebPage.h: Added.
+ * WebProcess/WebPage/mac: Added.
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: Added.
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h: Added.
+ * WebProcess/WebPage/mac/WebPageMac.mm: Added.
+ * WebProcess/WebPage/win: Added.
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: Added.
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h: Added.
+ * WebProcess/WebPage/win/WebPageWin.cpp: Added.
+ * WebProcess/WebProcess.cpp: Added.
+ * WebProcess/WebProcess.h: Added.
+ * WebProcess/win: Added.
+ * WebProcess/win/DllMain.cpp: Added.
+ * WebProcess/win/WebLocalizableStrings.cpp: Added.
+ * WebProcess/win/WebLocalizableStrings.h: Added.
+ * WebProcess/win/WebProcessMain.cpp: Added.
+ * WebProcess/win/WebProcessMain.h: Added.
+
+2010-04-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37295
+ Add WebKit2/Shared directory.
+
+ * Shared: Added.
+ * Shared/CoreIPCSupport: Added.
+ * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: Added.
+ * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: Added.
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h: Added.
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added.
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h: Added.
+ * Shared/NotImplemented.h: Added.
+ * Shared/WebCoreTypeArgumentMarshalling.h: Added.
+ * Shared/WebEvent.h: Added.
+ * Shared/WebEventConversion.cpp: Added.
+ * Shared/WebEventConversion.h: Added.
+ * Shared/WebPreferencesStore.cpp: Added.
+ * Shared/WebPreferencesStore.h: Added.
+ * Shared/mac: Added.
+ * Shared/mac/UpdateChunk.cpp: Added.
+ * Shared/mac/UpdateChunk.h: Added.
+ * Shared/mac/WebEventFactory.h: Added.
+ * Shared/mac/WebEventFactory.mm: Added.
+ * Shared/win: Added.
+ * Shared/win/UpdateChunk.cpp: Added.
+ * Shared/win/UpdateChunk.h: Added.
+ * Shared/win/WebEventFactory.cpp: Added.
+ * Shared/win/WebEventFactory.h: Added.
+
+2010-04-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37293
+ Add WebKit2/Platform directory.
+
+ * Platform: Added.
+ * Platform/CoreIPC: Added.
+ * Platform/CoreIPC/ArgumentDecoder.cpp: Added.
+ * Platform/CoreIPC/ArgumentDecoder.h: Added.
+ * Platform/CoreIPC/ArgumentEncoder.cpp: Added.
+ * Platform/CoreIPC/ArgumentEncoder.h: Added.
+ * Platform/CoreIPC/Arguments.h: Added.
+ * Platform/CoreIPC/Attachment.cpp: Added.
+ * Platform/CoreIPC/Attachment.h: Added.
+ * Platform/CoreIPC/Connection.cpp: Added.
+ * Platform/CoreIPC/Connection.h: Added.
+ * Platform/CoreIPC/MessageID.h: Added.
+ * Platform/CoreIPC/mac: Added.
+ * Platform/CoreIPC/mac/ConnectionMac.cpp: Added.
+ * Platform/CoreIPC/mac/MachPort.h: Added.
+ * Platform/CoreIPC/win: Added.
+ * Platform/CoreIPC/win/ConnectionWin.cpp: Added.
+ * Platform/PlatformProcessIdentifier.h: Added.
+ * Platform/RunLoop.cpp: Added.
+ * Platform/RunLoop.h: Added.
+ * Platform/WorkItem.h: Added.
+ * Platform/WorkQueue.cpp: Added.
+ * Platform/WorkQueue.h: Added.
+ * Platform/mac: Added.
+ * Platform/mac/RunLoopMac.mm: Added.
+ * Platform/mac/WorkQueueMac.cpp: Added.
+ * Platform/win: Added.
+ * Platform/win/RunLoopWin.cpp: Added.
+
+2010-04-08 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Mark Rowe.
+
+ Add WebKit2 directory.
diff --git a/Source/WebKit2/Configurations/Base.xcconfig b/Source/WebKit2/Configurations/Base.xcconfig
index 4005a47..6f06a69 100644
--- a/Source/WebKit2/Configurations/Base.xcconfig
+++ b/Source/WebKit2/Configurations/Base.xcconfig
@@ -51,6 +51,9 @@ VALID_ARCHS = i386 x86_64;
// FIXME: <rdar://problem/5070292> WebKit should build with -Wshorten-64-to-32
WARNING_CFLAGS = -Wall -Wextra -Wchar-subscripts -Wextra-tokens -Wformat-security -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wno-unused-parameter -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings;
+// Prevent C++ standard library operator new, delete and their related exception types from being exported as weak symbols.
+OTHER_LDFLAGS = -Wl,-unexported_symbol -Wl,__ZTISt9bad_alloc -Wl,-unexported_symbol -Wl,__ZTISt9exception -Wl,-unexported_symbol -Wl,__ZTSSt9bad_alloc -Wl,-unexported_symbol -Wl,__ZTSSt9exception -Wl,-unexported_symbol -Wl,__ZdlPvS_ -Wl,-unexported_symbol -Wl,__ZnwmPv;
+
REAL_PLATFORM_NAME = $(REAL_PLATFORM_NAME_$(PLATFORM_NAME));
REAL_PLATFORM_NAME_ = $(REAL_PLATFORM_NAME_macosx);
diff --git a/Source/WebKit2/Configurations/Version.xcconfig b/Source/WebKit2/Configurations/Version.xcconfig
index 527486d..3095c3b 100644
--- a/Source/WebKit2/Configurations/Version.xcconfig
+++ b/Source/WebKit2/Configurations/Version.xcconfig
@@ -22,7 +22,7 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MAJOR_VERSION = 534;
-MINOR_VERSION = 20;
+MINOR_VERSION = 24;
TINY_VERSION = 0;
FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION);
diff --git a/Source/WebKit2/Configurations/WebKit2.xcconfig b/Source/WebKit2/Configurations/WebKit2.xcconfig
index 01771c2..aa80bbc 100644
--- a/Source/WebKit2/Configurations/WebKit2.xcconfig
+++ b/Source/WebKit2/Configurations/WebKit2.xcconfig
@@ -29,6 +29,6 @@ INFOPLIST_FILE = Info.plist;
// The framework location specified in mac/MainMac.cpp needs to be kept in sync with the install path.
INSTALL_PATH = $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
-OTHER_LDFLAGS = $(OTHER_LDFLAGS_$(REAL_PLATFORM_NAME));
+OTHER_LDFLAGS = $(OTHER_LDFLAGS_$(REAL_PLATFORM_NAME)) $(OTHER_LDFLAGS);
OTHER_LDFLAGS_macosx = $(OTHER_LDFLAGS_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
OTHER_LDFLAGS_macosx_1070 = -Xlinker -objc_gc_compaction;
diff --git a/Source/WebKit2/DerivedSources.make b/Source/WebKit2/DerivedSources.make
index 4350226..40a9b7a 100644
--- a/Source/WebKit2/DerivedSources.make
+++ b/Source/WebKit2/DerivedSources.make
@@ -23,9 +23,13 @@
VPATH = \
$(WebKit2)/PluginProcess \
$(WebKit2)/Shared/Plugins \
+ $(WebKit2)/WebProcess/ApplicationCache \
$(WebKit2)/WebProcess/Authentication \
+ $(WebKit2)/WebProcess/Cookies \
$(WebKit2)/WebProcess/Geolocation \
+ $(WebKit2)/WebProcess/KeyValueStorage \
$(WebKit2)/WebProcess/Plugins \
+ $(WebKit2)/WebProcess/ResourceCache \
$(WebKit2)/WebProcess/WebCoreSupport \
$(WebKit2)/WebProcess/WebPage \
$(WebKit2)/WebProcess \
@@ -44,6 +48,10 @@ MESSAGE_RECEIVERS = \
PluginProcess \
PluginProcessProxy \
PluginProxy \
+ WebApplicationCacheManager \
+ WebApplicationCacheManagerProxy \
+ WebCookieManager \
+ WebCookieManagerProxy \
WebContext \
WebDatabaseManager \
WebDatabaseManagerProxy \
@@ -51,11 +59,15 @@ MESSAGE_RECEIVERS = \
WebGeolocationManagerProxy \
WebInspector \
WebInspectorProxy \
+ WebKeyValueStorageManager \
+ WebKeyValueStorageManagerProxy \
WebPage \
WebPageProxy \
WebProcess \
WebProcessConnection \
WebProcessProxy \
+ WebResourceCacheManager \
+ WebResourceCacheManagerProxy \
#
SCRIPTS = \
diff --git a/Source/WebKit2/DerivedSources.pro b/Source/WebKit2/DerivedSources.pro
index d7d4a7b..3af0549 100644
--- a/Source/WebKit2/DerivedSources.pro
+++ b/Source/WebKit2/DerivedSources.pro
@@ -75,15 +75,20 @@ defineReplace(message_receiver_generator_output) {
VPATH = \
PluginProcess \
+ WebProcess/ApplicationCache \
WebProcess/Authentication \
+ WebProcess/Cookies \
WebProcess/Geolocation \
+ WebProcess/KeyValueStorage \
WebProcess/Plugins \
+ WebProcess/ResourceCache \
WebProcess/WebCoreSupport \
WebProcess/WebPage \
WebProcess \
UIProcess \
UIProcess/Downloads \
- UIProcess/Plugins
+ UIProcess/Plugins \
+ Shared/Plugins
MESSAGE_RECEIVERS = \
AuthenticationManager.messages.in \
@@ -92,18 +97,27 @@ MESSAGE_RECEIVERS = \
PluginProcess.messages.in \
PluginProcessProxy.messages.in \
PluginProxy.messages.in \
+ WebApplicationCacheManager.messages.in \
+ WebApplicationCacheManagerProxy.messages.in \
WebContext.messages.in \
+ WebCookieManager.messages.in \
+ WebCookieManagerProxy.messages.in \
WebDatabaseManager.messages.in \
WebDatabaseManagerProxy.messages.in \
WebGeolocationManager.messages.in \
WebGeolocationManagerProxy.messages.in \
WebInspectorProxy.messages.in \
+ WebKeyValueStorageManager.messages.in \
+ WebKeyValueStorageManagerProxy.messages.in \
WebPage/WebInspector.messages.in \
WebPage/WebPage.messages.in \
WebPageProxy.messages.in \
WebProcess.messages.in \
WebProcessConnection.messages.in \
- WebProcessProxy.messages.in
+ WebProcessProxy.messages.in \
+ WebResourceCacheManager.messages.in \
+ WebResourceCacheManagerProxy.messages.in \
+ NPObjectMessageReceiver.messages.in
SCRIPTS = \
$$PWD/Scripts/generate-message-receiver.py \
diff --git a/Source/WebKit2/GNUmakefile.am b/Source/WebKit2/GNUmakefile.am
index 7874c64..597d29a 100644
--- a/Source/WebKit2/GNUmakefile.am
+++ b/Source/WebKit2/GNUmakefile.am
@@ -38,12 +38,14 @@ libWebKit2_la_HEADERS = \
$(WebKit2)/UIProcess/API/C/gtk/WKView.h \
$(WebKit2)/UIProcess/API/C/WebKit2.h \
$(WebKit2)/UIProcess/API/C/WKAPICast.h \
+ $(WebKit2)/UIProcess/API/C/WKApplicationCacheManager.h \
$(WebKit2)/UIProcess/API/C/WKAuthenticationChallenge.h \
$(WebKit2)/UIProcess/API/C/WKAuthenticationDecisionListener.h \
$(WebKit2)/UIProcess/API/C/WKBackForwardList.h \
$(WebKit2)/UIProcess/API/C/WKBackForwardListItem.h \
$(WebKit2)/UIProcess/API/C/WKContext.h \
$(WebKit2)/UIProcess/API/C/WKContextPrivate.h \
+ $(WebKit2)/UIProcess/API/C/WKCookieManager.h \
$(WebKit2)/UIProcess/API/C/WKCredential.h \
$(WebKit2)/UIProcess/API/C/WKCredentialTypes.h \
$(WebKit2)/UIProcess/API/C/WKDatabaseManager.h \
@@ -52,6 +54,7 @@ libWebKit2_la_HEADERS = \
$(WebKit2)/UIProcess/API/C/WKFrame.h \
$(WebKit2)/UIProcess/API/C/WKFramePolicyListener.h \
$(WebKit2)/UIProcess/API/C/WKInspector.h \
+ $(WebKit2)/UIProcess/API/C/WKKeyValueStorageManager.h \
$(WebKit2)/UIProcess/API/C/WKNativeEvent.h \
$(WebKit2)/UIProcess/API/C/WKNavigationData.h \
$(WebKit2)/UIProcess/API/C/WKOpenPanelParameters.h \
@@ -59,16 +62,20 @@ libWebKit2_la_HEADERS = \
$(WebKit2)/UIProcess/API/C/WKPageGroup.h \
$(WebKit2)/UIProcess/API/C/WKPage.h \
$(WebKit2)/UIProcess/API/C/WKPagePrivate.h \
+ $(WebKit2)/UIProcess/API/C/WKPluginSiteDataManager.h \
$(WebKit2)/UIProcess/API/C/WKPreferences.h \
$(WebKit2)/UIProcess/API/C/WKPreferencesPrivate.h \
$(WebKit2)/UIProcess/API/C/WKProtectionSpace.h \
$(WebKit2)/UIProcess/API/C/WKProtectionSpaceTypes.h \
+ $(WebKit2)/UIProcess/API/C/WKResourceCacheManager.h \
$(WebKit2)/UIProcess/API/cpp/WKRetainPtr.h
nodist_libWebKit2_la_SOURCES = \
$(webkit2_built_sources)
libWebKit2_la_SOURCES = \
+ Source/WebKit/gtk/webkit/webkiterror.h \
+ Source/WebKit/gtk/webkit/webkiterror.cpp \
Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h \
Source/WebKit2/Platform/CoreIPC/ArgumentCoders.h \
Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.cpp \
@@ -178,21 +185,24 @@ libWebKit2_la_SOURCES = \
Source/WebKit2/Shared/DrawingAreaInfo.h \
Source/WebKit2/Shared/FontSmoothingLevel.h \
Source/WebKit2/Shared/gtk/ShareableBitmapGtk.cpp \
+ Source/WebKit2/Shared/gtk/NativeWebKeyboardEventGtk.cpp \
Source/WebKit2/Shared/gtk/PlatformCertificateInfo.h \
Source/WebKit2/Shared/gtk/UpdateChunk.cpp \
Source/WebKit2/Shared/gtk/UpdateChunk.h \
Source/WebKit2/Shared/gtk/WebCoreArgumentCodersGtk.cpp \
+ Source/WebKit2/Shared/gtk/WebEventFactory.cpp \
+ Source/WebKit2/Shared/gtk/WebEventFactory.h \
Source/WebKit2/Shared/ImageOptions.h \
Source/WebKit2/Shared/ImmutableArray.cpp \
Source/WebKit2/Shared/ImmutableArray.h \
Source/WebKit2/Shared/ImmutableDictionary.cpp \
Source/WebKit2/Shared/ImmutableDictionary.h \
+ Source/WebKit2/Shared/LayerTreeContext.h \
Source/WebKit2/Shared/MutableArray.cpp \
Source/WebKit2/Shared/MutableArray.h \
Source/WebKit2/Shared/MutableDictionary.cpp \
Source/WebKit2/Shared/MutableDictionary.h \
Source/WebKit2/Shared/NativeWebKeyboardEvent.h \
- Source/WebKit2/Shared/NotImplemented.h \
Source/WebKit2/Shared/OriginAndDatabases.cpp \
Source/WebKit2/Shared/OriginAndDatabases.h \
Source/WebKit2/Shared/PlatformPopupMenuData.cpp \
@@ -217,6 +227,8 @@ libWebKit2_la_SOURCES = \
Source/WebKit2/Shared/Plugins/PluginQuirks.h \
Source/WebKit2/Shared/SameDocumentNavigationType.h \
Source/WebKit2/Shared/SandboxExtension.h \
+ Source/WebKit2/Shared/SecurityOriginData.h \
+ Source/WebKit2/Shared/SecurityOriginData.cpp \
Source/WebKit2/Shared/SelectionState.h \
Source/WebKit2/Shared/SessionState.cpp \
Source/WebKit2/Shared/SessionState.h \
@@ -280,6 +292,8 @@ libWebKit2_la_SOURCES = \
Source/WebKit2/UIProcess/API/C/gtk/WKView.h \
Source/WebKit2/UIProcess/API/C/WebKit2.h \
Source/WebKit2/UIProcess/API/C/WKAPICast.h \
+ Source/WebKit2/UIProcess/API/C/WKApplicationCacheManager.h \
+ Source/WebKit2/UIProcess/API/C/WKApplicationCacheManager.cpp \
Source/WebKit2/UIProcess/API/C/WKAuthenticationChallenge.cpp \
Source/WebKit2/UIProcess/API/C/WKAuthenticationChallenge.h \
Source/WebKit2/UIProcess/API/C/WKAuthenticationDecisionListener.cpp \
@@ -291,6 +305,8 @@ libWebKit2_la_SOURCES = \
Source/WebKit2/UIProcess/API/C/WKContext.cpp \
Source/WebKit2/UIProcess/API/C/WKContext.h \
Source/WebKit2/UIProcess/API/C/WKContextPrivate.h \
+ Source/WebKit2/UIProcess/API/C/WKCookieManager.h \
+ Source/WebKit2/UIProcess/API/C/WKCookieManager.cpp \
Source/WebKit2/UIProcess/API/C/WKCredential.cpp \
Source/WebKit2/UIProcess/API/C/WKCredential.h \
Source/WebKit2/UIProcess/API/C/WKCredentialTypes.h \
@@ -306,6 +322,8 @@ libWebKit2_la_SOURCES = \
Source/WebKit2/UIProcess/API/C/WKFramePolicyListener.h \
Source/WebKit2/UIProcess/API/C/WKInspector.cpp \
Source/WebKit2/UIProcess/API/C/WKInspector.h \
+ Source/WebKit2/UIProcess/API/C/WKKeyValueStorageManager.cpp \
+ Source/WebKit2/UIProcess/API/C/WKKeyValueStorageManager.h \
Source/WebKit2/UIProcess/API/C/WKNativeEvent.h \
Source/WebKit2/UIProcess/API/C/WKNavigationData.cpp \
Source/WebKit2/UIProcess/API/C/WKNavigationData.h \
@@ -318,12 +336,16 @@ libWebKit2_la_SOURCES = \
Source/WebKit2/UIProcess/API/C/WKPageGroup.h \
Source/WebKit2/UIProcess/API/C/WKPage.h \
Source/WebKit2/UIProcess/API/C/WKPagePrivate.h \
+ Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.h \
+ Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.cpp \
Source/WebKit2/UIProcess/API/C/WKPreferences.cpp \
Source/WebKit2/UIProcess/API/C/WKPreferences.h \
Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h \
Source/WebKit2/UIProcess/API/C/WKProtectionSpace.cpp \
Source/WebKit2/UIProcess/API/C/WKProtectionSpace.h \
Source/WebKit2/UIProcess/API/C/WKProtectionSpaceTypes.h \
+ Source/WebKit2/UIProcess/API/C/WKResourceCacheManager.h \
+ Source/WebKit2/UIProcess/API/C/WKResourceCacheManager.cpp \
Source/WebKit2/UIProcess/API/cpp/WKRetainPtr.h \
Source/WebKit2/UIProcess/Authentication/AuthenticationChallengeProxy.cpp \
Source/WebKit2/UIProcess/Authentication/AuthenticationChallengeProxy.h \
@@ -348,17 +370,20 @@ libWebKit2_la_SOURCES = \
Source/WebKit2/UIProcess/GeolocationPermissionRequestProxy.h \
Source/WebKit2/UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp \
Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp \
+ Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp \
Source/WebKit2/UIProcess/gtk/WebInspectorGtk.cpp \
+ Source/WebKit2/UIProcess/gtk/WebViewWidget.cpp \
+ Source/WebKit2/UIProcess/gtk/WebViewWidget.h \
Source/WebKit2/UIProcess/gtk/WebPageProxyGtk.cpp \
Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp \
+ Source/WebKit2/UIProcess/gtk/WebView.cpp \
+ Source/WebKit2/UIProcess/gtk/WebView.h \
Source/WebKit2/UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp \
Source/WebKit2/UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp \
Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp \
Source/WebKit2/UIProcess/Launcher/ProcessLauncher.h \
Source/WebKit2/UIProcess/Launcher/ThreadLauncher.cpp \
Source/WebKit2/UIProcess/Launcher/ThreadLauncher.h \
- Source/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.cpp \
- Source/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.h \
Source/WebKit2/UIProcess/PageClient.h \
Source/WebKit2/UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp \
Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp \
@@ -367,6 +392,8 @@ libWebKit2_la_SOURCES = \
Source/WebKit2/UIProcess/Plugins/PluginProcessManager.h \
Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp \
Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.h \
+ Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.h \
+ Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp \
Source/WebKit2/UIProcess/ProcessModel.h \
Source/WebKit2/UIProcess/ResponsivenessTimer.cpp \
Source/WebKit2/UIProcess/ResponsivenessTimer.h \
@@ -376,6 +403,8 @@ libWebKit2_la_SOURCES = \
Source/WebKit2/UIProcess/TiledDrawingAreaTile.h \
Source/WebKit2/UIProcess/VisitedLinkProvider.cpp \
Source/WebKit2/UIProcess/VisitedLinkProvider.h \
+ Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.h \
+ Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp \
Source/WebKit2/UIProcess/WebBackForwardList.cpp \
Source/WebKit2/UIProcess/WebBackForwardList.h \
Source/WebKit2/UIProcess/WebContext.cpp \
@@ -385,6 +414,10 @@ libWebKit2_la_SOURCES = \
Source/WebKit2/UIProcess/WebContextMenuProxy.cpp \
Source/WebKit2/UIProcess/WebContextMenuProxy.h \
Source/WebKit2/UIProcess/WebContextUserMessageCoders.h \
+ Source/WebKit2/UIProcess/WebCookieManagerProxy.h \
+ Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp \
+ Source/WebKit2/UIProcess/WebCookieManagerProxyClient.cpp \
+ Source/WebKit2/UIProcess/WebCookieManagerProxyClient.h \
Source/WebKit2/UIProcess/WebDatabaseManagerProxyClient.cpp \
Source/WebKit2/UIProcess/WebDatabaseManagerProxyClient.h \
Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp \
@@ -413,6 +446,8 @@ libWebKit2_la_SOURCES = \
Source/WebKit2/UIProcess/WebHistoryClient.h \
Source/WebKit2/UIProcess/WebInspectorProxy.cpp \
Source/WebKit2/UIProcess/WebInspectorProxy.h \
+ Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp \
+ Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h \
Source/WebKit2/UIProcess/WebLoaderClient.cpp \
Source/WebKit2/UIProcess/WebLoaderClient.h \
Source/WebKit2/UIProcess/WebNavigationData.cpp \
@@ -430,16 +465,20 @@ libWebKit2_la_SOURCES = \
Source/WebKit2/UIProcess/WebPopupMenuProxy.h \
Source/WebKit2/UIProcess/WebPreferences.cpp \
Source/WebKit2/UIProcess/WebPreferences.h \
- Source/WebKit2/UIProcess/WebProcessManager.cpp \
- Source/WebKit2/UIProcess/WebProcessManager.h \
Source/WebKit2/UIProcess/WebProcessProxy.cpp \
Source/WebKit2/UIProcess/WebProcessProxy.h \
+ Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.h \
+ Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp \
Source/WebKit2/UIProcess/WebResourceLoadClient.cpp \
Source/WebKit2/UIProcess/WebResourceLoadClient.h \
Source/WebKit2/UIProcess/WebUIClient.cpp \
Source/WebKit2/UIProcess/WebUIClient.h \
+ Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.h \
+ Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.cpp \
Source/WebKit2/WebProcess/Authentication/AuthenticationManager.cpp \
Source/WebKit2/WebProcess/Authentication/AuthenticationManager.h \
+ Source/WebKit2/WebProcess/Cookies/WebCookieManager.h \
+ Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp \
Source/WebKit2/WebProcess/Downloads/curl/DownloadCurl.cpp \
Source/WebKit2/WebProcess/Downloads/Download.cpp \
Source/WebKit2/WebProcess/Downloads/Download.h \
@@ -512,6 +551,8 @@ libWebKit2_la_SOURCES = \
Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp \
Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleScriptWorld.h \
Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h \
+ Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp \
+ Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.h \
Source/WebKit2/WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp \
Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp \
Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h \
@@ -540,7 +581,10 @@ libWebKit2_la_SOURCES = \
Source/WebKit2/WebProcess/Plugins/PluginProxy.h \
Source/WebKit2/WebProcess/Plugins/PluginView.cpp \
Source/WebKit2/WebProcess/Plugins/PluginView.h \
+ Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.h \
+ Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.cpp \
Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp \
+ Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp \
Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h \
Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp \
Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp \
@@ -580,8 +624,6 @@ libWebKit2_la_SOURCES = \
Source/WebKit2/WebProcess/WebPage/FindController.h \
Source/WebKit2/WebProcess/WebPage/gtk/ChunkedUpdateDrawingAreaGtk.cpp \
Source/WebKit2/WebProcess/WebPage/gtk/WebInspectorGtk.cpp \
- Source/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.cpp \
- Source/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.h \
Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp \
Source/WebKit2/WebProcess/WebPage/PageOverlay.h \
Source/WebKit2/WebProcess/WebPage/TiledDrawingArea.cpp \
@@ -609,6 +651,7 @@ libWebKit2_la_CPPFLAGS = \
-fno-strict-aliasing \
$(global_cppflags) \
-include $(srcdir)/Source/WebKit2/WebKit2Prefix.h \
+ -I$(srcdir)/Source/WebKit/gtk \
-I$(srcdir)/Source/WebKit2 \
-I$(srcdir)/Source/WebKit2/gtk \
-I$(srcdir)/Source/WebKit2/Platform \
@@ -638,7 +681,9 @@ libWebKit2_la_CPPFLAGS = \
-I$(srcdir)/Source/WebKit2/UIProcess/Plugins \
-I$(srcdir)/Source/WebKit2/UIProcess/Plugins/gtk \
-I$(srcdir)/Source/WebKit2/WebProcess \
+ -I$(srcdir)/Source/WebKit2/WebProcess/ApplicationCache \
-I$(srcdir)/Source/WebKit2/WebProcess/Authentication \
+ -I$(srcdir)/Source/WebKit2/WebProcess/Cookies \
-I$(srcdir)/Source/WebKit2/WebProcess/Downloads \
-I$(srcdir)/Source/WebKit2/WebProcess/Geolocation \
-I$(srcdir)/Source/WebKit2/WebProcess/gtk \
@@ -647,7 +692,9 @@ libWebKit2_la_CPPFLAGS = \
-I$(srcdir)/Source/WebKit2/WebProcess/InjectedBundle/API/c \
-I$(srcdir)/Source/WebKit2/WebProcess/InjectedBundle/DOM \
-I$(srcdir)/Source/WebKit2/WebProcess/InjectedBundle/gtk \
+ -I$(srcdir)/Source/WebKit2/WebProcess/KeyValueStorage \
-I$(srcdir)/Source/WebKit2/WebProcess/Launching \
+ -I$(srcdir)/Source/WebKit2/WebProcess/ResourceCache \
-I$(srcdir)/Source/WebKit2/WebProcess/Plugins \
-I$(srcdir)/Source/WebKit2/WebProcess/Plugins/Netscape \
-I$(srcdir)/Source/WebKit2/WebProcess/Plugins/Netscape/gtk \
@@ -787,8 +834,16 @@ webkit2_built_sources += \
DerivedSources/WebKit2/PluginProcessProxyMessages.h \
DerivedSources/WebKit2/PluginProxyMessageReceiver.cpp \
DerivedSources/WebKit2/PluginProxyMessages.h \
+ DerivedSources/WebKit2/WebApplicationCacheManagerMessageReceiver.cpp \
+ DerivedSources/WebKit2/WebApplicationCacheManagerMessages.h \
+ DerivedSources/WebKit2/WebApplicationCacheManagerProxyMessageReceiver.cpp \
+ DerivedSources/WebKit2/WebApplicationCacheManagerProxyMessages.h \
DerivedSources/WebKit2/WebContextMessageReceiver.cpp \
DerivedSources/WebKit2/WebContextMessages.h \
+ DerivedSources/WebKit2/WebCookieManagerMessageReceiver.cpp \
+ DerivedSources/WebKit2/WebCookieManagerMessages.h \
+ DerivedSources/WebKit2/WebCookieManagerProxyMessageReceiver.cpp \
+ DerivedSources/WebKit2/WebCookieManagerProxyMessages.h \
DerivedSources/WebKit2/WebDatabaseManagerMessageReceiver.cpp \
DerivedSources/WebKit2/WebDatabaseManagerMessages.h \
DerivedSources/WebKit2/WebDatabaseManagerProxyMessageReceiver.cpp \
@@ -801,10 +856,18 @@ webkit2_built_sources += \
DerivedSources/WebKit2/WebInspectorMessages.h \
DerivedSources/WebKit2/WebInspectorProxyMessageReceiver.cpp \
DerivedSources/WebKit2/WebInspectorProxyMessages.h \
+ DerivedSources/WebKit2/WebKeyValueStorageManagerMessageReceiver.cpp \
+ DerivedSources/WebKit2/WebKeyValueStorageManagerMessages.h \
+ DerivedSources/WebKit2/WebKeyValueStorageManagerProxyMessageReceiver.cpp \
+ DerivedSources/WebKit2/WebKeyValueStorageManagerProxyMessages.h \
DerivedSources/WebKit2/WebPageProxyMessageReceiver.cpp \
DerivedSources/WebKit2/WebPageProxyMessages.h \
DerivedSources/WebKit2/WebPageMessageReceiver.cpp \
DerivedSources/WebKit2/WebPageMessages.h \
+ DerivedSources/WebKit2/WebResourceCacheManagerMessageReceiver.cpp \
+ DerivedSources/WebKit2/WebResourceCacheManagerMessages.h \
+ DerivedSources/WebKit2/WebResourceCacheManagerProxyMessageReceiver.cpp \
+ DerivedSources/WebKit2/WebResourceCacheManagerProxyMessages.h \
DerivedSources/WebKit2/WebProcessConnectionMessageReceiver.cpp \
DerivedSources/WebKit2/WebProcessConnectionMessages.h \
DerivedSources/WebKit2/WebProcessMessageReceiver.cpp \
@@ -825,13 +888,19 @@ vpath %.messages.in = \
$(WebKit2)/PluginProcess \
$(WebKit2)/Shared/Plugins \
$(WebKit2)/UIProcess \
+ $(WebKit2)/UIProcess/ApplicationCache \
$(WebKit2)/UIProcess/Downloads \
$(WebKit2)/UIProcess/Geolocation \
$(WebKit2)/UIProcess/Plugins \
+ $(WebKit2)/UIProcess/ResourceCache \
$(WebKit2)/WebProcess \
+ $(WebKit2)/WebProcess/ApplicationCache \
$(WebKit2)/WebProcess/Authentication \
+ $(WebKit2)/WebProcess/Cookies \
$(WebKit2)/WebProcess/Geolocation \
+ $(WebKit2)/WebProcess/KeyValueStorage \
$(WebKit2)/WebProcess/Plugins \
+ $(WebKit2)/WebProcess/ResourceCache \
$(WebKit2)/WebProcess/WebCoreSupport \
$(WebKit2)/WebProcess/WebPage
diff --git a/Source/WebKit2/Platform/CoreIPC/Connection.cpp b/Source/WebKit2/Platform/CoreIPC/Connection.cpp
index 5cbd4bc..281ccb6 100644
--- a/Source/WebKit2/Platform/CoreIPC/Connection.cpp
+++ b/Source/WebKit2/Platform/CoreIPC/Connection.cpp
@@ -343,10 +343,8 @@ PassOwnPtr<ArgumentDecoder> Connection::sendSyncMessage(MessageID messageID, uin
// We only allow sending sync messages from the client run loop.
ASSERT(RunLoop::current() == m_clientRunLoop);
- if (!isValid()) {
- m_client->didFailToSendSyncMessage(this);
+ if (!isValid())
return 0;
- }
// Push the pending sync reply information on our stack.
{
@@ -358,12 +356,14 @@ PassOwnPtr<ArgumentDecoder> Connection::sendSyncMessage(MessageID messageID, uin
m_pendingSyncReplies.append(PendingSyncReply(syncRequestID));
}
-
- // First send the message.
- sendMessage(messageID, encoder);
+ // We have to begin waiting for the sync reply before sending the message, in case the other side
+ // would have sent a request before us, which would lead to a deadlock.
m_syncMessageState->beginWaitForSyncReply();
+ // First send the message.
+ sendMessage(messageID, encoder);
+
// Then wait for a reply. Waiting for a reply could involve dispatching incoming sync messages, so
// keep an extra reference to the connection here in case it's invalidated.
RefPtr<Connection> protect(this);
diff --git a/Source/WebKit2/Platform/CoreIPC/HandleMessage.h b/Source/WebKit2/Platform/CoreIPC/HandleMessage.h
index abbe089..a99c76e 100644
--- a/Source/WebKit2/Platform/CoreIPC/HandleMessage.h
+++ b/Source/WebKit2/Platform/CoreIPC/HandleMessage.h
@@ -235,6 +235,12 @@ void callMemberFunction(const Arguments6<P1, P2, P3, P4, P5, P6>& args, Argument
(object->*function)(args.argument1, args.argument2, args.argument3, args.argument4, args.argument5, args.argument6, argumentDecoder, replyArgs.argument1, replyArgs.argument2);
}
+template<typename C, typename MF, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename R1, typename R2, typename R3>
+void callMemberFunction(const Arguments6<P1, P2, P3, P4, P5, P6>& args, ArgumentDecoder* argumentDecoder, Arguments3<R1, R2, R3>& replyArgs, C* object, MF function)
+{
+ (object->*function)(args.argument1, args.argument2, args.argument3, args.argument4, args.argument5, args.argument6, argumentDecoder, replyArgs.argument1, replyArgs.argument2, replyArgs.argument3);
+}
+
// Main dispatch functions
template<typename T, typename C, typename MF>
diff --git a/Source/WebKit2/Platform/CoreIPC/MessageID.h b/Source/WebKit2/Platform/CoreIPC/MessageID.h
index bd8180a..83154ec 100644
--- a/Source/WebKit2/Platform/CoreIPC/MessageID.h
+++ b/Source/WebKit2/Platform/CoreIPC/MessageID.h
@@ -39,24 +39,32 @@ enum MessageClass {
MessageClassDrawingArea,
MessageClassDrawingAreaLegacy,
MessageClassInjectedBundle,
+ MessageClassWebApplicationCacheManager,
+ MessageClassWebCookieManager,
MessageClassWebDatabaseManager,
MessageClassWebGeolocationManagerProxy,
MessageClassWebInspector,
+ MessageClassWebKeyValueStorageManager,
MessageClassWebPage,
MessageClassWebProcess,
+ MessageClassWebResourceCacheManager,
// Messages sent by the web process to the UI process.
MessageClassDownloadProxy,
MessageClassDrawingAreaProxy,
MessageClassDrawingAreaProxyLegacy,
+ MessageClassWebApplicationCacheManagerProxy,
MessageClassWebContext,
MessageClassWebContextLegacy,
+ MessageClassWebCookieManagerProxy,
MessageClassWebDatabaseManagerProxy,
MessageClassWebGeolocationManager,
MessageClassWebInspectorProxy,
+ MessageClassWebKeyValueStorageManagerProxy,
MessageClassWebPageProxy,
MessageClassWebProcessProxy,
MessageClassWebProcessProxyLegacy,
+ MessageClassWebResourceCacheManagerProxy,
// Messages sent by the UI process to the plug-in process.
MessageClassPluginProcess,
diff --git a/Source/WebKit2/Platform/SharedMemory.h b/Source/WebKit2/Platform/SharedMemory.h
index fd1d60c..a4b95bf 100644
--- a/Source/WebKit2/Platform/SharedMemory.h
+++ b/Source/WebKit2/Platform/SharedMemory.h
@@ -95,7 +95,9 @@ public:
private:
size_t m_size;
void* m_data;
-#if PLATFORM(WIN)
+#if PLATFORM(MAC)
+ mach_port_t m_port;
+#elif PLATFORM(WIN)
HANDLE m_handle;
#elif PLATFORM(QT)
int m_fileDescriptor;
diff --git a/Source/WebKit2/Platform/gtk/SharedMemoryGtk.cpp b/Source/WebKit2/Platform/gtk/SharedMemoryGtk.cpp
index 3900e20..faccf10 100644
--- a/Source/WebKit2/Platform/gtk/SharedMemoryGtk.cpp
+++ b/Source/WebKit2/Platform/gtk/SharedMemoryGtk.cpp
@@ -27,7 +27,7 @@
#include "config.h"
#include "SharedMemory.h"
-#include "NotImplemented.h"
+#include <WebCore/NotImplemented.h>
namespace WebKit {
diff --git a/Source/WebKit2/Platform/gtk/WorkQueueGtk.cpp b/Source/WebKit2/Platform/gtk/WorkQueueGtk.cpp
index 3d59c80..dbe38bd 100644
--- a/Source/WebKit2/Platform/gtk/WorkQueueGtk.cpp
+++ b/Source/WebKit2/Platform/gtk/WorkQueueGtk.cpp
@@ -27,8 +27,8 @@
#include "config.h"
#include "WorkQueue.h"
-#include "NotImplemented.h"
#include "WKBase.h"
+#include <WebCore/NotImplemented.h>
#include <glib.h>
// WorkQueue::EventSource
diff --git a/Source/WebKit2/Platform/mac/SharedMemoryMac.cpp b/Source/WebKit2/Platform/mac/SharedMemoryMac.cpp
index 198ba69..4f55dec 100644
--- a/Source/WebKit2/Platform/mac/SharedMemoryMac.cpp
+++ b/Source/WebKit2/Platform/mac/SharedMemoryMac.cpp
@@ -98,9 +98,22 @@ PassRefPtr<SharedMemory> SharedMemory::create(size_t size)
if (kr != KERN_SUCCESS)
return 0;
+ // Create a Mach port that represents the shared memory.
+ mach_port_t port;
+ memory_object_size_t memoryObjectSize = round_page(size);
+ kr = mach_make_memory_entry_64(mach_task_self(), &memoryObjectSize, address, VM_PROT_DEFAULT, &port, MACH_PORT_NULL);
+
+ if (kr != KERN_SUCCESS) {
+ mach_vm_deallocate(mach_task_self(), address, round_page(size));
+ return 0;
+ }
+
+ ASSERT(memoryObjectSize >= round_page(size));
+
RefPtr<SharedMemory> sharedMemory(adoptRef(new SharedMemory));
sharedMemory->m_size = size;
sharedMemory->m_data = toPointer(address);
+ sharedMemory->m_port = port;
return sharedMemory.release();
}
@@ -133,17 +146,22 @@ PassRefPtr<SharedMemory> SharedMemory::create(const Handle& handle, Protection p
RefPtr<SharedMemory> sharedMemory(adoptRef(new SharedMemory));
sharedMemory->m_size = handle.m_size;
sharedMemory->m_data = toPointer(mappedAddress);
-
+ sharedMemory->m_port = MACH_PORT_NULL;
+
return sharedMemory.release();
}
SharedMemory::~SharedMemory()
{
- if (!m_data)
- return;
-
- kern_return_t kr = mach_vm_deallocate(mach_task_self(), toVMAddress(m_data), round_page(m_size));
- ASSERT_UNUSED(kr, kr == KERN_SUCCESS);
+ if (m_data) {
+ kern_return_t kr = mach_vm_deallocate(mach_task_self(), toVMAddress(m_data), round_page(m_size));
+ ASSERT_UNUSED(kr, kr == KERN_SUCCESS);
+ }
+
+ if (m_port) {
+ kern_return_t kr = mach_port_deallocate(mach_task_self(), m_port);
+ ASSERT_UNUSED(kr, kr == KERN_SUCCESS);
+ }
}
bool SharedMemory::createHandle(Handle& handle, Protection protection)
@@ -154,11 +172,21 @@ bool SharedMemory::createHandle(Handle& handle, Protection protection)
mach_vm_address_t address = toVMAddress(m_data);
memory_object_size_t size = round_page(m_size);
- // Create a mach port that represents the shared memory.
mach_port_t port;
- kern_return_t kr = mach_make_memory_entry_64(mach_task_self(), &size, address, machProtection(protection), &port, MACH_PORT_NULL);
- if (kr != KERN_SUCCESS)
- return false;
+
+ if (protection == ReadWrite && m_port) {
+ // Just re-use the port we have.
+ port = m_port;
+ if (mach_port_mod_refs(mach_task_self(), port, MACH_PORT_RIGHT_SEND, 1) != KERN_SUCCESS)
+ return false;
+ } else {
+ // Create a mach port that represents the shared memory.
+ kern_return_t kr = mach_make_memory_entry_64(mach_task_self(), &size, address, machProtection(protection), &port, MACH_PORT_NULL);
+ if (kr != KERN_SUCCESS)
+ return false;
+
+ ASSERT(size >= round_page(m_size));
+ }
handle.m_port = port;
handle.m_size = size;
diff --git a/Source/WebKit2/Platform/qt/ModuleQt.cpp b/Source/WebKit2/Platform/qt/ModuleQt.cpp
index de83691..98815a2 100644
--- a/Source/WebKit2/Platform/qt/ModuleQt.cpp
+++ b/Source/WebKit2/Platform/qt/ModuleQt.cpp
@@ -32,6 +32,7 @@ namespace WebKit {
bool Module::load()
{
m_lib.setFileName(static_cast<QString>(m_path));
+ m_lib.setLoadHints(QLibrary::ResolveAllSymbolsHint);
return m_lib.load();
}
diff --git a/Source/WebKit2/Platform/qt/WorkQueueQt.cpp b/Source/WebKit2/Platform/qt/WorkQueueQt.cpp
index 24af404..7a6ec5e 100644
--- a/Source/WebKit2/Platform/qt/WorkQueueQt.cpp
+++ b/Source/WebKit2/Platform/qt/WorkQueueQt.cpp
@@ -31,8 +31,8 @@
#include <QObject>
#include <QThread>
#include <QProcess>
+#include <WebCore/NotImplemented.h>
#include <wtf/Threading.h>
-#include "NotImplemented.h"
class WorkQueue::WorkItemQt : public QObject {
Q_OBJECT
@@ -111,9 +111,11 @@ void WorkQueue::scheduleWork(PassOwnPtr<WorkItem> item)
itemQt->moveToThread(m_workThread);
}
-void WorkQueue::scheduleWorkAfterDelay(PassOwnPtr<WorkItem>, double)
+void WorkQueue::scheduleWorkAfterDelay(PassOwnPtr<WorkItem> item, double delayInSecond)
{
- notImplemented();
+ WorkQueue::WorkItemQt* itemQt = new WorkQueue::WorkItemQt(this, item.leakPtr());
+ itemQt->startTimer(static_cast<int>(delayInSecond * 1000));
+ itemQt->moveToThread(m_workThread);
}
void WorkQueue::scheduleWorkOnTermination(WebKit::PlatformProcessIdentifier process, PassOwnPtr<WorkItem> workItem)
diff --git a/Source/WebKit2/Platform/win/RunLoopWin.cpp b/Source/WebKit2/Platform/win/RunLoopWin.cpp
index 7980e36..0ca7d9b 100644
--- a/Source/WebKit2/Platform/win/RunLoopWin.cpp
+++ b/Source/WebKit2/Platform/win/RunLoopWin.cpp
@@ -156,7 +156,7 @@ void RunLoop::TimerBase::start(double nextFireInterval, bool repeat)
{
m_isRepeating = repeat;
m_runLoop->m_activeTimers.set(m_ID, this);
- ::SetTimer(m_runLoop->m_runLoopMessageWindow, m_ID, nextFireInterval, 0);
+ ::SetTimer(m_runLoop->m_runLoopMessageWindow, m_ID, nextFireInterval * 1000, 0);
}
void RunLoop::TimerBase::stop()
diff --git a/Source/WebKit2/Platform/win/WorkQueueWin.cpp b/Source/WebKit2/Platform/win/WorkQueueWin.cpp
index f751b5d..0a89225 100644
--- a/Source/WebKit2/Platform/win/WorkQueueWin.cpp
+++ b/Source/WebKit2/Platform/win/WorkQueueWin.cpp
@@ -26,8 +26,8 @@
#include "config.h"
#include "WorkQueue.h"
+#include <WebCore/NotImplemented.h>
#include <wtf/Threading.h>
-#include "NotImplemented.h"
inline WorkQueue::WorkItemWin::WorkItemWin(PassOwnPtr<WorkItem> item, WorkQueue* queue)
: m_item(item)
diff --git a/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp b/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp
index 3dc7e8e..b140f78 100644
--- a/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp
+++ b/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp
@@ -58,6 +58,8 @@ PluginControllerProxy::PluginControllerProxy(WebProcessConnection* connection, u
, m_isPrivateBrowsingEnabled(isPrivateBrowsingEnabled)
, m_isAcceleratedCompositingEnabled(isAcceleratedCompositingEnabled)
, m_paintTimer(RunLoop::main(), this, &PluginControllerProxy::paint)
+ , m_pluginDestructionProtectCount(0)
+ , m_pluginDestroyTimer(RunLoop::main(), this, &PluginControllerProxy::destroy)
, m_waitingForDidUpdate(false)
, m_pluginCanceledManualStreamLoad(false)
#if PLATFORM(MAC)
@@ -93,10 +95,20 @@ void PluginControllerProxy::destroy()
{
ASSERT(m_plugin);
+ if (m_pluginDestructionProtectCount) {
+ // We have plug-in code on the stack so we can't destroy it right now.
+ // Destroy it later.
+ m_pluginDestroyTimer.startOneShot(0);
+ return;
+ }
+
m_plugin->destroy();
m_plugin = 0;
platformDestroy();
+
+ // This will delete the plug-in controller proxy object.
+ m_connection->removePluginControllerProxy(this);
}
void PluginControllerProxy::paint()
@@ -205,6 +217,8 @@ NPObject* PluginControllerProxy::pluginElementNPObject()
bool PluginControllerProxy::evaluate(NPObject* npObject, const String& scriptString, NPVariant* result, bool allowPopups)
{
+ PluginDestructionProtector protector(this);
+
NPVariant npObjectAsNPVariant;
OBJECT_TO_NPVARIANT(npObject, npObjectAsNPVariant);
@@ -285,6 +299,18 @@ bool PluginControllerProxy::isPrivateBrowsingEnabled()
return m_isPrivateBrowsingEnabled;
}
+void PluginControllerProxy::protectPluginFromDestruction()
+{
+ m_pluginDestructionProtectCount++;
+}
+
+void PluginControllerProxy::unprotectPluginFromDestruction()
+{
+ ASSERT(m_pluginDestructionProtectCount);
+
+ m_pluginDestructionProtectCount--;
+}
+
void PluginControllerProxy::frameDidFinishLoading(uint64_t requestID)
{
m_plugin->frameDidFinishLoading(requestID);
@@ -403,6 +429,17 @@ void PluginControllerProxy::paintEntirePlugin()
paint();
}
+void PluginControllerProxy::snapshot(WebCore::IntSize& bufferSize, SharedMemory::Handle& backingStoreHandle)
+{
+ ASSERT(m_plugin);
+ RefPtr<ShareableBitmap> bitmap = m_plugin->snapshot();
+ if (!bitmap)
+ return;
+
+ bitmap->createHandle(backingStoreHandle);
+ bufferSize = bitmap->size();
+}
+
void PluginControllerProxy::setFocus(bool hasFocus)
{
m_plugin->setFocus(hasFocus);
diff --git a/Source/WebKit2/PluginProcess/PluginControllerProxy.h b/Source/WebKit2/PluginProcess/PluginControllerProxy.h
index c39542a..e470f85 100644
--- a/Source/WebKit2/PluginProcess/PluginControllerProxy.h
+++ b/Source/WebKit2/PluginProcess/PluginControllerProxy.h
@@ -69,6 +69,8 @@ public:
uint32_t remoteLayerClientID() const;
#endif
+ PluginController* asPluginController() { return this; }
+
private:
PluginControllerProxy(WebProcessConnection* connection, uint64_t pluginInstanceID, const String& userAgent, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled);
@@ -97,6 +99,8 @@ private:
virtual String cookiesForURL(const String&);
virtual void setCookiesForURL(const String& urlString, const String& cookieString);
virtual bool isPrivateBrowsingEnabled();
+ virtual void protectPluginFromDestruction();
+ virtual void unprotectPluginFromDestruction();
// Message handlers.
void frameDidFinishLoading(uint64_t requestID);
@@ -117,6 +121,7 @@ private:
void handleMouseLeaveEvent(const WebMouseEvent&, bool& handled);
void handleKeyboardEvent(const WebKeyboardEvent&, bool& handled);
void paintEntirePlugin();
+ void snapshot(WebCore::IntSize& bufferSize, SharedMemory::Handle& backingStoreHandle);
void setFocus(bool);
void didUpdate();
void getPluginScriptableNPObject(uint64_t& pluginScriptableNPObjectID);
@@ -152,6 +157,13 @@ private:
// The paint timer, used for coalescing painting.
RunLoop::Timer<PluginControllerProxy> m_paintTimer;
+
+ // A counter used to prevent the plug-in from being destroyed.
+ unsigned m_pluginDestructionProtectCount;
+
+ // A timer that we use to prevent destruction of the plug-in while plug-in
+ // code is on the stack.
+ RunLoop::Timer<PluginControllerProxy> m_pluginDestroyTimer;
// Whether we're waiting for the plug-in proxy in the web process to draw the contents of its
// backing store into the web process backing store.
diff --git a/Source/WebKit2/PluginProcess/PluginControllerProxy.messages.in b/Source/WebKit2/PluginProcess/PluginControllerProxy.messages.in
index 60fd3df..91cc57f 100644
--- a/Source/WebKit2/PluginProcess/PluginControllerProxy.messages.in
+++ b/Source/WebKit2/PluginProcess/PluginControllerProxy.messages.in
@@ -100,7 +100,10 @@ messages -> PluginControllerProxy {
WindowVisibilityChanged(bool isVisible)
#endif
- # Set when private browsing is enabled or disabled
+ # Return a snapshot of the plugin
+ Snapshot() -> (WebCore::IntSize size, WebKit::SharedMemory::Handle backingStoreHandle)
+
+ # Sent when private browsing is enabled or disabled
PrivateBrowsingStateChanged(bool isPrivateBrowsingEnabled)
}
diff --git a/Source/WebKit2/PluginProcess/PluginProcess.cpp b/Source/WebKit2/PluginProcess/PluginProcess.cpp
index 58eedba..9a9f3bc 100644
--- a/Source/WebKit2/PluginProcess/PluginProcess.cpp
+++ b/Source/WebKit2/PluginProcess/PluginProcess.cpp
@@ -28,6 +28,7 @@
#if ENABLE(PLUGIN_PROCESS)
+#include "ArgumentCoders.h"
#include "MachPort.h"
#include "NetscapePluginModule.h"
#include "PluginProcessProxyMessages.h"
@@ -72,10 +73,7 @@ void PluginProcess::removeWebProcessConnection(WebProcessConnection* webProcessC
m_webProcessConnections.remove(vectorIndex);
- if (m_webProcessConnections.isEmpty()) {
- // Start the shutdown timer.
- m_shutdownTimer.startOneShot(shutdownTimeout);
- }
+ startShutdownTimerIfNecessary();
}
NetscapePluginModule* PluginProcess::netscapePluginModule()
@@ -146,6 +144,43 @@ void PluginProcess::createWebProcessConnection()
m_shutdownTimer.stop();
}
+void PluginProcess::getSitesWithData(uint64_t callbackID)
+{
+ Vector<String> sites;
+ if (NetscapePluginModule* module = netscapePluginModule())
+ sites = module->sitesWithData();
+
+ m_connection->send(Messages::PluginProcessProxy::DidGetSitesWithData(sites, callbackID), 0);
+
+ startShutdownTimerIfNecessary();
+}
+
+void PluginProcess::clearSiteData(const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID)
+{
+ if (NetscapePluginModule* module = netscapePluginModule()) {
+ if (sites.isEmpty()) {
+ // Clear everything.
+ module->clearSiteData(String(), flags, maxAgeInSeconds);
+ } else {
+ for (size_t i = 0; i < sites.size(); ++i)
+ module->clearSiteData(sites[i], flags, maxAgeInSeconds);
+ }
+ }
+
+ m_connection->send(Messages::PluginProcessProxy::DidClearSiteData(callbackID), 0);
+
+ startShutdownTimerIfNecessary();
+}
+
+void PluginProcess::startShutdownTimerIfNecessary()
+{
+ if (!m_webProcessConnections.isEmpty())
+ return;
+
+ // Start the shutdown timer.
+ m_shutdownTimer.startOneShot(shutdownTimeout);
+}
+
void PluginProcess::shutdownTimerFired()
{
RunLoop::current()->stop();
diff --git a/Source/WebKit2/PluginProcess/PluginProcess.h b/Source/WebKit2/PluginProcess/PluginProcess.h
index 89d4bcd..3e14e5e 100644
--- a/Source/WebKit2/PluginProcess/PluginProcess.h
+++ b/Source/WebKit2/PluginProcess/PluginProcess.h
@@ -71,7 +71,10 @@ private:
void didReceivePluginProcessMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
void initializePluginProcess(const PluginProcessCreationParameters&);
void createWebProcessConnection();
-
+ void getSitesWithData(uint64_t callbackID);
+ void clearSiteData(const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID);
+
+ void startShutdownTimerIfNecessary();
void shutdownTimerFired();
void platformInitialize(const PluginProcessCreationParameters&);
diff --git a/Source/WebKit2/PluginProcess/PluginProcess.messages.in b/Source/WebKit2/PluginProcess/PluginProcess.messages.in
index 3d45e0e..e4ef450 100644
--- a/Source/WebKit2/PluginProcess/PluginProcess.messages.in
+++ b/Source/WebKit2/PluginProcess/PluginProcess.messages.in
@@ -30,6 +30,14 @@ messages -> PluginProcess {
# The plug-in process sends back a DidCreateWebProcessConnection message with
# a connection identifier.
CreateWebProcessConnection()
+
+ # Asks the plug-in process for sites with data. The plug-in process sends back a
+ # DidGetSitesWithData message with the sites.
+ GetSitesWithData(uint64_t callbackID)
+
+ # Asks the plug-in to clear data for the given sites. The plug-in process sends back
+ # a DidClearSiteData message when done.
+ ClearSiteData(Vector<WTF::String> sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID)
}
#endif
diff --git a/Source/WebKit2/PluginProcess/WebProcessConnection.cpp b/Source/WebKit2/PluginProcess/WebProcessConnection.cpp
index b58f4d0..07c9309 100644
--- a/Source/WebKit2/PluginProcess/WebProcessConnection.cpp
+++ b/Source/WebKit2/PluginProcess/WebProcessConnection.cpp
@@ -65,10 +65,9 @@ void WebProcessConnection::addPluginControllerProxy(PassOwnPtr<PluginControllerP
void WebProcessConnection::destroyPluginControllerProxy(PluginControllerProxy* pluginController)
{
+ // This may end up calling removePluginControllerProxy which ends up deleting
+ // the WebProcessConnection object if this was the last object.
pluginController->destroy();
-
- // This will delete the plug-in controller proxy object.
- removePluginControllerProxy(pluginController);
}
void WebProcessConnection::removePluginControllerProxy(PluginControllerProxy* pluginController)
@@ -101,9 +100,14 @@ void WebProcessConnection::didReceiveMessage(CoreIPC::Connection* connection, Co
ASSERT_NOT_REACHED();
return;
}
-
- if (PluginControllerProxy* pluginControllerProxy = m_pluginControllers.get(arguments->destinationID()))
- pluginControllerProxy->didReceivePluginControllerProxyMessage(connection, messageID, arguments);
+
+ PluginControllerProxy* pluginControllerProxy = m_pluginControllers.get(arguments->destinationID());
+ if (!pluginControllerProxy)
+ return;
+
+ PluginController::PluginDestructionProtector protector(pluginControllerProxy->asPluginController());
+
+ pluginControllerProxy->didReceivePluginControllerProxyMessage(connection, messageID, arguments);
}
CoreIPC::SyncReplyMode WebProcessConnection::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, CoreIPC::ArgumentEncoder* reply)
@@ -116,10 +120,14 @@ CoreIPC::SyncReplyMode WebProcessConnection::didReceiveSyncMessage(CoreIPC::Conn
if (messageID.is<CoreIPC::MessageClassNPObjectMessageReceiver>())
return m_npRemoteObjectMap->didReceiveSyncMessage(connection, messageID, arguments, reply);
- if (PluginControllerProxy* pluginControllerProxy = m_pluginControllers.get(destinationID))
- return pluginControllerProxy->didReceiveSyncPluginControllerProxyMessage(connection, messageID, arguments, reply);
+ PluginControllerProxy* pluginControllerProxy = m_pluginControllers.get(arguments->destinationID());
+ if (!pluginControllerProxy)
+ return CoreIPC::AutomaticReply;
+
+ PluginController::PluginDestructionProtector protector(pluginControllerProxy->asPluginController());
+ CoreIPC::SyncReplyMode replyMode = pluginControllerProxy->didReceiveSyncPluginControllerProxyMessage(connection, messageID, arguments, reply);
- return CoreIPC::AutomaticReply;
+ return replyMode;
}
void WebProcessConnection::didClose(CoreIPC::Connection*)
diff --git a/Source/WebKit2/PluginProcess/WebProcessConnection.h b/Source/WebKit2/PluginProcess/WebProcessConnection.h
index d965e49..4953e61 100644
--- a/Source/WebKit2/PluginProcess/WebProcessConnection.h
+++ b/Source/WebKit2/PluginProcess/WebProcessConnection.h
@@ -45,14 +45,14 @@ public:
virtual ~WebProcessConnection();
CoreIPC::Connection* connection() const { return m_connection.get(); }
-
NPRemoteObjectMap* npRemoteObjectMap() const { return m_npRemoteObjectMap.get(); }
+ void removePluginControllerProxy(PluginControllerProxy*);
+
private:
WebProcessConnection(CoreIPC::Connection::Identifier);
void addPluginControllerProxy(PassOwnPtr<PluginControllerProxy>);
- void removePluginControllerProxy(PluginControllerProxy*);
void destroyPluginControllerProxy(PluginControllerProxy*);
diff --git a/Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm b/Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm
index d39353a..5bb80a2 100644
--- a/Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm
+++ b/Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010, 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
@@ -31,11 +31,12 @@
#import "CommandLine.h"
#import "PluginProcess.h"
#import "RunLoop.h"
+#import <WebKitSystemInterface.h>
#import <runtime/InitializeThreading.h>
#import <servers/bootstrap.h>
+#import <wtf/RetainPtr.h>
#import <wtf/text/CString.h>
#import <wtf/text/WTFString.h>
-#import <WebKitSystemInterface.h>
// FIXME: We should be doing this another way.
extern "C" kern_return_t bootstrap_look_up2(mach_port_t, const name_t, mach_port_t*, pid_t, uint64_t);
@@ -64,7 +65,12 @@ int PluginProcessMain(const CommandLine& commandLine)
printf("bootstrap_look_up2 result: %x", kr);
return EXIT_FAILURE;
}
-
+
+ String localization = commandLine["localization"];
+ RetainPtr<CFStringRef> cfLocalization(AdoptCF, CFStringCreateWithCharacters(0, reinterpret_cast<const UniChar*>(localization.characters()), localization.length()));
+ if (cfLocalization)
+ WKSetDefaultLocalization(cfLocalization.get());
+
#if !SHOW_CRASH_REPORTER
// Installs signal handlers that exit on a crash so that CrashReporter does not show up.
signal(SIGILL, _exit);
diff --git a/Source/WebKit2/PluginProcess/qt/PluginControllerProxyQt.cpp b/Source/WebKit2/PluginProcess/qt/PluginControllerProxyQt.cpp
new file mode 100644
index 0000000..42df1b7
--- /dev/null
+++ b/Source/WebKit2/PluginProcess/qt/PluginControllerProxyQt.cpp
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2011 Nokia 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 "PluginControllerProxy.h"
+
+#if ENABLE(PLUGIN_PROCESS)
+
+#include "PluginProcess.h"
+#include <WebCore/NotImplemented.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+void PluginControllerProxy::platformInitialize()
+{
+ notImplemented();
+}
+
+void PluginControllerProxy::platformDestroy()
+{
+ notImplemented();
+}
+
+void PluginControllerProxy::platformGeometryDidChange(const IntRect& frameRect, const IntRect&)
+{
+ notImplemented();
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(PLUGIN_PROCESS)
diff --git a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
new file mode 100644
index 0000000..88fc359
--- /dev/null
+++ b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2010, 2011 Nokia 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 "PluginProcessMain.h"
+
+#if ENABLE(PLUGIN_PROCESS)
+
+#include "CommandLine.h"
+#include "PluginProcess.h"
+#include "RunLoop.h"
+#include <WebCore/NotImplemented.h>
+#include <runtime/InitializeThreading.h>
+#include <wtf/RetainPtr.h>
+#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
+
+#define SHOW_CRASH_REPORTER 1
+
+namespace WebKit {
+
+int PluginProcessMain(const CommandLine& commandLine)
+{
+ String serviceName = commandLine["servicename"];
+ if (serviceName.isEmpty())
+ return EXIT_FAILURE;
+
+#if !SHOW_CRASH_REPORTER
+ // Installs signal handlers that exit on a crash so that CrashReporter does not show up.
+ signal(SIGILL, _exit);
+ signal(SIGFPE, _exit);
+ signal(SIGBUS, _exit);
+ signal(SIGSEGV, _exit);
+#endif
+
+ JSC::initializeThreading();
+ WTF::initializeMainThread();
+ RunLoop::initializeMainRunLoop();
+
+ RunLoop::run();
+
+ return 0;
+}
+
+}
+
+#endif // ENABLE(PLUGIN_PROCESS)
diff --git a/Source/WebKit2/WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp b/Source/WebKit2/PluginProcess/qt/PluginProcessQt.cpp
index 3c2f3c9..69f8402 100644
--- a/Source/WebKit2/WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp
+++ b/Source/WebKit2/PluginProcess/qt/PluginProcessQt.cpp
@@ -24,42 +24,21 @@
*/
#include "config.h"
-#include "LayerBackedDrawingArea.h"
+#include "PluginProcess.h"
-#if USE(ACCELERATED_COMPOSITING)
+#if ENABLE(PLUGIN_PROCESS)
-using namespace WebCore;
+#include "NetscapePlugin.h"
+#include "PluginProcessCreationParameters.h"
+#include <WebCore/NotImplemented.h>
namespace WebKit {
-void LayerBackedDrawingArea::platformInit()
-{
-}
-
-void LayerBackedDrawingArea::platformClear()
-{
-}
-
-void LayerBackedDrawingArea::attachCompositingContext()
-{
-}
-
-void LayerBackedDrawingArea::detachCompositingContext()
-{
-}
-
-void LayerBackedDrawingArea::setRootCompositingLayer(WebCore::GraphicsLayer* layer)
-{
-}
-
-void LayerBackedDrawingArea::scheduleCompositingLayerSync()
-{
-}
-
-void LayerBackedDrawingArea::syncCompositingLayers()
+void PluginProcess::platformInitialize(const PluginProcessCreationParameters& parameters)
{
+ notImplemented();
}
} // namespace WebKit
-#endif // USE(ACCELERATED_COMPOSITING)
+#endif // ENABLE(PLUGIN_PROCESS)
diff --git a/Source/WebKit2/Scripts/generate-forwarding-headers.pl b/Source/WebKit2/Scripts/generate-forwarding-headers.pl
index 738d413..5a53d81 100755
--- a/Source/WebKit2/Scripts/generate-forwarding-headers.pl
+++ b/Source/WebKit2/Scripts/generate-forwarding-headers.pl
@@ -53,6 +53,8 @@ foreach my $prefix (@platformPrefixes) {
foreach (@frameworks) {
$framework = $_;
+ @frameworkHeaders = ();
+ %neededHeaders = ();
find(\&collectNeededHeaders, $incFromRoot);
find(\&collectFameworkHeaderPaths, File::Spec->catfile($srcRoot, $framework));
@@ -86,18 +88,25 @@ sub createForwardingHeadersForFramework {
my $targetDirectory = File::Spec->catfile($outputDirectory, $framework);
mkpath($targetDirectory);
foreach my $header (@frameworkHeaders) {
- my $forwardingHeaderPath = File::Spec->catfile($targetDirectory, basename($header));
- my $expectedIncludeStatement = "#include \"$header\"";
- my $foundIncludeStatement = 0;
- $foundIncludeStatement = <EXISTING_HEADER> if open(EXISTING_HEADER, "<$forwardingHeaderPath");
- chomp($foundIncludeStatement);
- if (! $foundIncludeStatement || $foundIncludeStatement ne $expectedIncludeStatement) {
- print "[Creating forwarding header for $framework/$header]\n";
- open(FORWARDING_HEADER, ">$forwardingHeaderPath") or die "Could not open $forwardingHeaderPath.";
- print FORWARDING_HEADER "$expectedIncludeStatement\n";
- close(FORWARDING_HEADER);
+ my $headerName = basename($header);
+
+ # If we found more headers with the same name, only generate a forwarding header for the current platform
+ if(grep($_ =~ "/$headerName\$", @frameworkHeaders) == 1 || $header =~ "/$platform/" ) {
+ my $forwardingHeaderPath = File::Spec->catfile($targetDirectory, $headerName);
+ my $expectedIncludeStatement = "#include \"$framework/$header\"";
+ my $foundIncludeStatement = 0;
+
+ $foundIncludeStatement = <EXISTING_HEADER> if open(EXISTING_HEADER, "<$forwardingHeaderPath");
+ chomp($foundIncludeStatement);
+
+ if (! $foundIncludeStatement || $foundIncludeStatement ne $expectedIncludeStatement) {
+ print "[Creating forwarding header for $framework/$header]\n";
+ open(FORWARDING_HEADER, ">$forwardingHeaderPath") or die "Could not open $forwardingHeaderPath.";
+ print FORWARDING_HEADER "$expectedIncludeStatement\n";
+ close(FORWARDING_HEADER);
+ }
+
+ close(EXISTING_HEADER);
}
- close(EXISTING_HEADER);
}
}
-
diff --git a/Source/WebKit2/Scripts/generate-message-receiver.py b/Source/WebKit2/Scripts/generate-message-receiver.py
index 7a6f1c9..8fae2f0 100644
--- a/Source/WebKit2/Scripts/generate-message-receiver.py
+++ b/Source/WebKit2/Scripts/generate-message-receiver.py
@@ -33,7 +33,8 @@ def main(argv=None):
argv = sys.argv
input_path = argv[1]
with open(input_path) as input_file:
- print webkit2.messages.generate_message_handler(input_file),
+ # Python 3, change to: print(webkit2.messages.generate_message_handler(input_file), end='')
+ sys.stdout.write(webkit2.messages.generate_message_handler(input_file))
return 0
if __name__ == '__main__':
diff --git a/Source/WebKit2/Scripts/generate-messages-header.py b/Source/WebKit2/Scripts/generate-messages-header.py
index fd888b3..854f0f0 100644
--- a/Source/WebKit2/Scripts/generate-messages-header.py
+++ b/Source/WebKit2/Scripts/generate-messages-header.py
@@ -33,7 +33,8 @@ def main(argv=None):
argv = sys.argv
input_path = argv[1]
with open(input_path) as input_file:
- print webkit2.messages.generate_messages_header(input_file),
+ # Python 3, change to: print(webkit2.messages.generate_messages_header(input_file), end='')
+ sys.stdout.write(webkit2.messages.generate_messages_header(input_file))
return 0
if __name__ == '__main__':
diff --git a/Source/WebKit2/Scripts/webkit2/messages.py b/Source/WebKit2/Scripts/webkit2/messages.py
index 800dc39..1c6ae97 100644
--- a/Source/WebKit2/Scripts/webkit2/messages.py
+++ b/Source/WebKit2/Scripts/webkit2/messages.py
@@ -251,16 +251,19 @@ def message_to_struct_declaration(message):
def struct_or_class(namespace, type):
structs = frozenset([
'WebCore::CompositionUnderline',
+ 'WebCore::GrammarDetail',
'WebCore::KeypressCommand',
'WebCore::PluginInfo',
'WebCore::PrintInfo',
'WebCore::ViewportArguments',
'WebCore::WindowFeatures',
'WebKit::ContextMenuState',
+ 'WebKit::DictionaryPopupInfo',
'WebKit::DrawingAreaInfo',
'WebKit::PlatformPopupMenuData',
'WebKit::PluginProcessCreationParameters',
'WebKit::PrintInfo',
+ 'WebKit::SecurityOriginData',
'WebKit::SelectionState',
'WebKit::TextCheckerState',
'WebKit::WebNavigationDataStore',
@@ -311,7 +314,7 @@ def forward_declarations_and_headers(receiver):
# Include its header instead.
headers.update(headers_for_type(type))
- forward_declarations = '\n'.join([forward_declarations_for_namespace(namespace, types) for (namespace, types) in sorted(types_by_namespace.iteritems())])
+ forward_declarations = '\n'.join([forward_declarations_for_namespace(namespace, types) for (namespace, types) in sorted(types_by_namespace.items())])
headers = ['#include %s\n' % header for header in sorted(headers)]
return (forward_declarations, headers)
@@ -424,7 +427,7 @@ def headers_for_type(type):
'WebCore::CompositionUnderline': '<WebCore/Editor.h>',
'WebCore::KeypressCommand': '<WebCore/KeyboardEvent.h>',
'WebCore::PluginInfo': '<WebCore/PluginData.h>',
- 'WebCore::TextCheckingResult': '<WebCore/EditorClient.h>',
+ 'WebCore::TextCheckingResult': '<WebCore/TextCheckerClient.h>',
'WebKit::WebGestureEvent': '"WebEvent.h"',
'WebKit::WebKeyboardEvent': '"WebEvent.h"',
'WebKit::WebMouseEvent': '"WebEvent.h"',
diff --git a/Source/WebKit2/Shared/API/c/WKBase.h b/Source/WebKit2/Shared/API/c/WKBase.h
index 1db647a..900cd51 100644
--- a/Source/WebKit2/Shared/API/c/WKBase.h
+++ b/Source/WebKit2/Shared/API/c/WKBase.h
@@ -67,11 +67,14 @@ typedef const struct OpaqueWKUserContentURLPattern* WKUserContentURLPatternRef;
/* WebKit2 main API types */
+typedef const struct OpaqueWKApplicationCacheManager* WKApplicationCacheManagerRef;
typedef const struct OpaqueWKAuthenticationChallenge* WKAuthenticationChallengeRef;
typedef const struct OpaqueWKAuthenticationDecisionListener* WKAuthenticationDecisionListenerRef;
typedef const struct OpaqueWKBackForwardList* WKBackForwardListRef;
typedef const struct OpaqueWKBackForwardListItem* WKBackForwardListItemRef;
+typedef const struct OpaqueWKResourceCacheManager* WKResourceCacheManagerRef;
typedef const struct OpaqueWKContext* WKContextRef;
+typedef const struct OpaqueWKCookieManager* WKCookieManagerRef;
typedef const struct OpaqueWKCredential* WKCredentialRef;
typedef const struct OpaqueWKDatabaseManager* WKDatabaseManagerRef;
typedef const struct OpaqueWKDownload* WKDownloadRef;
@@ -82,11 +85,13 @@ typedef const struct OpaqueWKGeolocationManager* WKGeolocationManagerRef;
typedef const struct OpaqueWKGeolocationPermissionRequest* WKGeolocationPermissionRequestRef;
typedef const struct OpaqueWKGeolocationPosition* WKGeolocationPositionRef;
typedef const struct OpaqueWKInspector* WKInspectorRef;
+typedef const struct OpaqueWKKeyValueStorageManager* WKKeyValueStorageManagerRef;
typedef const struct OpaqueWKNavigationData* WKNavigationDataRef;
typedef const struct OpaqueWKOpenPanelParameters* WKOpenPanelParametersRef;
typedef const struct OpaqueWKOpenPanelResultListener* WKOpenPanelResultListenerRef;
typedef const struct OpaqueWKPage* WKPageRef;
typedef const struct OpaqueWKPageGroup* WKPageGroupRef;
+typedef const struct OpaqueWKPluginSiteDataManager* WKPluginSiteDataManagerRef;
typedef const struct OpaqueWKPreferences* WKPreferencesRef;
typedef const struct OpaqueWKProtectionSpace* WKProtectionSpaceRef;
diff --git a/Source/WebKit2/Shared/API/c/WKURLRequest.cpp b/Source/WebKit2/Shared/API/c/WKURLRequest.cpp
index 433db05..776367b 100644
--- a/Source/WebKit2/Shared/API/c/WKURLRequest.cpp
+++ b/Source/WebKit2/Shared/API/c/WKURLRequest.cpp
@@ -47,3 +47,8 @@ WKURLRef WKURLRequestCopyURL(WKURLRequestRef requestRef)
{
return toCopiedURLAPI(toImpl(requestRef)->url());
}
+
+void WKURLRequestSetDefaultTimeoutInterval(double timeoutInterval)
+{
+ WebURLRequest::setDefaultTimeoutInterval(timeoutInterval);
+}
diff --git a/Source/WebKit2/Shared/API/c/WKURLRequest.h b/Source/WebKit2/Shared/API/c/WKURLRequest.h
index 7d146f2..a53ce16 100644
--- a/Source/WebKit2/Shared/API/c/WKURLRequest.h
+++ b/Source/WebKit2/Shared/API/c/WKURLRequest.h
@@ -38,6 +38,8 @@ WK_EXPORT WKURLRequestRef WKURLRequestCreateWithWKURL(WKURLRef);
WK_EXPORT WKURLRef WKURLRequestCopyURL(WKURLRequestRef);
+WK_EXPORT void WKURLRequestSetDefaultTimeoutInterval(double);
+
#ifdef __cplusplus
}
#endif
diff --git a/Source/WebKit2/Shared/APIObject.h b/Source/WebKit2/Shared/APIObject.h
index 10149b0..24f8cba 100644
--- a/Source/WebKit2/Shared/APIObject.h
+++ b/Source/WebKit2/Shared/APIObject.h
@@ -61,9 +61,12 @@ public:
TypeUInt64,
// UIProcess types
+ TypeApplicationCacheManager,
TypeBackForwardList,
TypeBackForwardListItem,
+ TypeCacheManager,
TypeContext,
+ TypeCookieManager,
TypeDatabaseManager,
TypeDownload,
TypeFormSubmissionListener,
@@ -73,11 +76,13 @@ public:
TypeGeolocationPermissionRequest,
TypeGeolocationPosition,
TypeInspector,
+ TypeKeyValueStorageManager,
TypeNavigationData,
TypeOpenPanelParameters,
TypeOpenPanelResultListener,
TypePage,
TypePageGroup,
+ TypePluginSiteDataManager,
TypePreferences,
// Bundle types
diff --git a/Source/WebKit2/Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h b/Source/WebKit2/Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h
index c5ab54b..9de20f7 100644
--- a/Source/WebKit2/Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h
+++ b/Source/WebKit2/Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h
@@ -35,9 +35,6 @@ namespace DrawingAreaProxyLegacyMessage {
enum Kind {
Update,
DidSetSize,
-#if USE(ACCELERATED_COMPOSITING)
- AttachCompositingContext,
-#endif
#if ENABLE(TILED_BACKING_STORE)
Invalidate,
TileUpdated,
diff --git a/Source/WebKit2/Shared/DictionaryPopupInfo.cpp b/Source/WebKit2/Shared/DictionaryPopupInfo.cpp
new file mode 100644
index 0000000..15cb306
--- /dev/null
+++ b/Source/WebKit2/Shared/DictionaryPopupInfo.cpp
@@ -0,0 +1,51 @@
+/*
+ * 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 "DictionaryPopupInfo.h"
+
+#include "WebCoreArgumentCoders.h"
+
+namespace WebKit {
+
+void DictionaryPopupInfo::encode(CoreIPC::ArgumentEncoder* encoder) const
+{
+ encoder->encode(origin);
+ encoder->encode(fontInfo);
+ encoder->encodeEnum(type);
+}
+
+bool DictionaryPopupInfo::decode(CoreIPC::ArgumentDecoder* decoder, DictionaryPopupInfo& result)
+{
+ if (!decoder->decode(result.origin))
+ return false;
+ if (!decoder->decode(result.fontInfo))
+ return false;
+ if (!decoder->decodeEnum(result.type))
+ return false;
+ return true;
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/Shared/DictionaryPopupInfo.h b/Source/WebKit2/Shared/DictionaryPopupInfo.h
new file mode 100644
index 0000000..5682fcd
--- /dev/null
+++ b/Source/WebKit2/Shared/DictionaryPopupInfo.h
@@ -0,0 +1,55 @@
+/*
+ * 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 DictionaryPopupInfo_h
+#define DictionaryPopupInfo_h
+
+#include "FontInfo.h"
+#include <WebCore/FloatPoint.h>
+
+namespace CoreIPC {
+ class ArgumentDecoder;
+ class ArgumentEncoder;
+}
+
+namespace WebKit {
+
+struct DictionaryPopupInfo {
+ void encode(CoreIPC::ArgumentEncoder*) const;
+ static bool decode(CoreIPC::ArgumentDecoder*, DictionaryPopupInfo&);
+
+ enum Type {
+ ContextMenu,
+ HotKey
+ };
+
+ WebCore::FloatPoint origin;
+ FontInfo fontInfo;
+ Type type;
+};
+
+} // namespace WebKit
+
+#endif // DictionaryPopupInfo_h
diff --git a/Source/WebKit2/Shared/DrawingAreaInfo.h b/Source/WebKit2/Shared/DrawingAreaInfo.h
index fdbfc75..6f804ed 100644
--- a/Source/WebKit2/Shared/DrawingAreaInfo.h
+++ b/Source/WebKit2/Shared/DrawingAreaInfo.h
@@ -23,54 +23,19 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef DrawingAreaInfo_h
-#define DrawingAreaInfo_h
-
-#include "ArgumentCoders.h"
-#include "Connection.h"
-
-namespace WebCore {
- class IntRect;
- class IntSize;
-}
+#ifndef DrawingAreaType_h
+#define DrawingAreaType_h
namespace WebKit {
-struct DrawingAreaInfo {
- enum Type {
- None,
- Impl,
- ChunkedUpdate,
-#if USE(ACCELERATED_COMPOSITING)
- LayerBacked,
-#endif
+enum DrawingAreaType {
+ DrawingAreaTypeImpl,
+ DrawingAreaTypeChunkedUpdate,
#if ENABLE(TILED_BACKING_STORE)
- Tiled,
+ DrawingAreaTypeTiled,
#endif
- };
-
- typedef uint64_t Identifier;
-
- DrawingAreaInfo()
- : type(None)
- , identifier(0)
- {
- }
-
- DrawingAreaInfo(Type type, Identifier identifier)
- : type(type)
- , identifier(identifier)
- {
- }
-
- Type type;
- Identifier identifier;
};
} // namespace WebKit
-namespace CoreIPC {
-template<> struct ArgumentCoder<WebKit::DrawingAreaInfo> : SimpleArgumentCoder<WebKit::DrawingAreaInfo> { };
-}
-
-#endif // DrawingAreaInfo_h
+#endif // DrawingAreaType_h
diff --git a/Source/WebKit2/Shared/FontInfo.cpp b/Source/WebKit2/Shared/FontInfo.cpp
new file mode 100644
index 0000000..d4ab78e
--- /dev/null
+++ b/Source/WebKit2/Shared/FontInfo.cpp
@@ -0,0 +1,54 @@
+/*
+ * 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 "FontInfo.h"
+
+#include "WebCoreArgumentCoders.h"
+
+#if PLATFORM(MAC)
+#include "ArgumentCodersCF.h"
+#endif
+
+namespace WebKit {
+
+void FontInfo::encode(CoreIPC::ArgumentEncoder* encoder) const
+{
+#if PLATFORM(MAC)
+ CoreIPC::encode(encoder, fontAttributeDictionary.get());
+#endif
+}
+
+bool FontInfo::decode(CoreIPC::ArgumentDecoder* decoder, FontInfo& fontInfo)
+{
+#if PLATFORM(MAC)
+ if (!CoreIPC::decode(decoder, fontInfo.fontAttributeDictionary))
+ return false;
+#endif
+
+ return true;
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/Shared/FontInfo.h b/Source/WebKit2/Shared/FontInfo.h
new file mode 100644
index 0000000..23ea945
--- /dev/null
+++ b/Source/WebKit2/Shared/FontInfo.h
@@ -0,0 +1,51 @@
+/*
+ * 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 FontInfo_h
+#define FontInfo_h
+
+#if PLATFORM(MAC)
+#include <wtf/RetainPtr.h>
+#endif
+
+namespace CoreIPC {
+ class ArgumentDecoder;
+ class ArgumentEncoder;
+}
+
+namespace WebKit {
+
+struct FontInfo {
+ void encode(CoreIPC::ArgumentEncoder*) const;
+ static bool decode(CoreIPC::ArgumentDecoder*, FontInfo&);
+
+#if PLATFORM(MAC)
+ RetainPtr<CFDictionaryRef> fontAttributeDictionary;
+#endif
+};
+
+} // namespace WebKit
+
+#endif // FontInfo_h
diff --git a/Source/WebKit2/Shared/NativeWebKeyboardEvent.h b/Source/WebKit2/Shared/NativeWebKeyboardEvent.h
index cdf1aef..d88455c 100644
--- a/Source/WebKit2/Shared/NativeWebKeyboardEvent.h
+++ b/Source/WebKit2/Shared/NativeWebKeyboardEvent.h
@@ -1,5 +1,7 @@
/*
* Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved.
+ * Copyright (C) 2011 Igalia S.L
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -33,6 +35,9 @@
OBJC_CLASS NSView;
#elif PLATFORM(QT)
#include <QKeyEvent>
+#elif PLATFORM(GTK)
+#include <GOwnPtrGtk.h>
+typedef union _GdkEvent GdkEvent;
#endif
namespace WebKit {
@@ -45,6 +50,9 @@ public:
NativeWebKeyboardEvent(HWND, UINT message, WPARAM, LPARAM);
#elif PLATFORM(QT)
explicit NativeWebKeyboardEvent(QKeyEvent*);
+#elif PLATFORM(GTK)
+ NativeWebKeyboardEvent(const NativeWebKeyboardEvent&);
+ NativeWebKeyboardEvent(GdkEvent*);
#endif
#if PLATFORM(MAC)
@@ -53,6 +61,8 @@ public:
const MSG* nativeEvent() const { return &m_nativeEvent; }
#elif PLATFORM(QT)
const QKeyEvent* nativeEvent() const { return &m_nativeEvent; }
+#elif PLATFORM(GTK)
+ const GdkEvent* nativeEvent() const { return m_nativeEvent.get(); }
#endif
private:
@@ -62,6 +72,8 @@ private:
MSG m_nativeEvent;
#elif PLATFORM(QT)
QKeyEvent m_nativeEvent;
+#elif PLATFORM(GTK)
+ GOwnPtr<GdkEvent> m_nativeEvent;
#endif
};
diff --git a/Source/WebKit2/Shared/PlatformPopupMenuData.cpp b/Source/WebKit2/Shared/PlatformPopupMenuData.cpp
index 51e0e6c..a5ebb45 100644
--- a/Source/WebKit2/Shared/PlatformPopupMenuData.cpp
+++ b/Source/WebKit2/Shared/PlatformPopupMenuData.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010, 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
@@ -60,40 +60,43 @@ void PlatformPopupMenuData::encode(CoreIPC::ArgumentEncoder* encoder) const
SharedMemory::Handle selectedBackingStoreHandle;
m_selectedBackingStore->createHandle(selectedBackingStoreHandle);
encoder->encode(selectedBackingStoreHandle);
+#elif PLATFORM(MAC)
+ encoder->encode(fontInfo);
#endif
}
bool PlatformPopupMenuData::decode(CoreIPC::ArgumentDecoder* decoder, PlatformPopupMenuData& data)
{
#if PLATFORM(WIN)
- PlatformPopupMenuData d;
- if (!decoder->decode(d.m_clientPaddingLeft))
+ if (!decoder->decode(data.m_clientPaddingLeft))
return false;
- if (!decoder->decode(d.m_clientPaddingRight))
+ if (!decoder->decode(data.m_clientPaddingRight))
return false;
- if (!decoder->decode(d.m_clientInsetLeft))
+ if (!decoder->decode(data.m_clientInsetLeft))
return false;
- if (!decoder->decode(d.m_clientInsetRight))
+ if (!decoder->decode(data.m_clientInsetRight))
return false;
- if (!decoder->decode(d.m_popupWidth))
+ if (!decoder->decode(data.m_popupWidth))
return false;
- if (!decoder->decode(d.m_itemHeight))
+ if (!decoder->decode(data.m_itemHeight))
return false;
- if (!decoder->decode(d.m_backingStoreSize))
+ if (!decoder->decode(data.m_backingStoreSize))
return false;
SharedMemory::Handle notSelectedBackingStoreHandle;
if (!decoder->decode(notSelectedBackingStoreHandle))
return false;
- d.m_notSelectedBackingStore = ShareableBitmap::create(d.m_backingStoreSize, notSelectedBackingStoreHandle);
+ data.m_notSelectedBackingStore = ShareableBitmap::create(data.m_backingStoreSize, notSelectedBackingStoreHandle);
SharedMemory::Handle selectedBackingStoreHandle;
if (!decoder->decode(selectedBackingStoreHandle))
return false;
- d.m_selectedBackingStore = ShareableBitmap::create(d.m_backingStoreSize, selectedBackingStoreHandle);
-
- data = d;
+ data.m_selectedBackingStore = ShareableBitmap::create(data.m_backingStoreSize, selectedBackingStoreHandle);
+#elif PLATFORM(MAC)
+ if (!decoder->decode(data.fontInfo))
+ return false;
#endif
+
return true;
}
diff --git a/Source/WebKit2/Shared/PlatformPopupMenuData.h b/Source/WebKit2/Shared/PlatformPopupMenuData.h
index 88e03fc..f79b4b2 100644
--- a/Source/WebKit2/Shared/PlatformPopupMenuData.h
+++ b/Source/WebKit2/Shared/PlatformPopupMenuData.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010, 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
@@ -26,6 +26,7 @@
#ifndef PlatformPopupMenuData_h
#define PlatformPopupMenuData_h
+#include "FontInfo.h"
#include "ShareableBitmap.h"
#include <wtf/text/WTFString.h>
@@ -38,7 +39,7 @@ namespace WebKit {
struct PlatformPopupMenuData {
PlatformPopupMenuData();
-
+
void encode(CoreIPC::ArgumentEncoder*) const;
static bool decode(CoreIPC::ArgumentDecoder*, PlatformPopupMenuData&);
@@ -52,6 +53,8 @@ struct PlatformPopupMenuData {
WebCore::IntSize m_backingStoreSize;
RefPtr<ShareableBitmap> m_notSelectedBackingStore;
RefPtr<ShareableBitmap> m_selectedBackingStore;
+#elif PLATFORM(MAC)
+ FontInfo fontInfo;
#endif
};
diff --git a/Source/WebKit2/Shared/Plugins/NPIdentifierData.cpp b/Source/WebKit2/Shared/Plugins/NPIdentifierData.cpp
index eeb8914..6edf5a5 100644
--- a/Source/WebKit2/Shared/Plugins/NPIdentifierData.cpp
+++ b/Source/WebKit2/Shared/Plugins/NPIdentifierData.cpp
@@ -30,9 +30,9 @@
#include "ArgumentDecoder.h"
#include "ArgumentEncoder.h"
-#include "NotImplemented.h"
#include "WebCoreArgumentCoders.h"
#include <WebCore/IdentifierRep.h>
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
diff --git a/Source/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp b/Source/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp
index bcf2a7c..0e164f1 100644
--- a/Source/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp
+++ b/Source/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp
@@ -32,7 +32,7 @@
#include "NPObjectProxy.h"
#include "NPRuntimeUtilities.h"
#include "NPVariantData.h"
-#include "NotImplemented.h"
+#include <WebCore/NotImplemented.h>
#include <wtf/OwnPtr.h>
namespace WebKit {
diff --git a/Source/WebKit2/Shared/Plugins/NPVariantData.cpp b/Source/WebKit2/Shared/Plugins/NPVariantData.cpp
index 5e4392b..f06d776 100644
--- a/Source/WebKit2/Shared/Plugins/NPVariantData.cpp
+++ b/Source/WebKit2/Shared/Plugins/NPVariantData.cpp
@@ -30,8 +30,8 @@
#include "ArgumentDecoder.h"
#include "ArgumentEncoder.h"
-#include "NotImplemented.h"
#include "WebCoreArgumentCoders.h"
+#include <WebCore/NotImplemented.h>
namespace WebKit {
diff --git a/Source/WebKit2/Shared/Plugins/Netscape/NetscapePluginModule.cpp b/Source/WebKit2/Shared/Plugins/Netscape/NetscapePluginModule.cpp
index a1f0833..7bbdaa8 100644
--- a/Source/WebKit2/Shared/Plugins/Netscape/NetscapePluginModule.cpp
+++ b/Source/WebKit2/Shared/Plugins/Netscape/NetscapePluginModule.cpp
@@ -27,8 +27,14 @@
#include "NetscapePluginModule.h"
#include "Module.h"
+#include "NPRuntimeUtilities.h"
#include "NetscapeBrowserFuncs.h"
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/CString.h>
+
+#if !PLUGIN_ARCHITECTURE(MAC) && !PLUGIN_ARCHITECTURE(WIN) && !PLUGIN_ARCHITECTURE(X11)
+#error Unknown plug-in architecture
+#endif
namespace WebKit {
@@ -41,7 +47,7 @@ static Vector<NetscapePluginModule*>& initializedNetscapePluginModules()
NetscapePluginModule::NetscapePluginModule(const String& pluginPath)
: m_pluginPath(pluginPath)
, m_isInitialized(false)
- , m_pluginCount(0)
+ , m_loadCount(0)
, m_shutdownProcPtr(0)
, m_pluginFuncs()
{
@@ -54,23 +60,72 @@ NetscapePluginModule::~NetscapePluginModule()
void NetscapePluginModule::pluginCreated()
{
- if (!m_pluginCount) {
- // Load the plug-in module if necessary.
- load();
- }
-
- m_pluginCount++;
+ incrementLoadCount();
}
void NetscapePluginModule::pluginDestroyed()
{
- ASSERT(m_pluginCount > 0);
- m_pluginCount--;
-
- if (!m_pluginCount) {
- shutdown();
- unload();
+ decrementLoadCount();
+}
+
+Vector<String> NetscapePluginModule::sitesWithData()
+{
+ Vector<String> sites;
+
+ incrementLoadCount();
+ tryGetSitesWithData(sites);
+ decrementLoadCount();
+
+ return sites;
+}
+
+bool NetscapePluginModule::clearSiteData(const String& site, uint64_t flags, uint64_t maxAge)
+{
+ incrementLoadCount();
+ bool result = tryClearSiteData(site, flags, maxAge);
+ decrementLoadCount();
+
+ return result;
+}
+
+bool NetscapePluginModule::tryGetSitesWithData(Vector<String>& sites)
+{
+ if (!m_isInitialized)
+ return false;
+
+ // Check if the plug-in supports NPP_GetSitesWithData.
+ if (!m_pluginFuncs.getsiteswithdata)
+ return false;
+
+ char** siteArray = m_pluginFuncs.getsiteswithdata();
+ for (int i = 0; siteArray[i]; ++i) {
+ char* site = siteArray[i];
+
+ String siteString = String::fromUTF8(site);
+ if (!siteString.isNull())
+ sites.append(siteString);
+
+ npnMemFree(site);
}
+
+ npnMemFree(siteArray);
+ return true;
+}
+
+bool NetscapePluginModule::tryClearSiteData(const String& site, uint64_t flags, uint64_t maxAge)
+{
+ if (!m_isInitialized)
+ return false;
+
+ // Check if the plug-in supports NPP_ClearSiteData.
+ if (!m_pluginFuncs.clearsitedata)
+ return false;
+
+ CString siteString;
+ if (!site.isNull())
+ siteString = site.utf8();
+
+ return m_pluginFuncs.clearsitedata(siteString.data(), flags, maxAge) == NPERR_NO_ERROR;
}
void NetscapePluginModule::shutdown()
@@ -106,6 +161,27 @@ PassRefPtr<NetscapePluginModule> NetscapePluginModule::getOrCreate(const String&
return pluginModule.release();
}
+void NetscapePluginModule::incrementLoadCount()
+{
+ if (!m_loadCount) {
+ // Load the plug-in module if necessary.
+ load();
+ }
+
+ m_loadCount++;
+}
+
+void NetscapePluginModule::decrementLoadCount()
+{
+ ASSERT(m_loadCount > 0);
+ m_loadCount--;
+
+ if (!m_loadCount) {
+ shutdown();
+ unload();
+ }
+}
+
bool NetscapePluginModule::load()
{
if (m_isInitialized) {
@@ -130,6 +206,10 @@ bool NetscapePluginModule::load()
bool NetscapePluginModule::tryLoad()
{
+#if PLUGIN_ARCHITECTURE(X11)
+ applyX11QuirksBeforeLoad();
+#endif
+
m_module = adoptPtr(new Module(m_pluginPath));
if (!m_module->load())
return false;
@@ -138,9 +218,11 @@ bool NetscapePluginModule::tryLoad()
if (!initializeFuncPtr)
return false;
+#if !PLUGIN_ARCHITECTURE(X11)
NP_GetEntryPointsFuncPtr getEntryPointsFuncPtr = m_module->functionPointer<NP_GetEntryPointsFuncPtr>("NP_GetEntryPoints");
if (!getEntryPointsFuncPtr)
return false;
+#endif
m_shutdownProcPtr = m_module->functionPointer<NPP_ShutdownProcPtr>("NP_Shutdown");
if (!m_shutdownProcPtr)
@@ -152,12 +234,15 @@ bool NetscapePluginModule::tryLoad()
// On Mac, NP_Initialize must be called first, then NP_GetEntryPoints. On Windows, the order is
// reversed. Failing to follow this order results in crashes (e.g., in Silverlight on Mac and
// in Flash and QuickTime on Windows).
-#if PLATFORM(MAC)
+#if PLUGIN_ARCHITECTURE(MAC)
if (initializeFuncPtr(netscapeBrowserFuncs()) != NPERR_NO_ERROR || getEntryPointsFuncPtr(&m_pluginFuncs) != NPERR_NO_ERROR)
return false;
-#elif PLATFORM(WIN)
+#elif PLUGIN_ARCHITECTURE(WIN)
if (getEntryPointsFuncPtr(&m_pluginFuncs) != NPERR_NO_ERROR || initializeFuncPtr(netscapeBrowserFuncs()) != NPERR_NO_ERROR)
return false;
+#elif PLUGIN_ARCHITECTURE(X11)
+ if (initializeFuncPtr(netscapeBrowserFuncs(), &m_pluginFuncs) != NPERR_NO_ERROR)
+ return false;
#endif
return true;
diff --git a/Source/WebKit2/Shared/Plugins/Netscape/NetscapePluginModule.h b/Source/WebKit2/Shared/Plugins/Netscape/NetscapePluginModule.h
index a245b11..aee26bb 100644
--- a/Source/WebKit2/Shared/Plugins/Netscape/NetscapePluginModule.h
+++ b/Source/WebKit2/Shared/Plugins/Netscape/NetscapePluginModule.h
@@ -28,7 +28,7 @@
#include "Module.h"
#include "PluginQuirks.h"
-#include <WebCore/npfunctions.h>
+#include <WebCore/npruntime_internal.h>
#include <wtf/RefCounted.h>
#include <wtf/text/WTFString.h>
@@ -53,11 +53,27 @@ public:
const PluginQuirks& pluginQuirks() const { return m_pluginQuirks; }
+ // Return a list of domains for which the plug-in has data stored.
+ Vector<String> sitesWithData();
+
+ // Request that the plug-in clear the site data.
+ bool clearSiteData(const String& site, uint64_t flags, uint64_t maxAge);
+
private:
explicit NetscapePluginModule(const String& pluginPath);
void determineQuirks();
+#if PLUGIN_ARCHITECTURE(X11)
+ void applyX11QuirksBeforeLoad();
+#endif
+
+ void incrementLoadCount();
+ void decrementLoadCount();
+
+ bool tryGetSitesWithData(Vector<String>&);
+ bool tryClearSiteData(const String& site, uint64_t flags, uint64_t maxAge);
+
bool tryLoad();
bool load();
void unload();
@@ -66,7 +82,7 @@ private:
String m_pluginPath;
bool m_isInitialized;
- unsigned m_pluginCount;
+ unsigned m_loadCount;
PluginQuirks m_pluginQuirks;
diff --git a/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm b/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm
index 544def3..accab46 100644
--- a/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm
+++ b/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm
@@ -333,6 +333,7 @@ void NetscapePluginModule::determineQuirks()
if (plugin.bundleIdentifier == "com.macromedia.Flash Player.plugin") {
// Flash requires that the return value of getprogname() be "WebKitPluginHost".
m_pluginQuirks.add(PluginQuirks::PrognameShouldBeWebKitPluginHost);
+ m_pluginQuirks.add(PluginQuirks::SupportsSnapshotting);
}
}
diff --git a/Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp b/Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp
index a651d3b..b5e3aad 100644
--- a/Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp
+++ b/Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp
@@ -29,10 +29,38 @@
#include "PluginDatabase.h"
#include "PluginPackage.h"
+#if PLATFORM(QT)
+#include <QLibrary>
+#endif
+
using namespace WebCore;
namespace WebKit {
+#if PLATFORM(QT)
+static void initializeGTK()
+{
+ QLibrary library("libgtk-x11-2.0.so.0");
+ if (library.load()) {
+ typedef void *(*gtk_init_check_ptr)(int*, char***);
+ gtk_init_check_ptr gtkInitCheck = reinterpret_cast<gtk_init_check_ptr>(library.resolve("gtk_init_check"));
+ // NOTE: We're using gtk_init_check() since gtk_init() calls exit() on failure.
+ if (gtkInitCheck)
+ (void) gtkInitCheck(0, 0);
+ }
+}
+#endif
+
+void NetscapePluginModule::applyX11QuirksBeforeLoad()
+{
+#if PLATFORM(QT)
+ if (m_pluginPath.contains("npwrapper") || m_pluginPath.contains("flashplayer")) {
+ initializeGTK();
+ m_pluginQuirks.add(PluginQuirks::RequiresGTKToolKit);
+ }
+#endif
+}
+
bool NetscapePluginModule::getPluginInfo(const String& pluginPath, PluginInfoStore::Plugin& plugin)
{
// We are loading the plugin here since it does not seem to be a standardized way to
diff --git a/Source/WebKit2/Shared/Plugins/PluginQuirks.h b/Source/WebKit2/Shared/Plugins/PluginQuirks.h
index 8dd3a74..9f8c1c4 100644
--- a/Source/WebKit2/Shared/Plugins/PluginQuirks.h
+++ b/Source/WebKit2/Shared/Plugins/PluginQuirks.h
@@ -32,12 +32,18 @@ class PluginQuirks {
public:
enum PluginQuirk {
// Mac specific quirks:
-#if PLATFORM(MAC)
+#if PLUGIN_ARCHITECTURE(MAC)
// The plug-in wants the call to getprogame() to return "WebKitPluginHost".
// Adobe Flash Will not handle key down events otherwise.
PrognameShouldBeWebKitPluginHost,
+ // Supports receiving a paint event, even when using CoreAnimation rendering.
+ SupportsSnapshotting,
+#elif PLUGIN_ARCHITECTURE(X11)
+ // Flash and npwrapper ask the browser about which GTK version does it use
+ // and refuse to load and work if it is not GTK 2 so we need to fake it in
+ // NPN_GetValue even when it is a lie.
+ RequiresGTKToolKit,
#endif
-
NumPluginQuirks
};
diff --git a/Source/WebKit2/Shared/SecurityOriginData.cpp b/Source/WebKit2/Shared/SecurityOriginData.cpp
new file mode 100644
index 0000000..24f8c1a
--- /dev/null
+++ b/Source/WebKit2/Shared/SecurityOriginData.cpp
@@ -0,0 +1,70 @@
+/*
+ * 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 "SecurityOriginData.h"
+
+#include "APIObject.h"
+#include "ImmutableArray.h"
+#include "WebCoreArgumentCoders.h"
+#include "WebSecurityOrigin.h"
+
+using namespace WebCore;
+
+namespace WebKit {
+
+void SecurityOriginData::encode(CoreIPC::ArgumentEncoder* encoder) const
+{
+ encoder->encode(CoreIPC::In(protocol, host, port));
+}
+
+bool SecurityOriginData::decode(CoreIPC::ArgumentDecoder* decoder, SecurityOriginData& securityOriginData)
+{
+ return decoder->decode(CoreIPC::Out(securityOriginData.protocol, securityOriginData.host, securityOriginData.port));
+}
+
+void performAPICallbackWithSecurityOriginDataVector(const Vector<SecurityOriginData>& originDatas, ArrayCallback* callback)
+{
+ if (!callback) {
+ // FIXME: Log error or assert.
+ return;
+ }
+
+ size_t originDataCount = originDatas.size();
+ Vector<RefPtr<APIObject> > securityOrigins;
+ securityOrigins.reserveCapacity(originDataCount);
+
+ for (size_t i = 0; i < originDataCount; ++i) {
+ SecurityOriginData originData = originDatas[i];
+ RefPtr<APIObject> origin = WebSecurityOrigin::create(originData.protocol, originData.host, originData.port);
+ if (!origin)
+ continue;
+ securityOrigins.uncheckedAppend(origin);
+ }
+
+ callback->performCallbackWithReturnValue(ImmutableArray::adopt(securityOrigins).get());
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/Shared/qt/CleanupHandler.cpp b/Source/WebKit2/Shared/SecurityOriginData.h
index 1ec44d4..692a96e 100644
--- a/Source/WebKit2/Shared/qt/CleanupHandler.cpp
+++ b/Source/WebKit2/Shared/SecurityOriginData.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 University of Szeged. All rights reserved.
+ * 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
@@ -23,37 +23,36 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "config.h"
-#include "CleanupHandler.h"
+#ifndef SecurityOriginData_h
+#define SecurityOriginData_h
-#include "MappedMemoryPool.h"
-#include "RunLoop.h"
-#include <csignal>
-#include <cstdlib>
-#include <QApplication>
+#include "APIObject.h"
+#include "GenericCallback.h"
+#include <wtf/text/WTFString.h>
+
+namespace CoreIPC {
+ class ArgumentDecoder;
+ class ArgumentEncoder;
+}
namespace WebKit {
-CleanupHandler* CleanupHandler::theInstance = 0;
+typedef GenericCallback<WKArrayRef> ArrayCallback;
-CleanupHandler::CleanupHandler()
- : m_hasStartedDeleting(false)
-{
- moveToThread(qApp->thread()); // Ensure that we are acting on the main thread.
- connect(qApp, SIGNAL(aboutToQuit()), SLOT(deleteObjects()), Qt::DirectConnection);
- signal(SIGTERM, &CleanupHandler::sigTermHandler);
-}
+struct SecurityOriginData {
+ void encode(CoreIPC::ArgumentEncoder*) const;
+ static bool decode(CoreIPC::ArgumentDecoder*, SecurityOriginData&);
-void CleanupHandler::sigTermHandler(int)
-{
- ::RunLoop::main()->stop();
-}
+ // FIXME <rdar://9018386>: We should be sending more state across the wire than just the protocol,
+ // host, and port.
-void CleanupHandler::deleteObjects()
-{
- m_hasStartedDeleting = true;
- for (unsigned i = 0; i < m_objects.size(); ++i)
- m_objects[i]->deleteLater();
-}
+ String protocol;
+ String host;
+ int port;
+};
+
+void performAPICallbackWithSecurityOriginDataVector(const Vector<SecurityOriginData>&, ArrayCallback*);
} // namespace WebKit
+
+#endif // SecurityOriginData_h
diff --git a/Source/WebKit2/Shared/SelectionState.h b/Source/WebKit2/Shared/SelectionState.h
index 2ce0e9c..9931a10 100644
--- a/Source/WebKit2/Shared/SelectionState.h
+++ b/Source/WebKit2/Shared/SelectionState.h
@@ -35,6 +35,7 @@ struct SelectionState {
SelectionState()
: isNone(true)
, isContentEditable(false)
+ , isContentRichlyEditable(false)
, isInPasswordField(false)
, hasComposition(false)
, selectedRangeStart(notFound)
@@ -47,6 +48,9 @@ struct SelectionState {
// Whether the selection is in a content editable area.
bool isContentEditable;
+
+ // Whether the selection is in a rich content editable area.
+ bool isContentRichlyEditable;
// Whether the selection is in a password field.
bool isInPasswordField;
diff --git a/Source/WebKit2/Shared/ShareableBitmap.cpp b/Source/WebKit2/Shared/ShareableBitmap.cpp
index e89cdb7..ab1991f 100644
--- a/Source/WebKit2/Shared/ShareableBitmap.cpp
+++ b/Source/WebKit2/Shared/ShareableBitmap.cpp
@@ -47,10 +47,20 @@ PassRefPtr<ShareableBitmap> ShareableBitmap::create(const WebCore::IntSize& size
PassRefPtr<ShareableBitmap> ShareableBitmap::createShareable(const IntSize& size)
{
size_t numBytes = numBytesForSize(size);
-
+
RefPtr<SharedMemory> sharedMemory = SharedMemory::create(numBytes);
if (!sharedMemory)
return 0;
+
+ return adoptRef(new ShareableBitmap(size, sharedMemory));
+}
+
+PassRefPtr<ShareableBitmap> ShareableBitmap::create(const WebCore::IntSize& size, PassRefPtr<SharedMemory> sharedMemory)
+{
+ ASSERT(sharedMemory);
+
+ size_t numBytes = numBytesForSize(size);
+ ASSERT_UNUSED(numBytes, sharedMemory->size() >= numBytes);
return adoptRef(new ShareableBitmap(size, sharedMemory));
}
@@ -62,10 +72,7 @@ PassRefPtr<ShareableBitmap> ShareableBitmap::create(const WebCore::IntSize& size
if (!sharedMemory)
return 0;
- size_t numBytes = numBytesForSize(size);
- ASSERT_UNUSED(numBytes, sharedMemory->size() >= numBytes);
-
- return adoptRef(new ShareableBitmap(size, sharedMemory));
+ return create(size, sharedMemory.release());
}
bool ShareableBitmap::createHandle(SharedMemory::Handle& handle)
diff --git a/Source/WebKit2/Shared/ShareableBitmap.h b/Source/WebKit2/Shared/ShareableBitmap.h
index e44f4ad..f9a3af0 100644
--- a/Source/WebKit2/Shared/ShareableBitmap.h
+++ b/Source/WebKit2/Shared/ShareableBitmap.h
@@ -47,6 +47,9 @@ public:
// Create a shareable bitmap whose backing memory can be shared with another process.
static PassRefPtr<ShareableBitmap> createShareable(const WebCore::IntSize&);
+ // Create a shareable bitmap from an already existing shared memory block.
+ static PassRefPtr<ShareableBitmap> create(const WebCore::IntSize&, PassRefPtr<SharedMemory>);
+
// Create a shareable bitmap from a shared memory handle.
static PassRefPtr<ShareableBitmap> create(const WebCore::IntSize&, const SharedMemory::Handle&);
@@ -74,6 +77,8 @@ private:
static size_t numBytesForSize(const WebCore::IntSize& size) { return size.width() * size.height() * 4; }
+ static void releaseData(void* typelessBitmap, void* typelessData);
+
void* data() const;
size_t sizeInBytes() const { return numBytesForSize(m_size); }
diff --git a/Source/WebKit2/Shared/WebContextMenuItem.cpp b/Source/WebKit2/Shared/WebContextMenuItem.cpp
index a3322bb..f312997 100644
--- a/Source/WebKit2/Shared/WebContextMenuItem.cpp
+++ b/Source/WebKit2/Shared/WebContextMenuItem.cpp
@@ -54,8 +54,8 @@ PassRefPtr<WebContextMenuItem> WebContextMenuItem::create(const String& title, b
WebContextMenuItem* WebContextMenuItem::separatorItem()
{
- static RefPtr<WebContextMenuItem> separatorItem = adoptRef(new WebContextMenuItem(WebContextMenuItemData(WebCore::SeparatorType, WebCore::ContextMenuItemTagNoAction, String(), true, false)));
- return separatorItem.get();
+ DEFINE_STATIC_LOCAL(WebContextMenuItem*, separatorItem, (adoptRef(new WebContextMenuItem(WebContextMenuItemData(WebCore::SeparatorType, WebCore::ContextMenuItemTagNoAction, String(), true, false))).leakRef()));
+ return separatorItem;
}
PassRefPtr<ImmutableArray> WebContextMenuItem::submenuItemsAsImmutableArray() const
diff --git a/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp b/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp
new file mode 100644
index 0000000..e97c7fd
--- /dev/null
+++ b/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp
@@ -0,0 +1,69 @@
+/*
+ * 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 "WebCoreArgumentCoders.h"
+
+using namespace WebCore;
+using namespace WebKit;
+
+namespace CoreIPC {
+
+// For now, these are CG-only. Once other platforms have createImage functions,
+// we can compile these for non-CG builds.
+#if PLATFORM(CG)
+
+void encodeImage(ArgumentEncoder* encoder, Image* image)
+{
+ RefPtr<ShareableBitmap> bitmap = ShareableBitmap::createShareable(image->size());
+ bitmap->createGraphicsContext()->drawImage(image, ColorSpaceDeviceRGB, IntPoint());
+ SharedMemory::Handle handle;
+ bitmap->createHandle(handle);
+
+ encoder->encode(image->size());
+ encoder->encode(handle);
+}
+
+bool decodeImage(ArgumentDecoder* decoder, RefPtr<Image>& image)
+{
+ IntSize imageSize;
+ if (!decoder->decode(imageSize))
+ return false;
+ SharedMemory::Handle handle;
+ if (!decoder->decode(handle))
+ return false;
+
+ RefPtr<ShareableBitmap> bitmap = ShareableBitmap::create(imageSize, handle);
+ if (!bitmap)
+ return false;
+ image = createImage(bitmap.get());
+ if (!image)
+ return false;
+ return true;
+}
+
+#endif
+
+}
diff --git a/Source/WebKit2/Shared/WebCoreArgumentCoders.h b/Source/WebKit2/Shared/WebCoreArgumentCoders.h
index 62c68c7..1679bb6 100644
--- a/Source/WebKit2/Shared/WebCoreArgumentCoders.h
+++ b/Source/WebKit2/Shared/WebCoreArgumentCoders.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010, 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
@@ -30,19 +30,23 @@
#include "ArgumentDecoder.h"
#include "ArgumentEncoder.h"
#include "Arguments.h"
+#include "ShareableBitmap.h"
#include <WebCore/AuthenticationChallenge.h>
+#include <WebCore/BitmapImage.h>
#include <WebCore/Credential.h>
#include <WebCore/Cursor.h>
#include <WebCore/DatabaseDetails.h>
#include <WebCore/Editor.h>
#include <WebCore/EditorClient.h>
#include <WebCore/FloatRect.h>
+#include <WebCore/GraphicsContext.h>
#include <WebCore/IntRect.h>
#include <WebCore/KeyboardEvent.h>
#include <WebCore/PluginData.h>
#include <WebCore/ProtectionSpace.h>
#include <WebCore/ResourceError.h>
#include <WebCore/ResourceRequest.h>
+#include <WebCore/TextCheckerClient.h>
#include <WebCore/ViewportArguments.h>
#include <WebCore/WindowFeatures.h>
#include <limits>
@@ -181,14 +185,30 @@ template<> struct ArgumentCoder<WebCore::Credential> {
};
#if USE(LAZY_NATIVE_CURSOR)
+
+void encodeImage(ArgumentEncoder*, WebCore::Image*);
+bool decodeImage(ArgumentDecoder*, RefPtr<WebCore::Image>&);
+RefPtr<WebCore::Image> createImage(WebKit::ShareableBitmap*);
+
template<> struct ArgumentCoder<WebCore::Cursor> {
static void encode(ArgumentEncoder* encoder, const WebCore::Cursor& cursor)
{
- // FIXME: Support custom cursors.
- if (cursor.type() == WebCore::Cursor::Custom)
- encoder->encode(static_cast<uint32_t>(WebCore::Cursor::Pointer));
- else
- encoder->encode(static_cast<uint32_t>(cursor.type()));
+ WebCore::Cursor::Type type = cursor.type();
+#if !PLATFORM(CG)
+ // FIXME: Currently we only have the createImage function implemented for CG.
+ // Once we implement it for other platforms we can remove this conditional,
+ // and the other conditionals below and in WebCoreArgumentCoders.cpp.
+ if (type == WebCore::Cursor::Custom)
+ type = WebCore::Cursor::Pointer;
+#endif
+ encoder->encode(static_cast<uint32_t>(type));
+#if PLATFORM(CG)
+ if (type != WebCore::Cursor::Custom)
+ return;
+
+ encodeImage(encoder, cursor.image());
+ encoder->encode(cursor.hotSpot());
+#endif
}
static bool decode(ArgumentDecoder* decoder, WebCore::Cursor& cursor)
@@ -196,14 +216,33 @@ template<> struct ArgumentCoder<WebCore::Cursor> {
uint32_t typeInt;
if (!decoder->decode(typeInt))
return false;
-
+ if (typeInt > WebCore::Cursor::Custom)
+ return false;
WebCore::Cursor::Type type = static_cast<WebCore::Cursor::Type>(typeInt);
- ASSERT(type != WebCore::Cursor::Custom);
- cursor = WebCore::Cursor::fromType(type);
+ if (type != WebCore::Cursor::Custom) {
+ cursor = WebCore::Cursor::fromType(type);
+ return true;
+ }
+
+#if !PLATFORM(CG)
+ return false;
+#else
+ RefPtr<WebCore::Image> image;
+ if (!decodeImage(decoder, image))
+ return false;
+ WebCore::IntPoint hotSpot;
+ if (!decoder->decode(hotSpot))
+ return false;
+ if (!image->rect().contains(WebCore::IntRect(hotSpot, WebCore::IntSize())))
+ return false;
+
+ cursor = WebCore::Cursor(image.get(), hotSpot);
return true;
+#endif
}
};
+
#endif
// These two functions are implemented in a platform specific manner.
diff --git a/Source/WebKit2/Shared/WebEvent.h b/Source/WebKit2/Shared/WebEvent.h
index 361aa46..6d2e60b 100644
--- a/Source/WebKit2/Shared/WebEvent.h
+++ b/Source/WebKit2/Shared/WebEvent.h
@@ -173,7 +173,7 @@ public:
WebWheelEvent(Type, const WebCore::IntPoint& position, const WebCore::IntPoint& globalPosition, const WebCore::FloatSize& delta, const WebCore::FloatSize& wheelTicks, Granularity, Modifiers, double timestamp);
#if PLATFORM(MAC)
- WebWheelEvent(Type, const WebCore::IntPoint& position, const WebCore::IntPoint& globalPosition, const WebCore::FloatSize& delta, const WebCore::FloatSize& wheelTicks, Granularity, Phase, bool hasPreciseScrollingDeltas, Modifiers, double timestamp);
+ WebWheelEvent(Type, const WebCore::IntPoint& position, const WebCore::IntPoint& globalPosition, const WebCore::FloatSize& delta, const WebCore::FloatSize& wheelTicks, Granularity, Phase phase, Phase momentumPhase,bool hasPreciseScrollingDeltas, Modifiers, double timestamp);
#endif
const WebCore::IntPoint position() const { return m_position; }
@@ -183,6 +183,7 @@ public:
Granularity granularity() const { return static_cast<Granularity>(m_granularity); }
#if PLATFORM(MAC)
Phase phase() const { return static_cast<Phase>(m_phase); }
+ Phase momentumPhase() const { return static_cast<Phase>(m_momentumPhase); }
bool hasPreciseScrollingDeltas() const { return m_hasPreciseScrollingDeltas; }
#endif
@@ -199,6 +200,7 @@ private:
uint32_t m_granularity; // Granularity
#if PLATFORM(MAC)
uint32_t m_phase; // Phase
+ uint32_t m_momentumPhase; // Phase
bool m_hasPreciseScrollingDeltas;
#endif
};
diff --git a/Source/WebKit2/Shared/WebEventConversion.cpp b/Source/WebKit2/Shared/WebEventConversion.cpp
index 62147d0..9c2fad1 100644
--- a/Source/WebKit2/Shared/WebEventConversion.cpp
+++ b/Source/WebKit2/Shared/WebEventConversion.cpp
@@ -112,6 +112,7 @@ public:
m_metaKey = webEvent.metaKey();
#if PLATFORM(MAC)
m_phase = static_cast<WebCore::PlatformWheelEventPhase>(webEvent.phase());
+ m_momentumPhase = static_cast<WebCore::PlatformWheelEventPhase>(webEvent.momentumPhase());
m_hasPreciseScrollingDeltas = webEvent.hasPreciseScrollingDeltas();
m_timestamp = webEvent.timestamp();
#endif
diff --git a/Source/WebKit2/Shared/WebPageCreationParameters.cpp b/Source/WebKit2/Shared/WebPageCreationParameters.cpp
index 45fa5a4..33b53e3 100644
--- a/Source/WebKit2/Shared/WebPageCreationParameters.cpp
+++ b/Source/WebKit2/Shared/WebPageCreationParameters.cpp
@@ -39,15 +39,18 @@ void WebPageCreationParameters::encode(CoreIPC::ArgumentEncoder* encoder) const
encoder->encode(isInWindow);
encoder->encode(store);
- encoder->encode(drawingAreaInfo);
+ encoder->encodeEnum(drawingAreaType);
encoder->encode(pageGroupData);
encoder->encode(drawsBackground);
encoder->encode(drawsTransparentBackground);
+ encoder->encode(areMemoryCacheClientCallsEnabled);
encoder->encode(useFixedLayout);
encoder->encode(fixedLayoutSize);
encoder->encode(userAgent);
encoder->encode(sessionState);
encoder->encode(highestUsedBackForwardItemID);
+ encoder->encode(canRunBeforeUnloadConfirmPanel);
+ encoder->encode(canRunModal);
#if PLATFORM(MAC)
encoder->encode(isSmartInsertDeleteEnabled);
@@ -72,7 +75,7 @@ bool WebPageCreationParameters::decode(CoreIPC::ArgumentDecoder* decoder, WebPag
return false;
if (!decoder->decode(parameters.store))
return false;
- if (!decoder->decode(parameters.drawingAreaInfo))
+ if (!decoder->decodeEnum(parameters.drawingAreaType))
return false;
if (!decoder->decode(parameters.pageGroupData))
return false;
@@ -80,6 +83,8 @@ bool WebPageCreationParameters::decode(CoreIPC::ArgumentDecoder* decoder, WebPag
return false;
if (!decoder->decode(parameters.drawsTransparentBackground))
return false;
+ if (!decoder->decode(parameters.areMemoryCacheClientCallsEnabled))
+ return false;
if (!decoder->decode(parameters.useFixedLayout))
return false;
if (!decoder->decode(parameters.fixedLayoutSize))
@@ -90,6 +95,10 @@ bool WebPageCreationParameters::decode(CoreIPC::ArgumentDecoder* decoder, WebPag
return false;
if (!decoder->decode(parameters.highestUsedBackForwardItemID))
return false;
+ if (!decoder->decode(parameters.canRunBeforeUnloadConfirmPanel))
+ return false;
+ if (!decoder->decode(parameters.canRunModal))
+ return false;
#if PLATFORM(MAC)
if (!decoder->decode(parameters.isSmartInsertDeleteEnabled))
diff --git a/Source/WebKit2/Shared/WebPageCreationParameters.h b/Source/WebKit2/Shared/WebPageCreationParameters.h
index 8c76f68..31759e1 100644
--- a/Source/WebKit2/Shared/WebPageCreationParameters.h
+++ b/Source/WebKit2/Shared/WebPageCreationParameters.h
@@ -52,12 +52,14 @@ struct WebPageCreationParameters {
bool isInWindow;
WebPreferencesStore store;
- DrawingAreaInfo drawingAreaInfo;
+ DrawingAreaType drawingAreaType;
WebPageGroupData pageGroupData;
bool drawsBackground;
bool drawsTransparentBackground;
+ bool areMemoryCacheClientCallsEnabled;
+
bool useFixedLayout;
WebCore::IntSize fixedLayoutSize;
@@ -66,6 +68,7 @@ struct WebPageCreationParameters {
SessionState sessionState;
uint64_t highestUsedBackForwardItemID;
+ bool canRunBeforeUnloadConfirmPanel;
bool canRunModal;
#if PLATFORM(MAC)
diff --git a/Source/WebKit2/Shared/WebPreferencesStore.h b/Source/WebKit2/Shared/WebPreferencesStore.h
index c9624df..f00a90e 100644
--- a/Source/WebKit2/Shared/WebPreferencesStore.h
+++ b/Source/WebKit2/Shared/WebPreferencesStore.h
@@ -53,6 +53,7 @@ namespace WebKit {
macro(HyperlinkAuditingEnabled, hyperlinkAuditingEnabled, Bool, bool, true) \
macro(NeedsSiteSpecificQuirks, needsSiteSpecificQuirks, Bool, bool, false) \
macro(AcceleratedCompositingEnabled, acceleratedCompositingEnabled, Bool, bool, true) \
+ macro(AcceleratedDrawingEnabled, acceleratedDrawingEnabled, Bool, bool, false) \
macro(CompositingBordersVisible, compositingBordersVisible, Bool, bool, false) \
macro(CompositingRepaintCountersVisible, compositingRepaintCountersVisible, Bool, bool, false) \
macro(WebGLEnabled, webGLEnabled, Bool, bool, false) \
diff --git a/Source/WebKit2/Shared/WebProcessCreationParameters.cpp b/Source/WebKit2/Shared/WebProcessCreationParameters.cpp
index 89b1009..360c6d7 100644
--- a/Source/WebKit2/Shared/WebProcessCreationParameters.cpp
+++ b/Source/WebKit2/Shared/WebProcessCreationParameters.cpp
@@ -32,7 +32,10 @@ namespace WebKit {
WebProcessCreationParameters::WebProcessCreationParameters()
: shouldTrackVisitedLinks(false)
+ , clearResourceCaches(false)
+ , clearApplicationCache(false)
, shouldAlwaysUseComplexTextCodePath(false)
+ , defaultRequestTimeoutInterval(INT_MAX)
#if PLATFORM(MAC)
, nsURLCacheMemoryCapacity(0)
, nsURLCacheDiskCapacity(0)
@@ -54,9 +57,15 @@ void WebProcessCreationParameters::encode(CoreIPC::ArgumentEncoder* encoder) con
encoder->encode(mimeTypesWithCustomRepresentation);
encoder->encodeEnum(cacheModel);
encoder->encode(shouldTrackVisitedLinks);
+ encoder->encode(clearResourceCaches);
+ encoder->encode(clearApplicationCache);
encoder->encode(shouldAlwaysUseComplexTextCodePath);
encoder->encode(languageCode);
encoder->encode(textCheckerState);
+ encoder->encode(defaultRequestTimeoutInterval);
+#if USE(CFURLSTORAGESESSIONS)
+ encoder->encode(uiProcessBundleIdentifier);
+#endif
#if PLATFORM(MAC)
encoder->encode(parentProcessName);
encoder->encode(presenterApplicationPid);
@@ -67,6 +76,9 @@ void WebProcessCreationParameters::encode(CoreIPC::ArgumentEncoder* encoder) con
encoder->encode(uiProcessBundleResourcePath);
#elif PLATFORM(WIN)
encoder->encode(shouldPaintNativeControls);
+ encoder->encode(cfURLCachePath);
+ encoder->encode(cfURLCacheDiskCapacity);
+ encoder->encode(cfURLCacheMemoryCapacity);
#endif
}
@@ -92,12 +104,22 @@ bool WebProcessCreationParameters::decode(CoreIPC::ArgumentDecoder* decoder, Web
return false;
if (!decoder->decode(parameters.shouldTrackVisitedLinks))
return false;
+ if (!decoder->decode(parameters.clearResourceCaches))
+ return false;
+ if (!decoder->decode(parameters.clearApplicationCache))
+ return false;
if (!decoder->decode(parameters.shouldAlwaysUseComplexTextCodePath))
return false;
if (!decoder->decode(parameters.languageCode))
return false;
if (!decoder->decode(parameters.textCheckerState))
return false;
+ if (!decoder->decode(parameters.defaultRequestTimeoutInterval))
+ return false;
+#if USE(CFURLSTORAGESESSIONS)
+ if (!decoder->decode(parameters.uiProcessBundleIdentifier))
+ return false;
+#endif
#if PLATFORM(MAC)
if (!decoder->decode(parameters.parentProcessName))
@@ -117,6 +139,12 @@ bool WebProcessCreationParameters::decode(CoreIPC::ArgumentDecoder* decoder, Web
#elif PLATFORM(WIN)
if (!decoder->decode(parameters.shouldPaintNativeControls))
return false;
+ if (!decoder->decode(parameters.cfURLCachePath))
+ return false;
+ if (!decoder->decode(parameters.cfURLCacheDiskCapacity))
+ return false;
+ if (!decoder->decode(parameters.cfURLCacheMemoryCapacity))
+ return false;
#endif
return true;
diff --git a/Source/WebKit2/Shared/WebProcessCreationParameters.h b/Source/WebKit2/Shared/WebProcessCreationParameters.h
index b157c94..a57be99 100644
--- a/Source/WebKit2/Shared/WebProcessCreationParameters.h
+++ b/Source/WebKit2/Shared/WebProcessCreationParameters.h
@@ -73,18 +73,30 @@ struct WebProcessCreationParameters {
TextCheckerState textCheckerState;
+ double defaultRequestTimeoutInterval;
+
+#if USE(CFURLSTORAGESESSIONS)
+ String uiProcessBundleIdentifier;
+#endif
+
#if PLATFORM(MAC)
String parentProcessName;
pid_t presenterApplicationPid;
- CString nsURLCachePath;
+ // FIXME: These should be merged with CFURLCache counterparts below.
+ CString nsURLCachePath;
uint64_t nsURLCacheMemoryCapacity;
uint64_t nsURLCacheDiskCapacity;
+
CoreIPC::MachPort acceleratedCompositingPort;
CString uiProcessBundleResourcePath;
#elif PLATFORM(WIN)
+ String cfURLCachePath;
+ uint64_t cfURLCacheDiskCapacity;
+ uint64_t cfURLCacheMemoryCapacity;
+
bool shouldPaintNativeControls;
#endif
};
diff --git a/Source/WebKit2/Shared/WebURLRequest.cpp b/Source/WebKit2/Shared/WebURLRequest.cpp
index 586bbb4..48acf37 100644
--- a/Source/WebKit2/Shared/WebURLRequest.cpp
+++ b/Source/WebKit2/Shared/WebURLRequest.cpp
@@ -10,6 +10,8 @@
#include "config.h"
#include "WebURLRequest.h"
+#include "WebContext.h"
+
using namespace WebCore;
namespace WebKit {
@@ -24,4 +26,19 @@ WebURLRequest::WebURLRequest(const ResourceRequest& request)
{
}
+double WebURLRequest::defaultTimeoutInterval()
+{
+ return ResourceRequest::defaultTimeoutInterval();
+}
+
+// FIXME: This function should really be on WebContext.
+void WebURLRequest::setDefaultTimeoutInterval(double timeoutInterval)
+{
+ ResourceRequest::setDefaultTimeoutInterval(timeoutInterval);
+
+ const Vector<WebContext*>& contexts = WebContext::allContexts();
+ for (size_t i = 0; i < contexts.size(); ++i)
+ contexts[i]->setDefaultRequestTimeoutInterval(timeoutInterval);
+}
+
} // namespace WebKit
diff --git a/Source/WebKit2/Shared/WebURLRequest.h b/Source/WebKit2/Shared/WebURLRequest.h
index ab167b8..a3a5931 100644
--- a/Source/WebKit2/Shared/WebURLRequest.h
+++ b/Source/WebKit2/Shared/WebURLRequest.h
@@ -61,6 +61,9 @@ public:
const String& url() const { return m_request.url(); }
+ static double defaultTimeoutInterval(); // May return 0 when using platform default.
+ static void setDefaultTimeoutInterval(double);
+
private:
explicit WebURLRequest(const WebCore::ResourceRequest&);
explicit WebURLRequest(PlatformRequest);
diff --git a/Source/WebKit2/Shared/WebWheelEvent.cpp b/Source/WebKit2/Shared/WebWheelEvent.cpp
index 26f2337..5940bcc 100644
--- a/Source/WebKit2/Shared/WebWheelEvent.cpp
+++ b/Source/WebKit2/Shared/WebWheelEvent.cpp
@@ -49,7 +49,7 @@ WebWheelEvent::WebWheelEvent(Type type, const IntPoint& position, const IntPoint
}
#if PLATFORM(MAC)
-WebWheelEvent::WebWheelEvent(Type type, const IntPoint& position, const IntPoint& globalPosition, const FloatSize& delta, const FloatSize& wheelTicks, Granularity granularity, Phase phase, bool hasPreciseScrollingDeltas, Modifiers modifiers, double timestamp)
+WebWheelEvent::WebWheelEvent(Type type, const IntPoint& position, const IntPoint& globalPosition, const FloatSize& delta, const FloatSize& wheelTicks, Granularity granularity, Phase phase, Phase momentumPhase, bool hasPreciseScrollingDeltas, Modifiers modifiers, double timestamp)
: WebEvent(type, modifiers, timestamp)
, m_position(position)
, m_globalPosition(globalPosition)
@@ -57,6 +57,7 @@ WebWheelEvent::WebWheelEvent(Type type, const IntPoint& position, const IntPoint
, m_wheelTicks(wheelTicks)
, m_granularity(granularity)
, m_phase(phase)
+ , m_momentumPhase(momentumPhase)
, m_hasPreciseScrollingDeltas(hasPreciseScrollingDeltas)
{
ASSERT(isWheelEventType(type));
@@ -74,6 +75,7 @@ void WebWheelEvent::encode(CoreIPC::ArgumentEncoder* encoder) const
encoder->encode(m_granularity);
#if PLATFORM(MAC)
encoder->encode(m_phase);
+ encoder->encode(m_momentumPhase);
encoder->encode(m_hasPreciseScrollingDeltas);
#endif
}
@@ -95,6 +97,8 @@ bool WebWheelEvent::decode(CoreIPC::ArgumentDecoder* decoder, WebWheelEvent& t)
#if PLATFORM(MAC)
if (!decoder->decode(t.m_phase))
return false;
+ if (!decoder->decode(t.m_momentumPhase))
+ return false;
if (!decoder->decode(t.m_hasPreciseScrollingDeltas))
return false;
#endif
diff --git a/Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp b/Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp
index 555eab5..a4e8e55 100644
--- a/Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp
+++ b/Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp
@@ -26,8 +26,8 @@
#include "config.h"
#include "ShareableBitmap.h"
-#include "NotImplemented.h"
#include <WebCore/GraphicsContext.h>
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
diff --git a/Source/WebKit2/Shared/cg/ShareableBitmapCG.cpp b/Source/WebKit2/Shared/cg/ShareableBitmapCG.cpp
index e9ca723..28ba7ea 100644
--- a/Source/WebKit2/Shared/cg/ShareableBitmapCG.cpp
+++ b/Source/WebKit2/Shared/cg/ShareableBitmapCG.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010, 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
@@ -37,10 +37,13 @@ namespace WebKit {
PassOwnPtr<GraphicsContext> ShareableBitmap::createGraphicsContext()
{
RetainPtr<CGColorSpaceRef> colorSpace(AdoptCF, CGColorSpaceCreateDeviceRGB());
- RetainPtr<CGContextRef> bitmapContext(AdoptCF, CGBitmapContextCreate(data(), m_size.width(), m_size.height(), 8, m_size.width() * 4, colorSpace.get(),
- kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host));
- // We want the origin to be in the top left corner so flip the backing store context.
+ ref(); // Balanced by deref in releaseData.
+ RetainPtr<CGContextRef> bitmapContext(AdoptCF, CGBitmapContextCreateWithData(data(),
+ m_size.width(), m_size.height(), 8, m_size.width() * 4, colorSpace.get(),
+ kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host, releaseData, this));
+
+ // We want the origin to be in the top left corner so we flip the backing store context.
CGContextTranslateCTM(bitmapContext.get(), 0, m_size.height());
CGContextScaleCTM(bitmapContext.get(), 1, -1);
@@ -49,9 +52,14 @@ PassOwnPtr<GraphicsContext> ShareableBitmap::createGraphicsContext()
void ShareableBitmap::paint(WebCore::GraphicsContext& context, const IntPoint& dstPoint, const IntRect& srcRect)
{
- OwnPtr<GraphicsContext> sourceContext(createGraphicsContext());
+ paintBitmapContext(context.platformContext(), createGraphicsContext()->platformContext(), dstPoint, srcRect);
+}
- paintBitmapContext(context.platformContext(), sourceContext->platformContext(), dstPoint, srcRect);
+void ShareableBitmap::releaseData(void* typelessBitmap, void* typelessData)
+{
+ ShareableBitmap* bitmap = static_cast<ShareableBitmap*>(typelessBitmap);
+ ASSERT_UNUSED(typelessData, bitmap->data() == typelessData);
+ bitmap->deref(); // Balanced by ref in createGraphicsContext.
}
-
+
} // namespace WebKit
diff --git a/Source/WebKit2/Shared/cg/WebCoreArgumentCodersCG.cpp b/Source/WebKit2/Shared/cg/WebCoreArgumentCodersCG.cpp
new file mode 100644
index 0000000..058cf51
--- /dev/null
+++ b/Source/WebKit2/Shared/cg/WebCoreArgumentCodersCG.cpp
@@ -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.
+ */
+
+#include "config.h"
+#include "WebCoreArgumentCoders.h"
+
+#include "ShareableBitmap.h"
+#include <WebCore/BitmapImage.h>
+
+using namespace WebCore;
+using namespace WebKit;
+
+namespace CoreIPC {
+
+RefPtr<Image> createImage(ShareableBitmap* bitmap)
+{
+ RetainPtr<CGImageRef> platformImage(AdoptCF, CGBitmapContextCreateImage(bitmap->createGraphicsContext()->platformContext()));
+ if (!platformImage)
+ return 0;
+ // BitmapImage::create adopts the CGImageRef that's passed in, which is why we need to leakRef here.
+ return BitmapImage::create(platformImage.leakRef());
+}
+
+}
diff --git a/Source/WebKit2/UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp b/Source/WebKit2/Shared/gtk/NativeWebKeyboardEventGtk.cpp
index 58dc3b0..4ff853c 100644
--- a/Source/WebKit2/UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp
+++ b/Source/WebKit2/Shared/gtk/NativeWebKeyboardEventGtk.cpp
@@ -1,5 +1,7 @@
/*
* Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved.
+ * Copyright (C) 2011 Igalia S.L
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -24,43 +26,23 @@
*/
#include "config.h"
-#include "LayerBackedDrawingAreaProxy.h"
+#include "NativeWebKeyboardEvent.h"
-#if USE(ACCELERATED_COMPOSITING)
-
-#include "DrawingAreaMessageKinds.h"
-#include "DrawingAreaProxyMessageKinds.h"
-#include "WebView.h"
-#include "WebPageProxy.h"
-#include "WebProcessProxy.h"
-
-using namespace WebCore;
+#include "WebEventFactory.h"
+#include <gdk/gdk.h>
namespace WebKit {
-WebPageProxy* LayerBackedDrawingAreaProxy::page()
+NativeWebKeyboardEvent::NativeWebKeyboardEvent(GdkEvent* event)
+ : WebKeyboardEvent(WebEventFactory::createWebKeyboardEvent(&event->key))
+ , m_nativeEvent(gdk_event_copy(event))
{
- return m_webView->page();
}
-void LayerBackedDrawingAreaProxy::platformSetSize()
+NativeWebKeyboardEvent::NativeWebKeyboardEvent(const NativeWebKeyboardEvent& event)
+ : WebKeyboardEvent(WebEventFactory::createWebKeyboardEvent(&event.nativeEvent()->key))
+ , m_nativeEvent(gdk_event_copy(event.nativeEvent()))
{
}
-void LayerBackedDrawingAreaProxy::attachCompositingContext(uint32_t contextID)
-{
-
-}
-
-void LayerBackedDrawingAreaProxy::detachCompositingContext()
-{
-}
-
-bool LayerBackedDrawingAreaProxy::paint(const IntRect&, PlatformDrawingContext)
-{
- return false;
-}
-
} // namespace WebKit
-
-#endif // USE(ACCELERATED_COMPOSITING)
diff --git a/Source/WebKit2/Shared/gtk/ShareableBitmapGtk.cpp b/Source/WebKit2/Shared/gtk/ShareableBitmapGtk.cpp
index 50c7b57..ed75875 100644
--- a/Source/WebKit2/Shared/gtk/ShareableBitmapGtk.cpp
+++ b/Source/WebKit2/Shared/gtk/ShareableBitmapGtk.cpp
@@ -27,8 +27,8 @@
#include "config.h"
#include "ShareableBitmap.h"
-#include "NotImplemented.h"
#include <WebCore/GraphicsContext.h>
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
diff --git a/Source/WebKit2/Shared/gtk/WebCoreArgumentCodersGtk.cpp b/Source/WebKit2/Shared/gtk/WebCoreArgumentCodersGtk.cpp
index 515966c..2770a3f 100644
--- a/Source/WebKit2/Shared/gtk/WebCoreArgumentCodersGtk.cpp
+++ b/Source/WebKit2/Shared/gtk/WebCoreArgumentCodersGtk.cpp
@@ -27,7 +27,7 @@
#include "config.h"
#include "WebCoreArgumentCoders.h"
-#include "NotImplemented.h"
+#include <WebCore/NotImplemented.h>
namespace CoreIPC {
diff --git a/Source/WebKit2/Shared/gtk/WebEventFactory.cpp b/Source/WebKit2/Shared/gtk/WebEventFactory.cpp
new file mode 100644
index 0000000..a9acbb3
--- /dev/null
+++ b/Source/WebKit2/Shared/gtk/WebEventFactory.cpp
@@ -0,0 +1,189 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved.
+ * Copyright (C) 2011 Igalia S.L.
+ *
+ * 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 "WebEventFactory.h"
+
+#include "PlatformKeyboardEvent.h"
+#include "Scrollbar.h"
+#include "WindowsKeyboardCodes.h"
+#include <gdk/gdk.h>
+#include <gdk/gdkkeysyms.h>
+#include <wtf/ASCIICType.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+static inline bool isGdkKeyCodeFromKeyPad(unsigned keyval)
+{
+ return keyval >= GDK_KEY_KP_Space && keyval <= GDK_KEY_KP_9;
+}
+
+static inline WebEvent::Modifiers modifiersForEvent(const GdkEvent* event)
+{
+ unsigned modifiers = 0;
+ GdkModifierType state;
+
+ ASSERT(gdk_event_get_state(event, &state));
+
+ if (state & GDK_CONTROL_MASK)
+ modifiers |= WebEvent::ControlKey;
+ if (state & GDK_SHIFT_MASK)
+ modifiers |= WebEvent::ShiftKey;
+ if (state & GDK_MOD1_MASK)
+ modifiers |= WebEvent::AltKey;
+ if (state & GDK_META_MASK)
+ modifiers |= WebEvent::MetaKey;
+
+ return static_cast<WebEvent::Modifiers>(modifiers);
+}
+
+static inline WebMouseEvent::Button buttonForEvent(GdkEvent* event)
+{
+ unsigned button = 0;
+
+ switch (event->type) {
+ case GDK_MOTION_NOTIFY:
+ button = WebMouseEvent::NoButton;
+ if (event->motion.state & GDK_BUTTON1_MASK)
+ button = WebMouseEvent::LeftButton;
+ else if (event->motion.state & GDK_BUTTON2_MASK)
+ button = WebMouseEvent::MiddleButton;
+ else if (event->motion.state & GDK_BUTTON3_MASK)
+ button = WebMouseEvent::RightButton;
+ break;
+ case GDK_BUTTON_PRESS:
+ case GDK_2BUTTON_PRESS:
+ case GDK_3BUTTON_PRESS:
+ case GDK_BUTTON_RELEASE:
+ if (event->button.button == 1)
+ button = WebMouseEvent::LeftButton;
+ else if (event->button.button == 2)
+ button = WebMouseEvent::MiddleButton;
+ else if (event->button.button == 3)
+ button = WebMouseEvent::RightButton;
+ break;
+ default:
+ ASSERT_NOT_REACHED();
+ }
+
+ return static_cast<WebMouseEvent::Button>(button);
+}
+
+WebMouseEvent WebEventFactory::createWebMouseEvent(GdkEvent *event, int currentClickCount)
+{
+ double x, y, xRoot, yRoot;
+ gdk_event_get_coords(event, &x, &y);
+ gdk_event_get_root_coords(event, &xRoot, &yRoot);
+
+ WebEvent::Type type = static_cast<WebEvent::Type>(0);
+ switch (event->type) {
+ case GDK_MOTION_NOTIFY:
+ type = WebEvent::MouseMove;
+ break;
+ case GDK_BUTTON_PRESS:
+ case GDK_2BUTTON_PRESS:
+ case GDK_3BUTTON_PRESS:
+ type = WebEvent::MouseDown;
+ break;
+ case GDK_BUTTON_RELEASE:
+ type = WebEvent::MouseUp;
+ break;
+ default :
+ ASSERT_NOT_REACHED();
+ }
+
+ return WebMouseEvent(type,
+ buttonForEvent(event),
+ IntPoint(x, y),
+ IntPoint(xRoot, yRoot),
+ 0 /* deltaX */,
+ 0 /* deltaY */,
+ 0 /* deltaZ */,
+ currentClickCount,
+ static_cast<WebEvent::Modifiers>(0),
+ gdk_event_get_time(event));
+}
+
+WebWheelEvent WebEventFactory::createWebWheelEvent(GdkEventScroll* scrollEvent)
+{
+ GdkEvent* event(reinterpret_cast<GdkEvent*>(scrollEvent));
+ double x, y, xRoot, yRoot;
+ gdk_event_get_coords(event, &x, &y);
+ gdk_event_get_root_coords(event, &xRoot, &yRoot);
+
+ FloatSize wheelTicks;
+ switch (scrollEvent->direction) {
+ case GDK_SCROLL_UP:
+ wheelTicks = FloatSize(0, 1);
+ break;
+ case GDK_SCROLL_DOWN:
+ wheelTicks = FloatSize(0, -1);
+ break;
+ case GDK_SCROLL_LEFT:
+ wheelTicks = FloatSize(1, 0);
+ break;
+ case GDK_SCROLL_RIGHT:
+ wheelTicks = FloatSize(-1, 0);
+ break;
+ default:
+ ASSERT_NOT_REACHED();
+ }
+
+ // FIXME: [GTK] Add a setting to change the pixels per line used for scrolling
+ // https://bugs.webkit.org/show_bug.cgi?id=54826
+ float step = static_cast<float>(Scrollbar::pixelsPerLineStep());
+ FloatSize delta(wheelTicks.width() * step, wheelTicks.height() * step);
+
+ return WebWheelEvent(WebEvent::Wheel,
+ IntPoint(x, y),
+ IntPoint(xRoot, yRoot),
+ delta,
+ wheelTicks,
+ WebWheelEvent::ScrollByPixelWheelEvent,
+ modifiersForEvent(event),
+ gdk_event_get_time(event));
+}
+
+WebKeyboardEvent WebEventFactory::createWebKeyboardEvent(const GdkEventKey* event)
+{
+ return WebKeyboardEvent((event->type == GDK_KEY_RELEASE) ? WebEvent::KeyUp : WebEvent::KeyDown,
+ PlatformKeyboardEvent::singleCharacterString(event->keyval),
+ PlatformKeyboardEvent::singleCharacterString(event->keyval),
+ PlatformKeyboardEvent::keyIdentifierForGdkKeyCode(event->keyval),
+ PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode(event->keyval),
+ static_cast<int>(event->keyval),
+ 0 /* macCharCode */,
+ false /* isAutoRepeat */,
+ isGdkKeyCodeFromKeyPad(event->keyval),
+ false /* isSystemKey */,
+ modifiersForEvent(reinterpret_cast<const GdkEvent*>(event)),
+ gdk_event_get_time(reinterpret_cast<const GdkEvent*>(event)));
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/WebProcessManager.h b/Source/WebKit2/Shared/gtk/WebEventFactory.h
index 320829e..f13890b 100644
--- a/Source/WebKit2/UIProcess/WebProcessManager.h
+++ b/Source/WebKit2/Shared/gtk/WebEventFactory.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,34 +24,24 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebProcessManager_h
-#define WebProcessManager_h
+#ifndef WebEventFactory_h
+#define WebEventFactory_h
-#include "WebProcessProxy.h"
-#include <wtf/HashMap.h>
-#include <wtf/RefPtr.h>
+#include "WebEvent.h"
+
+typedef union _GdkEvent GdkEvent;
+typedef struct _GdkEventScroll GdkEventScroll;
+typedef struct _GdkEventKey GdkEventKey;
namespace WebKit {
-class WebProcessManager {
+class WebEventFactory {
public:
- static WebProcessManager& shared();
-
- WebProcessProxy* getWebProcess(WebContext*);
- void processDidClose(WebProcessProxy*, WebContext*);
-
- void contextWasDestroyed(WebContext*);
-
-private:
- WebProcessManager();
-
- RefPtr<WebProcessProxy> m_sharedThread;
- RefPtr<WebProcessProxy> m_sharedProcess;
-
- typedef HashMap<WebContext*, RefPtr<WebProcessProxy> > ProcessMap;
- ProcessMap m_processMap;
+ static WebMouseEvent createWebMouseEvent(GdkEvent*, int);
+ static WebWheelEvent createWebWheelEvent(GdkEventScroll*);
+ static WebKeyboardEvent createWebKeyboardEvent(const GdkEventKey*);
};
} // namespace WebKit
-#endif // WebProcessManager_h
+#endif // WebEventFactory_h
diff --git a/Source/WebKit2/Shared/mac/PasteboardTypes.h b/Source/WebKit2/Shared/mac/PasteboardTypes.h
index 712c4c0..81aef29 100644
--- a/Source/WebKit2/Shared/mac/PasteboardTypes.h
+++ b/Source/WebKit2/Shared/mac/PasteboardTypes.h
@@ -39,6 +39,7 @@ public:
static NSArray *forURL();
static NSArray *forImages();
static NSArray *forImagesWithArchive();
+ static NSArray *forSelection();
};
} // namespace WebKit
diff --git a/Source/WebKit2/Shared/mac/PasteboardTypes.mm b/Source/WebKit2/Shared/mac/PasteboardTypes.mm
index 0d48464..28df29b 100644
--- a/Source/WebKit2/Shared/mac/PasteboardTypes.mm
+++ b/Source/WebKit2/Shared/mac/PasteboardTypes.mm
@@ -68,5 +68,11 @@ NSArray* PasteboardTypes::forImagesWithArchive()
static NSArray *types = retain([NSArray arrayWithObjects:NSTIFFPboardType, WebURLsWithTitlesPboardType, NSURLPboardType, WebURLPboardType, WebURLNamePboardType, NSStringPboardType, NSRTFDPboardType, WebArchivePboardType, nil]);
return types;
}
+
+NSArray* PasteboardTypes::forSelection()
+{
+ static NSArray *types = retain([NSArray arrayWithObjects:WebArchivePboardType, NSRTFDPboardType, NSRTFPboardType, NSStringPboardType, nil]);
+ return types;
+}
} // namespace WebKit
diff --git a/Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm b/Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm
index 63dd20d..a12e566 100644
--- a/Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm
+++ b/Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm
@@ -33,12 +33,27 @@ namespace CoreIPC {
void encodeResourceRequest(ArgumentEncoder* encoder, const WebCore::ResourceRequest& resourceRequest)
{
+ bool requestIsPresent = resourceRequest.nsURLRequest();
+ encoder->encode(requestIsPresent);
+
+ if (!requestIsPresent)
+ return;
+
RetainPtr<CFDictionaryRef> dictionary(AdoptCF, WKNSURLRequestCreateSerializableRepresentation(resourceRequest.nsURLRequest(), CoreIPC::tokenNullTypeRef()));
encode(encoder, dictionary.get());
}
bool decodeResourceRequest(ArgumentDecoder* decoder, WebCore::ResourceRequest& resourceRequest)
{
+ bool requestIsPresent;
+ if (!decoder->decode(requestIsPresent))
+ return false;
+
+ if (!requestIsPresent) {
+ resourceRequest = WebCore::ResourceRequest();
+ return true;
+ }
+
RetainPtr<CFDictionaryRef> dictionary;
if (!decode(decoder, dictionary))
return false;
@@ -66,7 +81,8 @@ void encodeResourceResponse(ArgumentEncoder* encoder, const WebCore::ResourceRes
bool decodeResourceResponse(ArgumentDecoder* decoder, WebCore::ResourceResponse& resourceResponse)
{
bool responseIsPresent;
- decoder->decode(responseIsPresent);
+ if (!decoder->decode(responseIsPresent))
+ return false;
if (!responseIsPresent) {
resourceResponse = WebCore::ResourceResponse();
@@ -85,5 +101,4 @@ bool decodeResourceResponse(ArgumentDecoder* decoder, WebCore::ResourceResponse&
return true;
}
-
} // namespace CoreIPC
diff --git a/Source/WebKit2/Shared/mac/WebEventFactory.mm b/Source/WebKit2/Shared/mac/WebEventFactory.mm
index e31c62e..8f02f6b 100644
--- a/Source/WebKit2/Shared/mac/WebEventFactory.mm
+++ b/Source/WebKit2/Shared/mac/WebEventFactory.mm
@@ -174,6 +174,26 @@ static WebWheelEvent::Phase phaseForEvent(NSEvent *event)
{
#if !defined(BUILDING_ON_SNOW_LEOPARD)
uint32_t phase = WebWheelEvent::PhaseNone;
+ if ([event phase] & NSEventPhaseBegan)
+ phase |= WebWheelEvent::PhaseBegan;
+ if ([event phase] & NSEventPhaseStationary)
+ phase |= WebWheelEvent::PhaseStationary;
+ if ([event phase] & NSEventPhaseChanged)
+ phase |= WebWheelEvent::PhaseChanged;
+ if ([event phase] & NSEventPhaseEnded)
+ phase |= WebWheelEvent::PhaseEnded;
+ if ([event phase] & NSEventPhaseCancelled)
+ phase |= WebWheelEvent::PhaseCancelled;
+ return static_cast<WebWheelEvent::Phase>(phase);
+#else
+ return WebWheelEvent::PhaseNone;
+#endif
+}
+
+static WebWheelEvent::Phase momentumPhaseForEvent(NSEvent *event)
+{
+#if !defined(BUILDING_ON_SNOW_LEOPARD)
+ uint32_t phase = WebWheelEvent::PhaseNone;
if ([event momentumPhase] & NSEventPhaseBegan)
phase |= WebWheelEvent::PhaseBegan;
if ([event momentumPhase] & NSEventPhaseStationary)
@@ -1036,11 +1056,12 @@ WebWheelEvent WebEventFactory::createWebWheelEvent(NSEvent *event, NSView *windo
}
WebWheelEvent::Phase phase = phaseForEvent(event);
+ WebWheelEvent::Phase momentumPhase = momentumPhaseForEvent(event);
bool hasPreciseScrollingDeltas = continuous;
WebEvent::Modifiers modifiers = modifiersForEvent(event);
double timestamp = [event timestamp];
- return WebWheelEvent(WebEvent::Wheel, IntPoint(position), IntPoint(globalPosition), FloatSize(deltaX, deltaY), FloatSize(wheelTicksX, wheelTicksY), granularity, phase, hasPreciseScrollingDeltas, modifiers, timestamp);
+ return WebWheelEvent(WebEvent::Wheel, IntPoint(position), IntPoint(globalPosition), FloatSize(deltaX, deltaY), FloatSize(wheelTicksX, wheelTicksY), granularity, phase, momentumPhase, hasPreciseScrollingDeltas, modifiers, timestamp);
}
WebKeyboardEvent WebEventFactory::createWebKeyboardEvent(NSEvent *event, NSView *)
diff --git a/Source/WebKit2/Shared/qt/WebCoreArgumentCodersQt.cpp b/Source/WebKit2/Shared/qt/WebCoreArgumentCodersQt.cpp
index 44cdbea..a5d5f12 100644
--- a/Source/WebKit2/Shared/qt/WebCoreArgumentCodersQt.cpp
+++ b/Source/WebKit2/Shared/qt/WebCoreArgumentCodersQt.cpp
@@ -25,7 +25,9 @@
#include "config.h"
#include "WebCoreArgumentCoders.h"
-#include "NotImplemented.h"
+
+#include <WebCore/NotImplemented.h>
+#include <WebCore/ResourceResponse.h>
namespace CoreIPC {
@@ -37,7 +39,11 @@ void encodeResourceRequest(ArgumentEncoder* encoder, const WebCore::ResourceRequ
bool decodeResourceRequest(ArgumentDecoder* decoder, WebCore::ResourceRequest& resourceRequest)
{
notImplemented();
- return false;
+
+ // FIXME: Add real implementation when we want to implement something that
+ // depends on this like the policy client.
+ resourceRequest = WebCore::ResourceRequest();
+ return true;
}
void encodeResourceResponse(ArgumentEncoder* encoder, const WebCore::ResourceResponse& resourceResponse)
@@ -48,7 +54,10 @@ void encodeResourceResponse(ArgumentEncoder* encoder, const WebCore::ResourceRes
bool decodeResourceResponse(ArgumentDecoder* decoder, WebCore::ResourceResponse& resourceResponse)
{
notImplemented();
- return false;
+
+ // FIXME: Ditto.
+ resourceResponse = WebCore::ResourceResponse();
+ return true;
}
} // namespace CoreIPC
diff --git a/Source/WebKit2/Shared/win/LayerTreeContextWin.cpp b/Source/WebKit2/Shared/win/LayerTreeContextWin.cpp
index f1bf1b4..9159976 100644
--- a/Source/WebKit2/Shared/win/LayerTreeContextWin.cpp
+++ b/Source/WebKit2/Shared/win/LayerTreeContextWin.cpp
@@ -26,7 +26,7 @@
#include "config.h"
#include "LayerTreeContext.h"
-#include "NotImplemented.h"
+#include <WebCore/NotImplemented.h>
namespace WebKit {
diff --git a/Source/WebKit2/Shared/win/WebCoreArgumentCodersWin.cpp b/Source/WebKit2/Shared/win/WebCoreArgumentCodersWin.cpp
index 684378a..9513e90 100644
--- a/Source/WebKit2/Shared/win/WebCoreArgumentCodersWin.cpp
+++ b/Source/WebKit2/Shared/win/WebCoreArgumentCodersWin.cpp
@@ -38,6 +38,12 @@ namespace CoreIPC {
void encodeResourceRequest(ArgumentEncoder* encoder, const WebCore::ResourceRequest& resourceRequest)
{
#if USE(CFNETWORK)
+ bool requestIsPresent = resourceRequest.cfURLRequest();
+ encoder->encode(requestIsPresent);
+
+ if (!requestIsPresent)
+ return;
+
RetainPtr<CFDictionaryRef> dictionary(AdoptCF, wkCFURLRequestCreateSerializableRepresentation(resourceRequest.cfURLRequest(), CoreIPC::tokenNullTypeRef()));
encode(encoder, dictionary.get());
#endif
@@ -46,6 +52,15 @@ void encodeResourceRequest(ArgumentEncoder* encoder, const WebCore::ResourceRequ
bool decodeResourceRequest(ArgumentDecoder* decoder, WebCore::ResourceRequest& resourceRequest)
{
#if USE(CFNETWORK)
+ bool requestIsPresent;
+ if (!decoder->decode(requestIsPresent))
+ return false;
+
+ if (!requestIsPresent) {
+ resourceRequest = WebCore::ResourceRequest();
+ return true;
+ }
+
RetainPtr<CFDictionaryRef> dictionary;
if (!decode(decoder, dictionary))
return false;
@@ -79,7 +94,8 @@ bool decodeResourceResponse(ArgumentDecoder* decoder, WebCore::ResourceResponse&
{
#if USE(CFNETWORK)
bool responseIsPresent;
- decoder->decode(responseIsPresent);
+ if (!decoder->decode(responseIsPresent))
+ return false;
if (!responseIsPresent) {
resourceResponse = WebCore::ResourceResponse();
diff --git a/Source/WebKit2/Shared/win/WebKitBundle.cpp b/Source/WebKit2/Shared/win/WebKitBundle.cpp
new file mode 100644
index 0000000..b90f3d4
--- /dev/null
+++ b/Source/WebKit2/Shared/win/WebKitBundle.cpp
@@ -0,0 +1,63 @@
+/*
+ * 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 "WebKitBundle.h"
+
+#include <CoreFoundation/CFBundle.h>
+#include <wtf/RetainPtr.h>
+#include <wtf/StdLibExtras.h>
+
+extern "C" HINSTANCE gInstance;
+
+namespace WebKit {
+
+static CFBundleRef createWebKitBundle()
+{
+ if (CFBundleRef existingBundle = CFBundleGetBundleWithIdentifier(CFSTR("com.apple.WebKit"))) {
+ CFRetain(existingBundle);
+ return existingBundle;
+ }
+
+ wchar_t dllPathBuffer[MAX_PATH];
+ DWORD length = ::GetModuleFileNameW(gInstance, dllPathBuffer, WTF_ARRAY_LENGTH(dllPathBuffer));
+ ASSERT(length && length < WTF_ARRAY_LENGTH(dllPathBuffer));
+
+ RetainPtr<CFStringRef> dllPath(AdoptCF, CFStringCreateWithCharactersNoCopy(0, reinterpret_cast<const UniChar*>(dllPathBuffer), length, kCFAllocatorNull));
+ RetainPtr<CFURLRef> dllURL(AdoptCF, CFURLCreateWithFileSystemPath(0, dllPath.get(), kCFURLWindowsPathStyle, false));
+ RetainPtr<CFURLRef> dllDirectoryURL(AdoptCF, CFURLCreateCopyDeletingLastPathComponent(0, dllURL.get()));
+ RetainPtr<CFURLRef> resourcesDirectoryURL(AdoptCF, CFURLCreateCopyAppendingPathComponent(0, dllDirectoryURL.get(), CFSTR("WebKit.resources"), true));
+
+ return CFBundleCreate(0, resourcesDirectoryURL.get());
+}
+
+CFBundleRef webKitBundle()
+{
+ static CFBundleRef bundle = createWebKitBundle();
+ ASSERT(bundle);
+ return bundle;
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/Shared/NotImplemented.h b/Source/WebKit2/Shared/win/WebKitBundle.h
index d93da50..140cf21 100644
--- a/Source/WebKit2/Shared/NotImplemented.h
+++ b/Source/WebKit2/Shared/win/WebKitBundle.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007, 2010 Apple Inc. All rights reserved.
+ * 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
@@ -23,24 +23,15 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef NotImplemented_h
-#define NotImplemented_h
+#ifndef WebKitBundle_h
+#define WebKitBundle_h
-#include <stdio.h>
-#include <wtf/Assertions.h>
+typedef struct __CFBundle* CFBundleRef;
-#if defined(NDEBUG) || (defined(DISABLE_NOT_IMPLEMENTED_WARNINGS) && DISABLE_NOT_IMPLEMENTED_WARNINGS)
-#define notImplemented() ((void)0)
-#else
+namespace WebKit {
-#define notImplemented() do { \
-static bool havePrinted = false; \
-if (!havePrinted) { \
-printf("UNIMPLEMENTED: %s: %d - %s\n", __FILE__, __LINE__, WTF_PRETTY_FUNCTION); \
-havePrinted = true; \
-} \
-} while (0)
+CFBundleRef webKitBundle();
-#endif // NDEBUG
+} // namespace WebKit
-#endif // NotImplemented_h
+#endif // WebKitBundle_h
diff --git a/Source/WebKit2/UIProcess/API/C/WKAPICast.h b/Source/WebKit2/UIProcess/API/C/WKAPICast.h
index 5ce3b1f..a2983e9 100644
--- a/Source/WebKit2/UIProcess/API/C/WKAPICast.h
+++ b/Source/WebKit2/UIProcess/API/C/WKAPICast.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010, 2011 Apple Inc. All rights reserved.
* Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -45,9 +45,12 @@ class AuthenticationChallengeProxy;
class AuthenticationDecisionListener;
class DownloadProxy;
class GeolocationPermissionRequestProxy;
+class WebApplicationCacheManagerProxy;
class WebBackForwardList;
class WebBackForwardListItem;
+class WebResourceCacheManagerProxy;
class WebContext;
+class WebCookieManagerProxy;
class WebCredential;
class WebDatabaseManagerProxy;
class WebFormSubmissionListenerProxy;
@@ -56,19 +59,24 @@ class WebFrameProxy;
class WebGeolocationManagerProxy;
class WebGeolocationPosition;
class WebInspectorProxy;
+class WebKeyValueStorageManagerProxy;
class WebNavigationData;
class WebOpenPanelParameters;
class WebOpenPanelResultListenerProxy;
class WebPageGroup;
class WebPageProxy;
+class WebPluginSiteDataManager;
class WebPreferences;
class WebProtectionSpace;
+WK_ADD_API_MAPPING(WKApplicationCacheManagerRef, WebApplicationCacheManagerProxy)
WK_ADD_API_MAPPING(WKAuthenticationChallengeRef, AuthenticationChallengeProxy)
WK_ADD_API_MAPPING(WKAuthenticationDecisionListenerRef, AuthenticationDecisionListener)
WK_ADD_API_MAPPING(WKBackForwardListItemRef, WebBackForwardListItem)
WK_ADD_API_MAPPING(WKBackForwardListRef, WebBackForwardList)
+WK_ADD_API_MAPPING(WKResourceCacheManagerRef, WebResourceCacheManagerProxy)
WK_ADD_API_MAPPING(WKContextRef, WebContext)
+WK_ADD_API_MAPPING(WKCookieManagerRef, WebCookieManagerProxy)
WK_ADD_API_MAPPING(WKCredentialRef, WebCredential)
WK_ADD_API_MAPPING(WKDatabaseManagerRef, WebDatabaseManagerProxy)
WK_ADD_API_MAPPING(WKDownloadRef, DownloadProxy)
@@ -78,11 +86,13 @@ WK_ADD_API_MAPPING(WKFrameRef, WebFrameProxy)
WK_ADD_API_MAPPING(WKGeolocationManagerRef, WebGeolocationManagerProxy)
WK_ADD_API_MAPPING(WKGeolocationPermissionRequestRef, GeolocationPermissionRequestProxy)
WK_ADD_API_MAPPING(WKGeolocationPositionRef, WebGeolocationPosition)
+WK_ADD_API_MAPPING(WKKeyValueStorageManagerRef, WebKeyValueStorageManagerProxy)
WK_ADD_API_MAPPING(WKNavigationDataRef, WebNavigationData)
WK_ADD_API_MAPPING(WKOpenPanelParametersRef, WebOpenPanelParameters)
WK_ADD_API_MAPPING(WKOpenPanelResultListenerRef, WebOpenPanelResultListenerProxy)
WK_ADD_API_MAPPING(WKPageGroupRef, WebPageGroup)
WK_ADD_API_MAPPING(WKPageRef, WebPageProxy)
+WK_ADD_API_MAPPING(WKPluginSiteDataManagerRef, WebPluginSiteDataManager)
WK_ADD_API_MAPPING(WKPreferencesRef, WebPreferences)
WK_ADD_API_MAPPING(WKProtectionSpaceRef, WebProtectionSpace)
diff --git a/Source/WebKit2/UIProcess/API/C/WKApplicationCacheManager.cpp b/Source/WebKit2/UIProcess/API/C/WKApplicationCacheManager.cpp
new file mode 100644
index 0000000..2d95c67
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/C/WKApplicationCacheManager.cpp
@@ -0,0 +1,52 @@
+/*
+ * 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 "WKApplicationCacheManager.h"
+
+#include "WKAPICast.h"
+#include "WebApplicationCacheManagerProxy.h"
+
+using namespace WebKit;
+
+WKTypeID WKApplicationCacheManagerGetTypeID()
+{
+ return toAPI(WebApplicationCacheManagerProxy::APIType);
+}
+
+void WKApplicationCacheManagerGetApplicationCacheOrigins(WKApplicationCacheManagerRef applicationCacheManagerRef, void* context, WKApplicationCacheManagerGetApplicationCacheOriginsFunction callback)
+{
+ toImpl(applicationCacheManagerRef)->getApplicationCacheOrigins(ArrayCallback::create(context, callback));
+}
+
+void WKApplicationCacheManagerDeleteEntriesForOrigin(WKApplicationCacheManagerRef applicationCacheManagerRef, WKSecurityOriginRef originRef)
+{
+ toImpl(applicationCacheManagerRef)->deleteEntriesForOrigin(toImpl(originRef));
+}
+
+void WKApplicationCacheManagerDeleteAllEntries(WKApplicationCacheManagerRef applicationCacheManagerRef)
+{
+ toImpl(applicationCacheManagerRef)->deleteAllEntries();
+}
diff --git a/Source/WebKit2/UIProcess/API/C/WKApplicationCacheManager.h b/Source/WebKit2/UIProcess/API/C/WKApplicationCacheManager.h
new file mode 100644
index 0000000..c40039e
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/C/WKApplicationCacheManager.h
@@ -0,0 +1,47 @@
+/*
+ * 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 WKApplicationCacheManager_h
+#define WKApplicationCacheManager_h
+
+#include <WebKit2/WKBase.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+WK_EXPORT WKTypeID WKApplicationCacheManagerGetTypeID();
+
+typedef void (*WKApplicationCacheManagerGetApplicationCacheOriginsFunction)(WKArrayRef, WKErrorRef, void*);
+WK_EXPORT void WKApplicationCacheManagerGetApplicationCacheOrigins(WKApplicationCacheManagerRef applicationCacheManager, void* context, WKApplicationCacheManagerGetApplicationCacheOriginsFunction function);
+
+WK_EXPORT void WKApplicationCacheManagerDeleteEntriesForOrigin(WKApplicationCacheManagerRef applicationCacheManager, WKSecurityOriginRef origin);
+WK_EXPORT void WKApplicationCacheManagerDeleteAllEntries(WKApplicationCacheManagerRef applicationCacheManager);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // WKApplicationCacheManager_h
diff --git a/Source/WebKit2/UIProcess/API/C/WKContext.cpp b/Source/WebKit2/UIProcess/API/C/WKContext.cpp
index 82bd13d..6e4e5e0 100644
--- a/Source/WebKit2/UIProcess/API/C/WKContext.cpp
+++ b/Source/WebKit2/UIProcess/API/C/WKContext.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010, 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
@@ -158,6 +158,16 @@ void WKContextClearApplicationCache(WKContextRef contextRef)
toImpl(contextRef)->clearApplicationCache();
}
+WKCookieManagerRef WKContextGetCookieManager(WKContextRef contextRef)
+{
+ return toAPI(toImpl(contextRef)->cookieManagerProxy());
+}
+
+WKApplicationCacheManagerRef WKContextGetApplicationCacheManager(WKContextRef contextRef)
+{
+ return toAPI(toImpl(contextRef)->applicationCacheManagerProxy());
+}
+
WKDatabaseManagerRef WKContextGetDatabaseManager(WKContextRef contextRef)
{
return toAPI(toImpl(contextRef)->databaseManagerProxy());
@@ -168,6 +178,21 @@ WKGeolocationManagerRef WKContextGetGeolocationManager(WKContextRef contextRef)
return toAPI(toImpl(contextRef)->geolocationManagerProxy());
}
+WKKeyValueStorageManagerRef WKContextGetKeyValueStorageManager(WKContextRef contextRef)
+{
+ return toAPI(toImpl(contextRef)->keyValueStorageManagerProxy());
+}
+
+WKPluginSiteDataManagerRef WKContextGetPluginSiteDataManager(WKContextRef contextRef)
+{
+ return toAPI(toImpl(contextRef)->pluginSiteDataManager());
+}
+
+WKResourceCacheManagerRef WKContextGetResourceCacheManager(WKContextRef contextRef)
+{
+ return toAPI(toImpl(contextRef)->resourceCacheManagerProxy());
+}
+
void WKContextStartMemorySampler(WKContextRef contextRef, WKDoubleRef interval)
{
toImpl(contextRef)->startMemorySampler(toImpl(interval)->value());
diff --git a/Source/WebKit2/UIProcess/API/C/WKContext.h b/Source/WebKit2/UIProcess/API/C/WKContext.h
index 810ad20..f8e7cee 100644
--- a/Source/WebKit2/UIProcess/API/C/WKContext.h
+++ b/Source/WebKit2/UIProcess/API/C/WKContext.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010, 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
@@ -119,12 +119,17 @@ WK_EXPORT WKCacheModel WKContextGetCacheModel(WKContextRef context);
WK_EXPORT void WKContextClearResourceCaches(WKContextRef context);
WK_EXPORT void WKContextClearApplicationCache(WKContextRef context);
-
+
WK_EXPORT void WKContextStartMemorySampler(WKContextRef context, WKDoubleRef interval);
WK_EXPORT void WKContextStopMemorySampler(WKContextRef context);
+WK_EXPORT WKApplicationCacheManagerRef WKContextGetApplicationCacheManager(WKContextRef context);
+WK_EXPORT WKCookieManagerRef WKContextGetCookieManager(WKContextRef context);
WK_EXPORT WKDatabaseManagerRef WKContextGetDatabaseManager(WKContextRef context);
WK_EXPORT WKGeolocationManagerRef WKContextGetGeolocationManager(WKContextRef context);
+WK_EXPORT WKKeyValueStorageManagerRef WKContextGetKeyValueStorageManager(WKContextRef context);
+WK_EXPORT WKPluginSiteDataManagerRef WKContextGetPluginSiteDataManager(WKContextRef context);
+WK_EXPORT WKResourceCacheManagerRef WKContextGetResourceCacheManager(WKContextRef context);
#ifdef __cplusplus
}
diff --git a/Source/WebKit2/UIProcess/API/C/WKCookieManager.cpp b/Source/WebKit2/UIProcess/API/C/WKCookieManager.cpp
new file mode 100644
index 0000000..83578f7
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/C/WKCookieManager.cpp
@@ -0,0 +1,69 @@
+/*
+ * 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 "WKCookieManager.h"
+
+#include "WKAPICast.h"
+#include "WebCookieManagerProxy.h"
+
+using namespace WebKit;
+
+WKTypeID WKCookieManagerGetTypeID()
+{
+ return toAPI(WebCookieManagerProxy::APIType);
+}
+
+void WKCookieManagerSetClient(WKCookieManagerRef cookieManagerRef, const WKCookieManagerClient* wkClient)
+{
+ if (wkClient && wkClient->version)
+ return;
+ toImpl(cookieManagerRef)->initializeClient(wkClient);
+}
+
+void WKCookieManagerGetHostnamesWithCookies(WKCookieManagerRef cookieManagerRef, void* context, WKCookieManagerGetCookieHostnamesFunction callback)
+{
+ toImpl(cookieManagerRef)->getHostnamesWithCookies(ArrayCallback::create(context, callback));
+}
+
+void WKCookieManagerDeleteCookiesForHostname(WKCookieManagerRef cookieManagerRef, WKStringRef hostname)
+{
+ toImpl(cookieManagerRef)->deleteCookiesForHostname(toImpl(hostname)->string());
+}
+
+void WKCookieManagerDeleteAllCookies(WKCookieManagerRef cookieManagerRef)
+{
+ toImpl(cookieManagerRef)->deleteAllCookies();
+}
+
+void WKCookieManagerStartObservingCookieChanges(WKCookieManagerRef cookieManager)
+{
+ toImpl(cookieManager)->startObservingCookieChanges();
+}
+
+void WKCookieManagerStopObservingCookieChanges(WKCookieManagerRef cookieManager)
+{
+ toImpl(cookieManager)->stopObservingCookieChanges();
+}
diff --git a/Source/WebKit2/UIProcess/API/C/WKCookieManager.h b/Source/WebKit2/UIProcess/API/C/WKCookieManager.h
new file mode 100644
index 0000000..75d8ef5
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/C/WKCookieManager.h
@@ -0,0 +1,62 @@
+/*
+ * 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 WKCookieManager_h
+#define WKCookieManager_h
+
+#include <WebKit2/WKBase.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// Cookie Manager Client
+typedef void (*WKCookieManagerCookiesDidChangeCallback)(WKCookieManagerRef cookieManager, const void *clientInfo);
+
+struct WKCookieManagerClient {
+ int version;
+ const void * clientInfo;
+ WKCookieManagerCookiesDidChangeCallback cookiesDidChange;
+};
+typedef struct WKCookieManagerClient WKCookieManagerClient;
+
+WK_EXPORT WKTypeID WKCookieManagerGetTypeID();
+
+WK_EXPORT void WKCookieManagerSetClient(WKCookieManagerRef cookieManager, const WKCookieManagerClient* client);
+
+typedef void (*WKCookieManagerGetCookieHostnamesFunction)(WKArrayRef, WKErrorRef, void*);
+WK_EXPORT void WKCookieManagerGetHostnamesWithCookies(WKCookieManagerRef cookieManager, void* context, WKCookieManagerGetCookieHostnamesFunction function);
+
+WK_EXPORT void WKCookieManagerDeleteCookiesForHostname(WKCookieManagerRef cookieManager, WKStringRef hostname);
+WK_EXPORT void WKCookieManagerDeleteAllCookies(WKCookieManagerRef cookieManager);
+
+WK_EXPORT void WKCookieManagerStartObservingCookieChanges(WKCookieManagerRef cookieManager);
+WK_EXPORT void WKCookieManagerStopObservingCookieChanges(WKCookieManagerRef cookieManager);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // WKCookieManager_h
diff --git a/Source/WebKit2/UIProcess/API/C/WKKeyValueStorageManager.cpp b/Source/WebKit2/UIProcess/API/C/WKKeyValueStorageManager.cpp
new file mode 100644
index 0000000..f050692
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/C/WKKeyValueStorageManager.cpp
@@ -0,0 +1,52 @@
+/*
+ * 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 "WKKeyValueStorageManager.h"
+
+#include "WKAPICast.h"
+#include "WebKeyValueStorageManagerProxy.h"
+
+using namespace WebKit;
+
+WKTypeID WKKeyValueStorageManagerGetTypeID()
+{
+ return toAPI(WebKeyValueStorageManagerProxy::APIType);
+}
+
+void WKKeyValueStorageManagerGetKeyValueStorageOrigins(WKKeyValueStorageManagerRef keyValueStorageManagerRef, void* context, WKKeyValueStorageManagerGetKeyValueStorageOriginsFunction callback)
+{
+ toImpl(keyValueStorageManagerRef)->getKeyValueStorageOrigins(ArrayCallback::create(context, callback));
+}
+
+void WKKeyValueStorageManagerDeleteEntriesForOrigin(WKKeyValueStorageManagerRef keyValueStorageManagerRef, WKSecurityOriginRef originRef)
+{
+ toImpl(keyValueStorageManagerRef)->deleteEntriesForOrigin(toImpl(originRef));
+}
+
+void WKKeyValueStorageManagerDeleteAllEntries(WKKeyValueStorageManagerRef keyValueStorageManagerRef)
+{
+ toImpl(keyValueStorageManagerRef)->deleteAllEntries();
+}
diff --git a/Source/WebKit2/UIProcess/API/C/WKKeyValueStorageManager.h b/Source/WebKit2/UIProcess/API/C/WKKeyValueStorageManager.h
new file mode 100644
index 0000000..a0ee278
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/C/WKKeyValueStorageManager.h
@@ -0,0 +1,47 @@
+/*
+ * 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 WKKeyValueStorageManager_h
+#define WKKeyValueStorageManager_h
+
+#include <WebKit2/WKBase.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+WK_EXPORT WKTypeID WKKeyValueStorageManagerGetTypeID();
+
+typedef void (*WKKeyValueStorageManagerGetKeyValueStorageOriginsFunction)(WKArrayRef, WKErrorRef, void*);
+WK_EXPORT void WKKeyValueStorageManagerGetKeyValueStorageOrigins(WKKeyValueStorageManagerRef keyValueStorageManager, void* context, WKKeyValueStorageManagerGetKeyValueStorageOriginsFunction function);
+
+WK_EXPORT void WKKeyValueStorageManagerDeleteEntriesForOrigin(WKKeyValueStorageManagerRef keyValueStorageManager, WKSecurityOriginRef origin);
+WK_EXPORT void WKKeyValueStorageManagerDeleteAllEntries(WKKeyValueStorageManagerRef keyValueStorageManager);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // WKKeyValueStorageManager_h
diff --git a/Source/WebKit2/UIProcess/API/C/WKPage.cpp b/Source/WebKit2/UIProcess/API/C/WKPage.cpp
index 1d5763f..c4e8eae 100644
--- a/Source/WebKit2/UIProcess/API/C/WKPage.cpp
+++ b/Source/WebKit2/UIProcess/API/C/WKPage.cpp
@@ -27,6 +27,7 @@
#include "WKPage.h"
#include "WKPagePrivate.h"
+#include "PrintInfo.h"
#include "WKAPICast.h"
#include "WebBackForwardList.h"
#include "WebData.h"
@@ -170,6 +171,11 @@ double WKPageGetEstimatedProgress(WKPageRef pageRef)
return toImpl(pageRef)->estimatedProgress();
}
+void WKPageSetMemoryCacheClientCallsEnabled(WKPageRef pageRef, bool memoryCacheClientCallsEnabled)
+{
+ toImpl(pageRef)->setMemoryCacheClientCallsEnabled(memoryCacheClientCallsEnabled);
+}
+
WKStringRef WKPageCopyUserAgent(WKPageRef pageRef)
{
return toCopiedAPI(toImpl(pageRef)->userAgent());
@@ -301,6 +307,31 @@ bool WKPageHasVerticalScrollbar(WKPageRef pageRef)
return toImpl(pageRef)->hasVerticalScrollbar();
}
+bool WKPageIsPinnedToLeftSide(WKPageRef pageRef)
+{
+ return toImpl(pageRef)->isPinnedToLeftSide();
+}
+
+bool WKPageIsPinnedToRightSide(WKPageRef pageRef)
+{
+ return toImpl(pageRef)->isPinnedToRightSide();
+}
+
+bool WKPageCanDelete(WKPageRef pageRef)
+{
+ return toImpl(pageRef)->canDelete();
+}
+
+bool WKPageHasSelectedRange(WKPageRef pageRef)
+{
+ return toImpl(pageRef)->hasSelectedRange();
+}
+
+bool WKPageIsContentEditable(WKPageRef pageRef)
+{
+ return toImpl(pageRef)->isContentEditable();
+}
+
void WKPageFindString(WKPageRef pageRef, WKStringRef string, WKFindOptions options, unsigned maxMatchCount)
{
toImpl(pageRef)->findString(toImpl(string)->string(), toFindOptions(options), maxMatchCount);
@@ -367,11 +398,11 @@ void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClient* wkClient)
void WKPageRunJavaScriptInMainFrame(WKPageRef pageRef, WKStringRef scriptRef, void* context, WKPageRunJavaScriptFunction callback)
{
- toImpl(pageRef)->runJavaScriptInMainFrame(toImpl(scriptRef)->string(), StringCallback::create(context, callback));
+ toImpl(pageRef)->runJavaScriptInMainFrame(toImpl(scriptRef)->string(), ScriptValueCallback::create(context, callback));
}
#ifdef __BLOCKS__
-static void callRunJavaScriptBlockAndRelease(WKStringRef resultValue, WKErrorRef error, void* context)
+static void callRunJavaScriptBlockAndRelease(WKSerializedScriptValueRef resultValue, WKErrorRef error, void* context)
{
WKPageRunJavaScriptBlock block = (WKPageRunJavaScriptBlock)context;
block(resultValue, error);
@@ -452,3 +483,69 @@ WK_EXPORT WKURLRef WKPageCopyPendingAPIRequestURL(WKPageRef pageRef)
return 0;
return toCopiedURLAPI(toImpl(pageRef)->pendingAPIRequestURL());
}
+
+void WKPageSetDebugPaintFlags(WKPageDebugPaintFlags flags)
+{
+ WebPageProxy::setDebugPaintFlags(flags);
+}
+
+WKPageDebugPaintFlags WKPageGetDebugPaintFlags()
+{
+ return WebPageProxy::debugPaintFlags();
+}
+
+void WKPageValidateCommand(WKPageRef pageRef, WKStringRef command, void* context, WKPageValidateCommandCallback callback)
+{
+ toImpl(pageRef)->validateCommand(toImpl(command)->string(), ValidateCommandCallback::create(context, callback));
+}
+
+void WKPageExecuteCommand(WKPageRef pageRef, WKStringRef command)
+{
+ toImpl(pageRef)->executeEditCommand(toImpl(command)->string());
+}
+
+#if PLATFORM(MAC) || PLATFORM(WIN)
+struct ComputedPagesContext {
+ ComputedPagesContext(WKPageComputePagesForPrintingFunction callback, void* context)
+ : callback(callback)
+ , context(context)
+ {
+ }
+ WKPageComputePagesForPrintingFunction callback;
+ void* context;
+};
+
+static void computedPagesCallback(const Vector<WebCore::IntRect>& rects, double scaleFactor, WKErrorRef error, void* untypedContext)
+{
+ OwnPtr<ComputedPagesContext> context = adoptPtr(static_cast<ComputedPagesContext*>(untypedContext));
+ Vector<WKRect> wkRects(rects.size());
+ for (size_t i = 0; i < rects.size(); ++i)
+ wkRects[i] = toAPI(rects[i]);
+ context->callback(wkRects.data(), wkRects.size(), scaleFactor, error, context->context);
+}
+
+static PrintInfo printInfoFromWKPrintInfo(const WKPrintInfo& printInfo)
+{
+ PrintInfo result;
+ result.pageSetupScaleFactor = printInfo.pageSetupScaleFactor;
+ result.availablePaperWidth = printInfo.availablePaperWidth;
+ result.availablePaperHeight = printInfo.availablePaperHeight;
+ return result;
+}
+
+void WKPageComputePagesForPrinting(WKPageRef page, WKFrameRef frame, WKPrintInfo printInfo, WKPageComputePagesForPrintingFunction callback, void* context)
+{
+ toImpl(page)->computePagesForPrinting(toImpl(frame), printInfoFromWKPrintInfo(printInfo), ComputedPagesCallback::create(new ComputedPagesContext(callback, context), computedPagesCallback));
+}
+
+void WKPageBeginPrinting(WKPageRef page, WKFrameRef frame, WKPrintInfo printInfo)
+{
+ toImpl(page)->beginPrinting(toImpl(frame), printInfoFromWKPrintInfo(printInfo));
+}
+
+void WKPageDrawPagesToPDF(WKPageRef page, WKFrameRef frame, uint32_t first, uint32_t count, WKPageDrawToPDFFunction callback, void* context)
+{
+ toImpl(page)->drawPagesToPDF(toImpl(frame), first, count, DataCallback::create(context, callback));
+}
+#endif
+
diff --git a/Source/WebKit2/UIProcess/API/C/WKPage.h b/Source/WebKit2/UIProcess/API/C/WKPage.h
index e6ebc5c..655e999 100644
--- a/Source/WebKit2/UIProcess/API/C/WKPage.h
+++ b/Source/WebKit2/UIProcess/API/C/WKPage.h
@@ -61,6 +61,7 @@ typedef void (*WKPageDidRunInsecureContentForFrameCallback)(WKPageRef page, WKFr
typedef bool (*WKPageCanAuthenticateAgainstProtectionSpaceInFrameCallback)(WKPageRef page, WKFrameRef frame, WKProtectionSpaceRef protectionSpace, const void *clientInfo);
typedef void (*WKPageDidReceiveAuthenticationChallengeInFrameCallback)(WKPageRef page, WKFrameRef frame, WKAuthenticationChallengeRef authenticationChallenge, const void *clientInfo);
typedef void (*WKPageDidChangeBackForwardListCallback)(WKPageRef page, WKBackForwardListItemRef addedItem, WKArrayRef removedItems, const void *clientInfo);
+typedef bool (*WKPageShouldGoToBackForwardListItemCallback)(WKPageRef page, WKBackForwardListItemRef item, const void *clientInfo);
struct WKPageLoaderClient {
int version;
@@ -93,20 +94,23 @@ struct WKPageLoaderClient {
WKPageCallback processDidCrash;
WKPageDidChangeBackForwardListCallback didChangeBackForwardList;
+ WKPageShouldGoToBackForwardListItemCallback shouldGoToBackForwardListItem;
};
typedef struct WKPageLoaderClient WKPageLoaderClient;
// Policy Client.
typedef void (*WKPageDecidePolicyForNavigationActionCallback)(WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo);
typedef void (*WKPageDecidePolicyForNewWindowActionCallback)(WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKURLRequestRef request, WKStringRef frameName, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo);
-typedef void (*WKPageDecidePolicyForMIMETypeCallback)(WKPageRef page, WKFrameRef frame, WKStringRef MIMEType, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo);
+typedef void (*WKPageDecidePolicyForResponseCallback)(WKPageRef page, WKFrameRef frame, WKURLResponseRef response, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo);
+typedef void (*WKPageUnableToImplementPolicyCallback)(WKPageRef page, WKFrameRef frame, WKErrorRef error, WKTypeRef userData, const void* clientInfo);
struct WKPagePolicyClient {
int version;
const void * clientInfo;
WKPageDecidePolicyForNavigationActionCallback decidePolicyForNavigationAction;
WKPageDecidePolicyForNewWindowActionCallback decidePolicyForNewWindowAction;
- WKPageDecidePolicyForMIMETypeCallback decidePolicyForMIMEType;
+ WKPageDecidePolicyForResponseCallback decidePolicyForResponse;
+ WKPageUnableToImplementPolicyCallback unableToImplementPolicy;
};
typedef struct WKPagePolicyClient WKPagePolicyClient;
@@ -147,7 +151,7 @@ typedef bool (*WKPageRunJavaScriptConfirmCallback)(WKPageRef page, WKStringRef m
typedef WKStringRef (*WKPageRunJavaScriptPromptCallback)(WKPageRef page, WKStringRef message, WKStringRef defaultValue, WKFrameRef frame, const void *clientInfo);
typedef void (*WKPageSetStatusTextCallback)(WKPageRef page, WKStringRef text, const void *clientInfo);
typedef void (*WKPageMouseDidMoveOverElementCallback)(WKPageRef page, WKEventModifiers modifiers, WKTypeRef userData, const void *clientInfo);
-typedef void (*WKPageMissingPluginButtonClickedCallback)(WKPageRef page, WKStringRef mimeType, WKStringRef url, const void* clientInfo);
+typedef void (*WKPageMissingPluginButtonClickedCallback)(WKPageRef page, WKStringRef mimeType, WKStringRef url, WKStringRef pluginsPageURL, const void* clientInfo);
typedef void (*WKPageDidNotHandleKeyEventCallback)(WKPageRef page, WKNativeEventPtr event, const void *clientInfo);
typedef bool (*WKPageGetToolbarsAreVisibleCallback)(WKPageRef page, const void *clientInfo);
typedef void (*WKPageSetToolbarsAreVisibleCallback)(WKPageRef page, bool toolbarsVisible, const void *clientInfo);
@@ -267,11 +271,15 @@ WK_EXPORT WKBackForwardListRef WKPageGetBackForwardList(WKPageRef page);
WK_EXPORT WKStringRef WKPageCopyTitle(WKPageRef page);
+WK_EXPORT WKURLRef WKPageCopyPendingAPIRequestURL(WKPageRef page);
+
WK_EXPORT WKFrameRef WKPageGetMainFrame(WKPageRef page);
WK_EXPORT WKFrameRef WKPageGetFocusedFrame(WKPageRef page); // The focused frame may be inactive.
WK_EXPORT WKFrameRef WKPageGetFrameSetLargestFrame(WKPageRef page);
WK_EXPORT double WKPageGetEstimatedProgress(WKPageRef page);
+WK_EXPORT void WKPageSetMemoryCacheClientCallsEnabled(WKPageRef page, bool memoryCacheClientCallsEnabled);
+
#if defined(ENABLE_INSPECTOR) && ENABLE_INSPECTOR
WK_EXPORT WKInspectorRef WKPageGetInspector(WKPageRef page);
#endif
@@ -314,6 +322,13 @@ WK_EXPORT WKSize WKPageFixedLayoutSize(WKPageRef page);
WK_EXPORT bool WKPageHasHorizontalScrollbar(WKPageRef page);
WK_EXPORT bool WKPageHasVerticalScrollbar(WKPageRef page);
+WK_EXPORT bool WKPageIsPinnedToLeftSide(WKPageRef page);
+WK_EXPORT bool WKPageIsPinnedToRightSide(WKPageRef page);
+
+WK_EXPORT bool WKPageCanDelete(WKPageRef page);
+WK_EXPORT bool WKPageHasSelectedRange(WKPageRef page);
+WK_EXPORT bool WKPageIsContentEditable(WKPageRef page);
+
WK_EXPORT void WKPageFindString(WKPageRef page, WKStringRef string, WKFindOptions findOptions, unsigned maxMatchCount);
WK_EXPORT void WKPageHideFindUI(WKPageRef page);
WK_EXPORT void WKPageCountStringMatches(WKPageRef page, WKStringRef string, WKFindOptions findOptions, unsigned maxMatchCount);
@@ -326,10 +341,10 @@ WK_EXPORT void WKPageSetPagePolicyClient(WKPageRef page, const WKPagePolicyClien
WK_EXPORT void WKPageSetPageResourceLoadClient(WKPageRef page, const WKPageResourceLoadClient* client);
WK_EXPORT void WKPageSetPageUIClient(WKPageRef page, const WKPageUIClient* client);
-typedef void (*WKPageRunJavaScriptFunction)(WKStringRef, WKErrorRef, void*);
+typedef void (*WKPageRunJavaScriptFunction)(WKSerializedScriptValueRef, WKErrorRef, void*);
WK_EXPORT void WKPageRunJavaScriptInMainFrame(WKPageRef page, WKStringRef script, void* context, WKPageRunJavaScriptFunction function);
#ifdef __BLOCKS__
-typedef void (^WKPageRunJavaScriptBlock)(WKStringRef, WKErrorRef);
+typedef void (^WKPageRunJavaScriptBlock)(WKSerializedScriptValueRef, WKErrorRef);
WK_EXPORT void WKPageRunJavaScriptInMainFrame_b(WKPageRef page, WKStringRef script, WKPageRunJavaScriptBlock block);
#endif
@@ -350,7 +365,21 @@ WK_EXPORT void WKPageGetContentsAsString_b(WKPageRef page, WKPageGetContentsAsSt
typedef void (*WKPageForceRepaintFunction)(WKErrorRef, void*);
WK_EXPORT void WKPageForceRepaint(WKPageRef page, void* context, WKPageForceRepaintFunction function);
-WK_EXPORT WKURLRef WKPageCopyPendingAPIRequestURL(WKPageRef page);
+/*
+ Some of the more common command name strings include the following, although any WebCore EditorCommand string is supported:
+
+ "Cut"
+ "Copy"
+ "Paste"
+ "SelectAll"
+ "Undo"
+ "Redo"
+*/
+
+// state represents the state of the command in a menu (on is 1, off is 0, and mixed is -1), typically used to add a checkmark next to the menu item.
+typedef void (*WKPageValidateCommandCallback)(WKStringRef command, bool isEnabled, int32_t state, WKErrorRef, void* context);
+WK_EXPORT void WKPageValidateCommand(WKPageRef page, WKStringRef command, void* context, WKPageValidateCommandCallback callback);
+WK_EXPORT void WKPageExecuteCommand(WKPageRef page, WKStringRef command);
#ifdef __cplusplus
}
diff --git a/Source/WebKit2/UIProcess/API/C/WKPagePrivate.h b/Source/WebKit2/UIProcess/API/C/WKPagePrivate.h
index 3bf50c3..2c1f985 100644
--- a/Source/WebKit2/UIProcess/API/C/WKPagePrivate.h
+++ b/Source/WebKit2/UIProcess/API/C/WKPagePrivate.h
@@ -41,6 +41,29 @@ typedef void (^WKPageRenderTreeExternalRepresentationBlock)(WKStringRef, WKError
WK_EXPORT void WKPageRenderTreeExternalRepresentation_b(WKPageRef page, WKPageRenderTreeExternalRepresentationBlock block);
#endif
+enum {
+ kWKDebugFlashViewUpdates = 1 << 0,
+ kWKDebugFlashBackingStoreUpdates = 1 << 1
+};
+typedef unsigned WKPageDebugPaintFlags;
+
+WK_EXPORT void WKPageSetDebugPaintFlags(WKPageDebugPaintFlags flags);
+WK_EXPORT WKPageDebugPaintFlags WKPageGetDebugPaintFlags(void);
+
+struct WKPrintInfo {
+ float pageSetupScaleFactor;
+ float availablePaperWidth;
+ float availablePaperHeight;
+};
+typedef struct WKPrintInfo WKPrintInfo;
+
+typedef void (*WKPageComputePagesForPrintingFunction)(WKRect* pageRects, uint32_t pageCount, double resultPageScaleFactor, WKErrorRef error, void* functionContext);
+WK_EXPORT void WKPageComputePagesForPrinting(WKPageRef page, WKFrameRef frame, WKPrintInfo, WKPageComputePagesForPrintingFunction, void* context);
+
+typedef void (*WKPageDrawToPDFFunction)(WKDataRef data, WKErrorRef error, void* functionContext);
+WK_EXPORT void WKPageBeginPrinting(WKPageRef page, WKFrameRef frame, WKPrintInfo);
+WK_EXPORT void WKPageDrawPagesToPDF(WKPageRef page, WKFrameRef frame, uint32_t first, uint32_t count, WKPageDrawToPDFFunction callback, void* context);
+
#ifdef __cplusplus
}
#endif
diff --git a/Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.cpp b/Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.cpp
new file mode 100644
index 0000000..8cfe143
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.cpp
@@ -0,0 +1,65 @@
+/*
+ * 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 "WKPluginSiteDataManager.h"
+
+#include "WKAPICast.h"
+#include "WebPluginSiteDataManager.h"
+#include <WebCore/npapi.h>
+
+using namespace WebKit;
+using namespace std;
+
+WKTypeID WKPluginSiteDataManagerGetTypeID()
+{
+ return toAPI(WebPluginSiteDataManager::APIType);
+}
+
+void WKPluginSiteDataManagerGetSitesWithData(WKPluginSiteDataManagerRef managerRef, void* context, WKPluginSiteDataManagerGetSitesWithDataFunction callback)
+{
+ toImpl(managerRef)->getSitesWithData(ArrayCallback::create(context, callback));
+}
+
+static uint64_t toNPClearSiteDataFlags(WKClearSiteDataFlags flags)
+{
+ if (flags == kWKClearSiteDataFlagsClearAll)
+ return NP_CLEAR_ALL;
+
+ uint64_t result = 0;
+ if (flags & kWKClearSiteDataFlagsClearCache)
+ result |= NP_CLEAR_CACHE;
+ return result;
+}
+
+void WKPluginSiteDataManagerClearSiteData(WKPluginSiteDataManagerRef managerRef, WKArrayRef sitesRef, WKClearSiteDataFlags flags, uint64_t maxAgeInSeconds, void* context, WKPluginSiteDataManagerClearSiteDataFunction function)
+{
+ toImpl(managerRef)->clearSiteData(toImpl(sitesRef), toNPClearSiteDataFlags(flags), maxAgeInSeconds, VoidCallback::create(context, function));
+}
+
+void WKPluginSiteDataManagerClearAllSiteData(WKPluginSiteDataManagerRef managerRef, void* context, WKPluginSiteDataManagerClearSiteDataFunction function)
+{
+ toImpl(managerRef)->clearSiteData(0, NP_CLEAR_ALL, numeric_limits<uint64_t>::max(), VoidCallback::create(context, function));
+}
diff --git a/Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.h b/Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.h
new file mode 100644
index 0000000..66e76fb
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.h
@@ -0,0 +1,55 @@
+/*
+ * 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 WKPluginSiteDataManager_h
+#define WKPluginSiteDataManager_h
+
+#include <WebKit2/WKBase.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+WK_EXPORT WKTypeID WKPluginSiteDataManagerGetTypeID();
+
+typedef void (*WKPluginSiteDataManagerGetSitesWithDataFunction)(WKArrayRef, WKErrorRef, void*);
+WK_EXPORT void WKPluginSiteDataManagerGetSitesWithData(WKPluginSiteDataManagerRef manager, void* context, WKPluginSiteDataManagerGetSitesWithDataFunction function);
+
+enum {
+ kWKClearSiteDataFlagsClearAll = 0,
+ kWKClearSiteDataFlagsClearCache = 1 << 0,
+};
+typedef uint64_t WKClearSiteDataFlags;
+
+typedef void (*WKPluginSiteDataManagerClearSiteDataFunction)(WKErrorRef, void*);
+
+WK_EXPORT void WKPluginSiteDataManagerClearSiteData(WKPluginSiteDataManagerRef manager, WKArrayRef sites, WKClearSiteDataFlags flags, uint64_t maxAgeInSeconds, void* context, WKPluginSiteDataManagerClearSiteDataFunction function);
+WK_EXPORT void WKPluginSiteDataManagerClearAllSiteData(WKPluginSiteDataManagerRef manager, void* context, WKPluginSiteDataManagerClearSiteDataFunction function);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // WKPluginSiteDataManager_h
diff --git a/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp b/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp
index 97e9403..7ba9ba0 100644
--- a/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp
+++ b/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp
@@ -301,6 +301,16 @@ WKFontSmoothingLevel WKPreferencesGetFontSmoothingLevel(WKPreferencesRef prefere
return toAPI(static_cast<FontSmoothingLevel>(toImpl(preferencesRef)->fontSmoothingLevel()));
}
+void WKPreferencesSetAcceleratedDrawingEnabled(WKPreferencesRef preferencesRef, bool flag)
+{
+ toImpl(preferencesRef)->setAcceleratedDrawingEnabled(flag);
+}
+
+bool WKPreferencesGetAcceleratedDrawingEnabled(WKPreferencesRef preferencesRef)
+{
+ return toImpl(preferencesRef)->acceleratedDrawingEnabled();
+}
+
void WKPreferencesSetAcceleratedCompositingEnabled(WKPreferencesRef preferencesRef, bool flag)
{
toImpl(preferencesRef)->setAcceleratedCompositingEnabled(flag);
diff --git a/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h b/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h
index ff9beec..426119b 100644
--- a/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h
+++ b/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h
@@ -47,6 +47,10 @@ typedef enum WKFontSmoothingLevel WKFontSmoothingLevel;
WK_EXPORT void WKPreferencesSetFontSmoothingLevel(WKPreferencesRef, WKFontSmoothingLevel);
WK_EXPORT WKFontSmoothingLevel WKPreferencesGetFontSmoothingLevel(WKPreferencesRef);
+// Defaults to false.
+WK_EXPORT void WKPreferencesSetAcceleratedDrawingEnabled(WKPreferencesRef, bool);
+WK_EXPORT bool WKPreferencesGetAcceleratedDrawingEnabled(WKPreferencesRef);
+
// Defaults to true.
WK_EXPORT void WKPreferencesSetAcceleratedCompositingEnabled(WKPreferencesRef, bool);
WK_EXPORT bool WKPreferencesGetAcceleratedCompositingEnabled(WKPreferencesRef);
diff --git a/Source/WebKit2/UIProcess/API/C/WKResourceCacheManager.cpp b/Source/WebKit2/UIProcess/API/C/WKResourceCacheManager.cpp
new file mode 100644
index 0000000..483beeb
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/C/WKResourceCacheManager.cpp
@@ -0,0 +1,52 @@
+/*
+ * 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 "WKResourceCacheManager.h"
+
+#include "WebResourceCacheManagerProxy.h"
+#include "WKAPICast.h"
+
+using namespace WebKit;
+
+WKTypeID WKResourceCacheManagerGetTypeID()
+{
+ return toAPI(WebResourceCacheManagerProxy::APIType);
+}
+
+void WKResourceCacheManagerGetCacheOrigins(WKResourceCacheManagerRef cacheManagerRef, void* context, WKResourceCacheManagerGetCacheOriginsFunction callback)
+{
+ toImpl(cacheManagerRef)->getCacheOrigins(ArrayCallback::create(context, callback));
+}
+
+void WKResourceCacheManagerClearCacheForOrigin(WKResourceCacheManagerRef cacheManagerRef, WKSecurityOriginRef originRef)
+{
+ toImpl(cacheManagerRef)->clearCacheForOrigin(toImpl(originRef));
+}
+
+void WKResourceCacheManagerClearCacheForAllOrigins(WKResourceCacheManagerRef cacheManagerRef)
+{
+ toImpl(cacheManagerRef)->clearCacheForAllOrigins();
+}
diff --git a/Source/WebKit2/UIProcess/API/C/WKResourceCacheManager.h b/Source/WebKit2/UIProcess/API/C/WKResourceCacheManager.h
new file mode 100644
index 0000000..479169d
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/C/WKResourceCacheManager.h
@@ -0,0 +1,47 @@
+/*
+ * 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 WKResourceCacheManager_h
+#define WKResourceCacheManager_h
+
+#include <WebKit2/WKBase.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+WK_EXPORT WKTypeID WKResourceCacheManagerGetTypeID();
+
+typedef void (*WKResourceCacheManagerGetCacheOriginsFunction)(WKArrayRef, WKErrorRef, void*);
+WK_EXPORT void WKResourceCacheManagerGetCacheOrigins(WKResourceCacheManagerRef contextRef, void* context, WKResourceCacheManagerGetCacheOriginsFunction function);
+
+WK_EXPORT void WKResourceCacheManagerClearCacheForOrigin(WKResourceCacheManagerRef cacheManger, WKSecurityOriginRef origin);
+WK_EXPORT void WKResourceCacheManagerClearCacheForAllOrigins(WKResourceCacheManagerRef cacheManager);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // WKResourceCacheManager_h
diff --git a/Source/WebKit2/UIProcess/API/C/gtk/WKView.cpp b/Source/WebKit2/UIProcess/API/C/gtk/WKView.cpp
index aa88151..e3d6c69 100644
--- a/Source/WebKit2/UIProcess/API/C/gtk/WKView.cpp
+++ b/Source/WebKit2/UIProcess/API/C/gtk/WKView.cpp
@@ -37,9 +37,9 @@
using namespace WebKit;
using namespace WebCore;
-WKViewRef WKViewCreate(GdkRectangle rect, WKContextRef contextRef, WKPageGroupRef pageGroupRef)
+WKViewRef WKViewCreate(WKContextRef contextRef, WKPageGroupRef pageGroupRef)
{
- RefPtr<WebView> view = WebView::create(rect, toImpl(contextRef), toImpl(pageGroupRef));
+ RefPtr<WebView> view = WebView::create(toImpl(contextRef), toImpl(pageGroupRef));
return toAPI(view.release().leakRef());
}
diff --git a/Source/WebKit2/UIProcess/API/C/gtk/WKView.h b/Source/WebKit2/UIProcess/API/C/gtk/WKView.h
index 5415fd3..82e55ab 100644
--- a/Source/WebKit2/UIProcess/API/C/gtk/WKView.h
+++ b/Source/WebKit2/UIProcess/API/C/gtk/WKView.h
@@ -35,13 +35,14 @@
extern "C" {
#endif
-WK_EXPORT WKViewRef WKViewCreate(GdkRectangle rect, WKContextRef context, WKPageGroupRef pageGroup);
+WK_EXPORT WKViewRef WKViewCreate(WKContextRef context, WKPageGroupRef pageGroup);
WK_EXPORT GtkWidget* WKViewGetWindow(WKViewRef view);
WK_EXPORT WKPageRef WKViewGetPage(WKViewRef view);
WK_EXPORT WKURLRef WKURLCreateWithURL(const char*);
+
#ifdef __cplusplus
}
#endif
diff --git a/Source/WebKit2/UIProcess/API/mac/FindIndicatorWindow.mm b/Source/WebKit2/UIProcess/API/mac/FindIndicatorWindow.mm
index e622c9d..715bba7 100644
--- a/Source/WebKit2/UIProcess/API/mac/FindIndicatorWindow.mm
+++ b/Source/WebKit2/UIProcess/API/mac/FindIndicatorWindow.mm
@@ -27,6 +27,7 @@
#import "FindIndicatorWindow.h"
#import "FindIndicator.h"
+#import "WKView.h"
#import <WebCore/GraphicsContext.h>
static const double bounceAnimationDuration = 0.12;
diff --git a/Source/WebKit2/UIProcess/API/mac/PDFViewController.h b/Source/WebKit2/UIProcess/API/mac/PDFViewController.h
index 2c4a235..d22d8b5 100644
--- a/Source/WebKit2/UIProcess/API/mac/PDFViewController.h
+++ b/Source/WebKit2/UIProcess/API/mac/PDFViewController.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010, 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
@@ -49,7 +49,7 @@ public:
~PDFViewController();
WKView* wkView() const { return m_wkView; }
- void setPDFDocumentData(const String& mimeType, const CoreIPC::DataReference&);
+ void setPDFDocumentData(const String& mimeType, const String& suggestedFilename, const CoreIPC::DataReference&);
double zoomFactor() const;
void setZoomFactor(double);
@@ -57,16 +57,26 @@ public:
static Class pdfPreviewViewClass();
NSPrintOperation *makePrintOperation(NSPrintInfo *);
-
+ void openPDFInFinder();
+
private:
explicit PDFViewController(WKView *wkView);
static Class pdfDocumentClass();
static NSBundle* pdfKitBundle();
+ NSString *pathToPDFOnDisk();
+
WKView* m_wkView;
+
RetainPtr<WKPDFView> m_wkPDFView;
PDFView* m_pdfView;
+
+ RetainPtr<NSString> m_suggestedFilename;
+ RetainPtr<CFDataRef> m_pdfData;
+
+ RetainPtr<NSString> m_pathToPDFOnDisk;
+ bool m_hasWrittenPDFToDisk;
};
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/API/mac/PDFViewController.mm b/Source/WebKit2/UIProcess/API/mac/PDFViewController.mm
index 6ab425d..5d9b860 100644
--- a/Source/WebKit2/UIProcess/API/mac/PDFViewController.mm
+++ b/Source/WebKit2/UIProcess/API/mac/PDFViewController.mm
@@ -87,6 +87,7 @@ extern "C" NSString *_NSPathForSystemFramework(NSString *framework);
[self addSubview:_pdfPreviewView.get()];
_pdfView = [_pdfPreviewView.get() performSelector:@selector(pdfView)];
+ [_pdfView setDelegate:self];
}
return self;
@@ -179,6 +180,13 @@ extern "C" NSString *_NSPathForSystemFramework(NSString *framework);
[notificationCenter removeObserver:self name:_webkit_PDFViewPageChangedNotification object:_pdfView];
}
+// PDFView delegate methods
+
+- (void)PDFViewOpenPDFInNativeApplication:(PDFView *)sender
+{
+ _pdfViewController->openPDFInFinder();
+}
+
@end
namespace WebKit {
@@ -192,6 +200,7 @@ PDFViewController::PDFViewController(WKView *wkView)
: m_wkView(wkView)
, m_wkPDFView(AdoptNS, [[WKPDFView alloc] initWithFrame:[m_wkView bounds] PDFViewController:this])
, m_pdfView([m_wkPDFView.get() pdfView])
+ , m_hasWrittenPDFToDisk(false)
{
[m_wkView addSubview:m_wkPDFView.get()];
}
@@ -231,20 +240,20 @@ static RetainPtr<CFDataRef> convertPostScriptDataSourceToPDF(const CoreIPC::Data
return result;
}
-void PDFViewController::setPDFDocumentData(const String& mimeType, const CoreIPC::DataReference& dataReference)
+void PDFViewController::setPDFDocumentData(const String& mimeType, const String& suggestedFilename, const CoreIPC::DataReference& dataReference)
{
- RetainPtr<CFDataRef> data;
-
if (equalIgnoringCase(mimeType, "application/postscript")) {
- data = convertPostScriptDataSourceToPDF(dataReference);
- if (!data)
+ m_pdfData = convertPostScriptDataSourceToPDF(dataReference);
+ if (!m_pdfData)
return;
} else {
// Make sure to copy the data.
- data.adoptCF(CFDataCreate(0, dataReference.data(), dataReference.size()));
+ m_pdfData.adoptCF(CFDataCreate(0, dataReference.data(), dataReference.size()));
}
- RetainPtr<PDFDocument> pdfDocument(AdoptNS, [[pdfDocumentClass() alloc] initWithData:(NSData *)data.get()]);
+ m_suggestedFilename = suggestedFilename;
+
+ RetainPtr<PDFDocument> pdfDocument(AdoptNS, [[pdfDocumentClass() alloc] initWithData:(NSData *)m_pdfData.get()]);
[m_wkPDFView.get() setDocument:pdfDocument.get()];
}
@@ -295,4 +304,74 @@ NSPrintOperation *PDFViewController::makePrintOperation(NSPrintInfo *printInfo)
return [[m_pdfView document] getPrintOperationForPrintInfo:printInfo autoRotate:YES];
}
+void PDFViewController::openPDFInFinder()
+{
+ // We don't want to open the PDF until we have a document to write. (see 4892525).
+ if (![m_pdfView document]) {
+ NSBeep();
+ return;
+ }
+
+ NSString *path = pathToPDFOnDisk();
+ if (!path)
+ return;
+
+ if (!m_hasWrittenPDFToDisk) {
+ // Create a PDF file with the minimal permissions (only accessible to the current user, see 4145714).
+ RetainPtr<NSNumber> permissions(AdoptNS, [[NSNumber alloc] initWithInt:S_IRUSR]);
+ RetainPtr<NSDictionary> fileAttributes(AdoptNS, [[NSDictionary alloc] initWithObjectsAndKeys:permissions.get(), NSFilePosixPermissions, nil]);
+
+ if (![[NSFileManager defaultManager] createFileAtPath:path contents:(NSData *)m_pdfData.get() attributes:fileAttributes.get()])
+ return;
+
+ m_hasWrittenPDFToDisk = true;
+ }
+
+ [[NSWorkspace sharedWorkspace] openFile:path];
+}
+
+static NSString *temporaryPDFDirectoryPath()
+{
+ static NSString *temporaryPDFDirectoryPath;
+
+ if (!temporaryPDFDirectoryPath) {
+ NSString *temporaryDirectoryTemplate = [NSTemporaryDirectory() stringByAppendingPathComponent:@"WebKitPDFs-XXXXXX"];
+ CString templateRepresentation = [temporaryDirectoryTemplate fileSystemRepresentation];
+
+ if (mkdtemp(templateRepresentation.mutableData()))
+ temporaryPDFDirectoryPath = [[[NSFileManager defaultManager] stringWithFileSystemRepresentation:templateRepresentation.data() length:templateRepresentation.length()] copy];
+ }
+
+ return temporaryPDFDirectoryPath;
+}
+
+NSString *PDFViewController::pathToPDFOnDisk()
+{
+ if (m_pathToPDFOnDisk)
+ return m_pathToPDFOnDisk.get();
+
+ NSString *pdfDirectoryPath = temporaryPDFDirectoryPath();
+ if (!pdfDirectoryPath)
+ return nil;
+
+ NSString *path = [pdfDirectoryPath stringByAppendingPathComponent:m_suggestedFilename.get()];
+
+ NSFileManager *fileManager = [NSFileManager defaultManager];
+ if ([fileManager fileExistsAtPath:path]) {
+ NSString *pathTemplatePrefix = [pdfDirectoryPath stringByAppendingString:@"XXXXXX-"];
+ NSString *pathTemplate = [pathTemplatePrefix stringByAppendingPathComponent:m_suggestedFilename.get()];
+ CString pathTemplateRepresentation = [pathTemplate fileSystemRepresentation];
+
+ int fd = mkstemps(pathTemplateRepresentation.mutableData(), pathTemplateRepresentation.length() - strlen([pathTemplatePrefix fileSystemRepresentation]) + 1);
+ if (fd < 0)
+ return nil;
+
+ close(fd);
+ path = [fileManager stringWithFileSystemRepresentation:pathTemplateRepresentation.data() length:pathTemplateRepresentation.length()];
+ }
+
+ m_pathToPDFOnDisk.adoptNS([path copy]);
+ return path;
+}
+
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h b/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h
index b557c1a..e01cf66 100644
--- a/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h
+++ b/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h
@@ -69,7 +69,6 @@ private:
virtual void registerEditCommand(PassRefPtr<WebEditCommandProxy>, WebPageProxy::UndoOrRedo);
virtual void clearAllEditCommands();
- virtual void setEditCommandState(const String& commandName, bool isEnabled, int state);
virtual void interceptKeyEvent(const NativeWebKeyboardEvent& event, Vector<WebCore::KeypressCommand>& commandName, uint32_t selectionStart, uint32_t selectionEnd, Vector<WebCore::CompositionUnderline>& underlines);
virtual void setDragImage(const WebCore::IntPoint& clientPosition, const WebCore::IntSize& imageSize, PassRefPtr<ShareableBitmap> dragImage, bool isLinkDrag);
@@ -86,11 +85,6 @@ private:
virtual void enterAcceleratedCompositingMode(const LayerTreeContext&);
virtual void exitAcceleratedCompositingMode();
-#if USE(ACCELERATED_COMPOSITING)
- virtual void pageDidEnterAcceleratedCompositing();
- virtual void pageDidLeaveAcceleratedCompositing();
-#endif
-
virtual void accessibilityWebProcessTokenReceived(const CoreIPC::DataReference&);
virtual void setComplexTextInputEnabled(uint64_t pluginComplexTextInputIdentifier, bool complexTextInputEnabled);
virtual void setAutodisplay(bool);
@@ -100,11 +94,15 @@ private:
virtual void didChangeScrollbarsForMainFrame() const;
virtual void didCommitLoadForMainFrame(bool useCustomRepresentation);
- virtual void didFinishLoadingDataForCustomRepresentation(const CoreIPC::DataReference&);
+ virtual void didFinishLoadingDataForCustomRepresentation(const String& suggestedFilename, const CoreIPC::DataReference&);
virtual double customRepresentationZoomFactor();
virtual void setCustomRepresentationZoomFactor(double);
+ virtual void flashBackingStoreUpdates(const Vector<WebCore::IntRect>& updateRects);
+
+ virtual void didPerformDictionaryLookup(const String&, double scaleFactor, const DictionaryPopupInfo&);
+
WKView* m_wkView;
RetainPtr<WebEditorUndoTargetObjC> m_undoTarget;
};
diff --git a/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm b/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm
index fd70a67..88bb9a4 100644
--- a/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm
+++ b/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm
@@ -27,6 +27,7 @@
#import "PageClientImpl.h"
#import "DataReference.h"
+#import "DictionaryPopupInfo.h"
#import "FindIndicator.h"
#import "NativeWebKeyboardEvent.h"
#import "WKAPICast.h"
@@ -40,6 +41,7 @@
#import <WebCore/FoundationExtras.h>
#import <WebCore/GraphicsContext.h>
#import <WebCore/KeyboardEvent.h>
+#import <WebCore/NotImplemented.h>
#import <wtf/PassOwnPtr.h>
#import <wtf/text/CString.h>
#import <wtf/text/WTFString.h>
@@ -279,11 +281,6 @@ void PageClientImpl::clearAllEditCommands()
[[m_wkView undoManager] removeAllActionsWithTarget:m_undoTarget.get()];
}
-void PageClientImpl::setEditCommandState(const String& commandName, bool isEnabled, int newState)
-{
- [m_wkView _setUserInterfaceItemState:nsStringFromWebCoreString(commandName) enabled:isEnabled state:newState];
-}
-
void PageClientImpl::interceptKeyEvent(const NativeWebKeyboardEvent& event, Vector<WebCore::KeypressCommand>& commandsList, uint32_t selectionStart, uint32_t selectionEnd, Vector<WebCore::CompositionUnderline>& underlines)
{
commandsList = [m_wkView _interceptKeyEvent:event.nativeEvent()];
@@ -294,7 +291,6 @@ void PageClientImpl::setDragImage(const IntPoint& clientPosition, const IntSize&
{
OwnPtr<GraphicsContext> graphicsContext = dragImage->createGraphicsContext();
RetainPtr<NSImage> dragNSImage(AdoptNS, [[NSImage alloc] initWithCGImage:CGBitmapContextCreateImage(graphicsContext->platformContext()) size:imageSize]);
- [dragNSImage.get() setFlipped:YES];
[m_wkView _setDragImage:dragNSImage.get() at:clientPosition linkDrag:isLinkDrag];
}
@@ -352,16 +348,6 @@ void PageClientImpl::exitAcceleratedCompositingMode()
{
[m_wkView _exitAcceleratedCompositingMode];
}
-
-void PageClientImpl::pageDidEnterAcceleratedCompositing()
-{
- [m_wkView _pageDidEnterAcceleratedCompositing];
-}
-
-void PageClientImpl::pageDidLeaveAcceleratedCompositing()
-{
- [m_wkView _pageDidLeaveAcceleratedCompositing];
-}
#endif // USE(ACCELERATED_COMPOSITING)
void PageClientImpl::setComplexTextInputEnabled(uint64_t pluginComplexTextInputIdentifier, bool complexTextInputEnabled)
@@ -375,11 +361,21 @@ void PageClientImpl::setAutodisplay(bool newState)
[m_wkView displayIfNeeded];
[[m_wkView window] setAutodisplay:newState];
+
+ // For some reason, painting doesn't happen for a long time without this call, <rdar://problem/8975229>.
+ if (newState)
+ [m_wkView displayIfNeeded];
}
CGContextRef PageClientImpl::containingWindowGraphicsContext()
{
- return static_cast<CGContextRef>([[[m_wkView window] graphicsContext] graphicsPort]);
+ NSWindow *window = [m_wkView window];
+
+ // Don't try to get the graphics context if the NSWindow doesn't have a window device.
+ if ([window windowNumber] <= 0)
+ return 0;
+
+ return static_cast<CGContextRef>([[window graphicsContext] graphicsPort]);
}
void PageClientImpl::didChangeScrollbarsForMainFrame() const
@@ -392,9 +388,9 @@ void PageClientImpl::didCommitLoadForMainFrame(bool useCustomRepresentation)
[m_wkView _setPageHasCustomRepresentation:useCustomRepresentation];
}
-void PageClientImpl::didFinishLoadingDataForCustomRepresentation(const CoreIPC::DataReference& dataReference)
+void PageClientImpl::didFinishLoadingDataForCustomRepresentation(const String& suggestedFilename, const CoreIPC::DataReference& dataReference)
{
- [m_wkView _didFinishLoadingDataForCustomRepresentation:dataReference];
+ [m_wkView _didFinishLoadingDataForCustomRepresentationWithSuggestedFilename:suggestedFilename dataReference:dataReference];
}
double PageClientImpl::customRepresentationZoomFactor()
@@ -407,4 +403,25 @@ void PageClientImpl::setCustomRepresentationZoomFactor(double zoomFactor)
[m_wkView _setCustomRepresentationZoomFactor:zoomFactor];
}
+void PageClientImpl::flashBackingStoreUpdates(const Vector<IntRect>&)
+{
+ notImplemented();
+}
+
+void PageClientImpl::didPerformDictionaryLookup(const String& text, double scaleFactor, const DictionaryPopupInfo& dictionaryPopupInfo)
+{
+ NSFontDescriptor *fontDescriptor = [NSFontDescriptor fontDescriptorWithFontAttributes:(NSDictionary *)dictionaryPopupInfo.fontInfo.fontAttributeDictionary.get()];
+ NSFont *font = [NSFont fontWithDescriptor:fontDescriptor size:((scaleFactor != 1) ? [fontDescriptor pointSize] * scaleFactor : 0)];
+
+ RetainPtr<NSMutableAttributedString> attributedString(AdoptNS, [[NSMutableAttributedString alloc] initWithString:nsStringFromWebCoreString(text)]);
+ [attributedString.get() addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, [attributedString.get() length])];
+
+ NSPoint textBaselineOrigin = dictionaryPopupInfo.origin;
+ textBaselineOrigin.y += [font ascender];
+
+ // If the dictionary lookup is being triggered by a hot key, force the overlay style.
+ NSDictionary *options = (dictionaryPopupInfo.type == DictionaryPopupInfo::HotKey) ? [NSDictionary dictionaryWithObject:NSDefinitionPresentationTypeOverlay forKey:NSDefinitionPresentationTypeKey] : 0;
+ [m_wkView showDefinitionForAttributedString:attributedString.get() range:NSMakeRange(0, [attributedString.get() length]) options:options baselineOriginProvider:^(NSRange adjustedRange) { return (NSPoint)textBaselineOrigin; }];
+}
+
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/API/mac/WKView.mm b/Source/WebKit2/UIProcess/API/mac/WKView.mm
index da29e04..e432549 100644
--- a/Source/WebKit2/UIProcess/API/mac/WKView.mm
+++ b/Source/WebKit2/UIProcess/API/mac/WKView.mm
@@ -31,7 +31,6 @@
#import "DrawingAreaProxyImpl.h"
#import "FindIndicator.h"
#import "FindIndicatorWindow.h"
-#import "LayerBackedDrawingAreaProxy.h"
#import "LayerTreeContext.h"
#import "Logging.h"
#import "NativeWebKeyboardEvent.h"
@@ -52,7 +51,6 @@
#import "WebEventFactory.h"
#import "WebPage.h"
#import "WebPageProxy.h"
-#import "WebProcessManager.h"
#import "WebProcessProxy.h"
#import "WebSystemInterface.h"
#import <QuartzCore/QuartzCore.h>
@@ -208,6 +206,8 @@ static bool useNewDrawingArea()
if (!self)
return nil;
+ [NSApp registerServicesMenuSendTypes:PasteboardTypes::forSelection() returnTypes:PasteboardTypes::forEditing()];
+
InitWebCoreSystemInterface();
RunLoop::initializeMainRunLoop();
@@ -496,6 +496,30 @@ WEBCORE_COMMAND(yankAndSelect)
#undef WEBCORE_COMMAND
+- (BOOL)writeSelectionToPasteboard:(NSPasteboard *)pasteboard types:(NSArray *)types
+{
+ Vector<String> pasteboardTypes;
+ size_t numTypes = [types count];
+ for (size_t i = 0; i < numTypes; ++i)
+ pasteboardTypes.append([types objectAtIndex:i]);
+ return _data->_page->writeSelectionToPasteboard([pasteboard name], pasteboardTypes);
+}
+
+- (id)validRequestorForSendType:(NSString *)sendType returnType:(NSString *)returnType
+{
+ BOOL isValidSendType = !sendType || ([PasteboardTypes::forSelection() containsObject:sendType] && !_data->_page->selectionState().isNone);
+ BOOL isValidReturnType = NO;
+ if (!returnType)
+ isValidReturnType = YES;
+ else if ([PasteboardTypes::forEditing() containsObject:returnType] && _data->_page->selectionState().isContentEditable) {
+ // We can insert strings in any editable context. We can insert other types, like images, only in rich edit contexts.
+ isValidReturnType = _data->_page->selectionState().isContentRichlyEditable || [returnType isEqualToString:NSStringPboardType];
+ }
+ if (isValidSendType && isValidReturnType)
+ return self;
+ return [[self nextResponder] validRequestorForSendType:sendType returnType:returnType];
+}
+
/*
When possible, editing-related methods should be implemented in WebCore with the
@@ -548,6 +572,18 @@ static NSToolbarItem *toolbarItem(id <NSValidatedUserInterfaceItem> item)
return (NSToolbarItem *)item;
}
+static void validateCommandCallback(WKStringRef commandName, bool isEnabled, int32_t state, WKErrorRef error, void* context)
+{
+ // If the process exits before the command can be validated, we'll be called back with an error.
+ if (error)
+ return;
+
+ WKView* wkView = static_cast<WKView*>(context);
+ ASSERT(wkView);
+
+ [wkView _setUserInterfaceItemState:nsStringFromWebCoreString(toImpl(commandName)->string()) enabled:isEnabled state:state];
+}
+
- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item
{
SEL action = [item action];
@@ -643,8 +679,7 @@ static NSToolbarItem *toolbarItem(id <NSValidatedUserInterfaceItem> item)
// If we are not already awaiting validation for this command, start the asynchronous validation process.
// FIXME: Theoretically, there is a race here; when we get the answer it might be old, from a previous time
// we asked for the same command; there is no guarantee the answer is still valid.
- // FIXME: The function called here should be renamed validateCommand because it is not specific to menu items.
- _data->_page->validateMenuItem(commandName);
+ _data->_page->validateCommand(commandName, ValidateCommandCallback::create(self, validateCommandCallback));
}
// Treat as enabled until we get the result back from the web process and _setUserInterfaceItemState is called.
@@ -715,6 +750,23 @@ static void speakString(WKStringRef string, WKErrorRef error, void*)
_data->_page->unmarkAllMisspellings();
}
+- (BOOL)isGrammarCheckingEnabled
+{
+ return TextChecker::state().isGrammarCheckingEnabled;
+}
+
+- (void)setGrammarCheckingEnabled:(BOOL)flag
+{
+ if (static_cast<bool>(flag) == TextChecker::state().isGrammarCheckingEnabled)
+ return;
+
+ TextChecker::setGrammarCheckingEnabled(flag);
+ _data->_page->process()->updateTextCheckerState();
+
+ if (!flag)
+ _data->_page->unmarkAllBadGrammar();
+}
+
- (IBAction)toggleGrammarChecking:(id)sender
{
bool grammarCheckingEnabled = !TextChecker::state().isGrammarCheckingEnabled;
@@ -1496,6 +1548,13 @@ static void drawPageBackground(CGContextRef context, WebPageProxy* page, const I
return _data->_page->drawsBackground();
}
+- (BOOL)mouseDownCanMoveWindow
+{
+ // -[NSView mouseDownCanMoveWindow] returns YES when the NSView is transparent,
+ // but we don't want a drag in the NSView to move the window, even if it's transparent.
+ return NO;
+}
+
- (void)viewDidHide
{
_data->_page->viewStateDidChange(WebPageProxy::ViewIsVisible);
@@ -1506,6 +1565,11 @@ static void drawPageBackground(CGContextRef context, WebPageProxy* page, const I
_data->_page->viewStateDidChange(WebPageProxy::ViewIsVisible);
}
+- (id)accessibilityFocusedUIElement
+{
+ return _data->_remoteAccessibilityChild.get();
+}
+
- (BOOL)accessibilityIsIgnored
{
return NO;
@@ -1802,95 +1866,6 @@ static void drawPageBackground(CGContextRef context, WebPageProxy* page, const I
_data->_findIndicatorWindow->setFindIndicator(findIndicator, fadeOut);
}
-#if USE(ACCELERATED_COMPOSITING)
-- (void)_startAcceleratedCompositing:(CALayer *)rootLayer
-{
- if (!_data->_oldLayerHostingView) {
- NSView *hostingView = [[NSView alloc] initWithFrame:[self bounds]];
-#if !defined(BUILDING_ON_LEOPARD)
- [hostingView setAutoresizingMask:(NSViewWidthSizable | NSViewHeightSizable)];
-#endif
-
- [self addSubview:hostingView];
- [hostingView release];
- _data->_oldLayerHostingView = hostingView;
- }
-
- // Make a container layer, which will get sized/positioned by AppKit and CA.
- CALayer *viewLayer = [CALayer layer];
-
-#ifndef NDEBUG
- [viewLayer setName:@"hosting layer"];
-#endif
-
-#if defined(BUILDING_ON_LEOPARD)
- // Turn off default animations.
- NSNull *nullValue = [NSNull null];
- NSDictionary *actions = [NSDictionary dictionaryWithObjectsAndKeys:
- nullValue, @"anchorPoint",
- nullValue, @"bounds",
- nullValue, @"contents",
- nullValue, @"contentsRect",
- nullValue, @"opacity",
- nullValue, @"position",
- nullValue, @"sublayerTransform",
- nullValue, @"sublayers",
- nullValue, @"transform",
- nil];
- [viewLayer setStyle:[NSDictionary dictionaryWithObject:actions forKey:@"actions"]];
-#endif
-
-#if !defined(BUILDING_ON_LEOPARD)
- // If we aren't in the window yet, we'll use the screen's scale factor now, and reset the scale
- // via -viewDidMoveToWindow.
- CGFloat scaleFactor = [self window] ? [[self window] userSpaceScaleFactor] : [[NSScreen mainScreen] userSpaceScaleFactor];
- [viewLayer setTransform:CATransform3DMakeScale(scaleFactor, scaleFactor, 1)];
-#endif
-
- [_data->_oldLayerHostingView setLayer:viewLayer];
- [_data->_oldLayerHostingView setWantsLayer:YES];
-
- // Parent our root layer in the container layer
- [viewLayer addSublayer:rootLayer];
-}
-
-- (void)_stopAcceleratedCompositing
-{
- if (_data->_oldLayerHostingView) {
- [_data->_oldLayerHostingView setLayer:nil];
- [_data->_oldLayerHostingView setWantsLayer:NO];
- [_data->_oldLayerHostingView removeFromSuperview];
- _data->_oldLayerHostingView = nil;
- }
-}
-
-- (void)_switchToDrawingAreaTypeIfNecessary:(DrawingAreaInfo::Type)type
-{
- DrawingAreaInfo::Type existingDrawingAreaType = _data->_page->drawingArea() ? _data->_page->drawingArea()->info().type : DrawingAreaInfo::None;
- if (existingDrawingAreaType == type)
- return;
-
- OwnPtr<DrawingAreaProxy> newDrawingArea;
- switch (type) {
- case DrawingAreaInfo::Impl:
- case DrawingAreaInfo::None:
- break;
- case DrawingAreaInfo::ChunkedUpdate: {
- newDrawingArea = ChunkedUpdateDrawingAreaProxy::create(self, _data->_page.get());
- break;
- }
- case DrawingAreaInfo::LayerBacked: {
- newDrawingArea = LayerBackedDrawingAreaProxy::create(self, _data->_page.get());
- break;
- }
- }
-
- newDrawingArea->setSize(IntSize([self frame].size), IntSize());
-
- _data->_page->drawingArea()->detachCompositingContext();
- _data->_page->setDrawingArea(newDrawingArea.release());
-}
-
- (void)_enterAcceleratedCompositingMode:(const LayerTreeContext&)layerTreeContext
{
ASSERT(!_data->_layerHostingView);
@@ -1899,6 +1874,9 @@ static void drawPageBackground(CGContextRef context, WebPageProxy* page, const I
// Create an NSView that will host our layer tree.
_data->_layerHostingView.adoptNS([[NSView alloc] initWithFrame:[self bounds]]);
[_data->_layerHostingView.get() setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
+
+ [CATransaction begin];
+ [CATransaction setDisableActions:YES];
[self addSubview:_data->_layerHostingView.get()];
// Create a root layer that will back the NSView.
@@ -1912,31 +1890,21 @@ static void drawPageBackground(CGContextRef context, WebPageProxy* page, const I
[_data->_layerHostingView.get() setLayer:rootLayer.get()];
[_data->_layerHostingView.get() setWantsLayer:YES];
+
+ [CATransaction commit];
}
- (void)_exitAcceleratedCompositingMode
{
ASSERT(_data->_layerHostingView);
+ [_data->_layerHostingView.get() removeFromSuperview];
[_data->_layerHostingView.get() setLayer:nil];
[_data->_layerHostingView.get() setWantsLayer:NO];
- [_data->_layerHostingView.get() removeFromSuperview];
_data->_layerHostingView = nullptr;
}
-- (void)_pageDidEnterAcceleratedCompositing
-{
- [self _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::LayerBacked];
-}
-
-- (void)_pageDidLeaveAcceleratedCompositing
-{
- // FIXME: we may want to avoid flipping back to the non-layer-backed drawing area until the next page load, to avoid thrashing.
- [self _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::ChunkedUpdate];
-}
-#endif // USE(ACCELERATED_COMPOSITING)
-
- (void)_setAccessibilityWebProcessToken:(NSData *)data
{
#if !defined(BUILDING_ON_SNOW_LEOPARD)
@@ -1978,11 +1946,11 @@ static void drawPageBackground(CGContextRef context, WebPageProxy* page, const I
_data->_pdfViewController = PDFViewController::create(self);
}
-- (void)_didFinishLoadingDataForCustomRepresentation:(const CoreIPC::DataReference&)dataReference
+- (void)_didFinishLoadingDataForCustomRepresentationWithSuggestedFilename:(const String&)suggestedFilename dataReference:(const CoreIPC::DataReference&)dataReference
{
ASSERT(_data->_pdfViewController);
- _data->_pdfViewController->setPDFDocumentData(_data->_page->mainFrame()->mimeType(), dataReference);
+ _data->_pdfViewController->setPDFDocumentData(_data->_page->mainFrame()->mimeType(), suggestedFilename, dataReference);
}
- (double)_customRepresentationZoomFactor
@@ -2056,5 +2024,14 @@ static void drawPageBackground(CGContextRef context, WebPageProxy* page, const I
return _frameSizeUpdatesDisabledCount > 0;
}
+- (void)performDictionaryLookupAtCurrentMouseLocation
+{
+ NSPoint thePoint = [NSEvent mouseLocation];
+ thePoint = [[self window] convertScreenToBase:thePoint];
+ thePoint = [self convertPoint:thePoint fromView:nil];
+
+ _data->_page->performDictionaryLookupAtLocation(FloatPoint(thePoint.x, thePoint.y));
+}
+
@end
diff --git a/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h b/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h
index 9e77e30..4147658 100644
--- a/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h
+++ b/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h
@@ -52,18 +52,11 @@ namespace WebKit {
- (void)_enterAcceleratedCompositingMode:(const WebKit::LayerTreeContext&)layerTreeContext;
- (void)_exitAcceleratedCompositingMode;
-#if USE(ACCELERATED_COMPOSITING)
-- (void)_startAcceleratedCompositing:(CALayer *)rootLayer;
-- (void)_stopAcceleratedCompositing;
-- (void)_pageDidEnterAcceleratedCompositing;
-- (void)_pageDidLeaveAcceleratedCompositing;
-#endif
-
- (void)_setAccessibilityWebProcessToken:(NSData *)data;
- (void)_setComplexTextInputEnabled:(BOOL)complexTextInputEnabled pluginComplexTextInputIdentifier:(uint64_t)pluginComplexTextInputIdentifier;
- (void)_setPageHasCustomRepresentation:(BOOL)pageHasCustomRepresentation;
-- (void)_didFinishLoadingDataForCustomRepresentation:(const CoreIPC::DataReference&)dataReference;
+- (void)_didFinishLoadingDataForCustomRepresentationWithSuggestedFilename:(const String&)suggestedFilename dataReference:(const CoreIPC::DataReference&)dataReference;
- (double)_customRepresentationZoomFactor;
- (void)_setCustomRepresentationZoomFactor:(double)zoomFactor;
- (void)_setDragImage:(NSImage *)image at:(NSPoint)clientPoint linkDrag:(BOOL)linkDrag;
diff --git a/Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h b/Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h
index 5d6125e..cece1c7 100644
--- a/Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h
+++ b/Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h
@@ -33,4 +33,6 @@
- (void)enableFrameSizeUpdates;
- (BOOL)frameSizeUpdatesDisabled;
+- (void)performDictionaryLookupAtCurrentMouseLocation;
+
@end
diff --git a/Source/WebKit2/UIProcess/API/qt/qgraphicswkview.cpp b/Source/WebKit2/UIProcess/API/qt/qgraphicswkview.cpp
index 748b1bd..0381d73 100644
--- a/Source/WebKit2/UIProcess/API/qt/qgraphicswkview.cpp
+++ b/Source/WebKit2/UIProcess/API/qt/qgraphicswkview.cpp
@@ -55,7 +55,7 @@ struct QGraphicsWKViewPrivate {
QGraphicsWKView* q;
QWKPage* page;
- QMenu* activeMenu;
+ QSharedPointer<QMenu> activeMenu;
RunLoop::Timer<QGraphicsWKViewPrivate> m_scaleCommitTimer;
bool m_isChangingScale;
};
@@ -83,7 +83,7 @@ QGraphicsWKView::QGraphicsWKView(QWKContext* context, BackingStoreType backingSt
connect(d->page, SIGNAL(urlChanged(const QUrl&)), this, SIGNAL(urlChanged(const QUrl&)));
connect(d->page, SIGNAL(cursorChanged(const QCursor&)), this, SLOT(updateCursor(const QCursor&)));
connect(d->page, SIGNAL(focusNextPrevChild(bool)), this, SLOT(focusNextPrevChildCallback(bool)));
- connect(d->page, SIGNAL(showContextMenu(QMenu*)), this, SLOT(showContextMenu(QMenu*)));
+ connect(d->page, SIGNAL(showContextMenu(QSharedPointer<QMenu>)), this, SLOT(showContextMenu(QSharedPointer<QMenu>)));
}
QGraphicsWKView::~QGraphicsWKView()
@@ -327,12 +327,22 @@ void QGraphicsWKView::focusOutEvent(QFocusEvent*)
page()->d->page->viewStateDidChange(WebPageProxy::ViewIsFocused | WebPageProxy::ViewWindowIsActive);
}
-void QGraphicsWKView::showContextMenu(QMenu* menu)
+
+/*!
+ This slot is called when the engine require a context sensitive menu to be displayed.
+
+ The \a menu passed as a parameter is the menu to be displayed. It is populated with the
+ actions possible for its current position. The menu is empty if there is no action for the position.
+*/
+void QGraphicsWKView::showContextMenu(QSharedPointer<QMenu> menu)
{
// Remove the active menu in case this function is called twice.
if (d->activeMenu)
d->activeMenu->hide();
+ if (menu->isEmpty())
+ return;
+
d->activeMenu = menu;
QWidget* view = 0;
@@ -351,14 +361,14 @@ void QGraphicsWKView::showContextMenu(QMenu* menu)
menu->setParent(view, menu->windowFlags());
menu->exec(view->mapToGlobal(menu->pos()));
if (d->activeMenu == menu)
- d->activeMenu = 0;
+ d->activeMenu.clear();
}
void QGraphicsWKView::takeSnapshot(const QSize& size, const QRect& contentsRect)
{
#if ENABLE(TILED_BACKING_STORE)
DrawingAreaProxy* drawingArea = page()->d->page->drawingArea();
- if (drawingArea->info().type != DrawingAreaInfo::Tiled)
+ if (drawingArea->type() != DrawingAreaTypeTiled)
return;
TiledDrawingAreaProxy* tiledDrawingArea = static_cast<TiledDrawingAreaProxy*>(drawingArea);
tiledDrawingArea->takeSnapshot(size, contentsRect);
@@ -419,7 +429,7 @@ void QGraphicsWKViewPrivate::commitScale()
#if ENABLE(TILED_BACKING_STORE)
DrawingAreaProxy* drawingArea = page->d->page->drawingArea();
float newScale = q->scale();
- if (drawingArea->info().type == DrawingAreaInfo::Tiled) {
+ if (drawingArea->type() == DrawingAreaTypeTiled) {
TiledDrawingAreaProxy* tiledDrawingArea = static_cast<TiledDrawingAreaProxy*>(drawingArea);
if (tiledDrawingArea->contentsScale() == newScale)
return;
diff --git a/Source/WebKit2/UIProcess/API/qt/qgraphicswkview.h b/Source/WebKit2/UIProcess/API/qt/qgraphicswkview.h
index caf8e0d..03fc722 100644
--- a/Source/WebKit2/UIProcess/API/qt/qgraphicswkview.h
+++ b/Source/WebKit2/UIProcess/API/qt/qgraphicswkview.h
@@ -68,6 +68,7 @@ public Q_SLOTS:
void forward();
void reload();
void stop();
+ void showContextMenu(QSharedPointer<QMenu>);
protected:
virtual void keyPressEvent(QKeyEvent*);
@@ -88,9 +89,6 @@ protected:
virtual void focusInEvent(QFocusEvent*);
virtual void focusOutEvent(QFocusEvent*);
-private Q_SLOTS:
- void showContextMenu(QMenu*);
-
private:
Q_PRIVATE_SLOT(d, void onScaleChanged());
diff --git a/Source/WebKit2/UIProcess/API/qt/qwkpage.cpp b/Source/WebKit2/UIProcess/API/qt/qwkpage.cpp
index 16e1cdd..05c7b8b 100644
--- a/Source/WebKit2/UIProcess/API/qt/qwkpage.cpp
+++ b/Source/WebKit2/UIProcess/API/qt/qwkpage.cpp
@@ -34,6 +34,7 @@
#include "FindIndicator.h"
#include "LocalizedStrings.h"
#include "NativeWebKeyboardEvent.h"
+#include "NotImplemented.h"
#include "TiledDrawingAreaProxy.h"
#include "WebContext.h"
#include "WebContextMenuProxyQt.h"
@@ -50,6 +51,7 @@
#include <QtDebug>
#include <WebCore/Cursor.h>
#include <WebCore/FloatRect.h>
+#include <WebCore/NotImplemented.h>
#include <WebKit2/WKFrame.h>
#include <WebKit2/WKPageGroup.h>
#include <WebKit2/WKRetainPtr.h>
@@ -163,20 +165,17 @@ WebCore::IntSize QWKPagePrivate::viewSize()
bool QWKPagePrivate::isViewWindowActive()
{
- // FIXME: Implement.
- return true;
+ return view && view->isActive();
}
bool QWKPagePrivate::isViewFocused()
{
- // FIXME: Implement.
- return true;
+ return view && view->hasFocus();
}
bool QWKPagePrivate::isViewVisible()
{
- // FIXME: Implement.
- return true;
+ return view && view->isVisible();
}
bool QWKPagePrivate::isViewInWindow()
@@ -254,10 +253,15 @@ void QWKPagePrivate::didCommitLoadForMainFrame(bool useCustomRepresentation)
{
}
-void QWKPagePrivate::didFinishLoadingDataForCustomRepresentation(const CoreIPC::DataReference&)
+void QWKPagePrivate::didFinishLoadingDataForCustomRepresentation(const String& suggestedFilename, const CoreIPC::DataReference&)
{
}
+void QWKPagePrivate::flashBackingStoreUpdates(const Vector<IntRect>&)
+{
+ notImplemented();
+}
+
void QWKPagePrivate::paint(QPainter* painter, QRect area)
{
if (page->isValid() && page->drawingArea())
@@ -325,10 +329,6 @@ void QWKPagePrivate::wheelEvent(QGraphicsSceneWheelEvent* ev)
page->handleWheelEvent(wheelEvent);
}
-void QWKPagePrivate::setEditCommandState(const WTF::String&, bool, int)
-{
-}
-
void QWKPagePrivate::updateAction(QWKPage::WebAction action)
{
#ifdef QT_NO_ACTION
@@ -442,7 +442,8 @@ QWKPage::QWKPage(QWKContext* context)
qt_wk_didBecomeUnresponsive,
qt_wk_didBecomeResponsive,
0, /* processDidCrash */
- 0 /* didChangeBackForwardList */
+ 0, /* didChangeBackForwardList */
+ 0 /* shouldGoToBackForwardListItem */
};
WKPageSetPageLoaderClient(pageRef(), &loadClient);
diff --git a/Source/WebKit2/UIProcess/API/qt/qwkpage.h b/Source/WebKit2/UIProcess/API/qt/qwkpage.h
index cb7933a..48fdd9f 100644
--- a/Source/WebKit2/UIProcess/API/qt/qwkpage.h
+++ b/Source/WebKit2/UIProcess/API/qt/qwkpage.h
@@ -3,6 +3,7 @@
#include "qwebkitglobal.h"
#include <QAction>
+#include <QMenu>
#include <QObject>
#include <QPoint>
#include <QRect>
@@ -134,7 +135,7 @@ public:
Q_SIGNAL void windowCloseRequested();
Q_SIGNAL void zoomableAreaFound(const QRect&);
Q_SIGNAL void focusNextPrevChild(bool);
- Q_SIGNAL void showContextMenu(QMenu*);
+ Q_SIGNAL void showContextMenu(QSharedPointer<QMenu>);
Q_SIGNAL void engineConnectionChanged(bool connected);
protected:
diff --git a/Source/WebKit2/UIProcess/API/qt/qwkpage_p.h b/Source/WebKit2/UIProcess/API/qt/qwkpage_p.h
index 65f64ff..1a626a1 100644
--- a/Source/WebKit2/UIProcess/API/qt/qwkpage_p.h
+++ b/Source/WebKit2/UIProcess/API/qt/qwkpage_p.h
@@ -62,8 +62,6 @@ public:
#if USE(ACCELERATED_COMPOSITING)
virtual void enterAcceleratedCompositingMode(const LayerTreeContext&);
virtual void exitAcceleratedCompositingMode();
- void pageDidEnterAcceleratedCompositing() { }
- void pageDidLeaveAcceleratedCompositing() { }
#endif // USE(ACCELERATED_COMPOSITING)
virtual void pageDidRequestScroll(const WebCore::IntSize&);
virtual void processDidCrash();
@@ -87,11 +85,13 @@ public:
virtual void setFindIndicator(PassRefPtr<WebKit::FindIndicator>, bool fadeOut);
virtual void didCommitLoadForMainFrame(bool useCustomRepresentation);
- virtual void didFinishLoadingDataForCustomRepresentation(const CoreIPC::DataReference&);
+ virtual void didFinishLoadingDataForCustomRepresentation(const String& suggestedFilename, const CoreIPC::DataReference&);
virtual double customRepresentationZoomFactor() { return 1; }
virtual void setCustomRepresentationZoomFactor(double) { }
virtual void didChangeScrollbarsForMainFrame() const { }
+ virtual void flashBackingStoreUpdates(const Vector<WebCore::IntRect>& updateRects);
+
void paint(QPainter* painter, QRect);
void keyPressEvent(QKeyEvent*);
@@ -105,7 +105,6 @@ public:
void updateAction(QWKPage::WebAction action);
void updateNavigationActions();
void updateEditorActions();
- void setEditCommandState(const WTF::String&, bool, int);
void _q_webActionTriggered(bool checked);
diff --git a/Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp b/Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp
index 4ba18a3..0f54c00 100644
--- a/Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp
+++ b/Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp
@@ -184,3 +184,36 @@ void QWKPreferences::setAttribute(WebAttribute attr, bool on)
ASSERT_NOT_REACHED();
}
}
+
+void QWKPreferences::setFontSize(FontSize type, int size)
+{
+ switch (type) {
+ case MinimumFontSize:
+ WKPreferencesSetMinimumFontSize(d->ref, size);
+ break;
+ case DefaultFontSize:
+ WKPreferencesSetDefaultFontSize(d->ref, size);
+ break;
+ case DefaultFixedFontSize:
+ WKPreferencesSetDefaultFixedFontSize(d->ref, size);
+ break;
+ default:
+ ASSERT_NOT_REACHED();
+ }
+}
+
+int QWKPreferences::fontSize(FontSize type) const
+{
+ switch (type) {
+ case MinimumFontSize:
+ return WKPreferencesGetMinimumFontSize(d->ref);
+ case DefaultFontSize:
+ return WKPreferencesGetDefaultFontSize(d->ref);
+ case DefaultFixedFontSize:
+ return WKPreferencesGetDefaultFixedFontSize(d->ref);
+ default:
+ ASSERT_NOT_REACHED();
+ return false;
+ }
+}
+
diff --git a/Source/WebKit2/UIProcess/API/qt/qwkpreferences.h b/Source/WebKit2/UIProcess/API/qt/qwkpreferences.h
index d9f7bc0..db22906 100644
--- a/Source/WebKit2/UIProcess/API/qt/qwkpreferences.h
+++ b/Source/WebKit2/UIProcess/API/qt/qwkpreferences.h
@@ -49,6 +49,12 @@ public:
DnsPrefetchEnabled
};
+ enum FontSize {
+ MinimumFontSize,
+ DefaultFontSize,
+ DefaultFixedFontSize
+ };
+
static QWKPreferences* sharedPreferences();
void setFontFamily(FontFamily which, const QString& family);
@@ -57,6 +63,9 @@ public:
void setAttribute(WebAttribute attr, bool on);
bool testAttribute(WebAttribute attr) const;
+ void setFontSize(FontSize type, int size);
+ int fontSize(FontSize type) const;
+
private:
Q_DISABLE_COPY(QWKPreferences)
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/html/basic_page.html b/Source/WebKit2/UIProcess/API/qt/tests/html/basic_page.html
new file mode 100644
index 0000000..b4eea41
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/qt/tests/html/basic_page.html
@@ -0,0 +1 @@
+<h1>Basic page</h1>
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/qgraphicswkview.pro b/Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/qgraphicswkview.pro
new file mode 100644
index 0000000..e99c7f4
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/qgraphicswkview.pro
@@ -0,0 +1 @@
+include(../tests.pri)
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp b/Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp
new file mode 100644
index 0000000..f26c69d
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp
@@ -0,0 +1,93 @@
+/*
+ Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "../util.h"
+#include <QGraphicsScene>
+#include <QGraphicsView>
+#include <QResizeEvent>
+#include <QSignalSpy>
+#include <QtTest/QtTest>
+#include <qgraphicswkview.h>
+#include <qwkcontext.h>
+
+class View;
+
+class tst_QGraphicsWKView : public QObject {
+ Q_OBJECT
+
+private slots:
+ void init();
+ void cleanup();
+
+ void loadEmptyPage();
+
+private:
+ View* m_view;
+};
+
+class View : public QGraphicsView {
+public:
+ View();
+ QGraphicsWKView* m_webView;
+
+protected:
+ void resizeEvent(QResizeEvent*);
+};
+
+View::View()
+{
+ QGraphicsScene* const scene = new QGraphicsScene(this);
+ setScene(scene);
+
+ QWKContext* context = new QWKContext(this);
+ m_webView = new QGraphicsWKView(context);
+ scene->addItem(m_webView);
+}
+
+void View::resizeEvent(QResizeEvent* event)
+{
+ QGraphicsView::resizeEvent(event);
+ QRectF rect(QPoint(0, 0), event->size());
+ m_webView->setGeometry(rect);
+ scene()->setSceneRect(rect);
+}
+
+void tst_QGraphicsWKView::init()
+{
+ m_view = new View;
+}
+
+void tst_QGraphicsWKView::cleanup()
+{
+ delete m_view;
+ m_view = 0;
+}
+
+void tst_QGraphicsWKView::loadEmptyPage()
+{
+ m_view->show();
+
+ m_view->m_webView-> load(QUrl::fromLocalFile(TESTDIR "/html/basic_page.html"));
+ QVERIFY(waitForSignal(m_view->m_webView, SIGNAL(loadFinished(bool))));
+}
+
+QTEST_MAIN(tst_QGraphicsWKView)
+
+#include "tst_qgraphicswkview.moc"
+
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/tests.pri b/Source/WebKit2/UIProcess/API/qt/tests/tests.pri
new file mode 100644
index 0000000..3a2aac1
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/qt/tests/tests.pri
@@ -0,0 +1,16 @@
+TEMPLATE = app
+CONFIG -= app_bundle
+
+VPATH += $$_PRO_FILE_PWD_
+# Add the tst_ prefix, In QTDIR_build it's done by qttest_p4.prf
+CONFIG(QTDIR_build) { load(qttest_p4) }
+ELSE { TARGET = tst_$$TARGET }
+
+SOURCES += $${TARGET}.cpp
+INCLUDEPATH += $$PWD
+
+include(../../../../../WebKit.pri)
+QT += testlib
+
+QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR
+DEFINES += TESTDIR=\\\"$$PWD\\\"
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/tests.pro b/Source/WebKit2/UIProcess/API/qt/tests/tests.pro
new file mode 100644
index 0000000..eb85021
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/qt/tests/tests.pro
@@ -0,0 +1,2 @@
+TEMPLATE = subdirs
+SUBDIRS = qgraphicswkview
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/util.h b/Source/WebKit2/UIProcess/API/qt/tests/util.h
new file mode 100644
index 0000000..08d23a9
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/qt/tests/util.h
@@ -0,0 +1,78 @@
+/*
+ Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+// Functions and macros that really need to be in QTestLib
+
+#include <QEventLoop>
+#include <QSignalSpy>
+#include <QTimer>
+
+#if !defined(TESTS_SOURCE_DIR)
+#define TESTS_SOURCE_DIR ""
+#endif
+
+/**
+ * Starts an event loop that runs until the given signal is received.
+ * Optionally the event loop
+ * can return earlier on a timeout.
+ *
+ * \return \p true if the requested signal was received
+ * \p false on timeout
+ */
+static bool waitForSignal(QObject* obj, const char* signal, int timeout = 10000)
+{
+ QEventLoop loop;
+ QObject::connect(obj, signal, &loop, SLOT(quit()));
+ QTimer timer;
+ QSignalSpy timeoutSpy(&timer, SIGNAL(timeout()));
+ if (timeout > 0) {
+ QObject::connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit()));
+ timer.setSingleShot(true);
+ timer.start(timeout);
+ }
+ loop.exec();
+ return timeoutSpy.isEmpty();
+}
+
+// Will try to wait for the condition while allowing event processing
+#define QTRY_VERIFY(__expr) \
+ do { \
+ const int __step = 50; \
+ const int __timeout = 5000; \
+ if (!(__expr)) { \
+ QTest::qWait(0); \
+ } \
+ for (int __i = 0; __i < __timeout && !(__expr); __i+=__step) { \
+ QTest::qWait(__step); \
+ } \
+ QVERIFY(__expr); \
+ } while(0)
+
+// Will try to wait for the condition while allowing event processing
+#define QTRY_COMPARE(__expr, __expected) \
+ do { \
+ const int __step = 50; \
+ const int __timeout = 5000; \
+ if ((__expr) != (__expected)) { \
+ QTest::qWait(0); \
+ } \
+ for (int __i = 0; __i < __timeout && ((__expr) != (__expected)); __i+=__step) { \
+ QTest::qWait(__step); \
+ } \
+ QCOMPARE(__expr, __expected); \
+ } while(0)
diff --git a/Source/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.cpp b/Source/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.cpp
index 58cac4f..dd5f988 100644
--- a/Source/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.cpp
+++ b/Source/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.cpp
@@ -45,7 +45,7 @@ PassOwnPtr<ChunkedUpdateDrawingAreaProxy> ChunkedUpdateDrawingAreaProxy::create(
}
ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy(PlatformWebView* webView, WebPageProxy* webPageProxy)
- : DrawingAreaProxy(DrawingAreaInfo::ChunkedUpdate, webPageProxy)
+ : DrawingAreaProxy(DrawingAreaTypeChunkedUpdate, webPageProxy)
, m_isWaitingForDidSetFrameNotification(false)
, m_isVisible(true)
, m_forceRepaintWhenResumingPainting(false)
@@ -96,12 +96,12 @@ void ChunkedUpdateDrawingAreaProxy::setPageIsVisible(bool isVisible)
if (!m_isVisible) {
// Tell the web process that it doesn't need to paint anything for now.
- page->process()->deprecatedSend(DrawingAreaLegacyMessage::SuspendPainting, page->pageID(), CoreIPC::In(info().identifier));
+ page->process()->deprecatedSend(DrawingAreaLegacyMessage::SuspendPainting, page->pageID(), CoreIPC::In());
return;
}
// The page is now visible, resume painting.
- page->process()->deprecatedSend(DrawingAreaLegacyMessage::ResumePainting, page->pageID(), CoreIPC::In(info().identifier, m_forceRepaintWhenResumingPainting));
+ page->process()->deprecatedSend(DrawingAreaLegacyMessage::ResumePainting, page->pageID(), CoreIPC::In(m_forceRepaintWhenResumingPainting));
m_forceRepaintWhenResumingPainting = false;
}
@@ -120,7 +120,7 @@ void ChunkedUpdateDrawingAreaProxy::didSetSize(UpdateChunk* updateChunk)
drawUpdateChunkIntoBackingStore(updateChunk);
}
-void ChunkedUpdateDrawingAreaProxy::update(UpdateChunk* updateChunk)
+void ChunkedUpdateDrawingAreaProxy::deprecatedUpdate(UpdateChunk* updateChunk)
{
if (!m_isVisible) {
// We got an update request that must have been sent before we told the web process to suspend painting.
@@ -133,7 +133,7 @@ void ChunkedUpdateDrawingAreaProxy::update(UpdateChunk* updateChunk)
}
WebPageProxy* page = this->page();
- page->process()->deprecatedSend(DrawingAreaLegacyMessage::DidUpdate, page->pageID(), CoreIPC::In(info().identifier));
+ page->process()->deprecatedSend(DrawingAreaLegacyMessage::DidUpdate, page->pageID(), CoreIPC::In());
}
void ChunkedUpdateDrawingAreaProxy::sendSetSize()
@@ -145,7 +145,7 @@ void ChunkedUpdateDrawingAreaProxy::sendSetSize()
return;
m_isWaitingForDidSetFrameNotification = true;
- m_webPageProxy->process()->deprecatedSend(DrawingAreaLegacyMessage::SetSize, m_webPageProxy->pageID(), CoreIPC::In(info().identifier, m_size));
+ m_webPageProxy->process()->deprecatedSend(DrawingAreaLegacyMessage::SetSize, m_webPageProxy->pageID(), CoreIPC::In(m_size));
}
void ChunkedUpdateDrawingAreaProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
@@ -156,7 +156,7 @@ void ChunkedUpdateDrawingAreaProxy::didReceiveMessage(CoreIPC::Connection*, Core
if (!arguments->decode(updateChunk))
return;
- update(&updateChunk);
+ deprecatedUpdate(&updateChunk);
break;
}
case DrawingAreaProxyLegacyMessage::DidSetSize: {
diff --git a/Source/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.h b/Source/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.h
index 7d7a5f4..94e441f 100644
--- a/Source/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.h
+++ b/Source/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.h
@@ -30,6 +30,8 @@
#include "DrawingAreaProxy.h"
#include <WebCore/IntSize.h>
+#include <wtf/PassOwnPtr.h>
+#include <wtf/OwnPtr.h>
#if PLATFORM(MAC)
#include <wtf/RetainPtr.h>
@@ -80,15 +82,10 @@ private:
bool platformPaint(const WebCore::IntRect&, PlatformDrawingContext);
void drawUpdateChunkIntoBackingStore(UpdateChunk*);
void didSetSize(UpdateChunk*);
- void update(UpdateChunk*);
+ void deprecatedUpdate(UpdateChunk*);
void sendSetSize();
-#if USE(ACCELERATED_COMPOSITING)
- virtual void attachCompositingContext(uint32_t) { }
- virtual void detachCompositingContext() { }
-#endif
-
bool m_isWaitingForDidSetFrameNotification;
bool m_isVisible;
bool m_forceRepaintWhenResumingPainting;
diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxy.cpp b/Source/WebKit2/UIProcess/DrawingAreaProxy.cpp
index 3d1f1aa..f852e2f 100644
--- a/Source/WebKit2/UIProcess/DrawingAreaProxy.cpp
+++ b/Source/WebKit2/UIProcess/DrawingAreaProxy.cpp
@@ -32,9 +32,10 @@ using namespace WebCore;
namespace WebKit {
-DrawingAreaProxy::DrawingAreaProxy(DrawingAreaInfo::Type type, WebPageProxy* webPageProxy)
- : m_info(type, nextIdentifier())
+DrawingAreaProxy::DrawingAreaProxy(DrawingAreaType type, WebPageProxy* webPageProxy)
+ : m_type(type)
, m_webPageProxy(webPageProxy)
+ , m_size(webPageProxy->viewSize())
{
}
@@ -42,12 +43,6 @@ DrawingAreaProxy::~DrawingAreaProxy()
{
}
-DrawingAreaInfo::Identifier DrawingAreaProxy::nextIdentifier()
-{
- static DrawingAreaInfo::Identifier nextID = 1;
- return ++nextID;
-}
-
void DrawingAreaProxy::setSize(const IntSize& size, const IntSize& scrollOffset)
{
if (m_size == size && scrollOffset.isZero())
diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxy.h b/Source/WebKit2/UIProcess/DrawingAreaProxy.h
index f802241..4222c3b 100644
--- a/Source/WebKit2/UIProcess/DrawingAreaProxy.h
+++ b/Source/WebKit2/UIProcess/DrawingAreaProxy.h
@@ -29,6 +29,7 @@
#include "DrawingAreaInfo.h"
#include <WebCore/IntSize.h>
+#include <wtf/Noncopyable.h>
#if PLATFORM(QT)
class QPainter;
@@ -36,6 +37,16 @@ class QPainter;
typedef struct _cairo cairo_t;
#endif
+namespace CoreIPC {
+ class ArgumentDecoder;
+ class Connection;
+ class MessageID;
+}
+
+namespace WebCore {
+ class IntRect;
+}
+
namespace WebKit {
class LayerTreeContext;
@@ -56,16 +67,15 @@ class DrawingAreaProxy {
WTF_MAKE_NONCOPYABLE(DrawingAreaProxy);
public:
- static DrawingAreaInfo::Identifier nextIdentifier();
-
virtual ~DrawingAreaProxy();
+ DrawingAreaType type() const { return m_type; }
+
#if PLATFORM(MAC) || PLATFORM(WIN)
void didReceiveDrawingAreaProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
#endif
virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) = 0;
- virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*) { ASSERT_NOT_REACHED(); }
// Returns true if painting was successful, false otherwise.
virtual bool paint(const WebCore::IntRect&, PlatformDrawingContext) = 0;
@@ -76,21 +86,14 @@ public:
virtual void visibilityDidChange() { }
virtual void setPageIsVisible(bool isVisible) = 0;
-
-#if USE(ACCELERATED_COMPOSITING)
- virtual void attachCompositingContext(uint32_t contextID) = 0;
- virtual void detachCompositingContext() = 0;
-#endif
-
- const DrawingAreaInfo& info() const { return m_info; }
const WebCore::IntSize& size() const { return m_size; }
void setSize(const WebCore::IntSize&, const WebCore::IntSize& scrollOffset);
protected:
- explicit DrawingAreaProxy(DrawingAreaInfo::Type, WebPageProxy*);
+ explicit DrawingAreaProxy(DrawingAreaType, WebPageProxy*);
- DrawingAreaInfo m_info;
+ DrawingAreaType m_type;
WebPageProxy* m_webPageProxy;
WebCore::IntSize m_size;
@@ -99,11 +102,11 @@ protected:
private:
// CoreIPC message handlers.
// FIXME: These should be pure virtual.
- virtual void update(uint64_t sequenceNumber, const UpdateInfo&) { }
- virtual void didSetSize(uint64_t sequenceNumber, const UpdateInfo&, const LayerTreeContext&) { }
+ virtual void update(uint64_t backingStoreStateID, const UpdateInfo&) { }
+ virtual void didUpdateBackingStoreState(uint64_t backingStoreStateID, const UpdateInfo&, const LayerTreeContext&) { }
#if USE(ACCELERATED_COMPOSITING)
- virtual void enterAcceleratedCompositingMode(uint64_t sequenceNumber, const LayerTreeContext&) { }
- virtual void exitAcceleratedCompositingMode(uint64_t sequenceNumber, const UpdateInfo&) { }
+ virtual void enterAcceleratedCompositingMode(uint64_t backingStoreStateID, const LayerTreeContext&) { }
+ virtual void exitAcceleratedCompositingMode(uint64_t backingStoreStateID, const UpdateInfo&) { }
#endif
};
diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxy.messages.in b/Source/WebKit2/UIProcess/DrawingAreaProxy.messages.in
index a2b5e26..217feaf 100644
--- a/Source/WebKit2/UIProcess/DrawingAreaProxy.messages.in
+++ b/Source/WebKit2/UIProcess/DrawingAreaProxy.messages.in
@@ -21,11 +21,11 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
messages -> DrawingAreaProxy {
- Update(uint64_t sequenceNumber, WebKit::UpdateInfo updateInfo)
- DidSetSize(uint64_t sequenceNumber, WebKit::UpdateInfo updateInfo, WebKit::LayerTreeContext context)
+ Update(uint64_t stateID, WebKit::UpdateInfo updateInfo)
+ DidUpdateBackingStoreState(uint64_t backingStoreStateID, WebKit::UpdateInfo updateInfo, WebKit::LayerTreeContext context)
#if USE(ACCELERATED_COMPOSITING)
- EnterAcceleratedCompositingMode(uint64_t sequenceNumber, WebKit::LayerTreeContext context)
- ExitAcceleratedCompositingMode(uint64_t sequenceNumber, WebKit::UpdateInfo updateInfo)
+ EnterAcceleratedCompositingMode(uint64_t backingStoreStateID, WebKit::LayerTreeContext context)
+ ExitAcceleratedCompositingMode(uint64_t backingStoreStateID, WebKit::UpdateInfo updateInfo)
#endif
}
diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp
index 6a65841..4cf4d2e 100644
--- a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp
+++ b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp
@@ -48,9 +48,11 @@ PassOwnPtr<DrawingAreaProxyImpl> DrawingAreaProxyImpl::create(WebPageProxy* webP
}
DrawingAreaProxyImpl::DrawingAreaProxyImpl(WebPageProxy* webPageProxy)
- : DrawingAreaProxy(DrawingAreaInfo::Impl, webPageProxy)
- , m_isWaitingForDidSetSize(false)
- , m_lastDidSetSizeSequenceNumber(0)
+ : DrawingAreaProxy(DrawingAreaTypeImpl, webPageProxy)
+ , m_currentBackingStoreStateID(0)
+ , m_nextBackingStoreStateID(0)
+ , m_isWaitingForDidUpdateBackingStoreState(false)
+ , m_discardBackingStoreTimer(RunLoop::current(), this, &DrawingAreaProxyImpl::discardBackingStore)
{
}
@@ -65,23 +67,39 @@ void DrawingAreaProxyImpl::paint(BackingStore::PlatformGraphicsContext context,
{
unpaintedRegion = rect;
- if (!m_backingStore)
+ if (isInAcceleratedCompositingMode())
return;
- ASSERT(!isInAcceleratedCompositingMode());
+ ASSERT(m_currentBackingStoreStateID <= m_nextBackingStoreStateID);
+ if (m_currentBackingStoreStateID < m_nextBackingStoreStateID) {
+ // Tell the web process to do a full backing store update now, in case we previously told
+ // it about our next state but didn't request an immediate update.
+ sendUpdateBackingStoreState(RespondImmediately);
- if (m_isWaitingForDidSetSize) {
- // Wait for a DidSetSize message that contains the new bits before we paint
- // what's currently in the backing store.
- waitForAndDispatchDidSetSize();
+ if (m_isWaitingForDidUpdateBackingStoreState) {
+ // Wait for a DidUpdateBackingStoreState message that contains the new bits before we paint
+ // what's currently in the backing store.
+ waitForAndDispatchDidUpdateBackingStoreState();
+ }
- // Dispatching DidSetSize could destroy our backing store or change the compositing mode.
+ // Dispatching DidUpdateBackingStoreState (either beneath sendUpdateBackingStoreState or
+ // beneath waitForAndDispatchDidUpdateBackingStoreState) could destroy our backing store or
+ // change the compositing mode.
if (!m_backingStore || isInAcceleratedCompositingMode())
return;
+ } else {
+ ASSERT(!m_isWaitingForDidUpdateBackingStoreState);
+ if (!m_backingStore) {
+ // The view has asked us to paint before the web process has painted anything. There's
+ // nothing we can do.
+ return;
+ }
}
m_backingStore->paint(context, rect);
unpaintedRegion.subtract(IntRect(IntPoint(), m_backingStore->size()));
+
+ discardBackingStoreSoon();
}
void DrawingAreaProxyImpl::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*)
@@ -102,7 +120,7 @@ bool DrawingAreaProxyImpl::paint(const WebCore::IntRect&, PlatformDrawingContext
void DrawingAreaProxyImpl::sizeDidChange()
{
- sendSetSize();
+ backingStoreStateDidChange(RespondImmediately);
}
void DrawingAreaProxyImpl::visibilityDidChange()
@@ -121,19 +139,10 @@ void DrawingAreaProxyImpl::setPageIsVisible(bool)
{
}
-void DrawingAreaProxyImpl::attachCompositingContext(uint32_t contextID)
-{
- ASSERT_NOT_REACHED();
-}
-
-void DrawingAreaProxyImpl::detachCompositingContext()
-{
- ASSERT_NOT_REACHED();
-}
-
-void DrawingAreaProxyImpl::update(uint64_t sequenceNumber, const UpdateInfo& updateInfo)
+void DrawingAreaProxyImpl::update(uint64_t backingStoreStateID, const UpdateInfo& updateInfo)
{
- if (sequenceNumber < m_lastDidSetSizeSequenceNumber)
+ ASSERT_ARG(backingStoreStateID, backingStoreStateID <= m_currentBackingStoreStateID);
+ if (backingStoreStateID < m_currentBackingStoreStateID)
return;
// FIXME: Handle the case where the view is hidden.
@@ -142,16 +151,16 @@ void DrawingAreaProxyImpl::update(uint64_t sequenceNumber, const UpdateInfo& upd
m_webPageProxy->process()->send(Messages::DrawingArea::DidUpdate(), m_webPageProxy->pageID());
}
-void DrawingAreaProxyImpl::didSetSize(uint64_t sequenceNumber, const UpdateInfo& updateInfo, const LayerTreeContext& layerTreeContext)
+void DrawingAreaProxyImpl::didUpdateBackingStoreState(uint64_t backingStoreStateID, const UpdateInfo& updateInfo, const LayerTreeContext& layerTreeContext)
{
- ASSERT(sequenceNumber > m_lastDidSetSizeSequenceNumber);
- m_lastDidSetSizeSequenceNumber = sequenceNumber;
+ ASSERT_ARG(backingStoreStateID, backingStoreStateID <= m_nextBackingStoreStateID);
+ ASSERT_ARG(backingStoreStateID, backingStoreStateID > m_currentBackingStoreStateID);
+ m_currentBackingStoreStateID = backingStoreStateID;
- ASSERT(m_isWaitingForDidSetSize);
- m_isWaitingForDidSetSize = false;
+ m_isWaitingForDidUpdateBackingStoreState = false;
- if (m_size != updateInfo.viewSize)
- sendSetSize();
+ if (m_nextBackingStoreStateID != m_currentBackingStoreStateID)
+ sendUpdateBackingStoreState(RespondImmediately);
if (layerTreeContext != m_layerTreeContext) {
if (!m_layerTreeContext.isEmpty()) {
@@ -170,21 +179,25 @@ void DrawingAreaProxyImpl::didSetSize(uint64_t sequenceNumber, const UpdateInfo&
return;
}
+ // FIXME: We could just reuse our existing backing store if it's the same size as
+ // updateInfo.viewSize.
m_backingStore = nullptr;
incorporateUpdate(updateInfo);
}
-void DrawingAreaProxyImpl::enterAcceleratedCompositingMode(uint64_t sequenceNumber, const LayerTreeContext& layerTreeContext)
+void DrawingAreaProxyImpl::enterAcceleratedCompositingMode(uint64_t backingStoreStateID, const LayerTreeContext& layerTreeContext)
{
- if (sequenceNumber < m_lastDidSetSizeSequenceNumber)
+ ASSERT_ARG(backingStoreStateID, backingStoreStateID <= m_currentBackingStoreStateID);
+ if (backingStoreStateID < m_currentBackingStoreStateID)
return;
enterAcceleratedCompositingMode(layerTreeContext);
}
-void DrawingAreaProxyImpl::exitAcceleratedCompositingMode(uint64_t sequenceNumber, const UpdateInfo& updateInfo)
+void DrawingAreaProxyImpl::exitAcceleratedCompositingMode(uint64_t backingStoreStateID, const UpdateInfo& updateInfo)
{
- if (sequenceNumber < m_lastDidSetSizeSequenceNumber)
+ ASSERT_ARG(backingStoreStateID, backingStoreStateID <= m_currentBackingStoreStateID);
+ if (backingStoreStateID < m_currentBackingStoreStateID)
return;
exitAcceleratedCompositingMode();
@@ -208,45 +221,61 @@ void DrawingAreaProxyImpl::incorporateUpdate(const UpdateInfo& updateInfo)
if (shouldScroll)
m_webPageProxy->scrollView(updateInfo.scrollRect, updateInfo.scrollOffset);
-
+
for (size_t i = 0; i < updateInfo.updateRects.size(); ++i)
m_webPageProxy->setViewNeedsDisplay(updateInfo.updateRects[i]);
+ if (WebPageProxy::debugPaintFlags() & kWKDebugFlashBackingStoreUpdates)
+ m_webPageProxy->flashBackingStoreUpdates(updateInfo.updateRects);
+
if (shouldScroll)
m_webPageProxy->displayView();
}
-void DrawingAreaProxyImpl::sendSetSize()
+void DrawingAreaProxyImpl::backingStoreStateDidChange(RespondImmediatelyOrNot respondImmediatelyOrNot)
+{
+ ++m_nextBackingStoreStateID;
+ sendUpdateBackingStoreState(respondImmediatelyOrNot);
+}
+
+void DrawingAreaProxyImpl::sendUpdateBackingStoreState(RespondImmediatelyOrNot respondImmediatelyOrNot)
{
+ ASSERT(m_currentBackingStoreStateID < m_nextBackingStoreStateID);
+
if (!m_webPageProxy->isValid())
return;
- if (m_isWaitingForDidSetSize)
+ if (m_isWaitingForDidUpdateBackingStoreState)
return;
- m_isWaitingForDidSetSize = true;
- m_webPageProxy->process()->send(Messages::DrawingArea::SetSize(m_size, m_scrollOffset), m_webPageProxy->pageID());
+ m_isWaitingForDidUpdateBackingStoreState = respondImmediatelyOrNot == RespondImmediately;
+ m_webPageProxy->process()->send(Messages::DrawingArea::UpdateBackingStoreState(m_nextBackingStoreStateID, respondImmediatelyOrNot == RespondImmediately, m_size, m_scrollOffset), m_webPageProxy->pageID());
m_scrollOffset = IntSize();
- if (!m_layerTreeContext.isEmpty()) {
- // Wait for the DidSetSize message. Normally we don this in DrawingAreaProxyImpl::paint, but that
+ if (m_isWaitingForDidUpdateBackingStoreState && !m_layerTreeContext.isEmpty()) {
+ // Wait for the DidUpdateBackingStoreState message. Normally we don this in DrawingAreaProxyImpl::paint, but that
// function is never called when in accelerated compositing mode.
- waitForAndDispatchDidSetSize();
+ waitForAndDispatchDidUpdateBackingStoreState();
}
}
-void DrawingAreaProxyImpl::waitForAndDispatchDidSetSize()
+void DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState()
{
- ASSERT(m_isWaitingForDidSetSize);
+ ASSERT(m_isWaitingForDidUpdateBackingStoreState);
if (!m_webPageProxy->isValid())
return;
if (m_webPageProxy->process()->isLaunching())
return;
- // The timeout, in seconds, we use when waiting for a DidSetSize message when we're asked to paint.
- static const double didSetSizeTimeout = 0.5;
- m_webPageProxy->process()->connection()->waitForAndDispatchImmediately<Messages::DrawingAreaProxy::DidSetSize>(m_webPageProxy->pageID(), didSetSizeTimeout);
+ // FIXME: waitForAndDispatchImmediately will always return the oldest DidUpdateBackingStoreState message that
+ // hasn't yet been processed. But it might be better to skip ahead to some other DidUpdateBackingStoreState
+ // message, if multiple DidUpdateBackingStoreState messages are waiting to be processed. For instance, we could
+ // choose the most recent one, or the one that is closest to our current size.
+
+ // The timeout, in seconds, we use when waiting for a DidUpdateBackingStoreState message when we're asked to paint.
+ static const double didUpdateBackingStoreStateTimeout = 0.5;
+ m_webPageProxy->process()->connection()->waitForAndDispatchImmediately<Messages::DrawingAreaProxy::DidUpdateBackingStoreState>(m_webPageProxy->pageID(), didUpdateBackingStoreStateTimeout);
}
void DrawingAreaProxyImpl::enterAcceleratedCompositingMode(const LayerTreeContext& layerTreeContext)
@@ -266,4 +295,19 @@ void DrawingAreaProxyImpl::exitAcceleratedCompositingMode()
m_webPageProxy->exitAcceleratedCompositingMode();
}
+void DrawingAreaProxyImpl::discardBackingStoreSoon()
+{
+ // We'll wait this many seconds after the last paint before throwing away our backing store to save memory.
+ // FIXME: It would be smarter to make this delay based on how expensive painting is. See <http://webkit.org/b/55733>.
+ static const double discardBackingStoreDelay = 5;
+
+ m_discardBackingStoreTimer.startOneShot(discardBackingStoreDelay);
+}
+
+void DrawingAreaProxyImpl::discardBackingStore()
+{
+ m_backingStore = nullptr;
+ backingStoreStateDidChange(DoNotRespondImmediately);
+}
+
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h
index f776b09..17c7512 100644
--- a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h
+++ b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h
@@ -29,6 +29,9 @@
#include "BackingStore.h"
#include "DrawingAreaProxy.h"
#include "LayerTreeContext.h"
+#include "RunLoop.h"
+#include <wtf/OwnPtr.h>
+#include <wtf/PassOwnPtr.h>
namespace WebKit {
@@ -51,35 +54,47 @@ private:
virtual void sizeDidChange();
virtual void visibilityDidChange();
virtual void setPageIsVisible(bool);
- virtual void attachCompositingContext(uint32_t contextID);
- virtual void detachCompositingContext();
// CoreIPC message handlers
- virtual void update(uint64_t sequenceNumber, const UpdateInfo&);
- virtual void didSetSize(uint64_t sequenceNumber, const UpdateInfo&, const LayerTreeContext&);
- virtual void enterAcceleratedCompositingMode(uint64_t sequenceNumber, const LayerTreeContext&);
- virtual void exitAcceleratedCompositingMode(uint64_t sequenceNumber, const UpdateInfo&);
+ virtual void update(uint64_t backingStoreStateID, const UpdateInfo&);
+ virtual void didUpdateBackingStoreState(uint64_t backingStoreStateID, const UpdateInfo&, const LayerTreeContext&);
+ virtual void enterAcceleratedCompositingMode(uint64_t backingStoreStateID, const LayerTreeContext&);
+ virtual void exitAcceleratedCompositingMode(uint64_t backingStoreStateID, const UpdateInfo&);
void incorporateUpdate(const UpdateInfo&);
- void sendSetSize();
- void waitForAndDispatchDidSetSize();
+
+ enum RespondImmediatelyOrNot { DoNotRespondImmediately, RespondImmediately };
+ void backingStoreStateDidChange(RespondImmediatelyOrNot);
+ void sendUpdateBackingStoreState(RespondImmediatelyOrNot);
+ void waitForAndDispatchDidUpdateBackingStoreState();
void enterAcceleratedCompositingMode(const LayerTreeContext&);
void exitAcceleratedCompositingMode();
bool isInAcceleratedCompositingMode() const { return !m_layerTreeContext.isEmpty(); }
+ void discardBackingStoreSoon();
+ void discardBackingStore();
+
+ // The state ID corresponding to our current backing store. Updated whenever we allocate
+ // a new backing store. Any messages received that correspond to an earlier state are ignored,
+ // as they don't apply to our current backing store.
+ uint64_t m_currentBackingStoreStateID;
+
+ // The next backing store state ID we will request the web process update to. Incremented
+ // whenever our state changes in a way that will require a new backing store to be allocated.
+ uint64_t m_nextBackingStoreStateID;
+
// The current layer tree context.
LayerTreeContext m_layerTreeContext;
- // Whether we've sent a SetSize message and are now waiting for a DidSetSize message.
- // Used to throttle SetSize messages so we don't send them faster than the Web process can handle.
- bool m_isWaitingForDidSetSize;
-
- // The sequence number of the last DidSetSize message
- uint64_t m_lastDidSetSizeSequenceNumber;
+ // Whether we've sent a UpdateBackingStoreState message and are now waiting for a DidUpdateBackingStoreState message.
+ // Used to throttle UpdateBackingStoreState messages so we don't send them faster than the Web process can handle.
+ bool m_isWaitingForDidUpdateBackingStoreState;
OwnPtr<BackingStore> m_backingStore;
+
+ RunLoop::Timer<DrawingAreaProxyImpl> m_discardBackingStoreTimer;
};
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/GenericCallback.h b/Source/WebKit2/UIProcess/GenericCallback.h
index c34414a..b0d7b9b 100644
--- a/Source/WebKit2/UIProcess/GenericCallback.h
+++ b/Source/WebKit2/UIProcess/GenericCallback.h
@@ -35,7 +35,35 @@
namespace WebKit {
-class VoidCallback : public RefCounted<VoidCallback> {
+class CallbackBase : public RefCounted<CallbackBase> {
+public:
+ virtual ~CallbackBase()
+ {
+ }
+
+ uint64_t callbackID() const { return m_callbackID; }
+
+protected:
+ CallbackBase(void* context)
+ : m_context(context)
+ , m_callbackID(generateCallbackID())
+ {
+ }
+
+ void* context() const { return m_context; }
+
+private:
+ static uint64_t generateCallbackID()
+ {
+ static uint64_t uniqueCallbackID = 1;
+ return uniqueCallbackID++;
+ }
+
+ void* m_context;
+ uint64_t m_callbackID;
+};
+
+class VoidCallback : public CallbackBase {
public:
typedef void (*CallbackFunction)(WKErrorRef, void*);
@@ -44,7 +72,7 @@ public:
return adoptRef(new VoidCallback(context, callback));
}
- VoidCallback()
+ virtual ~VoidCallback()
{
ASSERT(!m_callback);
}
@@ -53,7 +81,7 @@ public:
{
ASSERT(m_callback);
- m_callback(0, m_context);
+ m_callback(0, context());
m_callback = 0;
}
@@ -63,52 +91,41 @@ public:
ASSERT(m_callback);
RefPtr<WebError> error = WebError::create();
- m_callback(toAPI(error.get()), m_context);
+ m_callback(toAPI(error.get()), context());
m_callback = 0;
}
- uint64_t callbackID() const { return m_callbackID; }
-
private:
- static uint64_t generateCallbackID()
- {
- static uint64_t uniqueCallbackID = 1;
- return uniqueCallbackID++;
- }
-
VoidCallback(void* context, CallbackFunction callback)
- : m_context(context)
+ : CallbackBase(context)
, m_callback(callback)
- , m_callbackID(generateCallbackID())
{
}
- void* m_context;
CallbackFunction m_callback;
- uint64_t m_callbackID;
};
-// FIXME: Make a version of GenericCallback with two arguments, and define ComputedPagesCallback as a specialization.
-class ComputedPagesCallback : public RefCounted<ComputedPagesCallback> {
+template<typename APIReturnValueType, typename InternalReturnValueType = typename APITypeInfo<APIReturnValueType>::ImplType>
+class GenericCallback : public CallbackBase {
public:
- typedef void (*CallbackFunction)(const Vector<WebCore::IntRect>&, double, WKErrorRef, void*);
+ typedef void (*CallbackFunction)(APIReturnValueType, WKErrorRef, void*);
- static PassRefPtr<ComputedPagesCallback> create(void* context, CallbackFunction callback)
+ static PassRefPtr<GenericCallback> create(void* context, CallbackFunction callback)
{
- return adoptRef(new ComputedPagesCallback(context, callback));
+ return adoptRef(new GenericCallback(context, callback));
}
- ~ComputedPagesCallback()
+ virtual ~GenericCallback()
{
ASSERT(!m_callback);
}
- void performCallbackWithReturnValue(const Vector<WebCore::IntRect>& returnValue1, double returnValue2)
+ void performCallbackWithReturnValue(InternalReturnValueType returnValue)
{
ASSERT(m_callback);
- m_callback(returnValue1, returnValue2, 0, m_context);
+ m_callback(toAPI(returnValue), 0, context());
m_callback = 0;
}
@@ -118,52 +135,41 @@ public:
ASSERT(m_callback);
RefPtr<WebError> error = WebError::create();
- m_callback(Vector<WebCore::IntRect>(), 0, toAPI(error.get()), m_context);
+ m_callback(0, toAPI(error.get()), context());
m_callback = 0;
}
- uint64_t callbackID() const { return m_callbackID; }
-
private:
- static uint64_t generateCallbackID()
- {
- static uint64_t uniqueCallbackID = 1;
- return uniqueCallbackID++;
- }
-
- ComputedPagesCallback(void* context, CallbackFunction callback)
- : m_context(context)
+ GenericCallback(void* context, CallbackFunction callback)
+ : CallbackBase(context)
, m_callback(callback)
- , m_callbackID(generateCallbackID())
{
}
- void* m_context;
CallbackFunction m_callback;
- uint64_t m_callbackID;
};
-template<typename APIReturnValueType, typename InternalReturnValueType = typename APITypeInfo<APIReturnValueType>::ImplType>
-class GenericCallback : public RefCounted<GenericCallback<APIReturnValueType, InternalReturnValueType> > {
+// FIXME: Make a version of CallbackBase with two arguments, and define ComputedPagesCallback as a specialization.
+class ComputedPagesCallback : public CallbackBase {
public:
- typedef void (*CallbackFunction)(APIReturnValueType, WKErrorRef, void*);
+ typedef void (*CallbackFunction)(const Vector<WebCore::IntRect>&, double, WKErrorRef, void*);
- static PassRefPtr<GenericCallback> create(void* context, CallbackFunction callback)
+ static PassRefPtr<ComputedPagesCallback> create(void* context, CallbackFunction callback)
{
- return adoptRef(new GenericCallback(context, callback));
+ return adoptRef(new ComputedPagesCallback(context, callback));
}
- ~GenericCallback()
+ virtual ~ComputedPagesCallback()
{
ASSERT(!m_callback);
}
- void performCallbackWithReturnValue(InternalReturnValueType returnValue)
+ void performCallbackWithReturnValue(const Vector<WebCore::IntRect>& returnValue1, double returnValue2)
{
ASSERT(m_callback);
- m_callback(toAPI(returnValue), 0, m_context);
+ m_callback(returnValue1, returnValue2, 0, context());
m_callback = 0;
}
@@ -173,30 +179,20 @@ public:
ASSERT(m_callback);
RefPtr<WebError> error = WebError::create();
- m_callback(0, toAPI(error.get()), m_context);
+ m_callback(Vector<WebCore::IntRect>(), 0, toAPI(error.get()), context());
m_callback = 0;
}
- uint64_t callbackID() const { return m_callbackID; }
-
private:
- static uint64_t generateCallbackID()
- {
- static uint64_t uniqueCallbackID = 1;
- return uniqueCallbackID++;
- }
- GenericCallback(void* context, CallbackFunction callback)
- : m_context(context)
+ ComputedPagesCallback(void* context, CallbackFunction callback)
+ : CallbackBase(context)
, m_callback(callback)
- , m_callbackID(generateCallbackID())
{
}
- void* m_context;
CallbackFunction m_callback;
- uint64_t m_callbackID;
};
template<typename T>
diff --git a/Source/WebKit2/UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp b/Source/WebKit2/UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp
index b5fda40..84f72b5 100644
--- a/Source/WebKit2/UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp
+++ b/Source/WebKit2/UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp
@@ -27,7 +27,7 @@
#include "config.h"
#include "ThreadLauncher.h"
-#include "NotImplemented.h"
+#include <WebCore/NotImplemented.h>
namespace WebKit {
diff --git a/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm b/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm
index 92f5ad3..af758d9 100644
--- a/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm
+++ b/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm
@@ -77,7 +77,9 @@ public:
~EnvironmentVariables()
{
- deleteAllValues(m_allocatedStrings);
+ size_t size = m_allocatedStrings.size();
+ for (size_t i = 0; i < size; ++i)
+ fastFree(m_allocatedStrings[i]);
}
void set(const char* name, const char* value)
@@ -87,30 +89,28 @@ public:
copyEnvironmentVariables();
// Allocate a string for the name and value.
- char* nameAndValue = createStringForVariable(name, value);
+ const char* nameAndValue = createStringForVariable(name, value);
for (size_t i = 0; i < m_environmentVariables.size() - 1; ++i) {
- char* environmentVariable = m_environmentVariables[i];
-
- if (valueIfVariableHasName(environmentVariable, name)) {
+ if (valueIfVariableHasName(m_environmentVariables[i], name)) {
// Just replace the environment variable.
- m_environmentVariables[i] = nameAndValue;
+ m_environmentVariables[i] = const_cast<char*>(nameAndValue);
return;
}
}
// Append the new string.
ASSERT(!m_environmentVariables.last());
- m_environmentVariables.last() = nameAndValue;
+ m_environmentVariables.last() = const_cast<char*>(nameAndValue);
m_environmentVariables.append(static_cast<char*>(0));
m_environmentPointer = m_environmentVariables.data();
}
- char* get(const char* name) const
+ const char* get(const char* name) const
{
for (size_t i = 0; m_environmentPointer[i]; ++i) {
- if (char* value = valueIfVariableHasName(m_environmentPointer[i], name))
+ if (const char* value = valueIfVariableHasName(m_environmentPointer[i], name))
return value;
}
return 0;
@@ -119,7 +119,7 @@ public:
// Will append the value with the given separator if the environment variable already exists.
void appendValue(const char* name, const char* value, char separator)
{
- char* existingValue = get(name);
+ const char* existingValue = get(name);
if (!existingValue) {
set(name, value);
return;
@@ -136,20 +136,22 @@ public:
char** environmentPointer() const { return m_environmentPointer; }
private:
- char *valueIfVariableHasName(const char* environmentVariable, const char* name) const
+ const char* valueIfVariableHasName(const char* environmentVariable, const char* name) const
{
// Find the environment variable name.
- char* equalsLocation = strchr(environmentVariable, '=');
+ const char* equalsLocation = strchr(environmentVariable, '=');
ASSERT(equalsLocation);
size_t nameLength = equalsLocation - environmentVariable;
- if (strncmp(environmentVariable, name, nameLength))
+ if (strlen(name) != nameLength)
+ return 0;
+ if (memcmp(environmentVariable, name, nameLength))
return 0;
return equalsLocation + 1;
}
- char* createStringForVariable(const char* name, const char* value)
+ const char* createStringForVariable(const char* name, const char* value)
{
int nameLength = strlen(name);
int valueLength = strlen(value);
@@ -173,6 +175,9 @@ private:
// Null-terminate the array.
m_environmentVariables.append(static_cast<char*>(0));
+
+ // Update the environment pointer.
+ m_environmentPointer = m_environmentVariables.data();
}
char** m_environmentPointer;
@@ -192,16 +197,19 @@ void ProcessLauncher::launchProcess()
mach_port_insert_right(mach_task_self(), listeningPort, listeningPort, MACH_MSG_TYPE_MAKE_SEND);
NSBundle *webKit2Bundle = [NSBundle bundleWithIdentifier:@"com.apple.WebKit2"];
- const char* bundlePath = [[webKit2Bundle executablePath] fileSystemRepresentation];
+ NSString *frameworksPath = [[webKit2Bundle bundlePath] stringByDeletingLastPathComponent];
+ const char* frameworkExecutablePath = [[webKit2Bundle executablePath] fileSystemRepresentation];
NSString *webProcessAppPath = [webKit2Bundle pathForAuxiliaryExecutable:@"WebProcess.app"];
NSString *webProcessAppExecutablePath = [[NSBundle bundleWithPath:webProcessAppPath] executablePath];
+ RetainPtr<CFStringRef> cfLocalization(AdoptCF, WKCopyCFLocalizationPreferredName(NULL));
+ CString localization = String(cfLocalization.get()).utf8();
+
// Make a unique, per pid, per process launcher web process service name.
CString serviceName = String::format("com.apple.WebKit.WebProcess-%d-%p", getpid(), this).utf8();
- const char* path = [webProcessAppExecutablePath fileSystemRepresentation];
- const char* args[] = { path, bundlePath, "-type", processTypeAsString(m_launchOptions.processType), "-servicename", serviceName.data(), 0 };
+ const char* args[] = { [webProcessAppExecutablePath fileSystemRepresentation], frameworkExecutablePath, "-type", processTypeAsString(m_launchOptions.processType), "-servicename", serviceName.data(), "-localization", localization.data(), 0 };
// Register ourselves.
kern_return_t kr = bootstrap_register2(bootstrap_port, const_cast<char*>(serviceName.data()), listeningPort, 0);
@@ -243,10 +251,16 @@ void ProcessLauncher::launchProcess()
EnvironmentVariables environmentVariables;
+ // To make engineering builds work, if the path is outside of /System set up
+ // DYLD_FRAMEWORK_PATH to pick up other frameworks, but don't do it for the
+ // production configuration because it involves extra file system access.
+ if (![frameworksPath hasPrefix:@"/System/"])
+ environmentVariables.appendValue("DYLD_FRAMEWORK_PATH", [frameworksPath fileSystemRepresentation], ':');
+
if (m_launchOptions.processType == ProcessLauncher::PluginProcess) {
// We need to insert the plug-in process shim.
NSString *pluginProcessShimPathNSString = [[webProcessAppExecutablePath stringByDeletingLastPathComponent] stringByAppendingPathComponent:@"PluginProcessShim.dylib"];
- const char *pluginProcessShimPath = [pluginProcessShimPathNSString fileSystemRepresentation];
+ const char* pluginProcessShimPath = [pluginProcessShimPathNSString fileSystemRepresentation];
// Make sure that the file exists.
struct stat statBuf;
@@ -254,7 +268,7 @@ void ProcessLauncher::launchProcess()
environmentVariables.appendValue("DYLD_INSERT_LIBRARIES", pluginProcessShimPath, ':');
}
- int result = posix_spawn(&processIdentifier, path, 0, &attr, (char *const*)args, environmentVariables.environmentPointer());
+ int result = posix_spawn(&processIdentifier, args[0], 0, &attr, const_cast<char**>(args), environmentVariables.environmentPointer());
posix_spawnattr_destroy(&attr);
diff --git a/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp b/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp
index 85c3651..1e7e14a 100644
--- a/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp
+++ b/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp
@@ -28,7 +28,6 @@
#include "ProcessLauncher.h"
#include "Connection.h"
-#include "NotImplemented.h"
#include "RunLoop.h"
#include "WebProcess.h"
#include <QApplication>
@@ -39,6 +38,7 @@
#include <QProcess>
#include <QString>
#include <QtCore/qglobal.h>
+#include <WebCore/NotImplemented.h>
#include <errno.h>
#include <fcntl.h>
#include <runtime/InitializeThreading.h>
diff --git a/Source/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.cpp b/Source/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.cpp
deleted file mode 100644
index fbbff43..0000000
--- a/Source/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.cpp
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (C) 2010 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 "LayerBackedDrawingAreaProxy.h"
-
-#if USE(ACCELERATED_COMPOSITING)
-
-#include "DrawingAreaMessageKinds.h"
-#include "DrawingAreaProxyMessageKinds.h"
-#include "MessageID.h"
-#include "WebCoreArgumentCoders.h"
-#include "WebPageProxy.h"
-#include "WebProcessProxy.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-PassOwnPtr<LayerBackedDrawingAreaProxy> LayerBackedDrawingAreaProxy::create(PlatformWebView* webView, WebPageProxy* webPageProxy)
-{
- return adoptPtr(new LayerBackedDrawingAreaProxy(webView, webPageProxy));
-}
-
-LayerBackedDrawingAreaProxy::LayerBackedDrawingAreaProxy(PlatformWebView* webView, WebPageProxy* webPageProxy)
- : DrawingAreaProxy(DrawingAreaInfo::LayerBacked, webPageProxy)
- , m_isWaitingForDidSetFrameNotification(false)
- , m_isVisible(true)
- , m_webView(webView)
-{
-}
-
-LayerBackedDrawingAreaProxy::~LayerBackedDrawingAreaProxy()
-{
-}
-
-#if !PLATFORM(WIN) && !PLATFORM(MAC)
-bool LayerBackedDrawingAreaProxy::paint(const IntRect& rect, PlatformDrawingContext context)
-{
- return true;
-}
-#endif
-
-void LayerBackedDrawingAreaProxy::sizeDidChange()
-{
- WebPageProxy* page = this->page();
- if (!page->isValid())
- return;
-
- if (m_size.isEmpty())
- return;
-
- m_lastSetViewSize = m_size;
-
- platformSetSize();
-
- if (m_isWaitingForDidSetFrameNotification)
- return;
-
- m_isWaitingForDidSetFrameNotification = true;
-
- page->process()->deprecatedSend(DrawingAreaLegacyMessage::SetSize, page->pageID(), CoreIPC::In(info().identifier, m_size));
-}
-
-#if !PLATFORM(MAC) && !PLATFORM(WIN)
-void LayerBackedDrawingAreaProxy::platformSetSize()
-{
-}
-#endif
-
-void LayerBackedDrawingAreaProxy::setPageIsVisible(bool isVisible)
-{
- WebPageProxy* page = this->page();
-
- if (isVisible == m_isVisible)
- return;
-
- m_isVisible = isVisible;
- if (!page->isValid())
- return;
-
- if (!m_isVisible) {
- // Tell the web process that it doesn't need to paint anything for now.
- page->process()->deprecatedSend(DrawingAreaLegacyMessage::SuspendPainting, page->pageID(), CoreIPC::In(info().identifier));
- return;
- }
-
- // The page is now visible.
- page->process()->deprecatedSend(DrawingAreaLegacyMessage::ResumePainting, page->pageID(), CoreIPC::In(info().identifier));
-
- // FIXME: We should request a full repaint here if needed.
-}
-
-void LayerBackedDrawingAreaProxy::didSetSize(const IntSize& size)
-{
- m_isWaitingForDidSetFrameNotification = false;
-
- if (size != m_lastSetViewSize)
- setSize(m_lastSetViewSize, IntSize());
-}
-
-void LayerBackedDrawingAreaProxy::update()
-{
- WebPageProxy* page = this->page();
- page->process()->deprecatedSend(DrawingAreaLegacyMessage::DidUpdate, page->pageID(), CoreIPC::In(info().identifier));
-}
-
-void LayerBackedDrawingAreaProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
-{
- switch (messageID.get<DrawingAreaProxyLegacyMessage::Kind>()) {
- case DrawingAreaProxyLegacyMessage::Update: {
- update();
- break;
- }
- case DrawingAreaProxyLegacyMessage::DidSetSize: {
- IntSize size;
- if (!arguments->decode(CoreIPC::Out(size)))
- return;
- didSetSize(size);
- break;
- }
- default:
- ASSERT_NOT_REACHED();
- }
-}
-
-void LayerBackedDrawingAreaProxy::didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, CoreIPC::ArgumentEncoder*)
-{
- switch (messageID.get<DrawingAreaProxyLegacyMessage::Kind>()) {
-#if USE(ACCELERATED_COMPOSITING)
- case DrawingAreaProxyLegacyMessage::AttachCompositingContext: {
- uint32_t contextID;
- if (!arguments->decode(CoreIPC::Out(contextID)))
- return;
- attachCompositingContext(contextID);
- break;
- }
-#endif
- default:
- ASSERT_NOT_REACHED();
- }
-}
-
-} // namespace WebKit
-
-#endif // USE(ACCELERATED_COMPOSITING)
diff --git a/Source/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.h b/Source/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.h
deleted file mode 100644
index 31aca5c..0000000
--- a/Source/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (C) 2010 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 LayerBackedDrawingAreaProxy_h
-#define LayerBackedDrawingAreaProxy_h
-
-#if USE(ACCELERATED_COMPOSITING)
-
-#include "DrawingAreaProxy.h"
-#include <WebCore/IntSize.h>
-
-#if PLATFORM(MAC)
-#include <wtf/RetainPtr.h>
-
-OBJC_CLASS CALayer;
-OBJC_CLASS WKView;
-#endif
-
-namespace WebKit {
-
-class WebPageProxy;
-
-#if PLATFORM(MAC)
-typedef WKView PlatformWebView;
-#elif PLATFORM(WIN)
-class WebView;
-typedef WebView PlatformWebView;
-#endif
-
-class LayerBackedDrawingAreaProxy : public DrawingAreaProxy {
-public:
- static PassOwnPtr<LayerBackedDrawingAreaProxy> create(PlatformWebView*, WebPageProxy*);
- virtual ~LayerBackedDrawingAreaProxy();
-
-private:
- LayerBackedDrawingAreaProxy(PlatformWebView*, WebPageProxy*);
-
- WebPageProxy* page();
-
- // DrawingAreaProxy
- virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
- virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*);
-
- virtual bool paint(const WebCore::IntRect&, PlatformDrawingContext);
- virtual void sizeDidChange();
- virtual void setPageIsVisible(bool isVisible);
-
- virtual void attachCompositingContext(uint32_t contextID);
- virtual void detachCompositingContext();
-
- void didSetSize(const WebCore::IntSize&);
- void update();
-
- void platformSetSize();
-
- bool m_isWaitingForDidSetFrameNotification;
- bool m_isVisible;
-
- WebCore::IntSize m_lastSetViewSize;
-
-#if PLATFORM(MAC)
- RetainPtr<CALayer> m_compositingRootLayer;
-#endif
-
- PlatformWebView* m_webView;
-};
-
-} // namespace WebKit
-
-#endif // USE(ACCELERATED_COMPOSITING)
-
-#endif // LayerBackedDrawingAreaProxy_h
diff --git a/Source/WebKit2/UIProcess/PageClient.h b/Source/WebKit2/UIProcess/PageClient.h
index 4eb1860..59e02ca 100644
--- a/Source/WebKit2/UIProcess/PageClient.h
+++ b/Source/WebKit2/UIProcess/PageClient.h
@@ -97,7 +97,6 @@ public:
virtual void registerEditCommand(PassRefPtr<WebEditCommandProxy>, WebPageProxy::UndoOrRedo) = 0;
virtual void clearAllEditCommands() = 0;
- virtual void setEditCommandState(const String& commandName, bool isEnabled, int state) = 0;
#if PLATFORM(MAC)
virtual void accessibilityWebProcessTokenReceived(const CoreIPC::DataReference&) = 0;
virtual void interceptKeyEvent(const NativeWebKeyboardEvent&, Vector<WebCore::KeypressCommand>& commandName, uint32_t selectionStart, uint32_t selectionEnd, Vector<WebCore::CompositionUnderline>& underlines) = 0;
@@ -119,9 +118,6 @@ public:
#if USE(ACCELERATED_COMPOSITING)
virtual void enterAcceleratedCompositingMode(const LayerTreeContext&) = 0;
virtual void exitAcceleratedCompositingMode() = 0;
-
- virtual void pageDidEnterAcceleratedCompositing() = 0;
- virtual void pageDidLeaveAcceleratedCompositing() = 0;
#endif
#if PLATFORM(WIN)
@@ -131,17 +127,19 @@ public:
#if PLATFORM(MAC)
virtual void setComplexTextInputEnabled(uint64_t pluginComplexTextInputIdentifier, bool complexTextInputEnabled) = 0;
virtual void setAutodisplay(bool) = 0;
-
virtual CGContextRef containingWindowGraphicsContext() = 0;
+ virtual void didPerformDictionaryLookup(const String&, double scaleFactor, const DictionaryPopupInfo&) = 0;
#endif
virtual void didChangeScrollbarsForMainFrame() const = 0;
// Custom representations.
virtual void didCommitLoadForMainFrame(bool useCustomRepresentation) = 0;
- virtual void didFinishLoadingDataForCustomRepresentation(const CoreIPC::DataReference&) = 0;
+ virtual void didFinishLoadingDataForCustomRepresentation(const String& suggestedFilename, const CoreIPC::DataReference&) = 0;
virtual double customRepresentationZoomFactor() = 0;
virtual void setCustomRepresentationZoomFactor(double) = 0;
+
+ virtual void flashBackingStoreUpdates(const Vector<WebCore::IntRect>& updateRects) = 0;
};
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp b/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp
index b3d9183..0787347 100644
--- a/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp
+++ b/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp
@@ -115,6 +115,21 @@ void PluginInfoStore::getPlugins(Vector<PluginInfo>& plugins)
plugins.append(m_plugins[i].info);
}
+void PluginInfoStore::getPluginPaths(Vector<String>& pluginPaths)
+{
+ loadPluginsIfNecessary();
+
+ for (size_t i = 0; i < m_plugins.size(); ++i)
+ pluginPaths.append(m_plugins[i].path);
+}
+
+const Vector<PluginInfoStore::Plugin>& PluginInfoStore::plugins()
+{
+ loadPluginsIfNecessary();
+
+ return m_plugins;
+}
+
PluginInfoStore::Plugin PluginInfoStore::findPluginForMIMEType(const String& mimeType)
{
ASSERT(!mimeType.isNull());
diff --git a/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.h b/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.h
index b342203..fc49d96 100644
--- a/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.h
+++ b/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.h
@@ -41,8 +41,9 @@ public:
void setAdditionalPluginsDirectories(const Vector<String>&);
void refresh();
- void getPlugins(Vector<WebCore::PluginInfo>& plugins);
-
+ void getPlugins(Vector<WebCore::PluginInfo>&);
+ void getPluginPaths(Vector<String>&);
+
// Represents a single plug-in.
struct Plugin {
String path;
@@ -56,6 +57,8 @@ public:
#endif
};
+ const Vector<Plugin>& plugins();
+
// Returns the info for a plug-in that can handle the given MIME type.
// If the MIME type is null, the file extension of the given url will be used to infer the
// plug-in type. In that case, mimeType will be filled in with the right MIME type.
diff --git a/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.cpp b/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.cpp
index bca9689..c0aa8b3 100644
--- a/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.cpp
+++ b/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.cpp
@@ -28,7 +28,6 @@
#if ENABLE(PLUGIN_PROCESS)
-#include "PluginInfoStore.h"
#include "PluginProcessProxy.h"
#include "WebContext.h"
#include <wtf/StdLibExtras.h>
@@ -51,20 +50,7 @@ void PluginProcessManager::getPluginProcessConnection(const String& pluginPath,
ASSERT(!pluginPath.isNull());
PluginInfoStore::Plugin plugin = webProcessProxy->context()->pluginInfoStore()->infoForPluginWithPath(pluginPath);
-
- PluginProcessProxy* pluginProcess = 0;
-
- for (size_t i = 0; i < m_pluginProcesses.size(); ++i) {
- if (m_pluginProcesses[i]->pluginInfo().path == plugin.path) {
- pluginProcess = m_pluginProcesses[i];
- break;
- }
- }
-
- if (!pluginProcess) {
- pluginProcess = PluginProcessProxy::create(this, plugin).leakPtr();
- m_pluginProcesses.append(pluginProcess);
- }
+ PluginProcessProxy* pluginProcess = getOrCreatePluginProcess(plugin);
pluginProcess->createWebProcessConnection(webProcessProxy, reply);
}
@@ -77,6 +63,31 @@ void PluginProcessManager::removePluginProcessProxy(PluginProcessProxy* pluginPr
m_pluginProcesses.remove(vectorIndex);
}
+void PluginProcessManager::getSitesWithData(const PluginInfoStore::Plugin& plugin, WebPluginSiteDataManager* webPluginSiteDataManager, uint64_t callbackID)
+{
+ PluginProcessProxy* pluginProcess = getOrCreatePluginProcess(plugin);
+ pluginProcess->getSitesWithData(webPluginSiteDataManager, callbackID);
+}
+
+void PluginProcessManager::clearSiteData(const PluginInfoStore::Plugin& plugin, WebPluginSiteDataManager* webPluginSiteDataManager, const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID)
+{
+ PluginProcessProxy* pluginProcess = getOrCreatePluginProcess(plugin);
+ pluginProcess->clearSiteData(webPluginSiteDataManager, sites, flags, maxAgeInSeconds, callbackID);
+}
+
+PluginProcessProxy* PluginProcessManager::getOrCreatePluginProcess(const PluginInfoStore::Plugin& plugin)
+{
+ for (size_t i = 0; i < m_pluginProcesses.size(); ++i) {
+ if (m_pluginProcesses[i]->pluginInfo().path == plugin.path)
+ return m_pluginProcesses[i];
+ }
+
+ PluginProcessProxy* pluginProcess = PluginProcessProxy::create(this, plugin).leakPtr();
+ m_pluginProcesses.append(pluginProcess);
+
+ return pluginProcess;
+}
+
} // namespace WebKit
#endif // ENABLE(PLUGIN_PROCESS)
diff --git a/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.h b/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.h
index a150d67..79e5952 100644
--- a/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.h
+++ b/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.h
@@ -28,6 +28,7 @@
#if ENABLE(PLUGIN_PROCESS)
+#include "PluginInfoStore.h"
#include <wtf/Forward.h>
#include <wtf/Noncopyable.h>
#include <wtf/Vector.h>
@@ -40,6 +41,7 @@ namespace WebKit {
class PluginProcessProxy;
class WebProcessProxy;
+class WebPluginSiteDataManager;
class PluginProcessManager {
WTF_MAKE_NONCOPYABLE(PluginProcessManager);
@@ -49,9 +51,14 @@ public:
void getPluginProcessConnection(const String& pluginPath, WebProcessProxy*, CoreIPC::ArgumentEncoder* reply);
void removePluginProcessProxy(PluginProcessProxy*);
+ void getSitesWithData(const PluginInfoStore::Plugin&, WebPluginSiteDataManager*, uint64_t callbackID);
+ void clearSiteData(const PluginInfoStore::Plugin&, WebPluginSiteDataManager*, const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID);
+
private:
PluginProcessManager();
+ PluginProcessProxy* getOrCreatePluginProcess(const PluginInfoStore::Plugin&);
+
Vector<PluginProcessProxy*> m_pluginProcesses;
};
diff --git a/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp b/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp
index 4b3b3c0..c63d500 100644
--- a/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp
+++ b/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp
@@ -34,9 +34,20 @@
#include "PluginProcessMessages.h"
#include "RunLoop.h"
#include "WebCoreArgumentCoders.h"
+#include "WebPluginSiteDataManager.h"
#include "WebProcessProxy.h"
namespace WebKit {
+
+#if PLATFORM(MAC)
+static bool pluginNeedsExecutableHeap(const PluginInfoStore::Plugin& pluginInfo)
+{
+ if (pluginInfo.bundleIdentifier == "com.apple.QuickTime Plugin.plugin")
+ return false;
+
+ return true;
+}
+#endif
PassOwnPtr<PluginProcessProxy> PluginProcessProxy::create(PluginProcessManager* PluginProcessManager, const PluginInfoStore::Plugin& pluginInfo)
{
@@ -52,9 +63,7 @@ PluginProcessProxy::PluginProcessProxy(PluginProcessManager* PluginProcessManage
launchOptions.processType = ProcessLauncher::PluginProcess;
#if PLATFORM(MAC)
launchOptions.architecture = pluginInfo.pluginArchitecture;
-
- // FIXME: This shouldn't be true for all plug-ins.
- launchOptions.executableHeap = true;
+ launchOptions.executableHeap = pluginNeedsExecutableHeap(pluginInfo);
#endif
m_processLauncher = ProcessLauncher::create(this, launchOptions);
@@ -80,6 +89,39 @@ void PluginProcessProxy::createWebProcessConnection(WebProcessProxy* webProcessP
m_connection->send(Messages::PluginProcess::CreateWebProcessConnection(), 0, CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply);
}
+void PluginProcessProxy::getSitesWithData(WebPluginSiteDataManager* webPluginSiteDataManager, uint64_t callbackID)
+{
+ ASSERT(!m_pendingGetSitesReplies.contains(callbackID));
+ m_pendingGetSitesReplies.set(callbackID, webPluginSiteDataManager);
+
+ if (m_processLauncher->isLaunching()) {
+ m_pendingGetSitesRequests.append(callbackID);
+ return;
+ }
+
+ // Ask the plug-in process for the sites with data.
+ m_connection->send(Messages::PluginProcess::GetSitesWithData(callbackID), 0);
+}
+
+void PluginProcessProxy::clearSiteData(WebPluginSiteDataManager* webPluginSiteDataManager, const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID)
+{
+ ASSERT(!m_pendingClearSiteDataReplies.contains(callbackID));
+ m_pendingClearSiteDataReplies.set(callbackID, webPluginSiteDataManager);
+
+ if (m_processLauncher->isLaunching()) {
+ ClearSiteDataRequest request;
+ request.sites = sites;
+ request.flags = flags;
+ request.maxAgeInSeconds = maxAgeInSeconds;
+ request.callbackID = callbackID;
+ m_pendingClearSiteDataRequests.append(request);
+ return;
+ }
+
+ // Ask the plug-in process to clear the site data.
+ m_connection->send(Messages::PluginProcess::ClearSiteData(sites, flags, maxAgeInSeconds, callbackID), 0);
+}
+
void PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch()
{
// The plug-in process must have crashed or exited, send any pending sync replies we might have.
@@ -93,6 +135,12 @@ void PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch()
replyWebProcessProxy->connection()->sendSyncReply(reply);
}
+ while (!m_pendingGetSitesReplies.isEmpty())
+ didGetSitesWithData(Vector<String>(), m_pendingGetSitesReplies.begin()->first);
+
+ while (!m_pendingClearSiteDataReplies.isEmpty())
+ didClearSiteData(m_pendingClearSiteDataReplies.begin()->first);
+
// Tell the plug-in process manager to forget about this plug-in process proxy.
m_pluginProcessManager->removePluginProcessProxy(this);
delete this;
@@ -134,6 +182,16 @@ void PluginProcessProxy::didFinishLaunching(ProcessLauncher*, CoreIPC::Connectio
m_connection->send(Messages::PluginProcess::InitializePluginProcess(parameters), 0);
// Send all our pending requests.
+ for (size_t i = 0; i < m_pendingGetSitesRequests.size(); ++i)
+ m_connection->send(Messages::PluginProcess::GetSitesWithData(m_pendingGetSitesRequests[i]), 0);
+ m_pendingGetSitesRequests.clear();
+
+ for (size_t i = 0; i < m_pendingClearSiteDataRequests.size(); ++i) {
+ const ClearSiteDataRequest& request = m_pendingClearSiteDataRequests[i];
+ m_connection->send(Messages::PluginProcess::ClearSiteData(request.sites, request.flags, request.maxAgeInSeconds, request.callbackID), 0);
+ }
+ m_pendingClearSiteDataRequests.clear();
+
for (unsigned i = 0; i < m_numPendingConnectionRequests; ++i)
m_connection->send(Messages::PluginProcess::CreateWebProcessConnection(), 0);
@@ -154,6 +212,22 @@ void PluginProcessProxy::didCreateWebProcessConnection(const CoreIPC::MachPort&
replyWebProcessProxy->connection()->sendSyncReply(reply);
}
+void PluginProcessProxy::didGetSitesWithData(const Vector<String>& sites, uint64_t callbackID)
+{
+ RefPtr<WebPluginSiteDataManager> webPluginSiteDataManager = m_pendingGetSitesReplies.take(callbackID);
+ ASSERT(webPluginSiteDataManager);
+
+ webPluginSiteDataManager->didGetSitesWithDataForSinglePlugin(sites, callbackID);
+}
+
+void PluginProcessProxy::didClearSiteData(uint64_t callbackID)
+{
+ RefPtr<WebPluginSiteDataManager> webPluginSiteDataManager = m_pendingClearSiteDataReplies.take(callbackID);
+ ASSERT(webPluginSiteDataManager);
+
+ webPluginSiteDataManager->didClearSiteDataForSinglePlugin(callbackID);
+}
+
} // namespace WebKit
#endif // ENABLE(PLUGIN_PROCESS)
diff --git a/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.h b/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.h
index 23a6df0..2ea2573 100644
--- a/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.h
+++ b/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.h
@@ -41,6 +41,7 @@ namespace CoreIPC {
namespace WebKit {
class PluginProcessManager;
+class WebPluginSiteDataManager;
class WebProcessProxy;
struct PluginProcessCreationParameters;
@@ -54,7 +55,13 @@ public:
// Asks the plug-in process to create a new connection to a web process. The connection identifier will be
// encoded in the given argument encoder and sent back to the connection of the given web process.
void createWebProcessConnection(WebProcessProxy*, CoreIPC::ArgumentEncoder* reply);
-
+
+ // Asks the plug-in process to get a list of domains for which the plug-in has data stored.
+ void getSitesWithData(WebPluginSiteDataManager*, uint64_t callbackID);
+
+ // Asks the plug-in process to clear the data for the given sites.
+ void clearSiteData(WebPluginSiteDataManager*, const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID);
+
private:
PluginProcessProxy(PluginProcessManager*, const PluginInfoStore::Plugin&);
@@ -71,6 +78,8 @@ private:
// Message handlers
void didReceivePluginProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
void didCreateWebProcessConnection(const CoreIPC::MachPort&);
+ void didGetSitesWithData(const Vector<String>& sites, uint64_t callbackID);
+ void didClearSiteData(uint64_t callbackID);
void platformInitializePluginProcess(PluginProcessCreationParameters& parameters);
@@ -88,10 +97,21 @@ private:
Deque<std::pair<RefPtr<WebProcessProxy>, CoreIPC::ArgumentEncoder*> > m_pendingConnectionReplies;
+ Vector<uint64_t> m_pendingGetSitesRequests;
+ HashMap<uint64_t, RefPtr<WebPluginSiteDataManager> > m_pendingGetSitesReplies;
+
+ struct ClearSiteDataRequest {
+ Vector<String> sites;
+ uint64_t flags;
+ uint64_t maxAgeInSeconds;
+ uint64_t callbackID;
+ };
+ Vector<ClearSiteDataRequest> m_pendingClearSiteDataRequests;
+ HashMap<uint64_t, RefPtr<WebPluginSiteDataManager> > m_pendingClearSiteDataReplies;
+
// If createPluginConnection is called while the process is still launching we'll keep count of it and send a bunch of requests
// when the process finishes launching.
unsigned m_numPendingConnectionRequests;
-
};
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.messages.in b/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.messages.in
index cbd5abc..a504f9a 100644
--- a/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.messages.in
+++ b/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.messages.in
@@ -25,6 +25,9 @@
messages -> PluginProcessProxy {
# FIXME: This is platform specific
DidCreateWebProcessConnection(CoreIPC::MachPort connectionIdentifier)
+
+ DidGetSitesWithData(Vector<WTF::String> sites, uint64_t callbackID)
+ DidClearSiteData(uint64_t callbackID)
}
#endif
diff --git a/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp b/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp
new file mode 100644
index 0000000..dfa0806
--- /dev/null
+++ b/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp
@@ -0,0 +1,299 @@
+/*
+ * 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 "WebPluginSiteDataManager.h"
+
+#include "ImmutableArray.h"
+#include "PluginProcessManager.h"
+#include "WebContext.h"
+#include "WebProcessMessages.h"
+
+using namespace WebCore;
+
+namespace WebKit {
+
+#if ENABLE(PLUGIN_PROCESS)
+class WebPluginSiteDataManager::GetSitesWithDataState {
+public:
+ explicit GetSitesWithDataState(WebPluginSiteDataManager* webPluginSiteDataManager, uint64_t callbackID)
+ : m_webPluginSiteDataManager(webPluginSiteDataManager)
+ , m_callbackID(callbackID)
+ , m_plugins(webPluginSiteDataManager->m_webContext->pluginInfoStore()->plugins())
+ {
+ }
+
+ void getSitesWithDataForNextPlugin()
+ {
+ if (m_plugins.isEmpty()) {
+ Vector<String> sites;
+ copyToVector(m_sites, sites);
+
+ m_webPluginSiteDataManager->didGetSitesWithDataForAllPlugins(sites, m_callbackID);
+ return;
+ }
+
+ PluginProcessManager::shared().getSitesWithData(m_plugins.last(), m_webPluginSiteDataManager, m_callbackID);
+ m_plugins.removeLast();
+ }
+
+ void didGetSitesWithDataForSinglePlugin(const Vector<String>& sites)
+ {
+ for (size_t i = 0; i < sites.size(); ++i)
+ m_sites.add(sites[i]);
+
+ getSitesWithDataForNextPlugin();
+ }
+
+private:
+ WebPluginSiteDataManager* m_webPluginSiteDataManager;
+ uint64_t m_callbackID;
+ Vector<PluginInfoStore::Plugin> m_plugins;
+ HashSet<String> m_sites;
+};
+
+class WebPluginSiteDataManager::ClearSiteDataState {
+public:
+ explicit ClearSiteDataState(WebPluginSiteDataManager* webPluginSiteDataManager, const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID)
+ : m_webPluginSiteDataManager(webPluginSiteDataManager)
+ , m_sites(sites)
+ , m_flags(flags)
+ , m_maxAgeInSeconds(maxAgeInSeconds)
+ , m_callbackID(callbackID)
+ , m_plugins(webPluginSiteDataManager->m_webContext->pluginInfoStore()->plugins())
+ {
+ }
+
+ void clearSiteDataForNextPlugin()
+ {
+ if (m_plugins.isEmpty()) {
+ m_webPluginSiteDataManager->didClearSiteDataForAllPlugins(m_callbackID);
+ return;
+ }
+
+ PluginProcessManager::shared().clearSiteData(m_plugins.last(), m_webPluginSiteDataManager, m_sites, m_flags, m_maxAgeInSeconds, m_callbackID);
+ m_plugins.removeLast();
+ }
+
+ void didClearSiteDataForSinglePlugin()
+ {
+ clearSiteDataForNextPlugin();
+ }
+
+private:
+ WebPluginSiteDataManager* m_webPluginSiteDataManager;
+ Vector<String> m_sites;
+ uint64_t m_flags;
+ uint64_t m_maxAgeInSeconds;
+ uint64_t m_callbackID;
+ Vector<PluginInfoStore::Plugin> m_plugins;
+};
+#endif // ENABLE(PLUGIN_PROCESS)
+
+PassRefPtr<WebPluginSiteDataManager> WebPluginSiteDataManager::create(WebContext* webContext)
+{
+ return adoptRef(new WebPluginSiteDataManager(webContext));
+}
+
+WebPluginSiteDataManager::WebPluginSiteDataManager(WebContext* webContext)
+ : m_webContext(webContext)
+{
+}
+
+WebPluginSiteDataManager::~WebPluginSiteDataManager()
+{
+ ASSERT(m_arrayCallbacks.isEmpty());
+ ASSERT(m_voidCallbacks.isEmpty());
+#if ENABLE(PLUGIN_PROCESS)
+ ASSERT(m_pendingGetSitesWithData.isEmpty());
+ ASSERT(m_pendingClearSiteData.isEmpty());
+#endif
+}
+
+void WebPluginSiteDataManager::invalidate()
+{
+ invalidateCallbackMap(m_arrayCallbacks);
+
+#if ENABLE(PLUGIN_PROCESS)
+ deleteAllValues(m_pendingGetSitesWithData);
+ m_pendingGetSitesWithData.clear();
+ deleteAllValues(m_pendingClearSiteData);
+ m_pendingClearSiteData.clear();
+#endif
+}
+
+void WebPluginSiteDataManager::getSitesWithData(PassRefPtr<ArrayCallback> prpCallback)
+{
+ RefPtr<ArrayCallback> callback = prpCallback;
+
+ if (!m_webContext) {
+ callback->invalidate();
+ return;
+ }
+
+ uint64_t callbackID = callback->callbackID();
+ m_arrayCallbacks.set(callbackID, callback.release());
+
+#if ENABLE(PLUGIN_PROCESS)
+ ASSERT(!m_pendingGetSitesWithData.contains(callbackID));
+
+ GetSitesWithDataState* state = new GetSitesWithDataState(this, callbackID);
+ m_pendingGetSitesWithData.set(callbackID, state);
+ state->getSitesWithDataForNextPlugin();
+#else
+ if (!m_webContext->hasValidProcess()) {
+ RefPtr<ArrayCallback> callback = m_arrayCallbacks.take(callbackID);
+ callback->invalidate();
+ return;
+ }
+
+ Vector<String> pluginPaths;
+ m_webContext->pluginInfoStore()->getPluginPaths(pluginPaths);
+ m_webContext->ensureWebProcess();
+ m_webContext->process()->send(Messages::WebProcess::GetSitesWithPluginData(pluginPaths, callbackID), 0);
+#endif
+}
+
+void WebPluginSiteDataManager::didGetSitesWithData(const Vector<String>& sites, uint64_t callbackID)
+{
+ RefPtr<ArrayCallback> callback = m_arrayCallbacks.take(callbackID);
+ if (!callback) {
+ // FIXME: Log error or assert.
+ return;
+ }
+
+ Vector<RefPtr<APIObject> > sitesWK(sites.size());
+
+ for (size_t i = 0; i < sites.size(); ++i)
+ sitesWK[i] = WebString::create(sites[i]);
+
+ RefPtr<ImmutableArray> resultArray = ImmutableArray::adopt(sitesWK);
+ callback->performCallbackWithReturnValue(resultArray.get());
+}
+
+void WebPluginSiteDataManager::clearSiteData(ImmutableArray* sites, uint64_t flags, uint64_t maxAgeInSeconds, PassRefPtr<VoidCallback> prpCallback)
+{
+ RefPtr<VoidCallback> callback = prpCallback;
+ if (!m_webContext) {
+ callback->invalidate();
+ return;
+ }
+
+ Vector<String> sitesVector;
+
+ // If the array is empty, don't do anything.
+ if (sites) {
+ if (!sites->size()) {
+ callback->performCallback();
+ return;
+ }
+
+ for (size_t i = 0; i < sites->size(); ++i) {
+ if (WebString* site = sites->at<WebString>(i))
+ sitesVector.append(site->string());
+ }
+ }
+
+ uint64_t callbackID = callback->callbackID();
+ m_voidCallbacks.set(callbackID, callback.release());
+
+#if ENABLE(PLUGIN_PROCESS)
+ ASSERT(!m_pendingClearSiteData.contains(callbackID));
+
+ ClearSiteDataState* state = new ClearSiteDataState(this, sitesVector, flags, maxAgeInSeconds, callbackID);
+ m_pendingClearSiteData.set(callbackID, state);
+ state->clearSiteDataForNextPlugin();
+#else
+
+ if (!m_webContext->hasValidProcess()) {
+ RefPtr<VoidCallback> callback = m_voidCallbacks.take(callbackID);
+ callback->invalidate();
+ return;
+ }
+ Vector<String> pluginPaths;
+ m_webContext->pluginInfoStore()->getPluginPaths(pluginPaths);
+ m_webContext->ensureWebProcess();
+ m_webContext->process()->send(Messages::WebProcess::ClearPluginSiteData(pluginPaths, sitesVector, flags, maxAgeInSeconds, callbackID), 0);
+#endif
+}
+
+void WebPluginSiteDataManager::didClearSiteData(uint64_t callbackID)
+{
+ RefPtr<VoidCallback> callback = m_voidCallbacks.take(callbackID);
+ if (!callback) {
+ // FIXME: Log error or assert.
+ return;
+ }
+
+ callback->performCallback();
+}
+
+bool WebPluginSiteDataManager::shouldTerminate(WebProcessProxy*) const
+{
+#if ENABLE(PLUGIN_PROCESS)
+ // When out of process plug-ins are enabled, the web process is not involved in fetching site data.
+ return true;
+#else
+ return m_arrayCallbacks.isEmpty() && m_voidCallbacks.isEmpty();
+#endif
+}
+
+#if ENABLE(PLUGIN_PROCESS)
+void WebPluginSiteDataManager::didGetSitesWithDataForSinglePlugin(const Vector<String>& sites, uint64_t callbackID)
+{
+ GetSitesWithDataState* state = m_pendingGetSitesWithData.get(callbackID);
+ ASSERT(state);
+
+ state->didGetSitesWithDataForSinglePlugin(sites);
+}
+
+void WebPluginSiteDataManager::didGetSitesWithDataForAllPlugins(const Vector<String>& sites, uint64_t callbackID)
+{
+ OwnPtr<GetSitesWithDataState> state = adoptPtr(m_pendingGetSitesWithData.take(callbackID));
+ ASSERT(state);
+
+ didGetSitesWithData(sites, callbackID);
+}
+
+void WebPluginSiteDataManager::didClearSiteDataForSinglePlugin(uint64_t callbackID)
+{
+ ClearSiteDataState* state = m_pendingClearSiteData.get(callbackID);
+ ASSERT(state);
+
+ state->didClearSiteDataForSinglePlugin();
+}
+
+void WebPluginSiteDataManager::didClearSiteDataForAllPlugins(uint64_t callbackID)
+{
+ OwnPtr<ClearSiteDataState> state = adoptPtr(m_pendingClearSiteData.take(callbackID));
+ ASSERT(state);
+
+ didClearSiteData(callbackID);
+}
+
+#endif
+
+} // namespace WebKit
+
diff --git a/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.h b/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.h
new file mode 100644
index 0000000..9efa175
--- /dev/null
+++ b/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.h
@@ -0,0 +1,88 @@
+/*
+ * 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 WebPluginSiteDataManagerh
+#define WebPluginSiteDataManager_h
+
+#include "APIObject.h"
+#include "Arguments.h"
+#include "GenericCallback.h"
+#include <wtf/HashMap.h>
+#include <wtf/PassRefPtr.h>
+
+namespace WebKit {
+
+class WebContext;
+class WebProcessProxy;
+
+typedef GenericCallback<WKArrayRef> ArrayCallback;
+
+class WebPluginSiteDataManager : public APIObject {
+public:
+ static const Type APIType = TypePluginSiteDataManager;
+
+ static PassRefPtr<WebPluginSiteDataManager> create(WebContext*);
+ virtual ~WebPluginSiteDataManager();
+
+ void invalidate();
+ void clearContext() { m_webContext = 0; }
+
+ void getSitesWithData(PassRefPtr<ArrayCallback>);
+ void didGetSitesWithData(const Vector<String>& sites, uint64_t callbackID);
+
+ void clearSiteData(ImmutableArray* sites, uint64_t flags, uint64_t maxAgeInSeconds, PassRefPtr<VoidCallback>);
+ void didClearSiteData(uint64_t callbackID);
+
+#if ENABLE(PLUGIN_PROCESS)
+ void didGetSitesWithDataForSinglePlugin(const Vector<String>& sites, uint64_t callbackID);
+ void didClearSiteDataForSinglePlugin(uint64_t callbackID);
+#endif
+
+ bool shouldTerminate(WebProcessProxy*) const;
+
+private:
+ explicit WebPluginSiteDataManager(WebContext*);
+
+ virtual Type type() const { return APIType; }
+
+ WebContext* m_webContext;
+ HashMap<uint64_t, RefPtr<ArrayCallback> > m_arrayCallbacks;
+ HashMap<uint64_t, RefPtr<VoidCallback> > m_voidCallbacks;
+
+#if ENABLE(PLUGIN_PROCESS)
+ void didGetSitesWithDataForAllPlugins(const Vector<String>& sites, uint64_t callbackID);
+ void didClearSiteDataForAllPlugins(uint64_t callbackID);
+
+ class GetSitesWithDataState;
+ HashMap<uint64_t, GetSitesWithDataState*> m_pendingGetSitesWithData;
+
+ class ClearSiteDataState;
+ HashMap<uint64_t, ClearSiteDataState*> m_pendingClearSiteData;
+#endif
+};
+
+} // namespace WebKit
+
+#endif // WebPluginSiteDataManager_h
diff --git a/Source/WebKit2/UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp b/Source/WebKit2/UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp
index f06f0e5..2dcea2f 100644
--- a/Source/WebKit2/UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp
+++ b/Source/WebKit2/UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp
@@ -27,9 +27,9 @@
#include "config.h"
#include "PluginInfoStore.h"
-#include "NotImplemented.h"
#include "PluginDatabase.h"
#include "PluginPackage.h"
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
diff --git a/Source/WebKit2/UIProcess/Plugins/qt/PluginProcessProxyQt.cpp b/Source/WebKit2/UIProcess/Plugins/qt/PluginProcessProxyQt.cpp
new file mode 100644
index 0000000..cc521e0
--- /dev/null
+++ b/Source/WebKit2/UIProcess/Plugins/qt/PluginProcessProxyQt.cpp
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2011 Nokia 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 "PluginProcessProxy.h"
+
+#if ENABLE(PLUGIN_PROCESS)
+
+#include "PluginProcessCreationParameters.h"
+#include <WebCore/NotImplemented.h>
+
+namespace WebKit {
+
+void PluginProcessProxy::platformInitializePluginProcess(PluginProcessCreationParameters& parameters)
+{
+ notImplemented();
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(PLUGIN_PROCESS)
diff --git a/Source/WebKit2/UIProcess/TextChecker.h b/Source/WebKit2/UIProcess/TextChecker.h
index fc347fe..7a5d535 100644
--- a/Source/WebKit2/UIProcess/TextChecker.h
+++ b/Source/WebKit2/UIProcess/TextChecker.h
@@ -27,6 +27,7 @@
#define TextChecker_h
#include <WebCore/EditorClient.h>
+#include <WebCore/TextCheckerClient.h>
namespace WebKit {
@@ -56,6 +57,7 @@ public:
static Vector<WebCore::TextCheckingResult> checkTextOfParagraph(int64_t spellDocumentTag, const UChar* text, int length, uint64_t checkingTypes);
static void updateSpellingUIWithMisspelledWord(const String& misspelledWord);
+ static void updateSpellingUIWithGrammarString(const String& badGrammarPhrase, const WebCore::GrammarDetail&);
static void getGuessesForWord(int64_t spellDocumentTag, const String& word, const String& context, Vector<String>& guesses);
static void learnWord(const String& word);
static void ignoreWord(int64_t spellDocumentTag, const String& word);
diff --git a/Source/WebKit2/UIProcess/TiledDrawingAreaProxy.cpp b/Source/WebKit2/UIProcess/TiledDrawingAreaProxy.cpp
index 3b3334f..985827a 100644
--- a/Source/WebKit2/UIProcess/TiledDrawingAreaProxy.cpp
+++ b/Source/WebKit2/UIProcess/TiledDrawingAreaProxy.cpp
@@ -48,7 +48,7 @@ PassOwnPtr<TiledDrawingAreaProxy> TiledDrawingAreaProxy::create(PlatformWebView*
}
TiledDrawingAreaProxy::TiledDrawingAreaProxy(PlatformWebView* webView, WebPageProxy* webPageProxy)
- : DrawingAreaProxy(DrawingAreaInfo::Tiled, webPageProxy)
+ : DrawingAreaProxy(DrawingAreaTypeTiled, webPageProxy)
, m_isWaitingForDidSetFrameNotification(false)
, m_isVisible(true)
, m_webView(webView)
@@ -171,11 +171,6 @@ void TiledDrawingAreaProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::Mes
}
}
-void TiledDrawingAreaProxy::didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder&)
-{
- ASSERT_NOT_REACHED();
-}
-
void TiledDrawingAreaProxy::requestTileUpdate(int tileID, const IntRect& dirtyRect)
{
page()->process()->connection()->deprecatedSend(DrawingAreaLegacyMessage::RequestTileUpdate, page()->pageID(), CoreIPC::In(tileID, dirtyRect, contentsScale()));
@@ -247,8 +242,8 @@ void TiledDrawingAreaProxy::invalidate(const IntRect& contentsDirtyRect)
Vector<TiledDrawingAreaTile::Coordinate> tilesToRemove;
- for (unsigned yCoordinate = topLeft.y(); yCoordinate < bottomRight.y(); ++yCoordinate) {
- for (unsigned xCoordinate = topLeft.x(); xCoordinate < bottomRight.x(); ++xCoordinate) {
+ for (unsigned yCoordinate = topLeft.y(); yCoordinate <= bottomRight.y(); ++yCoordinate) {
+ for (unsigned xCoordinate = topLeft.x(); xCoordinate <= bottomRight.x(); ++xCoordinate) {
RefPtr<TiledDrawingAreaTile> currentTile = tileAt(TiledDrawingAreaTile::Coordinate(xCoordinate, yCoordinate));
if (!currentTile)
continue;
@@ -341,8 +336,8 @@ bool TiledDrawingAreaProxy::paint(const IntRect& rect, PlatformDrawingContext co
TiledDrawingAreaTile::Coordinate topLeft = tileCoordinateForPoint(dirtyRect.location());
TiledDrawingAreaTile::Coordinate bottomRight = tileCoordinateForPoint(IntPoint(dirtyRect.maxX(), dirtyRect.maxY()));
- for (unsigned yCoordinate = topLeft.y(); yCoordinate < bottomRight.y(); ++yCoordinate) {
- for (unsigned xCoordinate = topLeft.x(); xCoordinate < bottomRight.x(); ++xCoordinate) {
+ for (unsigned yCoordinate = topLeft.y(); yCoordinate <= bottomRight.y(); ++yCoordinate) {
+ for (unsigned xCoordinate = topLeft.x(); xCoordinate <= bottomRight.x(); ++xCoordinate) {
TiledDrawingAreaTile::Coordinate currentCoordinate(xCoordinate, yCoordinate);
RefPtr<TiledDrawingAreaTile> currentTile = tileAt(currentCoordinate);
if (currentTile && currentTile->isReadyToPaint())
@@ -398,8 +393,9 @@ double TiledDrawingAreaProxy::tileDistance(const IntRect& viewport, const TiledD
IntRect TiledDrawingAreaProxy::calculateKeepRect(const IntRect& visibleRect) const
{
IntRect result = visibleRect;
- result.inflateX(visibleRect.width() * (m_keepAreaMultiplier.width() - 1));
- result.inflateY(visibleRect.height() * (m_keepAreaMultiplier.height() - 1));
+ // Inflates to both sides, so divide inflate delta by 2
+ result.inflateX(visibleRect.width() * (m_keepAreaMultiplier.width() - 1) / 2);
+ result.inflateY(visibleRect.height() * (m_keepAreaMultiplier.height() - 1) / 2);
result.intersect(contentsRect());
return result;
}
@@ -407,8 +403,9 @@ IntRect TiledDrawingAreaProxy::calculateKeepRect(const IntRect& visibleRect) con
IntRect TiledDrawingAreaProxy::calculateCoverRect(const IntRect& visibleRect) const
{
IntRect result = visibleRect;
- result.inflateX(visibleRect.width() * (m_coverAreaMultiplier.width() - 1));
- result.inflateY(visibleRect.height() * (m_coverAreaMultiplier.height() - 1));
+ // Inflates to both sides, so divide inflate delta by 2
+ result.inflateX(visibleRect.width() * (m_coverAreaMultiplier.width() - 1) / 2);
+ result.inflateY(visibleRect.height() * (m_coverAreaMultiplier.height() - 1) / 2);
result.intersect(contentsRect());
return result;
}
@@ -438,8 +435,8 @@ void TiledDrawingAreaProxy::createTiles()
bool hasVisibleCheckers = false;
TiledDrawingAreaTile::Coordinate topLeft = tileCoordinateForPoint(visibleRect.location());
TiledDrawingAreaTile::Coordinate bottomRight = tileCoordinateForPoint(IntPoint(visibleRect.maxX(), visibleRect.maxY()));
- for (unsigned yCoordinate = topLeft.y(); yCoordinate < bottomRight.y(); ++yCoordinate) {
- for (unsigned xCoordinate = topLeft.x(); xCoordinate < bottomRight.x(); ++xCoordinate) {
+ for (unsigned yCoordinate = topLeft.y(); yCoordinate <= bottomRight.y(); ++yCoordinate) {
+ for (unsigned xCoordinate = topLeft.x(); xCoordinate <= bottomRight.x(); ++xCoordinate) {
TiledDrawingAreaTile::Coordinate currentCoordinate(xCoordinate, yCoordinate);
// Distance is 0 for all currently visible tiles.
double distance = tileDistance(visibleRect, currentCoordinate);
diff --git a/Source/WebKit2/UIProcess/TiledDrawingAreaProxy.h b/Source/WebKit2/UIProcess/TiledDrawingAreaProxy.h
index 80bc20d..89ad62a 100644
--- a/Source/WebKit2/UIProcess/TiledDrawingAreaProxy.h
+++ b/Source/WebKit2/UIProcess/TiledDrawingAreaProxy.h
@@ -30,7 +30,6 @@
#include "DrawingAreaProxy.h"
#include <WebCore/GraphicsContext.h>
-#include <WebCore/IntSize.h>
#include <WebCore/IntRect.h>
#include <wtf/HashSet.h>
@@ -114,7 +113,6 @@ private:
// DrawingAreaProxy
virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
- virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder&);
virtual bool paint(const WebCore::IntRect&, PlatformDrawingContext);
virtual void sizeDidChange();
virtual void setPageIsVisible(bool isVisible);
diff --git a/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp b/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp
new file mode 100644
index 0000000..1cf4921
--- /dev/null
+++ b/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp
@@ -0,0 +1,99 @@
+/*
+ * 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 "WebApplicationCacheManagerProxy.h"
+
+#include "SecurityOriginData.h"
+#include "WebApplicationCacheManagerMessages.h"
+#include "WebContext.h"
+#include "WebSecurityOrigin.h"
+
+namespace WebKit {
+
+PassRefPtr<WebApplicationCacheManagerProxy> WebApplicationCacheManagerProxy::create(WebContext* context)
+{
+ return adoptRef(new WebApplicationCacheManagerProxy(context));
+}
+
+WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy(WebContext* context)
+ : m_webContext(context)
+{
+}
+
+WebApplicationCacheManagerProxy::~WebApplicationCacheManagerProxy()
+{
+}
+
+void WebApplicationCacheManagerProxy::invalidate()
+{
+ invalidateCallbackMap(m_arrayCallbacks);
+}
+
+void WebApplicationCacheManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
+{
+ didReceiveWebApplicationCacheManagerProxyMessage(connection, messageID, arguments);
+}
+
+void WebApplicationCacheManagerProxy::getApplicationCacheOrigins(PassRefPtr<ArrayCallback> prpCallback)
+{
+ RefPtr<ArrayCallback> callback = prpCallback;
+ if (!m_webContext->hasValidProcess()) {
+ callback->invalidate();
+ return;
+ }
+
+ uint64_t callbackID = callback->callbackID();
+ m_arrayCallbacks.set(callbackID, callback.release());
+ m_webContext->process()->send(Messages::WebApplicationCacheManager::GetApplicationCacheOrigins(callbackID), 0);
+}
+
+void WebApplicationCacheManagerProxy::didGetApplicationCacheOrigins(const Vector<SecurityOriginData>& originDatas, uint64_t callbackID)
+{
+ RefPtr<ArrayCallback> callback = m_arrayCallbacks.take(callbackID);
+ performAPICallbackWithSecurityOriginDataVector(originDatas, callback.get());
+}
+
+void WebApplicationCacheManagerProxy::deleteEntriesForOrigin(WebSecurityOrigin* origin)
+{
+ if (!m_webContext->hasValidProcess())
+ return;
+
+ SecurityOriginData securityOriginData;
+ securityOriginData.protocol = origin->protocol();
+ securityOriginData.host = origin->host();
+ securityOriginData.port = origin->port();
+
+ m_webContext->process()->send(Messages::WebApplicationCacheManager::DeleteEntriesForOrigin(securityOriginData), 0);
+}
+
+void WebApplicationCacheManagerProxy::deleteAllEntries()
+{
+ if (!m_webContext->hasValidProcess())
+ return;
+ m_webContext->process()->send(Messages::WebApplicationCacheManager::DeleteAllEntries(), 0);
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.h b/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.h
new file mode 100644
index 0000000..81637e0
--- /dev/null
+++ b/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.h
@@ -0,0 +1,82 @@
+/*
+ * 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 WebApplicationCacheManagerProxy_h
+#define WebApplicationCacheManagerProxy_h
+
+#include "APIObject.h"
+#include "GenericCallback.h"
+#include "ImmutableArray.h"
+
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
+#include <wtf/Vector.h>
+
+namespace CoreIPC {
+ class ArgumentDecoder;
+ class Connection;
+ class MessageID;
+}
+
+namespace WebKit {
+
+struct SecurityOriginData;
+class WebContext;
+class WebSecurityOrigin;
+
+typedef GenericCallback<WKArrayRef> ArrayCallback;
+
+class WebApplicationCacheManagerProxy : public APIObject {
+public:
+ static const Type APIType = TypeApplicationCacheManager;
+
+ static PassRefPtr<WebApplicationCacheManagerProxy> create(WebContext*);
+ virtual ~WebApplicationCacheManagerProxy();
+
+ void invalidate();
+ void clearContext() { m_webContext = 0; }
+
+ void getApplicationCacheOrigins(PassRefPtr<ArrayCallback>);
+ void deleteEntriesForOrigin(WebSecurityOrigin*);
+ void deleteAllEntries();
+
+ void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+
+private:
+ WebApplicationCacheManagerProxy(WebContext*);
+
+ virtual Type type() const { return APIType; }
+
+ void didGetApplicationCacheOrigins(const Vector<SecurityOriginData>&, uint64_t callbackID);
+
+ void didReceiveWebApplicationCacheManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+
+ WebContext* m_webContext;
+ HashMap<uint64_t, RefPtr<ArrayCallback> > m_arrayCallbacks;
+};
+
+} // namespace WebKit
+
+#endif // WebApplicationCacheManagerProxy_h
diff --git a/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.messages.in b/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.messages.in
new file mode 100644
index 0000000..2aa0f67
--- /dev/null
+++ b/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.messages.in
@@ -0,0 +1,25 @@
+# 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.
+
+messages -> WebApplicationCacheManagerProxy {
+ DidGetApplicationCacheOrigins(Vector<WebKit::SecurityOriginData> originIdentifiers, uint64_t callbackID);
+}
diff --git a/Source/WebKit2/UIProcess/WebBackForwardList.h b/Source/WebKit2/UIProcess/WebBackForwardList.h
index 3376771..ead0fca 100644
--- a/Source/WebKit2/UIProcess/WebBackForwardList.h
+++ b/Source/WebKit2/UIProcess/WebBackForwardList.h
@@ -33,7 +33,7 @@
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
-#if PLATFORM(CF)
+#if USE(CF)
#include <CoreFoundation/CFDictionary.h>
#endif
@@ -77,7 +77,7 @@ public:
PassRefPtr<ImmutableArray> backListAsImmutableArrayWithLimit(unsigned limit);
PassRefPtr<ImmutableArray> forwardListAsImmutableArrayWithLimit(unsigned limit);
-#if PLATFORM(CF)
+#if USE(CF)
CFDictionaryRef createCFDictionaryRepresentation(WebPageProxy::WebPageProxySessionStateFilterCallback, void* context) const;
bool restoreFromCFDictionaryRepresentation(CFDictionaryRef);
#endif
diff --git a/Source/WebKit2/UIProcess/WebContext.cpp b/Source/WebKit2/UIProcess/WebContext.cpp
index 5411a36..01b1e0c 100644
--- a/Source/WebKit2/UIProcess/WebContext.cpp
+++ b/Source/WebKit2/UIProcess/WebContext.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010, 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
@@ -33,19 +33,24 @@
#include "SandboxExtension.h"
#include "TextChecker.h"
#include "WKContextPrivate.h"
+#include "WebApplicationCacheManagerProxy.h"
#include "WebContextMessageKinds.h"
#include "WebContextUserMessageCoders.h"
+#include "WebCookieManagerProxy.h"
#include "WebCoreArgumentCoders.h"
#include "WebDatabaseManagerProxy.h"
#include "WebGeolocationManagerProxy.h"
+#include "WebKeyValueStorageManagerProxy.h"
+#include "WebPluginSiteDataManager.h"
#include "WebPageGroup.h"
#include "WebMemorySampler.h"
#include "WebProcessCreationParameters.h"
-#include "WebProcessManager.h"
#include "WebProcessMessages.h"
#include "WebProcessProxy.h"
+#include "WebResourceCacheManagerProxy.h"
#include <WebCore/Language.h>
#include <WebCore/LinkHash.h>
+#include <WebCore/Logging.h>
#include <wtf/CurrentTime.h>
#ifndef NDEBUG
@@ -83,7 +88,19 @@ PassRefPtr<WebContext> WebContext::create(const String& injectedBundlePath)
RunLoop::initializeMainRunLoop();
return adoptRef(new WebContext(ProcessModelSecondaryProcess, injectedBundlePath));
}
-
+
+static Vector<WebContext*>& contexts()
+{
+ DEFINE_STATIC_LOCAL(Vector<WebContext*>, contexts, ());
+
+ return contexts;
+}
+
+const Vector<WebContext*>& WebContext::allContexts()
+{
+ return contexts();
+}
+
WebContext::WebContext(ProcessModel processModel, const String& injectedBundlePath)
: m_processModel(processModel)
, m_defaultPageGroup(WebPageGroup::create())
@@ -95,14 +112,23 @@ WebContext::WebContext(ProcessModel processModel, const String& injectedBundlePa
, m_clearApplicationCacheForNewWebProcess(false)
, m_memorySamplerEnabled(false)
, m_memorySamplerInterval(1400.0)
+ , m_applicationCacheManagerProxy(WebApplicationCacheManagerProxy::create(this))
+ , m_cookieManagerProxy(WebCookieManagerProxy::create(this))
, m_databaseManagerProxy(WebDatabaseManagerProxy::create(this))
, m_geolocationManagerProxy(WebGeolocationManagerProxy::create(this))
+ , m_keyValueStorageManagerProxy(WebKeyValueStorageManagerProxy::create(this))
+ , m_pluginSiteDataManager(WebPluginSiteDataManager::create(this))
+ , m_resourceCacheManagerProxy(WebResourceCacheManagerProxy::create(this))
#if PLATFORM(WIN)
, m_shouldPaintNativeControls(true)
#endif
{
+ contexts().append(this);
+
addLanguageChangeObserver(this, languageChanged);
+ WebCore::InitializeLoggingChannelsIfNecessary();
+
#ifndef NDEBUG
webContextCounter.increment();
#endif
@@ -110,15 +136,31 @@ WebContext::WebContext(ProcessModel processModel, const String& injectedBundlePa
WebContext::~WebContext()
{
+ ASSERT(contexts().find(this) != notFound);
+ contexts().remove(contexts().find(this));
+
removeLanguageChangeObserver(this);
- WebProcessManager::shared().contextWasDestroyed(this);
+ m_applicationCacheManagerProxy->invalidate();
+ m_applicationCacheManagerProxy->clearContext();
+
+ m_cookieManagerProxy->invalidate();
+ m_cookieManagerProxy->clearContext();
m_geolocationManagerProxy->invalidate();
m_geolocationManagerProxy->clearContext();
m_databaseManagerProxy->invalidate();
m_databaseManagerProxy->clearContext();
+
+ m_keyValueStorageManagerProxy->invalidate();
+ m_keyValueStorageManagerProxy->clearContext();
+
+ m_pluginSiteDataManager->invalidate();
+ m_pluginSiteDataManager->clearContext();
+
+ m_resourceCacheManagerProxy->invalidate();
+ m_resourceCacheManagerProxy->clearContext();
#ifndef NDEBUG
webContextCounter.decrement();
@@ -163,7 +205,7 @@ void WebContext::ensureWebProcess()
if (m_process)
return;
- m_process = WebProcessManager::shared().getWebProcess(this);
+ m_process = WebProcessProxy::create(this);
WebProcessCreationParameters parameters;
@@ -197,6 +239,8 @@ void WebContext::ensureWebProcess()
parameters.textCheckerState = TextChecker::state();
+ parameters.defaultRequestTimeoutInterval = WebURLRequest::defaultTimeoutInterval();
+
// Add any platform specific parameters
platformInitializeWebProcess(parameters);
@@ -209,6 +253,20 @@ void WebContext::ensureWebProcess()
m_pendingMessagesToPostToInjectedBundle.clear();
}
+bool WebContext::shouldTerminate(WebProcessProxy* process)
+{
+ // FIXME: Once we support multiple processes per context, this assertion won't hold.
+ ASSERT(process == m_process);
+
+ if (!m_downloads.isEmpty())
+ return false;
+
+ if (!m_pluginSiteDataManager->shouldTerminate(process))
+ return false;
+
+ return true;
+}
+
void WebContext::processDidFinishLaunching(WebProcessProxy* process)
{
// FIXME: Once we support multiple processes per context, this assertion won't hold.
@@ -218,7 +276,7 @@ void WebContext::processDidFinishLaunching(WebProcessProxy* process)
// Sometimes the memorySampler gets initialized after process initialization has happened but before the process has finished launching
// so check if it needs to be started here
- if(m_memorySamplerEnabled) {
+ if (m_memorySamplerEnabled) {
SandboxExtension::Handle sampleLogSandboxHandle;
double now = WTF::currentTime();
String sampleLogFilePath = String::format("WebProcess%llu", static_cast<uint64_t>(now));
@@ -228,7 +286,7 @@ void WebContext::processDidFinishLaunching(WebProcessProxy* process)
}
}
-void WebContext::processDidClose(WebProcessProxy* process)
+void WebContext::disconnectProcess(WebProcessProxy* process)
{
// FIXME: Once we support multiple processes per context, this assertion won't hold.
ASSERT_UNUSED(process, process == m_process);
@@ -243,8 +301,18 @@ void WebContext::processDidClose(WebProcessProxy* process)
m_downloads.clear();
+ m_applicationCacheManagerProxy->invalidate();
+ m_cookieManagerProxy->invalidate();
m_databaseManagerProxy->invalidate();
m_geolocationManagerProxy->invalidate();
+ m_keyValueStorageManagerProxy->invalidate();
+ m_resourceCacheManagerProxy->invalidate();
+
+ // When out of process plug-ins are enabled, we don't want to invalidate the plug-in site data
+ // manager just because the web process crashes since it's not involved.
+#if !ENABLE(PLUGIN_PROCESS)
+ m_pluginSiteDataManager->invalidate();
+#endif
m_process = 0;
}
@@ -407,6 +475,14 @@ void WebContext::setCacheModel(CacheModel cacheModel)
m_process->send(Messages::WebProcess::SetCacheModel(static_cast<uint32_t>(m_cacheModel)), 0);
}
+void WebContext::setDefaultRequestTimeoutInterval(double timeoutInterval)
+{
+ if (!hasValidProcess())
+ return;
+
+ m_process->send(Messages::WebProcess::SetDefaultRequestTimeoutInterval(timeoutInterval), 0);
+}
+
void WebContext::addVisitedLink(const String& visitedURL)
{
if (visitedURL.isEmpty())
@@ -439,6 +515,18 @@ void WebContext::getPluginPath(const String& mimeType, const String& urlString,
pluginPath = plugin.path;
}
+#if !ENABLE(PLUGIN_PROCESS)
+void WebContext::didGetSitesWithPluginData(const Vector<String>& sites, uint64_t callbackID)
+{
+ m_pluginSiteDataManager->didGetSitesWithData(sites, callbackID);
+}
+
+void WebContext::didClearPluginSiteData(uint64_t callbackID)
+{
+ m_pluginSiteDataManager->didClearSiteData(callbackID);
+}
+#endif
+
uint64_t WebContext::createDownloadProxy()
{
RefPtr<DownloadProxy> downloadProxy = DownloadProxy::create(this);
@@ -483,6 +571,16 @@ void WebContext::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Mes
return;
}
+ if (messageID.is<CoreIPC::MessageClassWebApplicationCacheManagerProxy>()) {
+ m_applicationCacheManagerProxy->didReceiveMessage(connection, messageID, arguments);
+ return;
+ }
+
+ if (messageID.is<CoreIPC::MessageClassWebCookieManagerProxy>()) {
+ m_cookieManagerProxy->didReceiveMessage(connection, messageID, arguments);
+ return;
+ }
+
if (messageID.is<CoreIPC::MessageClassWebDatabaseManagerProxy>()) {
m_databaseManagerProxy->didReceiveWebDatabaseManagerProxyMessage(connection, messageID, arguments);
return;
@@ -493,6 +591,16 @@ void WebContext::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Mes
return;
}
+ if (messageID.is<CoreIPC::MessageClassWebKeyValueStorageManagerProxy>()) {
+ m_keyValueStorageManagerProxy->didReceiveMessage(connection, messageID, arguments);
+ return;
+ }
+
+ if (messageID.is<CoreIPC::MessageClassWebResourceCacheManagerProxy>()) {
+ m_resourceCacheManagerProxy->didReceiveWebResourceCacheManagerProxyMessage(connection, messageID, arguments);
+ return;
+ }
+
switch (messageID.get<WebContextLegacyMessage::Kind>()) {
case WebContextLegacyMessage::PostMessage: {
String messageName;
diff --git a/Source/WebKit2/UIProcess/WebContext.h b/Source/WebKit2/UIProcess/WebContext.h
index ebf1914..72cd5dc 100644
--- a/Source/WebKit2/UIProcess/WebContext.h
+++ b/Source/WebKit2/UIProcess/WebContext.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010, 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
@@ -45,10 +45,14 @@
namespace WebKit {
class DownloadProxy;
+class WebApplicationCacheManagerProxy;
+class WebCookieManagerProxy;
class WebDatabaseManagerProxy;
class WebGeolocationManagerProxy;
+class WebKeyValueStorageManagerProxy;
class WebPageGroup;
class WebPageProxy;
+class WebResourceCacheManagerProxy;
struct WebProcessCreationParameters;
class WebContext : public APIObject {
@@ -61,6 +65,8 @@ public:
static PassRefPtr<WebContext> create(const String& injectedBundlePath);
virtual ~WebContext();
+ static const Vector<WebContext*>& allContexts();
+
void initializeInjectedBundleClient(const WKContextInjectedBundleClient*);
void initializeHistoryClient(const WKContextHistoryClient*);
void initializeDownloadClient(const WKContextDownloadClient*);
@@ -70,7 +76,9 @@ public:
bool hasValidProcess() const { return m_process && m_process->isValid(); }
void processDidFinishLaunching(WebProcessProxy*);
- void processDidClose(WebProcessProxy*);
+
+ // Disconnect the process from the context.
+ void disconnectProcess(WebProcessProxy*);
WebPageProxy* createWebPage(PageClient*, WebPageGroup*);
@@ -112,7 +120,9 @@ public:
CacheModel cacheModel() const { return m_cacheModel; }
void clearResourceCaches();
void clearApplicationCache();
-
+
+ void setDefaultRequestTimeoutInterval(double);
+
void startMemorySampler(const double interval);
void stopMemorySampler();
@@ -127,8 +137,13 @@ public:
static HashSet<String, CaseFoldingHash> pdfAndPostScriptMIMETypes();
+ WebApplicationCacheManagerProxy* applicationCacheManagerProxy() const { return m_applicationCacheManagerProxy.get(); }
+ WebCookieManagerProxy* cookieManagerProxy() const { return m_cookieManagerProxy.get(); }
WebDatabaseManagerProxy* databaseManagerProxy() const { return m_databaseManagerProxy.get(); }
WebGeolocationManagerProxy* geolocationManagerProxy() const { return m_geolocationManagerProxy.get(); }
+ WebKeyValueStorageManagerProxy* keyValueStorageManagerProxy() const { return m_keyValueStorageManagerProxy.get(); }
+ WebPluginSiteDataManager* pluginSiteDataManager() const { return m_pluginSiteDataManager.get(); }
+ WebResourceCacheManagerProxy* resourceCacheManagerProxy() const { return m_resourceCacheManagerProxy.get(); }
struct Statistics {
unsigned wkViewCount;
@@ -139,12 +154,15 @@ public:
void setDatabaseDirectory(const String& dir) { m_overrideDatabaseDirectory = dir; }
+ void ensureWebProcess();
+
+ bool shouldTerminate(WebProcessProxy*);
+
private:
WebContext(ProcessModel, const String& injectedBundlePath);
virtual Type type() const { return APIType; }
- void ensureWebProcess();
void platformInitializeWebProcess(WebProcessCreationParameters&);
// History client
@@ -156,7 +174,11 @@ private:
// Plugins
void getPlugins(bool refresh, Vector<WebCore::PluginInfo>& plugins);
void getPluginPath(const String& mimeType, const String& urlString, String& pluginPath);
-
+#if !ENABLE(PLUGIN_PROCESS)
+ void didGetSitesWithPluginData(const Vector<String>& sites, uint64_t callbackID);
+ void didClearPluginSiteData(uint64_t callbackID);
+#endif
+
// Implemented in generated WebContextMessageReceiver.cpp
void didReceiveWebContextMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
CoreIPC::SyncReplyMode didReceiveSyncWebContextMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*);
@@ -202,8 +224,13 @@ private:
bool m_memorySamplerEnabled;
double m_memorySamplerInterval;
+ RefPtr<WebApplicationCacheManagerProxy> m_applicationCacheManagerProxy;
+ RefPtr<WebCookieManagerProxy> m_cookieManagerProxy;
RefPtr<WebDatabaseManagerProxy> m_databaseManagerProxy;
RefPtr<WebGeolocationManagerProxy> m_geolocationManagerProxy;
+ RefPtr<WebKeyValueStorageManagerProxy> m_keyValueStorageManagerProxy;
+ RefPtr<WebPluginSiteDataManager> m_pluginSiteDataManager;
+ RefPtr<WebResourceCacheManagerProxy> m_resourceCacheManagerProxy;
#if PLATFORM(WIN)
bool m_shouldPaintNativeControls;
diff --git a/Source/WebKit2/UIProcess/WebContext.messages.in b/Source/WebKit2/UIProcess/WebContext.messages.in
index dc15de2..a086813 100644
--- a/Source/WebKit2/UIProcess/WebContext.messages.in
+++ b/Source/WebKit2/UIProcess/WebContext.messages.in
@@ -35,4 +35,9 @@ messages -> WebContext {
GetPlugins(bool refresh) -> (Vector<WebCore::PluginInfo> plugins)
GetPluginPath(WTF::String mimeType, WTF::String urlString) -> (WTF::String pluginPath)
+#if !ENABLE(PLUGIN_PROCESS)
+ void DidGetSitesWithPluginData(Vector<WTF::String> sites, uint64_t callbackID)
+ void DidClearPluginSiteData(uint64_t callbackID)
+#endif
+
}
diff --git a/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp b/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp
new file mode 100644
index 0000000..c56374c
--- /dev/null
+++ b/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp
@@ -0,0 +1,134 @@
+/*
+ * 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 "WebCookieManagerProxy.h"
+
+#include "SecurityOriginData.h"
+#include "WebCookieManagerMessages.h"
+#include "WebContext.h"
+#include "WebSecurityOrigin.h"
+
+namespace WebKit {
+
+PassRefPtr<WebCookieManagerProxy> WebCookieManagerProxy::create(WebContext* context)
+{
+ return adoptRef(new WebCookieManagerProxy(context));
+}
+
+WebCookieManagerProxy::WebCookieManagerProxy(WebContext* context)
+ : m_webContext(context)
+{
+}
+
+WebCookieManagerProxy::~WebCookieManagerProxy()
+{
+}
+
+void WebCookieManagerProxy::invalidate()
+{
+ invalidateCallbackMap(m_arrayCallbacks);
+}
+
+void WebCookieManagerProxy::initializeClient(const WKCookieManagerClient* client)
+{
+ m_client.initialize(client);
+}
+
+void WebCookieManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
+{
+ didReceiveWebCookieManagerProxyMessage(connection, messageID, arguments);
+}
+
+void WebCookieManagerProxy::getHostnamesWithCookies(PassRefPtr<ArrayCallback> prpCallback)
+{
+ ASSERT(m_webContext);
+
+ RefPtr<ArrayCallback> callback = prpCallback;
+ if (!m_webContext->hasValidProcess()) {
+ callback->invalidate();
+ return;
+ }
+
+ uint64_t callbackID = callback->callbackID();
+ m_arrayCallbacks.set(callbackID, callback.release());
+ m_webContext->process()->send(Messages::WebCookieManager::GetHostnamesWithCookies(callbackID), 0);
+}
+
+void WebCookieManagerProxy::didGetHostnamesWithCookies(const Vector<String>& hostnameList, uint64_t callbackID)
+{
+ RefPtr<ArrayCallback> callback = m_arrayCallbacks.take(callbackID);
+ if (!callback) {
+ // FIXME: Log error or assert.
+ return;
+ }
+
+ size_t hostnameCount = hostnameList.size();
+ Vector<RefPtr<APIObject> > hostnames(hostnameCount);
+
+ for (size_t i = 0; i < hostnameCount; ++i)
+ hostnames[i] = WebString::create(hostnameList[i]);
+
+ callback->performCallbackWithReturnValue(ImmutableArray::adopt(hostnames).get());
+}
+
+void WebCookieManagerProxy::deleteCookiesForHostname(const String& hostname)
+{
+ ASSERT(m_webContext);
+ if (!m_webContext->hasValidProcess())
+ return;
+ m_webContext->process()->send(Messages::WebCookieManager::DeleteCookiesForHostname(hostname), 0);
+}
+
+void WebCookieManagerProxy::deleteAllCookies()
+{
+ ASSERT(m_webContext);
+ if (!m_webContext->hasValidProcess())
+ return;
+ m_webContext->process()->send(Messages::WebCookieManager::DeleteAllCookies(), 0);
+}
+
+void WebCookieManagerProxy::startObservingCookieChanges()
+{
+ ASSERT(m_webContext);
+ if (!m_webContext->hasValidProcess())
+ return;
+ m_webContext->process()->send(Messages::WebCookieManager::StartObservingCookieChanges(), 0);
+}
+
+void WebCookieManagerProxy::stopObservingCookieChanges()
+{
+ ASSERT(m_webContext);
+ if (!m_webContext->hasValidProcess())
+ return;
+ m_webContext->process()->send(Messages::WebCookieManager::StopObservingCookieChanges(), 0);
+}
+
+void WebCookieManagerProxy::cookiesDidChange()
+{
+ m_client.cookiesDidChange(this);
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/WebCookieManagerProxy.h b/Source/WebKit2/UIProcess/WebCookieManagerProxy.h
new file mode 100644
index 0000000..9d63265
--- /dev/null
+++ b/Source/WebKit2/UIProcess/WebCookieManagerProxy.h
@@ -0,0 +1,89 @@
+/*
+ * 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 WebCookieManagerProxy_h
+#define WebCookieManagerProxy_h
+
+#include "APIObject.h"
+#include "GenericCallback.h"
+#include "ImmutableArray.h"
+#include "WebCookieManagerProxyClient.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
+#include <wtf/Vector.h>
+
+namespace CoreIPC {
+ class ArgumentDecoder;
+ class Connection;
+ class MessageID;
+}
+
+namespace WebKit {
+
+class WebContext;
+
+typedef GenericCallback<WKArrayRef> ArrayCallback;
+
+class WebCookieManagerProxy : public APIObject {
+public:
+ static const Type APIType = TypeCookieManager;
+
+ static PassRefPtr<WebCookieManagerProxy> create(WebContext*);
+ virtual ~WebCookieManagerProxy();
+
+ void invalidate();
+ void clearContext() { m_webContext = 0; }
+
+ void initializeClient(const WKCookieManagerClient*);
+
+ void getHostnamesWithCookies(PassRefPtr<ArrayCallback>);
+ void deleteCookiesForHostname(const String& hostname);
+ void deleteAllCookies();
+
+ void startObservingCookieChanges();
+ void stopObservingCookieChanges();
+
+ void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+
+private:
+ WebCookieManagerProxy(WebContext*);
+
+ virtual Type type() const { return APIType; }
+
+ void didGetHostnamesWithCookies(const Vector<String>&, uint64_t callbackID);
+
+ void cookiesDidChange();
+
+ void didReceiveWebCookieManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+
+ WebContext* m_webContext;
+ HashMap<uint64_t, RefPtr<ArrayCallback> > m_arrayCallbacks;
+
+ WebCookieManagerProxyClient m_client;
+};
+
+} // namespace WebKit
+
+#endif // WebCookieManagerProxy_h
diff --git a/Source/WebKit2/UIProcess/WebCookieManagerProxy.messages.in b/Source/WebKit2/UIProcess/WebCookieManagerProxy.messages.in
new file mode 100644
index 0000000..808b4c7
--- /dev/null
+++ b/Source/WebKit2/UIProcess/WebCookieManagerProxy.messages.in
@@ -0,0 +1,27 @@
+# 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.
+
+messages -> WebCookieManagerProxy {
+ DidGetHostnamesWithCookies(Vector<WTF::String> hostnames, uint64_t callbackID);
+
+ CookiesDidChange()
+}
diff --git a/Source/WebKit2/UIProcess/WebCookieManagerProxyClient.cpp b/Source/WebKit2/UIProcess/WebCookieManagerProxyClient.cpp
new file mode 100644
index 0000000..da5512d
--- /dev/null
+++ b/Source/WebKit2/UIProcess/WebCookieManagerProxyClient.cpp
@@ -0,0 +1,41 @@
+/*
+ * 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 "WebCookieManagerProxyClient.h"
+
+#include "WKAPICast.h"
+
+namespace WebKit {
+
+void WebCookieManagerProxyClient::cookiesDidChange(WebCookieManagerProxy* cookieManager)
+{
+ if (!m_client.cookiesDidChange)
+ return;
+
+ m_client.cookiesDidChange(toAPI(cookieManager), m_client.clientInfo);
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/WebCookieManagerProxyClient.h b/Source/WebKit2/UIProcess/WebCookieManagerProxyClient.h
new file mode 100644
index 0000000..aea6bf9
--- /dev/null
+++ b/Source/WebKit2/UIProcess/WebCookieManagerProxyClient.h
@@ -0,0 +1,44 @@
+/*
+ * 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 WebCookieManagerProxyClient_h
+#define WebCookieManagerProxyClient_h
+
+#include "APIClient.h"
+#include "WKCookieManager.h"
+#include <wtf/Forward.h>
+
+namespace WebKit {
+
+class WebCookieManagerProxy;
+
+class WebCookieManagerProxyClient : public APIClient<WKCookieManagerClient> {
+public:
+ void cookiesDidChange(WebCookieManagerProxy*);
+};
+
+} // namespace WebKit
+
+#endif // WebCookieManagerProxyClient_h
diff --git a/Source/WebKit2/UIProcess/WebInspectorProxy.cpp b/Source/WebKit2/UIProcess/WebInspectorProxy.cpp
index 2b282a1..b971315 100644
--- a/Source/WebKit2/UIProcess/WebInspectorProxy.cpp
+++ b/Source/WebKit2/UIProcess/WebInspectorProxy.cpp
@@ -38,8 +38,7 @@
#include "WebView.h"
#endif
-#define DISABLE_NOT_IMPLEMENTED_WARNINGS 1
-#include "NotImplemented.h"
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
@@ -196,6 +195,11 @@ void WebInspectorProxy::didClose()
m_isVisible = false;
}
+void WebInspectorProxy::inspectedURLChanged(const String& urlString)
+{
+ platformInspectedURLChanged(urlString);
+}
+
} // namespace WebKit
#endif // ENABLE(INSPECTOR)
diff --git a/Source/WebKit2/UIProcess/WebInspectorProxy.h b/Source/WebKit2/UIProcess/WebInspectorProxy.h
index ac618c6..715b27d 100644
--- a/Source/WebKit2/UIProcess/WebInspectorProxy.h
+++ b/Source/WebKit2/UIProcess/WebInspectorProxy.h
@@ -103,6 +103,7 @@ private:
WebPageProxy* platformCreateInspectorPage();
void platformOpen();
void platformClose();
+ void platformInspectedURLChanged(const String&);
// Implemented the platform WebInspectorProxy file
String inspectorPageURL() const;
@@ -111,6 +112,7 @@ private:
void createInspectorPage(uint64_t& inspectorPageID, WebPageCreationParameters&);
void didLoadInspectorPage();
void didClose();
+ void inspectedURLChanged(const String&);
static WebPageGroup* inspectorPageGroup();
diff --git a/Source/WebKit2/UIProcess/WebInspectorProxy.messages.in b/Source/WebKit2/UIProcess/WebInspectorProxy.messages.in
index cc10248..5f452b4 100644
--- a/Source/WebKit2/UIProcess/WebInspectorProxy.messages.in
+++ b/Source/WebKit2/UIProcess/WebInspectorProxy.messages.in
@@ -26,6 +26,7 @@ messages -> WebInspectorProxy {
CreateInspectorPage() -> (uint64_t inspectorPageID, WebKit::WebPageCreationParameters inspectorPageParameters)
DidLoadInspectorPage()
DidClose()
+ InspectedURLChanged(WTF::String urlString)
}
#endif
diff --git a/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp b/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp
new file mode 100644
index 0000000..dafa613
--- /dev/null
+++ b/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp
@@ -0,0 +1,100 @@
+/*
+ * 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 "WebKeyValueStorageManagerProxy.h"
+
+#include "SecurityOriginData.h"
+#include "WebKeyValueStorageManagerMessages.h"
+#include "WebContext.h"
+#include "WebSecurityOrigin.h"
+
+namespace WebKit {
+
+PassRefPtr<WebKeyValueStorageManagerProxy> WebKeyValueStorageManagerProxy::create(WebContext* context)
+{
+ return adoptRef(new WebKeyValueStorageManagerProxy(context));
+}
+
+WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy(WebContext* context)
+ : m_webContext(context)
+{
+}
+
+WebKeyValueStorageManagerProxy::~WebKeyValueStorageManagerProxy()
+{
+}
+
+void WebKeyValueStorageManagerProxy::invalidate()
+{
+ invalidateCallbackMap(m_arrayCallbacks);
+}
+
+void WebKeyValueStorageManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
+{
+ didReceiveWebKeyValueStorageManagerProxyMessage(connection, messageID, arguments);
+}
+
+void WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins(PassRefPtr<ArrayCallback> prpCallback)
+{
+ RefPtr<ArrayCallback> callback = prpCallback;
+ if (!m_webContext->hasValidProcess()) {
+ callback->invalidate();
+ return;
+ }
+
+ uint64_t callbackID = callback->callbackID();
+ m_arrayCallbacks.set(callbackID, callback.release());
+ m_webContext->process()->send(Messages::WebKeyValueStorageManager::GetKeyValueStorageOrigins(callbackID), 0);
+}
+
+void WebKeyValueStorageManagerProxy::didGetKeyValueStorageOrigins(const Vector<SecurityOriginData>& originDatas, uint64_t callbackID)
+{
+ RefPtr<ArrayCallback> callback = m_arrayCallbacks.take(callbackID);
+ performAPICallbackWithSecurityOriginDataVector(originDatas, callback.get());
+}
+
+void WebKeyValueStorageManagerProxy::deleteEntriesForOrigin(WebSecurityOrigin* origin)
+{
+ if (!m_webContext->hasValidProcess())
+ return;
+
+ SecurityOriginData securityOriginData;
+ securityOriginData.protocol = origin->protocol();
+ securityOriginData.host = origin->host();
+ securityOriginData.port = origin->port();
+
+ m_webContext->process()->send(Messages::WebKeyValueStorageManager::DeleteEntriesForOrigin(securityOriginData), 0);
+}
+
+void WebKeyValueStorageManagerProxy::deleteAllEntries()
+{
+ if (!m_webContext->hasValidProcess())
+ return;
+
+ m_webContext->process()->send(Messages::WebKeyValueStorageManager::DeleteAllEntries(), 0);
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h b/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h
new file mode 100644
index 0000000..1c5ea3a
--- /dev/null
+++ b/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h
@@ -0,0 +1,82 @@
+/*
+ * 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 WebKeyValueStorageManagerProxy_h
+#define WebKeyValueStorageManagerProxy_h
+
+#include "APIObject.h"
+#include "GenericCallback.h"
+#include "ImmutableArray.h"
+
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
+#include <wtf/Vector.h>
+
+namespace CoreIPC {
+ class ArgumentDecoder;
+ class Connection;
+ class MessageID;
+}
+
+namespace WebKit {
+
+struct SecurityOriginData;
+class WebContext;
+class WebSecurityOrigin;
+
+typedef GenericCallback<WKArrayRef> ArrayCallback;
+
+class WebKeyValueStorageManagerProxy : public APIObject {
+public:
+ static const Type APIType = TypeKeyValueStorageManager;
+
+ static PassRefPtr<WebKeyValueStorageManagerProxy> create(WebContext*);
+ virtual ~WebKeyValueStorageManagerProxy();
+
+ void invalidate();
+ void clearContext() { m_webContext = 0; }
+
+ void getKeyValueStorageOrigins(PassRefPtr<ArrayCallback>);
+ void deleteEntriesForOrigin(WebSecurityOrigin*);
+ void deleteAllEntries();
+
+ void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+
+private:
+ WebKeyValueStorageManagerProxy(WebContext*);
+
+ virtual Type type() const { return APIType; }
+
+ void didGetKeyValueStorageOrigins(const Vector<SecurityOriginData>&, uint64_t callbackID);
+
+ void didReceiveWebKeyValueStorageManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+
+ WebContext* m_webContext;
+ HashMap<uint64_t, RefPtr<ArrayCallback> > m_arrayCallbacks;
+};
+
+} // namespace WebKit
+
+#endif // WebKeyValueStorageManagerProxy_h
diff --git a/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.messages.in b/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.messages.in
new file mode 100644
index 0000000..b76389a
--- /dev/null
+++ b/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.messages.in
@@ -0,0 +1,25 @@
+# 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.
+
+messages -> WebKeyValueStorageManagerProxy {
+ DidGetKeyValueStorageOrigins(Vector<WebKit::SecurityOriginData> originIdentifiers, uint64_t callbackID);
+}
diff --git a/Source/WebKit2/UIProcess/WebLoaderClient.cpp b/Source/WebKit2/UIProcess/WebLoaderClient.cpp
index 96adb85..8d7d6f8 100644
--- a/Source/WebKit2/UIProcess/WebLoaderClient.cpp
+++ b/Source/WebKit2/UIProcess/WebLoaderClient.cpp
@@ -223,4 +223,12 @@ void WebLoaderClient::didChangeBackForwardList(WebPageProxy* page, WebBackForwar
m_client.didChangeBackForwardList(toAPI(page), toAPI(addedItem), toAPI(removedItemsArray.get()), m_client.clientInfo);
}
+bool WebLoaderClient::shouldGoToBackForwardListItem(WebPageProxy* page, WebBackForwardListItem* item)
+{
+ if (!m_client.shouldGoToBackForwardListItem)
+ return true;
+
+ return m_client.shouldGoToBackForwardListItem(toAPI(page), toAPI(item), m_client.clientInfo);
+}
+
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/WebLoaderClient.h b/Source/WebKit2/UIProcess/WebLoaderClient.h
index 6600876..eb5d568 100644
--- a/Source/WebKit2/UIProcess/WebLoaderClient.h
+++ b/Source/WebKit2/UIProcess/WebLoaderClient.h
@@ -77,6 +77,7 @@ public:
void processDidCrash(WebPageProxy*);
void didChangeBackForwardList(WebPageProxy*, WebBackForwardListItem* addedItem, Vector<RefPtr<APIObject> >* removedItems);
+ bool shouldGoToBackForwardListItem(WebPageProxy*, WebBackForwardListItem*);
};
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/WebPageGroup.cpp b/Source/WebKit2/UIProcess/WebPageGroup.cpp
index aa4cfb7..f64dd2c 100644
--- a/Source/WebKit2/UIProcess/WebPageGroup.cpp
+++ b/Source/WebKit2/UIProcess/WebPageGroup.cpp
@@ -43,7 +43,7 @@ typedef HashMap<uint64_t, WebPageGroup*> WebPageGroupMap;
static WebPageGroupMap& webPageGroupMap()
{
- static WebPageGroupMap map;
+ DEFINE_STATIC_LOCAL(WebPageGroupMap, map, ());
return map;
}
diff --git a/Source/WebKit2/UIProcess/WebPageProxy.cpp b/Source/WebKit2/UIProcess/WebPageProxy.cpp
index 2582547..3813a39 100644
--- a/Source/WebKit2/UIProcess/WebPageProxy.cpp
+++ b/Source/WebKit2/UIProcess/WebPageProxy.cpp
@@ -60,12 +60,21 @@
#include "WebPopupItem.h"
#include "WebPopupMenuProxy.h"
#include "WebPreferences.h"
-#include "WebProcessManager.h"
#include "WebProcessMessages.h"
#include "WebProcessProxy.h"
#include "WebProtectionSpace.h"
#include "WebSecurityOrigin.h"
#include "WebURLRequest.h"
+#include <WebCore/DragData.h>
+#include <WebCore/FloatRect.h>
+#include <WebCore/MIMETypeRegistry.h>
+#include <WebCore/WindowFeatures.h>
+#include <stdio.h>
+
+#if PLATFORM(MAC)
+#include "DictionaryPopupInfo.h"
+#endif
+
#if PLATFORM(WIN)
#include "WebDragSource.h"
#include <WebCore/BitmapInfo.h>
@@ -73,11 +82,6 @@
#include <WebCore/WCDataObject.h>
#include <shlobj.h>
#endif
-#include <WebCore/DragData.h>
-#include <WebCore/FloatRect.h>
-#include <WebCore/MIMETypeRegistry.h>
-#include <WebCore/WindowFeatures.h>
-#include <stdio.h>
#ifndef NDEBUG
#include <wtf/RefCountedLeakCounter.h>
@@ -92,6 +96,8 @@ using namespace WebCore;
namespace WebKit {
+WKPageDebugPaintFlags WebPageProxy::s_debugPaintFlags = 0;
+
#ifndef NDEBUG
static WTF::RefCountedLeakCounter webPageProxyCounter("WebPageProxy");
#endif
@@ -117,6 +123,7 @@ WebPageProxy::WebPageProxy(PageClient* pageClient, WebContext* context, WebPageG
, m_viewScaleFactor(1)
, m_drawsBackground(true)
, m_drawsTransparentBackground(false)
+ , m_areMemoryCacheClientCallsEnabled(true)
, m_useFixedLayout(false)
, m_isValid(true)
, m_isClosed(false)
@@ -129,6 +136,7 @@ WebPageProxy::WebPageProxy(PageClient* pageClient, WebContext* context, WebPageG
, m_inDecidePolicyForNavigationAction(false)
, m_syncNavigationActionPolicyActionIsValid(false)
, m_syncNavigationActionPolicyAction(PolicyUse)
+ , m_syncNavigationActionPolicyDownloadID(0)
, m_processingWheelEvent(false)
, m_processingMouseMoveEvent(false)
, m_pageID(pageID)
@@ -142,6 +150,8 @@ WebPageProxy::WebPageProxy(PageClient* pageClient, WebContext* context, WebPageG
, m_currentDragOperation(DragOperationNone)
, m_mainFrameHasHorizontalScrollbar(false)
, m_mainFrameHasVerticalScrollbar(false)
+ , m_mainFrameIsPinnedToLeftSide(false)
+ , m_mainFrameIsPinnedToRightSide(false)
{
#ifndef NDEBUG
webPageProxyCounter.increment();
@@ -211,6 +221,9 @@ void WebPageProxy::initializeResourceLoadClient(const WKPageResourceLoadClient*
void WebPageProxy::initializeUIClient(const WKPageUIClient* client)
{
m_uiClient.initialize(client);
+
+ process()->send(Messages::WebPage::SetCanRunBeforeUnloadConfirmPanel(m_uiClient.canRunBeforeUnloadConfirmPanel()), m_pageID);
+ process()->send(Messages::WebPage::SetCanRunModal(m_uiClient.canRunModal()), m_pageID);
}
void WebPageProxy::initializeFindClient(const WKPageFindClient* client)
@@ -296,9 +309,13 @@ void WebPageProxy::close()
m_mainFrameHasHorizontalScrollbar = false;
m_mainFrameHasVerticalScrollbar = false;
+ m_mainFrameIsPinnedToLeftSide = false;
+ m_mainFrameIsPinnedToRightSide = false;
+
invalidateCallbackMap(m_voidCallbacks);
invalidateCallbackMap(m_dataCallbacks);
invalidateCallbackMap(m_stringCallbacks);
+ invalidateCallbackMap(m_scriptValueCallbacks);
invalidateCallbackMap(m_computedPagesCallbacks);
Vector<WebEditCommandProxy*> editCommandVector;
@@ -466,6 +483,8 @@ void WebPageProxy::goToBackForwardItem(WebBackForwardListItem* item)
reattachToWebProcessWithItem(item);
return;
}
+
+ setPendingAPIRequestURL(item->url());
SandboxExtension::Handle sandboxExtensionHandle;
initializeSandboxExtensionHandle(KURL(KURL(), item->url()), sandboxExtensionHandle);
@@ -477,6 +496,11 @@ void WebPageProxy::didChangeBackForwardList(WebBackForwardListItem* added, Vecto
m_loaderClient.didChangeBackForwardList(this, added, removed);
}
+void WebPageProxy::shouldGoToBackForwardListItem(uint64_t itemID, bool& shouldGoToBackForwardItem)
+{
+ WebBackForwardListItem* item = process()->webBackForwardItem(itemID);
+ shouldGoToBackForwardItem = item && m_loaderClient.shouldGoToBackForwardListItem(this, item);
+}
bool WebPageProxy::canShowMIMEType(const String& mimeType) const
{
@@ -589,11 +613,16 @@ void WebPageProxy::setWindowResizerSize(const IntSize& windowResizerSize)
process()->send(Messages::WebPage::SetWindowResizerSize(windowResizerSize), m_pageID);
}
-void WebPageProxy::validateMenuItem(const String& commandName)
+void WebPageProxy::validateCommand(const String& commandName, PassRefPtr<ValidateCommandCallback> callback)
{
- if (!isValid())
+ if (!isValid()) {
+ callback->invalidate();
return;
- process()->send(Messages::WebPage::ValidateMenuItem(commandName), m_pageID);
+ }
+
+ uint64_t callbackID = callback->callbackID();
+ m_validateCommandCallbacks.set(callbackID, callback.get());
+ process()->send(Messages::WebPage::ValidateCommand(commandName, callbackID), m_pageID);
}
void WebPageProxy::executeEditCommand(const String& commandName)
@@ -638,6 +667,14 @@ WebCore::IntRect WebPageProxy::firstRectForCharacterRange(uint64_t location, uin
process()->sendSync(Messages::WebPage::FirstRectForCharacterRange(location, length), Messages::WebPage::FirstRectForCharacterRange::Reply(resultRect), m_pageID);
return resultRect;
}
+
+bool WebPageProxy::writeSelectionToPasteboard(const String& pasteboardName, const Vector<String>& pasteboardTypes)
+{
+ bool result;
+ const double MessageTimeout = 20;
+ process()->sendSync(Messages::WebPage::WriteSelectionToPasteboard(pasteboardName, pasteboardTypes), Messages::WebPage::WriteSelectionToPasteboard::Reply(result), m_pageID, MessageTimeout);
+ return result;
+}
#elif PLATFORM(WIN)
WebCore::IntRect WebPageProxy::firstRectForCharacterInSelectedRange(int characterPosition)
{
@@ -868,6 +905,7 @@ void WebPageProxy::receivedPolicyDecision(PolicyAction action, WebFrameProxy* fr
if (m_inDecidePolicyForNavigationAction) {
m_syncNavigationActionPolicyActionIsValid = true;
m_syncNavigationActionPolicyAction = action;
+ m_syncNavigationActionPolicyDownloadID = downloadID;
return;
}
@@ -946,7 +984,7 @@ void WebPageProxy::terminateProcess()
process()->terminate();
}
-#if !PLATFORM(CF) || defined(BUILDING_QT__)
+#if !USE(CF) || defined(BUILDING_QT__)
PassRefPtr<WebData> WebPageProxy::sessionStateData(WebPageProxySessionStateFilterCallback, void* context) const
{
// FIXME: Return session state data for saving Page state.
@@ -1065,6 +1103,15 @@ void WebPageProxy::viewScaleFactorDidChange(double scaleFactor)
m_viewScaleFactor = scaleFactor;
}
+void WebPageProxy::setMemoryCacheClientCallsEnabled(bool memoryCacheClientCallsEnabled)
+{
+ if (m_areMemoryCacheClientCallsEnabled == memoryCacheClientCallsEnabled)
+ return;
+
+ m_areMemoryCacheClientCallsEnabled = memoryCacheClientCallsEnabled;
+ process()->send(Messages::WebPage::SetMemoryCacheMessagesEnabled(memoryCacheClientCallsEnabled), m_pageID);
+}
+
void WebPageProxy::findString(const String& string, FindOptions options, unsigned maxMatchCount)
{
process()->send(Messages::WebPage::FindString(string, options, maxMatchCount), m_pageID);
@@ -1079,12 +1126,12 @@ void WebPageProxy::countStringMatches(const String& string, FindOptions options,
{
process()->send(Messages::WebPage::CountStringMatches(string, options, maxMatchCount), m_pageID);
}
-
-void WebPageProxy::runJavaScriptInMainFrame(const String& script, PassRefPtr<StringCallback> prpCallback)
+
+void WebPageProxy::runJavaScriptInMainFrame(const String& script, PassRefPtr<ScriptValueCallback> prpCallback)
{
- RefPtr<StringCallback> callback = prpCallback;
+ RefPtr<ScriptValueCallback> callback = prpCallback;
uint64_t callbackID = callback->callbackID();
- m_stringCallbacks.set(callbackID, callback.get());
+ m_scriptValueCallbacks.set(callbackID, callback.get());
process()->send(Messages::WebPage::RunJavaScriptInMainFrame(script, callbackID), m_pageID);
}
@@ -1158,6 +1205,16 @@ void WebPageProxy::forceRepaint(PassRefPtr<VoidCallback> prpCallback)
process()->send(Messages::WebPage::ForceRepaint(callbackID), m_pageID);
}
+#if PLATFORM(MAC)
+void WebPageProxy::performDictionaryLookupAtLocation(const WebCore::FloatPoint& point)
+{
+ if (!isValid())
+ return;
+
+ process()->send(Messages::WebPage::PerformDictionaryLookupAtLocation(point), m_pageID);
+}
+#endif
+
void WebPageProxy::preferencesDidChange()
{
if (!isValid())
@@ -1166,7 +1223,9 @@ void WebPageProxy::preferencesDidChange()
// FIXME: It probably makes more sense to send individual preference changes.
// However, WebKitTestRunner depends on getting a preference change notification
// even if nothing changed in UI process, so that overrides get removed.
- process()->send(Messages::WebPage::PreferencesDidChange(pageGroup()->preferences()->store()), m_pageID);
+
+ // Preferences need to be updated during synchronous printing to make "print backgrounds" preference work when toggled from a print dialog checkbox.
+ process()->send(Messages::WebPage::PreferencesDidChange(pageGroup()->preferences()->store()), m_pageID, m_isPerformingDOMPrintOperation ? CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply : 0);
}
#if ENABLE(TILED_BACKING_STORE)
@@ -1203,11 +1262,6 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M
void WebPageProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, CoreIPC::ArgumentEncoder* reply)
{
- if (messageID.is<CoreIPC::MessageClassDrawingAreaProxyLegacy>()) {
- m_drawingArea->didReceiveSyncMessage(connection, messageID, arguments, reply);
- return;
- }
-
#if ENABLE(INSPECTOR)
if (messageID.is<CoreIPC::MessageClassWebInspectorProxy>()) {
if (WebInspectorProxy* inspector = this->inspector())
@@ -1548,7 +1602,7 @@ void WebPageProxy::frameDidBecomeFrameSet(uint64_t frameID, bool value)
}
// PolicyClient
-void WebPageProxy::decidePolicyForNavigationAction(uint64_t frameID, uint32_t opaqueNavigationType, uint32_t opaqueModifiers, int32_t opaqueMouseButton, const ResourceRequest& request, uint64_t listenerID, CoreIPC::ArgumentDecoder* arguments, bool& receivedPolicyAction, uint64_t& policyAction)
+void WebPageProxy::decidePolicyForNavigationAction(uint64_t frameID, uint32_t opaqueNavigationType, uint32_t opaqueModifiers, int32_t opaqueMouseButton, const ResourceRequest& request, uint64_t listenerID, CoreIPC::ArgumentDecoder* arguments, bool& receivedPolicyAction, uint64_t& policyAction, uint64_t& downloadID)
{
RefPtr<APIObject> userData;
WebContextUserMessageDecoder messageDecoder(userData, context());
@@ -1578,9 +1632,10 @@ void WebPageProxy::decidePolicyForNavigationAction(uint64_t frameID, uint32_t op
m_inDecidePolicyForNavigationAction = false;
// Check if we received a policy decision already. If we did, we can just pass it back.
+ receivedPolicyAction = m_syncNavigationActionPolicyActionIsValid;
if (m_syncNavigationActionPolicyActionIsValid) {
- receivedPolicyAction = true;
policyAction = m_syncNavigationActionPolicyAction;
+ downloadID = m_syncNavigationActionPolicyDownloadID;
}
}
@@ -1603,7 +1658,7 @@ void WebPageProxy::decidePolicyForNewWindowAction(uint64_t frameID, uint32_t opa
listener->use();
}
-void WebPageProxy::decidePolicyForMIMEType(uint64_t frameID, const String& MIMEType, const ResourceRequest& request, uint64_t listenerID, CoreIPC::ArgumentDecoder* arguments, bool& receivedPolicyAction, uint64_t& policyAction, uint64_t& downloadID)
+void WebPageProxy::decidePolicyForResponse(uint64_t frameID, const ResourceResponse& response, const ResourceRequest& request, uint64_t listenerID, CoreIPC::ArgumentDecoder* arguments, bool& receivedPolicyAction, uint64_t& policyAction, uint64_t& downloadID)
{
RefPtr<APIObject> userData;
WebContextUserMessageDecoder messageDecoder(userData, context());
@@ -1620,19 +1675,32 @@ void WebPageProxy::decidePolicyForMIMEType(uint64_t frameID, const String& MIMET
m_inDecidePolicyForMIMEType = true;
m_syncMimeTypePolicyActionIsValid = false;
- if (!m_policyClient.decidePolicyForMIMEType(this, frame, MIMEType, request, listener.get(), 0 /*userData*/))
+ if (!m_policyClient.decidePolicyForResponse(this, frame, response, request, listener.get(), userData.get()))
listener->use();
m_inDecidePolicyForMIMEType = false;
// Check if we received a policy decision already. If we did, we can just pass it back.
+ receivedPolicyAction = m_syncMimeTypePolicyActionIsValid;
if (m_syncMimeTypePolicyActionIsValid) {
- receivedPolicyAction = true;
policyAction = m_syncMimeTypePolicyAction;
downloadID = m_syncMimeTypePolicyDownloadID;
}
}
+void WebPageProxy::unableToImplementPolicy(uint64_t frameID, const WebCore::ResourceError& error, CoreIPC::ArgumentDecoder* arguments)
+{
+ RefPtr<APIObject> userData;
+ WebContextUserMessageDecoder messageDecoder(userData, context());
+ if (!arguments->decode(messageDecoder))
+ return;
+
+ WebFrameProxy* frame = process()->webFrame(frameID);
+ MESSAGE_CHECK(frame);
+
+ m_policyClient.unableToImplementPolicy(this, frame, error, userData.get());
+}
+
// FormClient
void WebPageProxy::willSubmitForm(uint64_t frameID, uint64_t sourceFrameID, const StringPairVector& textFieldValues, uint64_t listenerID, CoreIPC::ArgumentDecoder* arguments)
@@ -1766,9 +1834,9 @@ void WebPageProxy::mouseDidMoveOverElement(uint32_t opaqueModifiers, CoreIPC::Ar
m_uiClient.mouseDidMoveOverElement(this, modifiers, userData.get());
}
-void WebPageProxy::missingPluginButtonClicked(const String& mimeType, const String& url)
+void WebPageProxy::missingPluginButtonClicked(const String& mimeType, const String& url, const String& pluginsPageURL)
{
- m_uiClient.missingPluginButtonClicked(this, mimeType, url);
+ m_uiClient.missingPluginButtonClicked(this, mimeType, url, pluginsPageURL);
}
void WebPageProxy::setToolbarsAreVisible(bool toolbarsAreVisible)
@@ -1821,11 +1889,6 @@ void WebPageProxy::getWindowFrame(FloatRect& newWindowFrame)
newWindowFrame = m_pageClient->convertToUserSpace(m_uiClient.windowFrame(this));
}
-void WebPageProxy::canRunBeforeUnloadConfirmPanel(bool& canRun)
-{
- canRun = m_uiClient.canRunBeforeUnloadConfirmPanel();
-}
-
void WebPageProxy::runBeforeUnloadConfirmPanel(const String& message, uint64_t frameID, bool& shouldClose)
{
WebFrameProxy* frame = process()->webFrame(frameID);
@@ -2034,14 +2097,12 @@ void WebPageProxy::showPopupMenu(const IntRect& rect, uint64_t textDirection, co
m_activePopupMenu = m_pageClient->createPopupMenuProxy(this);
-#if PLATFORM(WIN)
- // On Windows, we're about to run our own message pump in showPopupMenu(), so turn off the responsiveness timer.
+ // Since showPopupMenu() can spin a nested run loop we need to turn off the responsiveness timer.
process()->responsivenessTimer()->stop();
-#endif
RefPtr<WebPopupMenuProxy> protectedActivePopupMenu = m_activePopupMenu;
- protectedActivePopupMenu->showPopupMenu(rect, static_cast<TextDirection>(textDirection), items, data, selectedIndex);
+ protectedActivePopupMenu->showPopupMenu(rect, static_cast<TextDirection>(textDirection), m_viewScaleFactor, items, data, selectedIndex);
protectedActivePopupMenu->invalidate();
protectedActivePopupMenu = 0;
}
@@ -2252,6 +2313,11 @@ void WebPageProxy::updateSpellingUIWithMisspelledWord(const String& misspelledWo
TextChecker::updateSpellingUIWithMisspelledWord(misspelledWord);
}
+void WebPageProxy::updateSpellingUIWithGrammarString(const String& badGrammarPhrase, const GrammarDetail& grammarDetail)
+{
+ TextChecker::updateSpellingUIWithGrammarString(badGrammarPhrase, grammarDetail);
+}
+
void WebPageProxy::getGuessesForWord(const String& word, const String& context, Vector<String>& guesses)
{
TextChecker::getGuessesForWord(spellDocumentTag(), word, context, guesses);
@@ -2292,11 +2358,6 @@ void WebPageProxy::setCursor(const WebCore::Cursor& cursor)
m_pageClient->setCursor(cursor);
}
-void WebPageProxy::didValidateMenuItem(const String& commandName, bool isEnabled, int32_t state)
-{
- m_pageClient->setEditCommandState(commandName, isEnabled, state);
-}
-
void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled)
{
WebEvent::Type type = static_cast<WebEvent::Type>(opaqueType);
@@ -2398,6 +2459,21 @@ void WebPageProxy::stringCallback(const String& resultString, uint64_t callbackI
callback->performCallbackWithReturnValue(resultString.impl());
}
+void WebPageProxy::scriptValueCallback(const CoreIPC::DataReference& dataReference, uint64_t callbackID)
+{
+ RefPtr<ScriptValueCallback> callback = m_scriptValueCallbacks.take(callbackID);
+ if (!callback) {
+ // FIXME: Log error or assert.
+ return;
+ }
+
+ Vector<uint8_t> data;
+ data.reserveInitialCapacity(dataReference.size());
+ data.append(dataReference.data(), dataReference.size());
+
+ callback->performCallbackWithReturnValue(data.size() ? WebSerializedScriptValue::adopt(data).get() : 0);
+}
+
void WebPageProxy::computedPagesCallback(const Vector<WebCore::IntRect>& pageRects, double totalScaleFactorForPrinting, uint64_t callbackID)
{
RefPtr<ComputedPagesCallback> callback = m_computedPagesCallbacks.take(callbackID);
@@ -2409,7 +2485,22 @@ void WebPageProxy::computedPagesCallback(const Vector<WebCore::IntRect>& pageRec
callback->performCallbackWithReturnValue(pageRects, totalScaleFactorForPrinting);
}
+void WebPageProxy::validateCommandCallback(const String& commandName, bool isEnabled, int state, uint64_t callbackID)
+{
+ RefPtr<ValidateCommandCallback> callback = m_validateCommandCallbacks.take(callbackID);
+ if (!callback) {
+ // FIXME: Log error or assert.
+ return;
+ }
+
+ callback->performCallbackWithReturnValue(commandName.impl(), isEnabled, state);
+}
+
#if PLATFORM(MAC)
+void WebPageProxy::didPerformDictionaryLookup(const String& text, const DictionaryPopupInfo& dictionaryPopupInfo)
+{
+ m_pageClient->didPerformDictionaryLookup(text, m_viewScaleFactor, dictionaryPopupInfo);
+}
void WebPageProxy::registerWebProcessAccessibilityToken(const CoreIPC::DataReference& data)
{
@@ -2451,18 +2542,6 @@ void WebPageProxy::frameSetLargestFrameChanged(uint64_t frameID)
m_frameSetLargestFrame = frame;
}
-#if USE(ACCELERATED_COMPOSITING)
-void WebPageProxy::didChangeAcceleratedCompositing(bool compositing, DrawingAreaInfo& drawingAreaInfo)
-{
- if (compositing)
- didEnterAcceleratedCompositing();
- else
- didLeaveAcceleratedCompositing();
-
- drawingAreaInfo = drawingArea()->info();
-}
-#endif
-
void WebPageProxy::processDidBecomeUnresponsive()
{
m_loaderClient.processDidBecomeUnresponsive(this);
@@ -2505,10 +2584,15 @@ void WebPageProxy::processDidCrash()
m_mainFrameHasHorizontalScrollbar = false;
m_mainFrameHasVerticalScrollbar = false;
+ m_mainFrameIsPinnedToLeftSide = false;
+ m_mainFrameIsPinnedToRightSide = false;
+
invalidateCallbackMap(m_voidCallbacks);
invalidateCallbackMap(m_dataCallbacks);
invalidateCallbackMap(m_stringCallbacks);
+ invalidateCallbackMap(m_scriptValueCallbacks);
invalidateCallbackMap(m_computedPagesCallbacks);
+ invalidateCallbackMap(m_validateCommandCallbacks);
Vector<WebEditCommandProxy*> editCommandVector;
copyToVector(m_editCommandSet, editCommandVector);
@@ -2536,16 +2620,18 @@ WebPageCreationParameters WebPageProxy::creationParameters() const
parameters.isFocused = m_pageClient->isViewFocused();
parameters.isVisible = m_pageClient->isViewVisible();
parameters.isInWindow = m_pageClient->isViewInWindow();
- parameters.drawingAreaInfo = m_drawingArea->info();
+ parameters.drawingAreaType = m_drawingArea->type();
parameters.store = m_pageGroup->preferences()->store();
parameters.pageGroupData = m_pageGroup->data();
parameters.drawsBackground = m_drawsBackground;
parameters.drawsTransparentBackground = m_drawsTransparentBackground;
+ parameters.areMemoryCacheClientCallsEnabled = m_areMemoryCacheClientCallsEnabled;
parameters.useFixedLayout = m_useFixedLayout;
parameters.fixedLayoutSize = m_fixedLayoutSize;
parameters.userAgent = userAgent();
parameters.sessionState = SessionState(m_backForwardList->entries(), m_backForwardList->currentIndex());
parameters.highestUsedBackForwardItemID = WebBackForwardListItem::highedUsedItemID();
+ parameters.canRunBeforeUnloadConfirmPanel = m_uiClient.canRunBeforeUnloadConfirmPanel();
parameters.canRunModal = m_uiClient.canRunModal();
#if PLATFORM(MAC)
@@ -2569,17 +2655,6 @@ void WebPageProxy::exitAcceleratedCompositingMode()
{
m_pageClient->exitAcceleratedCompositingMode();
}
-
-void WebPageProxy::didEnterAcceleratedCompositing()
-{
- m_pageClient->pageDidEnterAcceleratedCompositing();
-}
-
-void WebPageProxy::didLeaveAcceleratedCompositing()
-{
- m_pageClient->pageDidLeaveAcceleratedCompositing();
-}
-
#endif // USE(ACCELERATED_COMPOSITING)
void WebPageProxy::backForwardClear()
@@ -2662,9 +2737,15 @@ void WebPageProxy::didChangeScrollbarsForMainFrame(bool hasHorizontalScrollbar,
m_pageClient->didChangeScrollbarsForMainFrame();
}
-void WebPageProxy::didFinishLoadingDataForCustomRepresentation(const CoreIPC::DataReference& dataReference)
+void WebPageProxy::didChangeScrollOffsetPinningForMainFrame(bool pinnedToLeftSide, bool pinnedToRightSide)
+{
+ m_mainFrameIsPinnedToLeftSide = pinnedToLeftSide;
+ m_mainFrameIsPinnedToRightSide = pinnedToRightSide;
+}
+
+void WebPageProxy::didFinishLoadingDataForCustomRepresentation(const String& suggestedFilename, const CoreIPC::DataReference& dataReference)
{
- m_pageClient->didFinishLoadingDataForCustomRepresentation(dataReference);
+ m_pageClient->didFinishLoadingDataForCustomRepresentation(suggestedFilename, dataReference);
}
#if PLATFORM(MAC)
@@ -2710,7 +2791,7 @@ void WebPageProxy::computePagesForPrinting(WebFrameProxy* frame, const PrintInfo
process()->send(Messages::WebPage::ComputePagesForPrinting(frame->frameID(), printInfo, callbackID), m_pageID, m_isPerformingDOMPrintOperation ? CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply : 0);
}
-#if PLATFORM(MAC)
+#if PLATFORM(MAC) || PLATFORM(WIN)
void WebPageProxy::drawRectToPDF(WebFrameProxy* frame, const IntRect& rect, PassRefPtr<DataCallback> callback)
{
uint64_t callbackID = callback->callbackID();
@@ -2726,4 +2807,19 @@ void WebPageProxy::drawPagesToPDF(WebFrameProxy* frame, uint32_t first, uint32_t
}
#endif
+void WebPageProxy::flashBackingStoreUpdates(const Vector<IntRect>& updateRects)
+{
+ m_pageClient->flashBackingStoreUpdates(updateRects);
+}
+
+Color WebPageProxy::viewUpdatesFlashColor()
+{
+ return Color(0, 200, 255);
+}
+
+Color WebPageProxy::backingStoreUpdatesFlashColor()
+{
+ return Color(200, 0, 255);
+}
+
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/WebPageProxy.h b/Source/WebKit2/UIProcess/WebPageProxy.h
index 46aa240..ce56cea 100644
--- a/Source/WebKit2/UIProcess/WebPageProxy.h
+++ b/Source/WebKit2/UIProcess/WebPageProxy.h
@@ -35,6 +35,7 @@
#include "SelectionState.h"
#include "SharedMemory.h"
#include "WKBase.h"
+#include "WKPagePrivate.h"
#include "WebContextMenuItemData.h"
#include "WebEvent.h"
#include "WebFindClient.h"
@@ -101,6 +102,7 @@ class WebProcessProxy;
class WebURLRequest;
class WebWheelEvent;
struct ContextMenuState;
+struct DictionaryPopupInfo;
struct PlatformPopupMenuData;
struct PrintInfo;
struct WebPageCreationParameters;
@@ -111,6 +113,52 @@ class WebGestureEvent;
#endif
typedef GenericCallback<WKStringRef, StringImpl*> StringCallback;
+typedef GenericCallback<WKSerializedScriptValueRef, WebSerializedScriptValue*> ScriptValueCallback;
+
+// FIXME: Make a version of CallbackBase with three arguments, and define ValidateCommandCallback as a specialization.
+class ValidateCommandCallback : public CallbackBase {
+public:
+ typedef void (*CallbackFunction)(WKStringRef, bool, int32_t, WKErrorRef, void*);
+
+ static PassRefPtr<ValidateCommandCallback> create(void* context, CallbackFunction callback)
+ {
+ return adoptRef(new ValidateCommandCallback(context, callback));
+ }
+
+ virtual ~ValidateCommandCallback()
+ {
+ ASSERT(!m_callback);
+ }
+
+ void performCallbackWithReturnValue(StringImpl* returnValue1, bool returnValue2, int returnValue3)
+ {
+ ASSERT(m_callback);
+
+ m_callback(toAPI(returnValue1), returnValue2, returnValue3, 0, context());
+
+ m_callback = 0;
+ }
+
+ void invalidate()
+ {
+ ASSERT(m_callback);
+
+ RefPtr<WebError> error = WebError::create();
+ m_callback(0, 0, 0, toAPI(error.get()), context());
+
+ m_callback = 0;
+ }
+
+private:
+
+ ValidateCommandCallback(void* context, CallbackFunction callback)
+ : CallbackBase(context)
+ , m_callback(callback)
+ {
+ }
+
+ CallbackFunction m_callback;
+};
class WebPageProxy : public APIObject, public WebPopupMenuProxy::Client {
public:
@@ -164,6 +212,7 @@ public:
void goToBackForwardItem(WebBackForwardListItem*);
void didChangeBackForwardList(WebBackForwardListItem* addedItem, Vector<RefPtr<APIObject> >* removedItems);
+ void shouldGoToBackForwardListItem(uint64_t itemID, bool& shouldGoToBackForwardListItem);
bool canShowMIMEType(const String& mimeType) const;
@@ -196,9 +245,12 @@ public:
bool isViewVisible() const { return m_isVisible; }
void executeEditCommand(const String& commandName);
- void validateMenuItem(const String& commandName);
+ void validateCommand(const String& commandName, PassRefPtr<ValidateCommandCallback>);
const SelectionState& selectionState() const { return m_selectionState; }
+ bool canDelete() const { return hasSelectedRange() && isContentEditable(); }
+ bool hasSelectedRange() const { return m_selectionState.selectedRangeLength; }
+ bool isContentEditable() const { return m_selectionState.isContentEditable; }
#if PLATFORM(MAC)
void updateWindowIsVisible(bool windowIsVisible);
@@ -270,15 +322,21 @@ public:
bool hasHorizontalScrollbar() const { return m_mainFrameHasHorizontalScrollbar; }
bool hasVerticalScrollbar() const { return m_mainFrameHasVerticalScrollbar; }
+ bool isPinnedToLeftSide() const { return m_mainFrameIsPinnedToLeftSide; }
+ bool isPinnedToRightSide() const { return m_mainFrameIsPinnedToRightSide; }
+
#if PLATFORM(MAC)
// Called by the web process through a message.
void registerWebProcessAccessibilityToken(const CoreIPC::DataReference&);
// Called by the UI process when it is ready to send its tokens to the web process.
void registerUIProcessAccessibilityTokens(const CoreIPC::DataReference& elemenToken, const CoreIPC::DataReference& windowToken);
+ bool writeSelectionToPasteboard(const String& pasteboardName, const Vector<String>& pasteboardTypes);
#endif
void viewScaleFactorDidChange(double);
+ void setMemoryCacheClientCallsEnabled(bool);
+
// Find.
void findString(const String&, FindOptions, unsigned maxMatchCount);
void hideFindUI();
@@ -291,9 +349,9 @@ public:
void getSelectionOrContentsAsString(PassRefPtr<StringCallback>);
void getSourceForFrame(WebFrameProxy*, PassRefPtr<StringCallback>);
void getWebArchiveOfFrame(WebFrameProxy*, PassRefPtr<DataCallback>);
- void runJavaScriptInMainFrame(const String&, PassRefPtr<StringCallback>);
+ void runJavaScriptInMainFrame(const String&, PassRefPtr<ScriptValueCallback>);
void forceRepaint(PassRefPtr<VoidCallback>);
-
+
float headerHeight(WebFrameProxy*);
float footerHeight(WebFrameProxy*);
void drawHeader(WebFrameProxy*, const WebCore::FloatRect&);
@@ -301,6 +359,9 @@ public:
#if PLATFORM(MAC)
void setAutodisplay(bool);
+
+ // Dictionary.
+ void performDictionaryLookupAtLocation(const WebCore::FloatPoint&);
#endif
void receivedPolicyDecision(WebCore::PolicyAction, WebFrameProxy*, uint64_t listenerID);
@@ -329,11 +390,6 @@ public:
virtual void exitAcceleratedCompositingMode();
#endif
-#if USE(ACCELERATED_COMPOSITING)
- void didEnterAcceleratedCompositing();
- void didLeaveAcceleratedCompositing();
-#endif
-
void didDraw();
enum UndoOrRedo { Undo, Redo };
@@ -389,13 +445,23 @@ public:
void beginPrinting(WebFrameProxy*, const PrintInfo&);
void endPrinting();
void computePagesForPrinting(WebFrameProxy*, const PrintInfo&, PassRefPtr<ComputedPagesCallback>);
-#if PLATFORM(MAC)
+#if PLATFORM(MAC) || PLATFORM(WIN)
void drawRectToPDF(WebFrameProxy*, const WebCore::IntRect&, PassRefPtr<DataCallback>);
void drawPagesToPDF(WebFrameProxy*, uint32_t first, uint32_t count, PassRefPtr<DataCallback>);
#endif
const String& pendingAPIRequestURL() const { return m_pendingAPIRequestURL; }
+ void flashBackingStoreUpdates(const Vector<WebCore::IntRect>& updateRects);
+
+ static void setDebugPaintFlags(WKPageDebugPaintFlags flags) { s_debugPaintFlags = flags; }
+ static WKPageDebugPaintFlags debugPaintFlags() { return s_debugPaintFlags; }
+
+ // Color to be used with kWKDebugFlashViewUpdates.
+ static WebCore::Color viewUpdatesFlashColor();
+ // Color to be used with kWKDebugFlashBackingStoreUpdates.
+ static WebCore::Color backingStoreUpdatesFlashColor();
+
private:
WebPageProxy(PageClient*, WebContext*, WebPageGroup*, uint64_t pageID);
@@ -433,9 +499,10 @@ private:
void didChangeProgress(double);
void didFinishProgress();
- void decidePolicyForNavigationAction(uint64_t frameID, uint32_t navigationType, uint32_t modifiers, int32_t mouseButton, const WebCore::ResourceRequest&, uint64_t listenerID, CoreIPC::ArgumentDecoder*, bool& receivedPolicyAction, uint64_t& policyAction);
+ void decidePolicyForNavigationAction(uint64_t frameID, uint32_t navigationType, uint32_t modifiers, int32_t mouseButton, const WebCore::ResourceRequest&, uint64_t listenerID, CoreIPC::ArgumentDecoder*, bool& receivedPolicyAction, uint64_t& policyAction, uint64_t& downloadID);
void decidePolicyForNewWindowAction(uint64_t frameID, uint32_t navigationType, uint32_t modifiers, int32_t mouseButton, const WebCore::ResourceRequest&, const String& frameName, uint64_t listenerID, CoreIPC::ArgumentDecoder*);
- void decidePolicyForMIMEType(uint64_t frameID, const String& MIMEType, const WebCore::ResourceRequest&, uint64_t listenerID, CoreIPC::ArgumentDecoder* arguments, bool& receivedPolicyAction, uint64_t& policyAction, uint64_t& downloadID);
+ void decidePolicyForResponse(uint64_t frameID, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, uint64_t listenerID, CoreIPC::ArgumentDecoder* arguments, bool& receivedPolicyAction, uint64_t& policyAction, uint64_t& downloadID);
+ void unableToImplementPolicy(uint64_t frameID, const WebCore::ResourceError&, CoreIPC::ArgumentDecoder* arguments);
void willSubmitForm(uint64_t frameID, uint64_t sourceFrameID, const StringPairVector& textFieldValues, uint64_t listenerID, CoreIPC::ArgumentDecoder*);
@@ -456,7 +523,7 @@ private:
void runJavaScriptPrompt(uint64_t frameID, const String&, const String&, String& result);
void setStatusText(const String&);
void mouseDidMoveOverElement(uint32_t modifiers, CoreIPC::ArgumentDecoder*);
- void missingPluginButtonClicked(const String& mimeType, const String& url);
+ void missingPluginButtonClicked(const String& mimeType, const String& url, const String& pluginsPageURL);
void setToolbarsAreVisible(bool toolbarsAreVisible);
void getToolbarsAreVisible(bool& toolbarsAreVisible);
void setMenuBarIsVisible(bool menuBarIsVisible);
@@ -467,7 +534,6 @@ private:
void getIsResizable(bool& isResizable);
void setWindowFrame(const WebCore::FloatRect&);
void getWindowFrame(WebCore::FloatRect&);
- void canRunBeforeUnloadConfirmPanel(bool& canRun);
void runBeforeUnloadConfirmPanel(const String& message, uint64_t frameID, bool& shouldClose);
void didChangeViewportData(const WebCore::ViewportArguments&);
void pageDidScroll();
@@ -478,6 +544,7 @@ private:
void runModal() { m_uiClient.runModal(this); }
void didCompleteRubberBandForMainFrame(const WebCore::IntSize&);
void didChangeScrollbarsForMainFrame(bool hasHorizontalScrollbar, bool hasVerticalScrollbar);
+ void didChangeScrollOffsetPinningForMainFrame(bool pinnedToLeftSide, bool pinnedToRightSide);
void reattachToWebProcess();
void reattachToWebProcessWithItem(WebBackForwardListItem*);
@@ -524,17 +591,21 @@ private:
// Context Menu.
void showContextMenu(const WebCore::IntPoint& menuLocation, const ContextMenuState&, const Vector<WebContextMenuItemData>&, CoreIPC::ArgumentDecoder*);
- // Speech.
#if PLATFORM(MAC)
+ // Speech.
void getIsSpeaking(bool&);
void speak(const String&);
void stopSpeaking();
+
+ // Dictionary.
+ void didPerformDictionaryLookup(const String&, const DictionaryPopupInfo&);
#endif
// Spelling and grammar.
int64_t spellDocumentTag();
void checkTextOfParagraph(const String& text, uint64_t checkingTypes, Vector<WebCore::TextCheckingResult>& results);
void updateSpellingUIWithMisspelledWord(const String& misspelledWord);
+ void updateSpellingUIWithGrammarString(const String& badGrammarPhrase, const WebCore::GrammarDetail&);
void getGuessesForWord(const String& word, const String& context, Vector<String>& guesses);
void learnWord(const String& word);
void ignoreWord(const String& word);
@@ -542,26 +613,23 @@ private:
void takeFocus(bool direction);
void setToolTip(const String&);
void setCursor(const WebCore::Cursor&);
- void didValidateMenuItem(const String& commandName, bool isEnabled, int32_t state);
void didReceiveEvent(uint32_t opaqueType, bool handled);
void voidCallback(uint64_t);
void dataCallback(const CoreIPC::DataReference&, uint64_t);
void stringCallback(const String&, uint64_t);
+ void scriptValueCallback(const CoreIPC::DataReference&, uint64_t);
void computedPagesCallback(const Vector<WebCore::IntRect>&, double totalScaleFactorForPrinting, uint64_t);
+ void validateCommandCallback(const String&, bool, int, uint64_t);
void focusedFrameChanged(uint64_t frameID);
void frameSetLargestFrameChanged(uint64_t frameID);
-#if USE(ACCELERATED_COMPOSITING)
- void didChangeAcceleratedCompositing(bool compositing, DrawingAreaInfo&);
-#endif
-
void canAuthenticateAgainstProtectionSpaceInFrame(uint64_t frameID, const WebCore::ProtectionSpace&, bool& canAuthenticate);
void didReceiveAuthenticationChallenge(uint64_t frameID, const WebCore::AuthenticationChallenge&, uint64_t challengeID);
- void didFinishLoadingDataForCustomRepresentation(const CoreIPC::DataReference& data);
+ void didFinishLoadingDataForCustomRepresentation(const String& suggestedFilename, const CoreIPC::DataReference&);
#if PLATFORM(MAC)
void setComplexTextInputEnabled(uint64_t pluginComplexTextInputIdentifier, bool complexTextInputEnabled);
@@ -602,7 +670,9 @@ private:
HashMap<uint64_t, RefPtr<VoidCallback> > m_voidCallbacks;
HashMap<uint64_t, RefPtr<DataCallback> > m_dataCallbacks;
HashMap<uint64_t, RefPtr<StringCallback> > m_stringCallbacks;
+ HashMap<uint64_t, RefPtr<ScriptValueCallback> > m_scriptValueCallbacks;
HashMap<uint64_t, RefPtr<ComputedPagesCallback> > m_computedPagesCallbacks;
+ HashMap<uint64_t, RefPtr<ValidateCommandCallback> > m_validateCommandCallbacks;
HashSet<WebEditCommandProxy*> m_editCommandSet;
@@ -638,6 +708,8 @@ private:
bool m_drawsBackground;
bool m_drawsTransparentBackground;
+ bool m_areMemoryCacheClientCallsEnabled;
+
bool m_useFixedLayout;
WebCore::IntSize m_fixedLayoutSize;
@@ -658,7 +730,8 @@ private:
bool m_inDecidePolicyForNavigationAction;
bool m_syncNavigationActionPolicyActionIsValid;
WebCore::PolicyAction m_syncNavigationActionPolicyAction;
-
+ uint64_t m_syncNavigationActionPolicyDownloadID;
+
Deque<NativeWebKeyboardEvent> m_keyEventQueue;
bool m_processingWheelEvent;
OwnPtr<WebWheelEvent> m_nextWheelEvent;
@@ -683,6 +756,11 @@ private:
bool m_mainFrameHasHorizontalScrollbar;
bool m_mainFrameHasVerticalScrollbar;
+
+ bool m_mainFrameIsPinnedToLeftSide;
+ bool m_mainFrameIsPinnedToRightSide;
+
+ static WKPageDebugPaintFlags s_debugPaintFlags;
};
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/WebPageProxy.messages.in b/Source/WebKit2/UIProcess/WebPageProxy.messages.in
index e566d02..8692f14 100644
--- a/Source/WebKit2/UIProcess/WebPageProxy.messages.in
+++ b/Source/WebKit2/UIProcess/WebPageProxy.messages.in
@@ -29,10 +29,9 @@ messages -> WebPageProxy {
RunJavaScriptConfirm(uint64_t frameID, WTF::String message) -> (bool result)
RunJavaScriptPrompt(uint64_t frameID, WTF::String message, WTF::String defaultValue) -> (WTF::String result)
MouseDidMoveOverElement(uint32_t modifiers, WebKit::InjectedBundleUserMessageEncoder userData);
- MissingPluginButtonClicked(WTF::String mimeType, WTF::String url)
+ MissingPluginButtonClicked(WTF::String mimeType, WTF::String url, WTF::String pluginsPageURL)
DidChangeViewportData(WebCore::ViewportArguments arguments)
DidReceiveEvent(uint32_t type, bool handled)
- DidValidateMenuItem(WTF::String commandName, bool isEnabled, int32_t state)
SetCursor(WebCore::Cursor cursor)
SetStatusText(WTF::String statusText)
SetToolTip(WTF::String toolTip)
@@ -49,7 +48,6 @@ messages -> WebPageProxy {
GetIsResizable() -> (bool isResizable)
SetWindowFrame(WebCore::FloatRect windowFrame)
GetWindowFrame() -> (WebCore::FloatRect windowFrame)
- CanRunBeforeUnloadConfirmPanel() -> (bool canRun)
RunBeforeUnloadConfirmPanel(WTF::String message, uint64_t frameID) -> (bool shouldClose)
PageDidScroll()
RunOpenPanel(uint64_t frameID, WebKit::WebOpenPanelParameters::Data parameters)
@@ -57,6 +55,7 @@ messages -> WebPageProxy {
RunModal()
DidCompleteRubberBandForMainFrame(WebCore::IntSize initialOverhang)
DidChangeScrollbarsForMainFrame(bool hasHorizontalScrollbar, bool hasVerticalScrollbar)
+ DidChangeScrollOffsetPinningForMainFrame(bool hasHorizontalScrollbar, bool hasVerticalScrollbar)
#if ENABLE(TILED_BACKING_STORE)
PageDidRequestScroll(WebCore::IntSize delta)
@@ -67,9 +66,10 @@ messages -> WebPageProxy {
#endif
# Policy messages
- DecidePolicyForMIMEType(uint64_t frameID, WTF::String MIMEType, WebCore::ResourceRequest request, uint64_t listenerID, WebKit::InjectedBundleUserMessageEncoder userData) -> (bool receivedPolicyAction, uint64_t policyAction, uint64_t downloadID)
- DecidePolicyForNavigationAction(uint64_t frameID, uint32_t navigationType, uint32_t modifiers, int32_t mouseButton, WebCore::ResourceRequest request, uint64_t listenerID, WebKit::InjectedBundleUserMessageEncoder userData) -> (bool receivedPolicyAction, uint64_t policyAction)
+ DecidePolicyForResponse(uint64_t frameID, WebCore::ResourceResponse response, WebCore::ResourceRequest request, uint64_t listenerID, WebKit::InjectedBundleUserMessageEncoder userData) -> (bool receivedPolicyAction, uint64_t policyAction, uint64_t downloadID)
+ DecidePolicyForNavigationAction(uint64_t frameID, uint32_t navigationType, uint32_t modifiers, int32_t mouseButton, WebCore::ResourceRequest request, uint64_t listenerID, WebKit::InjectedBundleUserMessageEncoder userData) -> (bool receivedPolicyAction, uint64_t policyAction, uint64_t downloadID)
DecidePolicyForNewWindowAction(uint64_t frameID, uint32_t navigationType, uint32_t modifiers, int32_t mouseButton, WebCore::ResourceRequest request, WTF::String frameName, uint64_t listenerID, WebKit::InjectedBundleUserMessageEncoder userData)
+ UnableToImplementPolicy(uint64_t frameID, WebCore::ResourceError error, WebKit::InjectedBundleUserMessageEncoder userData)
# Progress messages
DidChangeProgress(double value)
@@ -109,7 +109,7 @@ messages -> WebPageProxy {
DidFailLoadForResource(uint64_t frameID, uint64_t resourceIdentifier, WebCore::ResourceError error)
# Custom representations
- DidFinishLoadingDataForCustomRepresentation(CoreIPC::DataReference data)
+ DidFinishLoadingDataForCustomRepresentation(WTF::String suggestedFilename, CoreIPC::DataReference data)
# Forms messages
WillSubmitForm(uint64_t frameID, uint64_t sourceFrameID, WebKit::StringPairVector textFieldValues, uint64_t listenerID, WebKit::InjectedBundleUserMessageEncoder userData)
@@ -118,12 +118,16 @@ messages -> WebPageProxy {
VoidCallback(uint64_t callbackID)
DataCallback(CoreIPC::DataReference resultData, uint64_t callbackID)
StringCallback(WTF::String resultString, uint64_t callbackID)
+ ScriptValueCallback(CoreIPC::DataReference resultData, uint64_t callbackID)
ComputedPagesCallback(Vector<WebCore::IntRect> pageRects, double totalScaleFactorForPrinting, uint64_t callbackID)
-
+ ValidateCommandCallback(WTF::String command, bool isEnabled, int32_t state, uint64_t callbackID)
ViewScaleFactorDidChange(double scaleFactor)
#if PLATFORM(MAC)
+ # Dictionary support.
+ DidPerformDictionaryLookup(WTF::String text, WebKit::DictionaryPopupInfo dictionaryPopupInfo)
+
# Keyboard support messages
InterpretKeyEvent(uint32_t type) -> (Vector<WebCore::KeypressCommand> commandName, uint32_t selectionStart, uint32_t selectionEnd, Vector<WebCore::CompositionUnderline> underlines)
@@ -138,6 +142,7 @@ messages -> WebPageProxy {
BackForwardBackListCount() -> (int32_t count)
BackForwardForwardListCount() -> (int32_t count)
BackForwardClear()
+ ShouldGoToBackForwardListItem(uint64_t itemID) -> (bool shouldGoToBackForwardListItem)
# Undo/Redo messages
RegisterEditCommandForUndo(uint64_t commandID, uint32_t editAction)
@@ -163,11 +168,6 @@ messages -> WebPageProxy {
# ContextMenu messages
ShowContextMenu(WebCore::IntPoint menuLocation, WebKit::ContextMenuState state, Vector<WebKit::WebContextMenuItemData> items, WebKit::InjectedBundleUserMessageEncoder userData)
-#if USE(ACCELERATED_COMPOSITING)
- # Accelerated compositing messages
- DidChangeAcceleratedCompositing(bool compositing) -> (WebKit::DrawingAreaInfo newDrawingArea)
-#endif
-
# Authentication messages
CanAuthenticateAgainstProtectionSpaceInFrame(uint64_t frameID, WebCore::ProtectionSpace protectionSpace) -> (bool canAuthenticate)
DidReceiveAuthenticationChallenge(uint64_t frameID, WebCore::AuthenticationChallenge challenge, uint64_t challengeID)
@@ -193,6 +193,7 @@ messages -> WebPageProxy {
# Spelling and grammar messages
CheckTextOfParagraph(WTF::String text, uint64_t checkingTypes) -> (Vector<WebCore::TextCheckingResult> results)
UpdateSpellingUIWithMisspelledWord(WTF::String misspelledWord)
+ UpdateSpellingUIWithGrammarString(WTF::String badGrammarPhrase, WebCore::GrammarDetail grammarDetail)
GetGuessesForWord(WTF::String word, WTF::String context) -> (Vector<WTF::String> guesses)
LearnWord(WTF::String word);
IgnoreWord(WTF::String word);
diff --git a/Source/WebKit2/UIProcess/WebPolicyClient.cpp b/Source/WebKit2/UIProcess/WebPolicyClient.cpp
index 6296664..c57c896 100644
--- a/Source/WebKit2/UIProcess/WebPolicyClient.cpp
+++ b/Source/WebKit2/UIProcess/WebPolicyClient.cpp
@@ -26,6 +26,7 @@
#include "config.h"
#include "WebPolicyClient.h"
+#include "APIObject.h"
#include "WKAPICast.h"
#include "WebURLRequest.h"
@@ -55,15 +56,24 @@ bool WebPolicyClient::decidePolicyForNewWindowAction(WebPageProxy* page, WebFram
return true;
}
-bool WebPolicyClient::decidePolicyForMIMEType(WebPageProxy* page, WebFrameProxy* frame, const String& MIMEType, const ResourceRequest& resourceRequest, WebFramePolicyListenerProxy* listener, APIObject* userData)
+bool WebPolicyClient::decidePolicyForResponse(WebPageProxy* page, WebFrameProxy* frame, const ResourceResponse& resourceResponse, const ResourceRequest& resourceRequest, WebFramePolicyListenerProxy* listener, APIObject* userData)
{
- if (!m_client.decidePolicyForMIMEType)
+ if (!m_client.decidePolicyForResponse)
return false;
+ RefPtr<WebURLResponse> response = WebURLResponse::create(resourceResponse);
RefPtr<WebURLRequest> request = WebURLRequest::create(resourceRequest);
- m_client.decidePolicyForMIMEType(toAPI(page), toAPI(frame), toAPI(MIMEType.impl()), toAPI(request.get()), toAPI(listener), toAPI(userData), m_client.clientInfo);
+ m_client.decidePolicyForResponse(toAPI(page), toAPI(frame), toAPI(response.get()), toAPI(request.get()), toAPI(listener), toAPI(userData), m_client.clientInfo);
return true;
}
+void WebPolicyClient::unableToImplementPolicy(WebPageProxy* page, WebFrameProxy* frame, const ResourceError& error, APIObject* userData)
+{
+ if (!m_client.unableToImplementPolicy)
+ return;
+
+ m_client.unableToImplementPolicy(toAPI(page), toAPI(frame), toAPI(error), toAPI(userData), m_client.clientInfo);
+}
+
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/WebPolicyClient.h b/Source/WebKit2/UIProcess/WebPolicyClient.h
index c624c58..23e0ffd 100644
--- a/Source/WebKit2/UIProcess/WebPolicyClient.h
+++ b/Source/WebKit2/UIProcess/WebPolicyClient.h
@@ -27,18 +27,20 @@
#define WebPolicyClient_h
#include "APIClient.h"
-#include "APIObject.h"
#include "WKPage.h"
#include "WebEvent.h"
#include <WebCore/FrameLoaderTypes.h>
#include <wtf/Forward.h>
namespace WebCore {
+ class ResourceError;
class ResourceRequest;
+ class ResourceResponse;
}
namespace WebKit {
+class APIObject;
class WebPageProxy;
class WebFrameProxy;
class WebFramePolicyListenerProxy;
@@ -47,7 +49,8 @@ class WebPolicyClient : public APIClient<WKPagePolicyClient> {
public:
bool decidePolicyForNavigationAction(WebPageProxy*, WebFrameProxy*, WebCore::NavigationType, WebEvent::Modifiers, WebMouseEvent::Button, const WebCore::ResourceRequest&, WebFramePolicyListenerProxy*, APIObject* userData);
bool decidePolicyForNewWindowAction(WebPageProxy*, WebFrameProxy*, WebCore::NavigationType, WebEvent::Modifiers, WebMouseEvent::Button, const WebCore::ResourceRequest&, const String& frameName, WebFramePolicyListenerProxy*, APIObject* userData);
- bool decidePolicyForMIMEType(WebPageProxy*, WebFrameProxy*, const String& MIMEType, const WebCore::ResourceRequest&, WebFramePolicyListenerProxy*, APIObject* userData);
+ bool decidePolicyForResponse(WebPageProxy*, WebFrameProxy*, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, WebFramePolicyListenerProxy*, APIObject* userData);
+ void unableToImplementPolicy(WebPageProxy*, WebFrameProxy*, const WebCore::ResourceError&, APIObject* userData);
};
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/WebPopupMenuProxy.h b/Source/WebKit2/UIProcess/WebPopupMenuProxy.h
index 78dad64..96901fb 100644
--- a/Source/WebKit2/UIProcess/WebPopupMenuProxy.h
+++ b/Source/WebKit2/UIProcess/WebPopupMenuProxy.h
@@ -57,7 +57,7 @@ public:
{
}
- virtual void showPopupMenu(const WebCore::IntRect& rect, WebCore::TextDirection, const Vector<WebPopupItem>& items, const PlatformPopupMenuData&, int32_t selectedIndex) = 0;
+ virtual void showPopupMenu(const WebCore::IntRect& rect, WebCore::TextDirection, double scaleFactor, const Vector<WebPopupItem>& items, const PlatformPopupMenuData&, int32_t selectedIndex) = 0;
virtual void hidePopupMenu() = 0;
void invalidate() { m_client = 0; }
diff --git a/Source/WebKit2/UIProcess/WebProcessManager.cpp b/Source/WebKit2/UIProcess/WebProcessManager.cpp
deleted file mode 100644
index 80e3c2d..0000000
--- a/Source/WebKit2/UIProcess/WebProcessManager.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2010 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 "WebProcessManager.h"
-
-#include "WebContext.h"
-
-namespace WebKit {
-
-WebProcessManager& WebProcessManager::shared()
-{
- static WebProcessManager& manager = *new WebProcessManager;
- return manager;
-}
-
-WebProcessManager::WebProcessManager()
-{
-}
-
-WebProcessProxy* WebProcessManager::getWebProcess(WebContext* context)
-{
- switch (context->processModel()) {
- case ProcessModelSharedSecondaryProcess: {
- if (!m_sharedProcess)
- m_sharedProcess = WebProcessProxy::create(context);
- return m_sharedProcess.get();
- }
- case ProcessModelSharedSecondaryThread: {
- if (!m_sharedThread)
- m_sharedThread = WebProcessProxy::create(context);
- return m_sharedThread.get();
- }
- case ProcessModelSecondaryProcess: {
- std::pair<ProcessMap::iterator, bool> result = m_processMap.add(context, 0);
- if (result.second) {
- ASSERT(!result.first->second);
- result.first->second = WebProcessProxy::create(context);
- }
-
- ASSERT(result.first->second);
- return result.first->second.get();
- }
- }
-
- ASSERT_NOT_REACHED();
- return 0;
-}
-
-void WebProcessManager::processDidClose(WebProcessProxy* process, WebContext* context)
-{
- if (process == m_sharedProcess) {
- ASSERT(context->processModel() == ProcessModelSharedSecondaryProcess);
- m_sharedProcess = 0;
- return;
- }
-
- ProcessMap::iterator it = m_processMap.find(context);
- if (it != m_processMap.end()) {
- ASSERT(it->second == process);
- m_processMap.remove(it);
- return;
- }
-
- // The shared thread connection should never be closed.
- ASSERT_NOT_REACHED();
-}
-
-void WebProcessManager::contextWasDestroyed(WebContext* context)
-{
- m_processMap.remove(context);
-}
-
-} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/WebProcessProxy.cpp b/Source/WebKit2/UIProcess/WebProcessProxy.cpp
index 67dc46b..42e3408 100644
--- a/Source/WebKit2/UIProcess/WebProcessProxy.cpp
+++ b/Source/WebKit2/UIProcess/WebProcessProxy.cpp
@@ -35,7 +35,6 @@
#include "WebContext.h"
#include "WebNavigationDataStore.h"
#include "WebPageProxy.h"
-#include "WebProcessManager.h"
#include "WebProcessMessages.h"
#include "WebProcessProxyMessages.h"
#include "WebProcessProxyMessageKinds.h"
@@ -111,6 +110,25 @@ void WebProcessProxy::connect()
}
}
+void WebProcessProxy::disconnect()
+{
+ if (m_connection) {
+ m_connection->invalidate();
+ m_connection = nullptr;
+ }
+
+ m_responsivenessTimer.stop();
+
+ Vector<RefPtr<WebFrameProxy> > frames;
+ copyValuesToVector(m_frameMap, frames);
+
+ for (size_t i = 0, size = frames.size(); i < size; ++i)
+ frames[i]->disconnect();
+ m_frameMap.clear();
+
+ m_context->disconnectProcess(this);
+}
+
bool WebProcessProxy::sendMessage(CoreIPC::MessageID messageID, PassOwnPtr<CoreIPC::ArgumentEncoder> arguments, unsigned messageSendFlags)
{
// If we're waiting for the web process to launch, we need to stash away the messages so we can send them once we have
@@ -230,8 +248,12 @@ void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC
if (messageID.is<CoreIPC::MessageClassWebContext>()
|| messageID.is<CoreIPC::MessageClassWebContextLegacy>()
|| messageID.is<CoreIPC::MessageClassDownloadProxy>()
+ || messageID.is<CoreIPC::MessageClassWebApplicationCacheManagerProxy>()
+ || messageID.is<CoreIPC::MessageClassWebCookieManagerProxy>()
|| messageID.is<CoreIPC::MessageClassWebDatabaseManagerProxy>()
- || messageID.is<CoreIPC::MessageClassWebGeolocationManagerProxy>()) {
+ || messageID.is<CoreIPC::MessageClassWebGeolocationManagerProxy>()
+ || messageID.is<CoreIPC::MessageClassWebKeyValueStorageManagerProxy>()
+ || messageID.is<CoreIPC::MessageClassWebResourceCacheManagerProxy>()) {
m_context->didReceiveMessage(connection, messageID, arguments);
return;
}
@@ -249,6 +271,9 @@ void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC
CoreIPC::SyncReplyMode WebProcessProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, CoreIPC::ArgumentEncoder* reply)
{
+ if (messageID.is<CoreIPC::MessageClassWebProcessProxy>())
+ return didReceiveSyncWebProcessProxyMessage(connection, messageID, arguments, reply);
+
#if ENABLE(PLUGIN_PROCESS)
if (messageID.is<CoreIPC::MessageClassWebProcessProxyLegacy>()) {
switch (messageID.get<WebProcessProxyLegacyMessage::Kind>()) {
@@ -282,26 +307,14 @@ CoreIPC::SyncReplyMode WebProcessProxy::didReceiveSyncMessage(CoreIPC::Connectio
void WebProcessProxy::didClose(CoreIPC::Connection*)
{
- // Protect ourselves, as the call to the shared WebProcessManager's processDidClose()
- // below may otherwise cause us to be deleted before we can finish our work.
+ // Protect ourselves, as the call to disconnect() below may otherwise cause us
+ // to be deleted before we can finish our work.
RefPtr<WebProcessProxy> protect(this);
-
- m_connection = nullptr;
- m_responsivenessTimer.stop();
-
- Vector<RefPtr<WebFrameProxy> > frames;
- copyValuesToVector(m_frameMap, frames);
-
- for (size_t i = 0, size = frames.size(); i < size; ++i)
- frames[i]->disconnect();
- m_frameMap.clear();
Vector<RefPtr<WebPageProxy> > pages;
copyValuesToVector(m_pageMap, pages);
- m_context->processDidClose(this);
-
- WebProcessManager::shared().processDidClose(this, m_context);
+ disconnect();
for (size_t i = 0, size = pages.size(); i < size; ++i)
pages[i]->processDidCrash();
@@ -411,6 +424,19 @@ size_t WebProcessProxy::frameCountInPage(WebPageProxy* page) const
return result;
}
+void WebProcessProxy::shouldTerminate(bool& shouldTerminate)
+{
+ if (!m_pageMap.isEmpty() || !m_context->shouldTerminate(this)) {
+ shouldTerminate = false;
+ return;
+ }
+
+ shouldTerminate = true;
+
+ // We know that the web process is going to terminate so disconnect it from the context.
+ disconnect();
+}
+
void WebProcessProxy::updateTextCheckerState()
{
if (!isValid())
diff --git a/Source/WebKit2/UIProcess/WebProcessProxy.h b/Source/WebKit2/UIProcess/WebProcessProxy.h
index e4221fe..04dbd98 100644
--- a/Source/WebKit2/UIProcess/WebProcessProxy.h
+++ b/Source/WebKit2/UIProcess/WebProcessProxy.h
@@ -97,7 +97,6 @@ public:
WebFrameProxy* webFrame(uint64_t) const;
bool canCreateFrame(uint64_t frameID) const;
void frameCreated(uint64_t, WebFrameProxy*);
- void didDestroyFrame(uint64_t);
void disconnectFramesFromPage(WebPageProxy*); // Including main frame.
size_t frameCountInPage(WebPageProxy*) const; // Including main frame.
@@ -111,11 +110,20 @@ public:
private:
explicit WebProcessProxy(WebContext*);
+ // Initializes the process or thread launcher which will begin launching the process.
void connect();
+ // Called when the web process has crashed or we know that it will terminate soon.
+ // Will potentially cause the WebProcessProxy object to be freed.
+ void disconnect();
+
bool sendMessage(CoreIPC::MessageID, PassOwnPtr<CoreIPC::ArgumentEncoder>, unsigned messageSendFlags);
+ // CoreIPC message handlers.
void addBackForwardItem(uint64_t itemID, const String& originalURLString, const String& urlString, const String& title, const CoreIPC::DataReference& backForwardData);
+ void didDestroyFrame(uint64_t);
+
+ void shouldTerminate(bool& shouldTerminate);
#if ENABLE(PLUGIN_PROCESS)
void getPluginProcessConnection(const String& pluginPath, CoreIPC::ArgumentEncoder* reply);
@@ -141,6 +149,7 @@ private:
// Implemented in generated WebProcessProxyMessageReceiver.cpp
void didReceiveWebProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+ CoreIPC::SyncReplyMode didReceiveSyncWebProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder* arguments, CoreIPC::ArgumentEncoder* reply);
ResponsivenessTimer m_responsivenessTimer;
RefPtr<CoreIPC::Connection> m_connection;
diff --git a/Source/WebKit2/UIProcess/WebProcessProxy.messages.in b/Source/WebKit2/UIProcess/WebProcessProxy.messages.in
index 86bc9e2..99014d4 100644
--- a/Source/WebKit2/UIProcess/WebProcessProxy.messages.in
+++ b/Source/WebKit2/UIProcess/WebProcessProxy.messages.in
@@ -25,4 +25,5 @@ messages -> WebProcessProxy {
AddBackForwardItem(uint64_t itemID, WTF::String originalURL, WTF::String url, WTF::String title, CoreIPC::DataReference backForwardData)
DidDestroyFrame(uint64_t frameID)
+ ShouldTerminate() -> (bool shouldTerminate)
}
diff --git a/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp b/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp
new file mode 100644
index 0000000..aa65113
--- /dev/null
+++ b/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp
@@ -0,0 +1,96 @@
+/*
+ * 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 "WebResourceCacheManagerProxy.h"
+
+#include "ImmutableArray.h"
+#include "ImmutableDictionary.h"
+#include "SecurityOriginData.h"
+#include "WebContext.h"
+#include "WebResourceCacheManagerMessages.h"
+#include "WebSecurityOrigin.h"
+
+using namespace WebCore;
+
+namespace WebKit {
+
+PassRefPtr<WebResourceCacheManagerProxy> WebResourceCacheManagerProxy::create(WebContext* webContext)
+{
+ return adoptRef(new WebResourceCacheManagerProxy(webContext));
+}
+
+WebResourceCacheManagerProxy::WebResourceCacheManagerProxy(WebContext* webContext)
+ : m_webContext(webContext)
+{
+}
+
+WebResourceCacheManagerProxy::~WebResourceCacheManagerProxy()
+{
+}
+
+void WebResourceCacheManagerProxy::invalidate()
+{
+ invalidateCallbackMap(m_arrayCallbacks);
+}
+
+void WebResourceCacheManagerProxy::getCacheOrigins(PassRefPtr<ArrayCallback> prpCallback)
+{
+ RefPtr<ArrayCallback> callback = prpCallback;
+ if (!m_webContext->hasValidProcess()) {
+ callback->invalidate();
+ return;
+ }
+ uint64_t callbackID = callback->callbackID();
+ m_arrayCallbacks.set(callbackID, callback.release());
+ m_webContext->process()->send(Messages::WebResourceCacheManager::GetCacheOrigins(callbackID), 0);
+}
+
+void WebResourceCacheManagerProxy::didGetCacheOrigins(const Vector<SecurityOriginData>& origins, uint64_t callbackID)
+{
+ RefPtr<ArrayCallback> callback = m_arrayCallbacks.take(callbackID);
+ performAPICallbackWithSecurityOriginDataVector(origins, callback.get());
+}
+
+void WebResourceCacheManagerProxy::clearCacheForOrigin(WebSecurityOrigin* origin)
+{
+ if (!m_webContext->hasValidProcess())
+ return;
+
+ SecurityOriginData securityOrigin;
+ securityOrigin.protocol = origin->protocol();
+ securityOrigin.host = origin->host();
+ securityOrigin.port = origin->port();
+ m_webContext->process()->send(Messages::WebResourceCacheManager::ClearCacheForOrigin(securityOrigin), 0);
+}
+
+void WebResourceCacheManagerProxy::clearCacheForAllOrigins()
+{
+ if (!m_webContext->hasValidProcess())
+ return;
+ m_webContext->process()->send(Messages::WebResourceCacheManager::ClearCacheForAllOrigins(), 0);
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.h b/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.h
new file mode 100644
index 0000000..0a2c3c8
--- /dev/null
+++ b/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.h
@@ -0,0 +1,79 @@
+/*
+ * 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 WebResourceCacheManagerProxy_h
+#define WebResourceCacheManagerProxy_h
+
+#include "APIObject.h"
+#include "Arguments.h"
+#include "GenericCallback.h"
+#include <wtf/HashMap.h>
+#include <wtf/PassRefPtr.h>
+
+namespace CoreIPC {
+class ArgumentDecoder;
+class Connection;
+class MessageID;
+}
+
+namespace WebKit {
+
+struct SecurityOriginData;
+class WebContext;
+class WebSecurityOrigin;
+
+typedef GenericCallback<WKArrayRef> ArrayCallback;
+
+class WebResourceCacheManagerProxy : public APIObject {
+public:
+ static const Type APIType = TypeCacheManager;
+
+ static PassRefPtr<WebResourceCacheManagerProxy> create(WebContext*);
+ virtual ~WebResourceCacheManagerProxy();
+
+ void invalidate();
+ void clearContext() { m_webContext = 0; }
+
+ void getCacheOrigins(PassRefPtr<ArrayCallback>);
+ void clearCacheForOrigin(WebSecurityOrigin*);
+ void clearCacheForAllOrigins();
+
+ void didReceiveWebResourceCacheManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+
+private:
+ explicit WebResourceCacheManagerProxy(WebContext*);
+
+ virtual Type type() const { return APIType; }
+
+ // Message handlers.
+ void didGetCacheOrigins(const Vector<SecurityOriginData>& originIdentifiers, uint64_t callbackID);
+
+ WebContext* m_webContext;
+ HashMap<uint64_t, RefPtr<ArrayCallback> > m_arrayCallbacks;
+};
+
+} // namespace WebKit
+
+#endif // DatabaseManagerProxy_h
diff --git a/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.messages.in b/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.messages.in
new file mode 100644
index 0000000..c1e73a9
--- /dev/null
+++ b/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.messages.in
@@ -0,0 +1,25 @@
+# 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.
+
+messages -> WebResourceCacheManagerProxy {
+ DidGetCacheOrigins(Vector<WebKit::SecurityOriginData> originIdentifiers, uint64_t callbackID)
+}
diff --git a/Source/WebKit2/UIProcess/WebUIClient.cpp b/Source/WebKit2/UIProcess/WebUIClient.cpp
index 076b331..31dd458 100644
--- a/Source/WebKit2/UIProcess/WebUIClient.cpp
+++ b/Source/WebKit2/UIProcess/WebUIClient.cpp
@@ -131,12 +131,12 @@ void WebUIClient::mouseDidMoveOverElement(WebPageProxy* page, WebEvent::Modifier
m_client.mouseDidMoveOverElement(toAPI(page), toAPI(modifiers), toAPI(userData), m_client.clientInfo);
}
-void WebUIClient::missingPluginButtonClicked(WebPageProxy* page, const String& mimeType, const String& url)
+void WebUIClient::missingPluginButtonClicked(WebPageProxy* page, const String& mimeType, const String& url, const String& pluginsPageURL)
{
if (!m_client.missingPluginButtonClicked)
return;
- m_client.missingPluginButtonClicked(toAPI(page), toAPI(mimeType.impl()), toAPI(url.impl()), m_client.clientInfo);
+ m_client.missingPluginButtonClicked(toAPI(page), toAPI(mimeType.impl()), toAPI(url.impl()), toAPI(pluginsPageURL.impl()), m_client.clientInfo);
}
void WebUIClient::didNotHandleKeyEvent(WebPageProxy* page, const NativeWebKeyboardEvent& event)
@@ -218,7 +218,7 @@ FloatRect WebUIClient::windowFrame(WebPageProxy* page)
return toFloatRect(m_client.getWindowFrame(toAPI(page), m_client.clientInfo));
}
-bool WebUIClient::canRunBeforeUnloadConfirmPanel()
+bool WebUIClient::canRunBeforeUnloadConfirmPanel() const
{
return m_client.runBeforeUnloadConfirmPanel;
}
diff --git a/Source/WebKit2/UIProcess/WebUIClient.h b/Source/WebKit2/UIProcess/WebUIClient.h
index d8e0bff..ed47f8f 100644
--- a/Source/WebKit2/UIProcess/WebUIClient.h
+++ b/Source/WebKit2/UIProcess/WebUIClient.h
@@ -61,7 +61,7 @@ public:
void setStatusText(WebPageProxy*, const String&);
void mouseDidMoveOverElement(WebPageProxy*, WebEvent::Modifiers, APIObject*);
- void missingPluginButtonClicked(WebPageProxy*, const String& mimeType, const String& url);
+ void missingPluginButtonClicked(WebPageProxy*, const String& mimeType, const String& url, const String& pluginsPageURL);
void didNotHandleKeyEvent(WebPageProxy*, const NativeWebKeyboardEvent&);
bool toolbarsAreVisible(WebPageProxy*);
@@ -76,7 +76,7 @@ public:
void setWindowFrame(WebPageProxy*, const WebCore::FloatRect&);
WebCore::FloatRect windowFrame(WebPageProxy*);
- bool canRunBeforeUnloadConfirmPanel();
+ bool canRunBeforeUnloadConfirmPanel() const;
bool runBeforeUnloadConfirmPanel(WebPageProxy*, const String&, WebFrameProxy*);
void didDraw(WebPageProxy*);
diff --git a/Source/WebKit2/UIProcess/cf/WebPageProxyCF.cpp b/Source/WebKit2/UIProcess/cf/WebPageProxyCF.cpp
index 2065799..dc26899 100644
--- a/Source/WebKit2/UIProcess/cf/WebPageProxyCF.cpp
+++ b/Source/WebKit2/UIProcess/cf/WebPageProxyCF.cpp
@@ -42,21 +42,40 @@ using namespace WebCore;
namespace WebKit {
DEFINE_STATIC_GETTER(CFStringRef, SessionHistoryKey, (CFSTR("SessionHistory")));
+DEFINE_STATIC_GETTER(CFStringRef, ProvisionalURLKey, (CFSTR("ProvisionalURL")));
static const UInt32 CurrentSessionStateDataVersion = 2;
PassRefPtr<WebData> WebPageProxy::sessionStateData(WebPageProxySessionStateFilterCallback filter, void* context) const
{
+ const void* keys[2];
+ const void* values[2];
+ CFIndex numValues = 0;
+
RetainPtr<CFDictionaryRef> sessionHistoryDictionary(AdoptCF, m_backForwardList->createCFDictionaryRepresentation(filter, context));
-
- // For now we're only serializing the back/forward list. If that object is null, then the entire sessionState can be null.
- if (!sessionHistoryDictionary)
+ if (sessionHistoryDictionary) {
+ keys[numValues] = SessionHistoryKey();
+ values[numValues] = sessionHistoryDictionary.get();
+ ++numValues;
+ }
+
+ RetainPtr<CFStringRef> provisionalURLString;
+ if (m_mainFrame) {
+ String provisionalURL = pendingAPIRequestURL();
+ if (provisionalURL.isEmpty())
+ provisionalURL = m_mainFrame->provisionalURL();
+ if (!provisionalURL.isEmpty()) {
+ provisionalURLString.adoptCF(provisionalURL.createCFString());
+ keys[numValues] = ProvisionalURLKey();
+ values[numValues] = provisionalURLString.get();
+ ++numValues;
+ }
+ }
+
+ if (!numValues)
return 0;
-
- const void* keys[1] = { SessionHistoryKey() };
- const void* values[1] = { sessionHistoryDictionary.get() };
-
- RetainPtr<CFDictionaryRef> stateDictionary(AdoptCF, CFDictionaryCreate(0, keys, values, 1, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
+
+ RetainPtr<CFDictionaryRef> stateDictionary(AdoptCF, CFDictionaryCreate(0, keys, values, numValues, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
RetainPtr<CFWriteStreamRef> writeStream(AdoptCF, CFWriteStreamCreateWithAllocatedBuffers(0, 0));
if (!writeStream)
@@ -115,29 +134,49 @@ void WebPageProxy::restoreFromSessionStateData(WebData* webData)
LOG(SessionState, "SessionState property list is not a CFDictionaryRef (%i) - its CFTypeID is %i", (int)CFDictionaryGetTypeID(), (int)CFGetTypeID(propertyList.get()));
return;
}
-
- CFTypeRef sessionHistoryRef = CFDictionaryGetValue(static_cast<CFDictionaryRef>(propertyList.get()), SessionHistoryKey());
- if (!sessionHistoryRef || CFGetTypeID(sessionHistoryRef) != CFDictionaryGetTypeID()) {
- LOG(SessionState, "SessionState dictionary does not contain a SessionHistoryDictionary key, it is of the wrong type");
- return;
+
+ CFDictionaryRef backForwardListDictionary = 0;
+ if (CFTypeRef value = CFDictionaryGetValue(static_cast<CFDictionaryRef>(propertyList.get()), SessionHistoryKey())) {
+ if (CFGetTypeID(value) != CFDictionaryGetTypeID())
+ LOG(SessionState, "SessionState dictionary has a SessionHistory key, but the value is not a dictionary");
+ else
+ backForwardListDictionary = static_cast<CFDictionaryRef>(value);
}
-
- CFDictionaryRef sessionHistoryDictionary = static_cast<CFDictionaryRef>(sessionHistoryRef);
- if (!m_backForwardList->restoreFromCFDictionaryRepresentation(sessionHistoryDictionary)) {
- LOG(SessionState, "Failed to restore back/forward list from SessionHistoryDictionary");
- return;
+
+ CFStringRef provisionalURL = 0;
+ if (CFTypeRef value = CFDictionaryGetValue(static_cast<CFDictionaryRef>(propertyList.get()), ProvisionalURLKey())) {
+ if (CFGetTypeID(value) != CFStringGetTypeID())
+ LOG(SessionState, "SessionState dictionary has a ProvisionalValue key, but the value is not a string");
+ else
+ provisionalURL = static_cast<CFStringRef>(value);
}
-
- const BackForwardListItemVector& entries = m_backForwardList->entries();
- size_t size = entries.size();
- for (size_t i = 0; i < size; ++i)
- process()->registerNewWebBackForwardListItem(entries[i].get());
- SandboxExtension::Handle sandboxExtensionHandle;
- if (WebBackForwardListItem* item = m_backForwardList->currentItem())
- initializeSandboxExtensionHandle(KURL(KURL(), item->url()), sandboxExtensionHandle);
+ bool restoredFromBackForwardList = false;
+ if (backForwardListDictionary) {
+ if (!m_backForwardList->restoreFromCFDictionaryRepresentation(backForwardListDictionary))
+ LOG(SessionState, "Failed to restore back/forward list from SessionHistory dictionary");
+ else {
+ const BackForwardListItemVector& entries = m_backForwardList->entries();
+ if (size_t size = entries.size()) {
+ for (size_t i = 0; i < size; ++i)
+ process()->registerNewWebBackForwardListItem(entries[i].get());
+
+ SandboxExtension::Handle sandboxExtensionHandle;
+ if (WebBackForwardListItem* item = m_backForwardList->currentItem())
+ initializeSandboxExtensionHandle(KURL(KURL(), item->url()), sandboxExtensionHandle);
+
+ process()->send(Messages::WebPage::RestoreSessionAndNavigateToCurrentItem(SessionState(m_backForwardList->entries(), m_backForwardList->currentIndex()), sandboxExtensionHandle), m_pageID);
+
+ restoredFromBackForwardList = true;
+ }
+ }
+ }
- process()->send(Messages::WebPage::RestoreSessionAndNavigateToCurrentItem(SessionState(m_backForwardList->entries(), m_backForwardList->currentIndex()), sandboxExtensionHandle), m_pageID);
+ // FIXME: It would be better to load the provisional URL even if the back/forward list is also present.
+ // But when we tried it, it overwrote the current item in the back/forward list instead of pushing a
+ // new item on. For now, just throw away the provisional URL if there is also a back/forward list.
+ if (provisionalURL && !restoredFromBackForwardList)
+ loadURL(provisionalURL);
}
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp b/Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp
index 711783a..6a6715a 100644
--- a/Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp
+++ b/Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp
@@ -27,8 +27,8 @@
#include "config.h"
#include "TextChecker.h"
-#include "NotImplemented.h"
#include "TextCheckerState.h"
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
@@ -80,6 +80,11 @@ void TextChecker::updateSpellingUIWithMisspelledWord(const String& misspelledWor
notImplemented();
}
+void TextChecker::updateSpellingUIWithGrammarString(const String& badGrammarPhrase, const GrammarDetail& grammarDetail)
+{
+ notImplemented();
+}
+
void TextChecker::getGuessesForWord(int64_t spellDocumentTag, const String& word, const String& context, Vector<String>& guesses)
{
notImplemented();
diff --git a/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp b/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp
new file mode 100644
index 0000000..d67726c
--- /dev/null
+++ b/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Portions Copyright (c) 2010 Motorola Mobility, 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 "WebContext.h"
+
+#include "ApplicationCacheStorage.h"
+#include "NotImplemented.h"
+
+namespace WebKit {
+
+WTF::String WebContext::applicationCacheDirectory()
+{
+ return WebCore::cacheStorage().cacheDirectory();
+}
+
+void WebContext::platformInitializeWebProcess(WebProcessCreationParameters&)
+{
+}
+
+String WebContext::platformDefaultDatabaseDirectory() const
+{
+ return WTF::String::fromUTF8(g_build_filename(g_get_user_data_dir(), "webkit", "databases", NULL));
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/gtk/WebInspectorGtk.cpp b/Source/WebKit2/UIProcess/gtk/WebInspectorGtk.cpp
index 8d6b515..ee12bac 100644
--- a/Source/WebKit2/UIProcess/gtk/WebInspectorGtk.cpp
+++ b/Source/WebKit2/UIProcess/gtk/WebInspectorGtk.cpp
@@ -29,11 +29,9 @@
#if ENABLE(INSPECTOR)
+#include <WebCore/NotImplemented.h>
#include <wtf/text/WTFString.h>
-#define DISABLE_NOT_IMPLEMENTED_WARNINGS 1
-#include "NotImplemented.h"
-
namespace WebKit {
WebPageProxy* WebInspectorProxy::platformCreateInspectorPage()
@@ -52,6 +50,11 @@ void WebInspectorProxy::platformClose()
notImplemented();
}
+void WebInspectorProxy::platformInspectedURLChanged(const String&)
+{
+ notImplemented();
+}
+
String WebInspectorProxy::inspectorPageURL() const
{
notImplemented();
diff --git a/Source/WebKit2/UIProcess/gtk/WebPageProxyGtk.cpp b/Source/WebKit2/UIProcess/gtk/WebPageProxyGtk.cpp
index a36bd0c..838de97 100644
--- a/Source/WebKit2/UIProcess/gtk/WebPageProxyGtk.cpp
+++ b/Source/WebKit2/UIProcess/gtk/WebPageProxyGtk.cpp
@@ -32,7 +32,7 @@ namespace WebKit {
String WebPageProxy::standardUserAgent(const String& applicationNameForUserAgent)
{
// FIXME: This should not be hard coded.
- return "Mozilla/5.0 (X11; U; Linux i686; en-us) AppleWebKit/534.7 (KHTML, like Gecko) Version/5.0 Safari/534.7";
+ return "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.7 (KHTML, like Gecko) Version/5.0 Safari/534.7";
}
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp b/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp
index f7caee8..c698204 100644
--- a/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp
+++ b/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp
@@ -27,7 +27,7 @@
#include "config.h"
#include "WebPreferences.h"
-#include "NotImplemented.h"
+#include <WebCore/NotImplemented.h>
namespace WebKit {
diff --git a/Source/WebKit2/UIProcess/gtk/WebView.cpp b/Source/WebKit2/UIProcess/gtk/WebView.cpp
new file mode 100644
index 0000000..5063922
--- /dev/null
+++ b/Source/WebKit2/UIProcess/gtk/WebView.cpp
@@ -0,0 +1,297 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved.
+ * Copyright (C) 2011 Igalia S.L.
+ *
+ * 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 "WebView.h"
+
+#include "ChunkedUpdateDrawingAreaProxy.h"
+#include "NativeWebKeyboardEvent.h"
+#include "NotImplemented.h"
+#include "WebContext.h"
+#include "WebContextMenuProxy.h"
+#include "WebEventFactory.h"
+#include "WebViewWidget.h"
+#include "WebPageProxy.h"
+#include <wtf/text/WTFString.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+
+void WebView::handleFocusInEvent(GtkWidget* widget)
+{
+ if (!(m_isPageActive)) {
+ m_isPageActive = true;
+ m_page->viewStateDidChange(WebPageProxy::ViewWindowIsActive);
+ }
+
+ m_page->viewStateDidChange(WebPageProxy::ViewIsFocused);
+}
+
+void WebView::handleFocusOutEvent(GtkWidget* widget)
+{
+ m_isPageActive = false;
+ m_page->viewStateDidChange(WebPageProxy::ViewWindowIsActive);
+}
+
+WebView::WebView(WebContext* context, WebPageGroup* pageGroup)
+ : m_isPageActive(true)
+{
+ m_page = context->createWebPage(this, pageGroup);
+
+ m_viewWidget = static_cast<GtkWidget*>(g_object_new(WEB_VIEW_TYPE_WIDGET, NULL));
+ ASSERT(m_viewWidget);
+
+ m_page->initializeWebPage();
+
+ WebViewWidget* webViewWidget = WEB_VIEW_WIDGET(m_viewWidget);
+ webViewWidgetSetWebViewInstance(webViewWidget, this);
+}
+
+WebView::~WebView()
+{
+}
+
+GdkWindow* WebView::getWebViewWindow()
+{
+ return gtk_widget_get_window(m_viewWidget);
+}
+
+void WebView::paint(GtkWidget* widget, GdkRectangle rect, cairo_t* cr)
+{
+ m_page->drawingArea()->paint(IntRect(rect), cr);
+}
+
+void WebView::setSize(GtkWidget*, IntSize windowSize)
+{
+ m_page->drawingArea()->setSize(windowSize, IntSize());
+}
+
+void WebView::handleKeyboardEvent(GdkEventKey* event)
+{
+ m_page->handleKeyboardEvent(NativeWebKeyboardEvent(reinterpret_cast<GdkEvent*>(event)));
+}
+
+void WebView::handleMouseEvent(GdkEvent* event, int currentClickCount)
+{
+ m_page->handleMouseEvent(WebEventFactory::createWebMouseEvent(event, currentClickCount));
+}
+
+void WebView::handleWheelEvent(GdkEventScroll* event)
+{
+ m_page->handleWheelEvent(WebEventFactory::createWebWheelEvent(event));
+}
+
+bool WebView::isActive()
+{
+ return m_isPageActive;
+}
+
+void WebView::close()
+{
+ m_page->close();
+}
+
+// PageClient's pure virtual functions
+PassOwnPtr<DrawingAreaProxy> WebView::createDrawingAreaProxy()
+{
+ return ChunkedUpdateDrawingAreaProxy::create(this, m_page.get());
+}
+
+void WebView::setViewNeedsDisplay(const WebCore::IntRect&)
+{
+ notImplemented();
+}
+
+void WebView::displayView()
+{
+ notImplemented();
+}
+
+void WebView::scrollView(const WebCore::IntRect& scrollRect, const WebCore::IntSize& scrollOffset)
+{
+ notImplemented();
+}
+
+WebCore::IntSize WebView::viewSize()
+{
+ GtkAllocation allocation;
+ gtk_widget_get_allocation(m_viewWidget, &allocation);
+ return IntSize(allocation.width, allocation.height);
+}
+
+bool WebView::isViewWindowActive()
+{
+ notImplemented();
+ return true;
+}
+
+bool WebView::isViewFocused()
+{
+ notImplemented();
+ return true;
+}
+
+bool WebView::isViewVisible()
+{
+ notImplemented();
+ return true;
+}
+
+bool WebView::isViewInWindow()
+{
+ notImplemented();
+ return true;
+}
+
+void WebView::WebView::processDidCrash()
+{
+ notImplemented();
+}
+
+void WebView::didRelaunchProcess()
+{
+ notImplemented();
+}
+
+void WebView::takeFocus(bool)
+{
+ notImplemented();
+}
+
+void WebView::toolTipChanged(const String&, const String&)
+{
+ notImplemented();
+}
+
+void WebView::setCursor(const Cursor&)
+{
+ notImplemented();
+}
+
+void WebView::setViewportArguments(const WebCore::ViewportArguments&)
+{
+ notImplemented();
+}
+
+void WebView::registerEditCommand(PassRefPtr<WebEditCommandProxy>, WebPageProxy::UndoOrRedo)
+{
+ notImplemented();
+}
+
+void WebView::clearAllEditCommands()
+{
+ notImplemented();
+}
+
+FloatRect WebView::convertToDeviceSpace(const FloatRect& viewRect)
+{
+ notImplemented();
+ return viewRect;
+}
+
+FloatRect WebView::convertToUserSpace(const FloatRect& viewRect)
+{
+ notImplemented();
+ return viewRect;
+}
+
+void WebView::doneWithKeyEvent(const NativeWebKeyboardEvent&, bool wasEventHandled)
+{
+ notImplemented();
+}
+
+void WebView::didNotHandleKeyEvent(const NativeWebKeyboardEvent& event)
+{
+ notImplemented();
+}
+
+PassRefPtr<WebPopupMenuProxy> WebView::createPopupMenuProxy(WebPageProxy*)
+{
+ notImplemented();
+ return 0;
+}
+
+PassRefPtr<WebContextMenuProxy> WebView::createContextMenuProxy(WebPageProxy*)
+{
+ notImplemented();
+ return 0;
+}
+
+void WebView::setFindIndicator(PassRefPtr<FindIndicator>, bool fadeOut)
+{
+ notImplemented();
+}
+
+#if USE(ACCELERATED_COMPOSITING)
+void WebView::pageDidEnterAcceleratedCompositing()
+{
+ notImplemented();
+}
+
+void WebView::pageDidLeaveAcceleratedCompositing()
+{
+ notImplemented();
+}
+#endif // USE(ACCELERATED_COMPOSITING)
+
+void WebView::didCommitLoadForMainFrame(bool useCustomRepresentation)
+{
+}
+
+void WebView::didFinishLoadingDataForCustomRepresentation(const String& suggestedFilename, const CoreIPC::DataReference&)
+{
+}
+
+double WebView::customRepresentationZoomFactor()
+{
+ notImplemented();
+ return 0;
+}
+
+void WebView::setCustomRepresentationZoomFactor(double)
+{
+ notImplemented();
+}
+
+void WebView::pageClosed()
+{
+ notImplemented();
+}
+
+void WebView::didChangeScrollbarsForMainFrame() const
+{
+}
+
+void WebView::flashBackingStoreUpdates(const Vector<IntRect>&)
+{
+ notImplemented();
+}
+
+
+} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/gtk/WebView.h b/Source/WebKit2/UIProcess/gtk/WebView.h
new file mode 100644
index 0000000..256dc04
--- /dev/null
+++ b/Source/WebKit2/UIProcess/gtk/WebView.h
@@ -0,0 +1,122 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved.
+ * Copyright (C) 2011 Igalia S.L.
+ *
+ * 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 WebView_h
+#define WebView_h
+
+#include "PageClient.h"
+#include "WebPageProxy.h"
+#include <WebCore/IntSize.h>
+#include <gdk/gdk.h>
+#include <glib.h>
+#include <gtk/gtk.h>
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+#include <wtf/RefPtr.h>
+
+namespace WebKit {
+
+class DrawingAreaProxy;
+class WebPageNamespace;
+
+class WebView : public RefCounted<WebView>, public PageClient {
+public:
+ ~WebView();
+ static PassRefPtr<WebView> create(WebContext* context, WebPageGroup* pageGroup)
+ {
+ return adoptRef(new WebView(context, pageGroup));
+ }
+
+ GtkWidget* window() const { return m_viewWidget; }
+
+ WebPageProxy* page() const { return m_page.get(); }
+
+ void handleFocusInEvent(GtkWidget*);
+ void handleFocusOutEvent(GtkWidget*);
+
+ void paint(GtkWidget*, GdkRectangle, cairo_t*);
+ void setSize(GtkWidget*, WebCore::IntSize);
+ void handleKeyboardEvent(GdkEventKey*);
+ void handleWheelEvent(GdkEventScroll*);
+ void handleMouseEvent(GdkEvent*, int);
+
+private:
+ WebView(WebContext*, WebPageGroup*);
+
+ GdkWindow* getWebViewWindow();
+
+ bool isActive();
+ void close();
+
+ // PageClient
+ virtual PassOwnPtr<DrawingAreaProxy> createDrawingAreaProxy();
+ virtual void setViewNeedsDisplay(const WebCore::IntRect&);
+ virtual void displayView();
+ virtual void scrollView(const WebCore::IntRect& scrollRect, const WebCore::IntSize& scrollOffset);
+ virtual WebCore::IntSize viewSize();
+ virtual bool isViewWindowActive();
+ virtual bool isViewFocused();
+ virtual bool isViewVisible();
+ virtual bool isViewInWindow();
+ virtual void processDidCrash();
+ virtual void didRelaunchProcess();
+ virtual void pageClosed();
+ virtual void takeFocus(bool direction);
+ virtual void toolTipChanged(const WTF::String&, const WTF::String&);
+ virtual void setCursor(const WebCore::Cursor&);
+ virtual void setViewportArguments(const WebCore::ViewportArguments&);
+ virtual void registerEditCommand(PassRefPtr<WebEditCommandProxy>, WebPageProxy::UndoOrRedo);
+ virtual void clearAllEditCommands();
+ virtual WebCore::FloatRect convertToDeviceSpace(const WebCore::FloatRect&);
+ virtual WebCore::FloatRect convertToUserSpace(const WebCore::FloatRect&);
+ virtual void doneWithKeyEvent(const NativeWebKeyboardEvent&, bool wasEventHandled);
+ virtual void didNotHandleKeyEvent(const NativeWebKeyboardEvent&);
+ virtual PassRefPtr<WebPopupMenuProxy> createPopupMenuProxy(WebPageProxy*);
+ virtual PassRefPtr<WebContextMenuProxy> createContextMenuProxy(WebPageProxy*);
+ virtual void setFindIndicator(PassRefPtr<FindIndicator>, bool fadeOut);
+ virtual void didChangeScrollbarsForMainFrame() const;
+ virtual void flashBackingStoreUpdates(const Vector<WebCore::IntRect>& updateRects);
+
+#if USE(ACCELERATED_COMPOSITING)
+ virtual void pageDidEnterAcceleratedCompositing();
+ virtual void pageDidLeaveAcceleratedCompositing();
+#endif
+
+ virtual void didCommitLoadForMainFrame(bool useCustomRepresentation);
+ virtual void didFinishLoadingDataForCustomRepresentation(const String& suggestedFilename, const CoreIPC::DataReference&);
+ virtual double customRepresentationZoomFactor();
+ virtual void setCustomRepresentationZoomFactor(double);
+
+ // Members of WebView class
+ GtkWidget* m_viewWidget;
+ bool m_isPageActive;
+ RefPtr<WebPageProxy> m_page;
+};
+
+} // namespace WebKit
+
+#endif // WebView_h
diff --git a/Source/WebKit2/UIProcess/gtk/WebViewWidget.cpp b/Source/WebKit2/UIProcess/gtk/WebViewWidget.cpp
new file mode 100644
index 0000000..dfdd3b2
--- /dev/null
+++ b/Source/WebKit2/UIProcess/gtk/WebViewWidget.cpp
@@ -0,0 +1,377 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved.
+ * Copyright (C) 2011 Igalia S.L.
+ *
+ * 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 "WebViewWidget.h"
+
+#include "GOwnPtrGtk.h"
+#include "GtkVersioning.h"
+#include "NotImplemented.h"
+#include "RefPtrCairo.h"
+
+using namespace WebKit;
+using namespace WebCore;
+
+static gpointer webViewWidgetParentClass = 0;
+
+struct _WebViewWidgetPrivate {
+ WebView* webViewInstance;
+ GtkIMContext* imContext;
+ gint currentClickCount;
+ IntPoint previousClickPoint;
+ guint previousClickButton;
+ guint32 previousClickTime;
+};
+
+static void webViewWidgetRealize(GtkWidget* widget)
+{
+ gtk_widget_set_realized(widget, TRUE);
+
+ GtkAllocation allocation;
+ gtk_widget_get_allocation(widget, &allocation);
+
+ GdkWindowAttr attributes;
+ attributes.window_type = GDK_WINDOW_CHILD;
+ attributes.x = allocation.x;
+ attributes.y = allocation.y;
+ attributes.width = allocation.width;
+ attributes.height = allocation.height;
+ attributes.wclass = GDK_INPUT_OUTPUT;
+ attributes.visual = gtk_widget_get_visual(widget);
+#ifdef GTK_API_VERSION_2
+ attributes.colormap = gtk_widget_get_colormap(widget);
+#endif
+ attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK
+ | GDK_EXPOSURE_MASK
+ | GDK_BUTTON_PRESS_MASK
+ | GDK_BUTTON_RELEASE_MASK
+ | GDK_POINTER_MOTION_MASK
+ | GDK_KEY_PRESS_MASK
+ | GDK_KEY_RELEASE_MASK
+ | GDK_BUTTON_MOTION_MASK
+ | GDK_BUTTON1_MOTION_MASK
+ | GDK_BUTTON2_MOTION_MASK
+ | GDK_BUTTON3_MOTION_MASK;
+
+ gint attributesMask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL;
+#ifdef GTK_API_VERSION_2
+ attributesMask |= GDK_WA_COLORMAP;
+#endif
+ GdkWindow* window = gdk_window_new(gtk_widget_get_parent_window(widget), &attributes, attributesMask);
+ gtk_widget_set_window(widget, window);
+ gdk_window_set_user_data(window, widget);
+
+#ifdef GTK_API_VERSION_2
+#if GTK_CHECK_VERSION(2, 20, 0)
+ gtk_widget_style_attach(widget);
+#else
+ widget->style = gtk_style_attach(gtk_widget_get_style(widget), window);
+#endif
+ gtk_style_set_background(gtk_widget_get_style(widget), window, GTK_STATE_NORMAL);
+#else
+ gtk_style_context_set_background(gtk_widget_get_style_context(widget), window);
+#endif
+
+ WebViewWidget* webView = WEB_VIEW_WIDGET(widget);
+ WebViewWidgetPrivate* priv = webView->priv;
+ gtk_im_context_set_client_window(priv->imContext, window);
+}
+
+static void webViewWidgetContainerAdd(GtkContainer* container, GtkWidget* widget)
+{
+ gtk_widget_set_parent(widget, GTK_WIDGET(container));
+}
+
+static void webViewWidgetDispose(GObject* gobject)
+{
+ WebViewWidget* webViewWidget = WEB_VIEW_WIDGET(gobject);
+ WebViewWidgetPrivate* priv = webViewWidget->priv;
+
+ if (priv->imContext) {
+ g_object_unref(priv->imContext);
+ priv->imContext = 0;
+ }
+
+ G_OBJECT_CLASS(webViewWidgetParentClass)->dispose(gobject);
+}
+
+static void webViewWidgetInit(WebViewWidget* webViewWidget)
+{
+ WebViewWidgetPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(webViewWidget, WEB_VIEW_TYPE_WIDGET, WebViewWidgetPrivate);
+ webViewWidget->priv = priv;
+
+ gtk_widget_set_can_focus(GTK_WIDGET(webViewWidget), TRUE);
+ priv->imContext = gtk_im_multicontext_new();
+
+ priv->currentClickCount = 0;
+ priv->previousClickButton = 0;
+ priv->previousClickTime = 0;
+}
+
+#ifdef GTK_API_VERSION_2
+static gboolean webViewExpose(GtkWidget* widget, GdkEventExpose* event)
+{
+ WebView* webView = webViewWidgetGetWebViewInstance(WEB_VIEW_WIDGET(widget));
+ GdkRectangle clipRect;
+ gdk_region_get_clipbox(event->region, &clipRect);
+
+ GdkWindow* window = gtk_widget_get_window(widget);
+ RefPtr<cairo_t> cr = adoptRef(gdk_cairo_create(window));
+
+ webView->paint(widget, clipRect, cr.get());
+
+ return FALSE;
+}
+#else
+static gboolean webViewDraw(GtkWidget* widget, cairo_t* cr)
+{
+ WebView* webView = webViewWidgetGetWebViewInstance(WEB_VIEW_WIDGET(widget));
+ GdkRectangle clipRect;
+
+ if (!gdk_cairo_get_clip_rectangle(cr, &clipRect))
+ return FALSE;
+
+ webView->paint(widget, clipRect, cr);
+
+ return FALSE;
+}
+#endif
+
+static void webViewSizeAllocate(GtkWidget* widget, GtkAllocation* allocation)
+{
+ WebView* webView = webViewWidgetGetWebViewInstance(WEB_VIEW_WIDGET(widget));
+ GTK_WIDGET_CLASS(webViewWidgetParentClass)->size_allocate(widget, allocation);
+ webView->setSize(widget, IntSize(allocation->width, allocation->height));
+}
+
+static gboolean webViewFocusInEvent(GtkWidget* widget, GdkEventFocus* event)
+{
+ WebViewWidget* webViewWidget = WEB_VIEW_WIDGET(widget);
+ WebView* webView = webViewWidgetGetWebViewInstance(webViewWidget);
+
+ GtkWidget* toplevel = gtk_widget_get_toplevel(widget);
+ if (gtk_widget_is_toplevel(toplevel) && gtk_window_has_toplevel_focus(GTK_WINDOW(toplevel))) {
+ gtk_im_context_focus_in(webViewWidgetGetIMContext(webViewWidget));
+ webView->handleFocusInEvent(widget);
+ }
+
+ return GTK_WIDGET_CLASS(webViewWidgetParentClass)->focus_in_event(widget, event);
+}
+
+static gboolean webViewFocusOutEvent(GtkWidget* widget, GdkEventFocus* event)
+{
+ WebViewWidget* webViewWidget = WEB_VIEW_WIDGET(widget);
+ WebView* webView = webViewWidgetGetWebViewInstance(webViewWidget);
+
+ webView->handleFocusOutEvent(widget);
+ GtkIMContext* imContext = webViewWidgetGetIMContext(webViewWidget);
+ if (imContext)
+ gtk_im_context_focus_out(imContext);
+
+ return GTK_WIDGET_CLASS(webViewWidgetParentClass)->focus_out_event(widget, event);
+}
+
+static gboolean webViewKeyPressEvent(GtkWidget* widget, GdkEventKey* event)
+{
+ WebView* webView = webViewWidgetGetWebViewInstance(WEB_VIEW_WIDGET(widget));
+ webView->handleKeyboardEvent(event);
+
+ return GTK_WIDGET_CLASS(webViewWidgetParentClass)->key_press_event(widget, event);
+}
+
+static gboolean webViewKeyReleaseEvent(GtkWidget* widget, GdkEventKey* event)
+{
+ WebViewWidget* webViewWidget = WEB_VIEW_WIDGET(widget);
+ WebView* webView = webViewWidgetGetWebViewInstance(webViewWidget);
+
+ if (gtk_im_context_filter_keypress(webViewWidgetGetIMContext(webViewWidget), event))
+ return TRUE;
+
+ webView->handleKeyboardEvent(event);
+
+ return GTK_WIDGET_CLASS(webViewWidgetParentClass)->key_release_event(widget, event);
+}
+
+// Copied from webkitwebview.cpp
+static guint32 getEventTime(GdkEvent* event)
+{
+ guint32 time = gdk_event_get_time(event);
+ if (time)
+ return time;
+
+ // Real events always have a non-zero time, but events synthesized
+ // by the DRT do not and we must calculate a time manually. This time
+ // is not calculated in the DRT, because GTK+ does not work well with
+ // anything other than GDK_CURRENT_TIME on synthesized events.
+ GTimeVal timeValue;
+ g_get_current_time(&timeValue);
+ return (timeValue.tv_sec * 1000) + (timeValue.tv_usec / 1000);
+}
+
+static gboolean webViewButtonPressEvent(GtkWidget* widget, GdkEventButton* buttonEvent)
+{
+ if (buttonEvent->button == 3) {
+ // FIXME: [GTK] Add context menu support for Webkit2.
+ // https://bugs.webkit.org/show_bug.cgi?id=54827
+ notImplemented();
+ return FALSE;
+ }
+
+ gtk_widget_grab_focus(widget);
+
+ // For double and triple clicks GDK sends both a normal button press event
+ // and a specific type (like GDK_2BUTTON_PRESS). If we detect a special press
+ // coming up, ignore this event as it certainly generated the double or triple
+ // click. The consequence of not eating this event is two DOM button press events
+ // are generated.
+ GOwnPtr<GdkEvent> nextEvent(gdk_event_peek());
+ if (nextEvent && (nextEvent->any.type == GDK_2BUTTON_PRESS || nextEvent->any.type == GDK_3BUTTON_PRESS))
+ return TRUE;
+
+ gint doubleClickDistance = 250;
+ gint doubleClickTime = 5;
+ GtkSettings* settings = gtk_settings_get_for_screen(gtk_widget_get_screen(widget));
+ g_object_get(settings,
+ "gtk-double-click-distance", &doubleClickDistance,
+ "gtk-double-click-time", &doubleClickTime, NULL);
+
+ // GTK+ only counts up to triple clicks, but WebCore wants to know about
+ // quadruple clicks, quintuple clicks, ad infinitum. Here, we replicate the
+ // GDK logic for counting clicks.
+ GdkEvent* event(reinterpret_cast<GdkEvent*>(buttonEvent));
+ guint32 eventTime = getEventTime(event);
+ WebViewWidget* webViewWidget = WEB_VIEW_WIDGET(widget);
+ WebViewWidgetPrivate* priv = webViewWidget->priv;
+ if ((event->type == GDK_2BUTTON_PRESS || event->type == GDK_3BUTTON_PRESS)
+ || ((abs(buttonEvent->x - priv->previousClickPoint.x()) < doubleClickDistance)
+ && (abs(buttonEvent->y - priv->previousClickPoint.y()) < doubleClickDistance)
+ && (eventTime - priv->previousClickTime < static_cast<guint>(doubleClickTime))
+ && (buttonEvent->button == priv->previousClickButton)))
+ priv->currentClickCount++;
+ else
+ priv->currentClickCount = 1;
+
+ WebView* webView = webViewWidgetGetWebViewInstance(webViewWidget);
+ webView->handleMouseEvent(event, priv->currentClickCount);
+
+ gdouble x, y;
+ gdk_event_get_coords(event, &x, &y);
+ priv->previousClickPoint = IntPoint(x, y);
+ priv->previousClickButton = buttonEvent->button;
+ priv->previousClickTime = eventTime;
+
+ return FALSE;
+}
+
+static gboolean webViewButtonReleaseEvent(GtkWidget* widget, GdkEventButton* event)
+{
+ WebView* webView = webViewWidgetGetWebViewInstance(WEB_VIEW_WIDGET(widget));
+ gtk_widget_grab_focus(widget);
+ webView->handleMouseEvent(reinterpret_cast<GdkEvent*>(event), 0 /* currentClickCount */);
+
+ return FALSE;
+}
+
+static gboolean webViewScrollEvent(GtkWidget* widget, GdkEventScroll* event)
+{
+ WebView* webView = webViewWidgetGetWebViewInstance(WEB_VIEW_WIDGET(widget));
+ webView->handleWheelEvent(event);
+
+ return FALSE;
+}
+
+static gboolean webViewMotionNotifyEvent(GtkWidget* widget, GdkEventMotion* event)
+{
+ WebView* webView = webViewWidgetGetWebViewInstance(WEB_VIEW_WIDGET(widget));
+ webView->handleMouseEvent(reinterpret_cast<GdkEvent*>(event), 0 /* currentClickCount */);
+
+ return FALSE;
+}
+
+static void webViewWidgetClassInit(WebViewWidgetClass* webViewWidgetClass)
+{
+ webViewWidgetParentClass = g_type_class_peek_parent(webViewWidgetClass);
+
+ GtkWidgetClass* widgetClass = GTK_WIDGET_CLASS(webViewWidgetClass);
+ widgetClass->realize = webViewWidgetRealize;
+#ifdef GTK_API_VERSION_2
+ widgetClass->expose_event = webViewExpose;
+#else
+ widgetClass->draw = webViewDraw;
+#endif
+ widgetClass->size_allocate = webViewSizeAllocate;
+ widgetClass->focus_in_event = webViewFocusInEvent;
+ widgetClass->focus_out_event = webViewFocusOutEvent;
+ widgetClass->key_press_event = webViewKeyPressEvent;
+ widgetClass->key_release_event = webViewKeyReleaseEvent;
+ widgetClass->button_press_event = webViewButtonPressEvent;
+ widgetClass->button_release_event = webViewButtonReleaseEvent;
+ widgetClass->scroll_event = webViewScrollEvent;
+ widgetClass->motion_notify_event = webViewMotionNotifyEvent;
+
+ GObjectClass* gobjectClass = G_OBJECT_CLASS(webViewWidgetClass);
+ gobjectClass->dispose = webViewWidgetDispose;
+
+ GtkContainerClass* containerClass = GTK_CONTAINER_CLASS(webViewWidgetClass);
+ containerClass->add = webViewWidgetContainerAdd;
+
+ g_type_class_add_private(webViewWidgetClass, sizeof(WebViewWidgetPrivate));
+}
+
+GType webViewWidgetGetType()
+{
+ static volatile gsize gDefineTypeIdVolatile = 0;
+
+ if (!g_once_init_enter(&gDefineTypeIdVolatile))
+ return gDefineTypeIdVolatile;
+
+ GType gDefineTypeId = g_type_register_static_simple(GTK_TYPE_CONTAINER,
+ g_intern_static_string("WebViewWidget"),
+ sizeof(WebViewWidgetClass),
+ reinterpret_cast<GClassInitFunc>(webViewWidgetClassInit),
+ sizeof(WebViewWidget),
+ reinterpret_cast<GInstanceInitFunc>(webViewWidgetInit),
+ static_cast<GTypeFlags>(0));
+ g_once_init_leave(&gDefineTypeIdVolatile, gDefineTypeId);
+
+ return gDefineTypeIdVolatile;
+}
+
+WebView* webViewWidgetGetWebViewInstance(WebViewWidget* webViewWidget)
+{
+ return webViewWidget->priv->webViewInstance;
+}
+
+void webViewWidgetSetWebViewInstance(WebViewWidget* webViewWidget, WebView* webViewInstance)
+{
+ webViewWidget->priv->webViewInstance = webViewInstance;
+}
+
+GtkIMContext* webViewWidgetGetIMContext(WebViewWidget* webViewWidget)
+{
+ return webViewWidget->priv->imContext;
+}
diff --git a/Source/WebKit2/UIProcess/gtk/WebViewWidget.h b/Source/WebKit2/UIProcess/gtk/WebViewWidget.h
new file mode 100644
index 0000000..ef1d87f
--- /dev/null
+++ b/Source/WebKit2/UIProcess/gtk/WebViewWidget.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved.
+ * Copyright (C) 2011 Igalia S.L.
+ *
+ * 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 WebViewWidget_h
+#define WebViewWidget_h
+
+#include "WebView.h"
+
+#include <gtk/gtk.h>
+
+using namespace WebKit;
+
+G_BEGIN_DECLS
+
+#define WEB_VIEW_TYPE_WIDGET (webViewWidgetGetType())
+#define WEB_VIEW_WIDGET(object) (G_TYPE_CHECK_INSTANCE_CAST((object), WEB_VIEW_TYPE_WIDGET, WebViewWidget))
+#define WEB_VIEW_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEB_VIEW_TYPE_WIDGET, WebViewWidgetClass))
+#define WEB_VIEW_IS_WIDGET(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), WEB_VIEW_TYPE_WIDGET))
+#define WEB_VIEW_IS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEB_VIEW_TYPE_WIDGET))
+#define WEB_VIEW_WIDGET_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), WEB_VIEW_TYPE_WIDGET, WebViewWidgetClass))
+
+typedef struct _WebViewWidget WebViewWidget;
+typedef struct _WebViewWidgetClass WebViewWidgetClass;
+typedef struct _WebViewWidgetPrivate WebViewWidgetPrivate;
+
+struct _WebViewWidget {
+ GtkContainer parentInstance;
+ /*< private >*/
+ WebViewWidgetPrivate* priv;
+};
+
+struct _WebViewWidgetClass {
+ GtkContainerClass parentClass;
+};
+
+GType webViewWidgetGetType();
+
+WebView* webViewWidgetGetWebViewInstance(WebViewWidget*);
+
+void webViewWidgetSetWebViewInstance(WebViewWidget*, WebView*);
+
+GtkIMContext* webViewWidgetGetIMContext(WebViewWidget*);
+
+G_END_DECLS
+
+#endif // WebViewWidget_h
diff --git a/Source/WebKit2/UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm b/Source/WebKit2/UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm
deleted file mode 100644
index 1c3aee3..0000000
--- a/Source/WebKit2/UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (C) 2010 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.
- */
-
-#import "config.h"
-#import "LayerBackedDrawingAreaProxy.h"
-
-#import "DrawingAreaMessageKinds.h"
-#import "DrawingAreaProxyMessageKinds.h"
-#import <QuartzCore/QuartzCore.h>
-#import "WKAPICast.h"
-#import "WKView.h"
-#import "WKViewInternal.h"
-#import "WebKitSystemInterface.h"
-#import "WebPageProxy.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-WebPageProxy* LayerBackedDrawingAreaProxy::page()
-{
- return toImpl([m_webView pageRef]);
-}
-
-void LayerBackedDrawingAreaProxy::platformSetSize()
-{
- [m_compositingRootLayer.get() setBounds:CGRectMake(0, 0, size().width(), size().height())];
-}
-
-void LayerBackedDrawingAreaProxy::attachCompositingContext(uint32_t contextID)
-{
-#if HAVE(HOSTED_CORE_ANIMATION)
- m_compositingRootLayer = WKMakeRenderLayer(contextID);
-
- // Turn off default animations.
- NSNull *nullValue = [NSNull null];
- NSDictionary *actions = [NSDictionary dictionaryWithObjectsAndKeys:
- nullValue, @"anchorPoint",
- nullValue, @"bounds",
- nullValue, @"contents",
- nullValue, @"contentsRect",
- nullValue, @"opacity",
- nullValue, @"position",
- nullValue, @"sublayerTransform",
- nullValue, @"sublayers",
- nullValue, @"transform",
- nil];
- [m_compositingRootLayer.get() setStyle:[NSDictionary dictionaryWithObject:actions forKey:@"actions"]];
-
- [m_compositingRootLayer.get() setAnchorPoint:CGPointZero];
- [m_compositingRootLayer.get() setBounds:CGRectMake(0, 0, size().width(), size().height())];
-
- // FIXME: this fixes the layer jiggle when resizing the window, but breaks layer flipping because
- // CA doesn't propagate the kCALayerFlagFlippedAbove through the remote layer.
- // [m_compositingRootLayer.get() setGeometryFlipped:YES];
-
-#ifndef NDEBUG
- [m_compositingRootLayer.get() setName:@"Compositing root layer"];
-#endif
-
- [m_webView _startAcceleratedCompositing:m_compositingRootLayer.get()];
-#endif
-}
-
-void LayerBackedDrawingAreaProxy::detachCompositingContext()
-{
- [m_webView _stopAcceleratedCompositing];
- m_compositingRootLayer = 0;
-}
-
-bool LayerBackedDrawingAreaProxy::paint(const IntRect& rect, PlatformDrawingContext context)
-{
- WebPageProxy* webPageProxy = page();
- if (webPageProxy->drawsBackground() && webPageProxy->drawsTransparentBackground()) {
- CGContextSaveGState(context);
- CGContextSetBlendMode(context, kCGBlendModeCopy);
- CGContextSetFillColorWithColor(context, CGColorGetConstantColor(kCGColorClear));
- CGContextFillRect(context, rect);
-
- CGContextRestoreGState(context);
- }
-
- return true;
-}
-
-} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/mac/TextCheckerMac.mm b/Source/WebKit2/UIProcess/mac/TextCheckerMac.mm
index ceb140a..cef3a55 100644
--- a/Source/WebKit2/UIProcess/mac/TextCheckerMac.mm
+++ b/Source/WebKit2/UIProcess/mac/TextCheckerMac.mm
@@ -297,6 +297,21 @@ void TextChecker::updateSpellingUIWithMisspelledWord(const String& misspelledWor
[[NSSpellChecker sharedSpellChecker] updateSpellingPanelWithMisspelledWord:misspelledWord];
}
+void TextChecker::updateSpellingUIWithGrammarString(const String& badGrammarPhrase, const GrammarDetail& grammarDetail)
+{
+ RetainPtr<NSMutableArray> corrections(AdoptNS, [[NSMutableArray alloc] init]);
+ for (size_t i = 0; i < grammarDetail.guesses.size(); ++i) {
+ NSString *guess = grammarDetail.guesses[i];
+ [corrections.get() addObject:guess];
+ }
+
+ NSRange grammarRange = NSMakeRange(grammarDetail.location, grammarDetail.length);
+ NSString *grammarUserDescription = grammarDetail.userDescription;
+ RetainPtr<NSMutableDictionary> grammarDetailDict(AdoptNS, [[NSDictionary alloc] initWithObjectsAndKeys:[NSValue valueWithRange:grammarRange], NSGrammarRange, grammarUserDescription, NSGrammarUserDescription, corrections.get(), NSGrammarCorrections, nil]);
+
+ [[NSSpellChecker sharedSpellChecker] updateSpellingPanelWithGrammarString:badGrammarPhrase detail:grammarDetailDict.get()];
+}
+
void TextChecker::getGuessesForWord(int64_t spellDocumentTag, const String& word, const String& context, Vector<String>& guesses)
{
#if !defined(BUILDING_ON_SNOW_LEOPARD)
diff --git a/Source/WebKit2/UIProcess/mac/WebContextMac.mm b/Source/WebKit2/UIProcess/mac/WebContextMac.mm
index 9f635c1..498b6e7 100644
--- a/Source/WebKit2/UIProcess/mac/WebContextMac.mm
+++ b/Source/WebKit2/UIProcess/mac/WebContextMac.mm
@@ -33,6 +33,7 @@
using namespace WebCore;
+NSString *WebDatabaseDirectoryDefaultsKey = @"WebDatabaseDirectory";
NSString *WebKitLocalCacheDefaultsKey = @"WebKitLocalCache";
namespace WebKit {
@@ -81,6 +82,9 @@ void WebContext::platformInitializeWebProcess(WebProcessCreationParameters& para
parameters.nsURLCacheMemoryCapacity = [urlCache memoryCapacity];
parameters.nsURLCacheDiskCapacity = [urlCache diskCapacity];
+ ASSERT(strlen(parameters.nsURLCachePath.data()));
+ ASSERT(parameters.nsURLCachePath.data()[strlen(parameters.nsURLCachePath.data()) - 1] != '/'); // Necessary for NSURLCache to find the cache file.
+
#if USE(ACCELERATED_COMPOSITING) && HAVE(HOSTED_CORE_ANIMATION)
mach_port_t renderServerPort = WKInitializeRenderServer();
if (renderServerPort != MACH_PORT_NULL)
@@ -89,11 +93,18 @@ void WebContext::platformInitializeWebProcess(WebProcessCreationParameters& para
// FIXME: This should really be configurable; we shouldn't just blindly allow read access to the UI process bundle.
parameters.uiProcessBundleResourcePath = fileSystemRepresentation([[NSBundle mainBundle] resourcePath]);
+
+#if USE(CFURLSTORAGESESSIONS)
+ parameters.uiProcessBundleIdentifier = String([[NSBundle mainBundle] bundleIdentifier]);
+#endif
}
String WebContext::platformDefaultDatabaseDirectory() const
{
- return [@"~/Library/WebKit/Databases" stringByStandardizingPath];
+ NSString *databasesDirectory = [[NSUserDefaults standardUserDefaults] objectForKey:WebDatabaseDirectoryDefaultsKey];
+ if (!databasesDirectory || ![databasesDirectory isKindOfClass:[NSString class]])
+ databasesDirectory = @"~/Library/WebKit/Databases";
+ return [databasesDirectory stringByStandardizingPath];
}
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm b/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm
index 37a6f97..67d184c 100644
--- a/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm
+++ b/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm
@@ -82,6 +82,8 @@ WebPageProxy* WebInspectorProxy::platformCreateInspectorPage()
m_inspectorView.adoptNS([[WKView alloc] initWithFrame:NSZeroRect contextRef:toAPI(page()->context()) pageGroupRef:toAPI(inspectorPageGroup())]);
ASSERT(m_inspectorView);
+ [m_inspectorView.get() setDrawsBackground:NO];
+
return toImpl(m_inspectorView.get().pageRef);
}
@@ -130,6 +132,13 @@ void WebInspectorProxy::platformClose()
m_inspectorProxyObjCAdapter = 0;
}
+void WebInspectorProxy::platformInspectedURLChanged(const String& urlString)
+{
+ // FIXME: this should be made localizable once WebKit2 supports it. <rdar://problem/8728860>
+ NSString *title = [NSString stringWithFormat:@"Web Inspector \u2014 %@", (NSString *)urlString];
+ [m_inspectorWindow.get() setTitle:title];
+}
+
String WebInspectorProxy::inspectorPageURL() const
{
NSString *path = [[NSBundle bundleWithIdentifier:@"com.apple.WebCore"] pathForResource:@"inspector" ofType:@"html" inDirectory:@"inspector"];
diff --git a/Source/WebKit2/UIProcess/mac/WebPageProxyMac.mm b/Source/WebKit2/UIProcess/mac/WebPageProxyMac.mm
index e641fe0..1d3ed53 100644
--- a/Source/WebKit2/UIProcess/mac/WebPageProxyMac.mm
+++ b/Source/WebKit2/UIProcess/mac/WebPageProxyMac.mm
@@ -27,7 +27,6 @@
#import "WebPageProxy.h"
#import "PageClient.h"
-#import <WebCore/Language.h>
#import <wtf/text/StringConcatenate.h>
@interface NSApplication (Details)
@@ -88,12 +87,9 @@ String WebPageProxy::standardUserAgent(const String& applicationNameForUserAgent
DEFINE_STATIC_LOCAL(String, osVersion, (macOSXVersionString()));
DEFINE_STATIC_LOCAL(String, webKitVersion, (userVisibleWebKitVersionString()));
- // FIXME: We should upate the user agent if the default language changes.
- String language = defaultLanguage();
-
if (applicationNameForUserAgent.isEmpty())
- return makeString("Mozilla/5.0 (Macintosh; U; " PROCESSOR " Mac OS X ", osVersion, "; ", language, ") AppleWebKit/", webKitVersion, " (KHTML, like Gecko)");
- return makeString("Mozilla/5.0 (Macintosh; U; " PROCESSOR " Mac OS X ", osVersion, "; ", language, ") AppleWebKit/", webKitVersion, " (KHTML, like Gecko) ", applicationNameForUserAgent);
+ return makeString("Mozilla/5.0 (Macintosh; " PROCESSOR " Mac OS X ", osVersion, ") AppleWebKit/", webKitVersion, " (KHTML, like Gecko)");
+ return makeString("Mozilla/5.0 (Macintosh; " PROCESSOR " Mac OS X ", osVersion, ") AppleWebKit/", webKitVersion, " (KHTML, like Gecko) ", applicationNameForUserAgent);
}
void WebPageProxy::getIsSpeaking(bool& isSpeaking)
diff --git a/Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.h b/Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.h
index 788fd20..fda5219 100644
--- a/Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.h
+++ b/Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.h
@@ -38,22 +38,22 @@ class WebPageProxy;
class WebPopupMenuProxyMac : public WebPopupMenuProxy {
public:
- static PassRefPtr<WebPopupMenuProxyMac> create(WKView* webView, WebPopupMenuProxy::Client* client)
+ static PassRefPtr<WebPopupMenuProxyMac> create(WKView *webView, WebPopupMenuProxy::Client* client)
{
return adoptRef(new WebPopupMenuProxyMac(webView, client));
}
~WebPopupMenuProxyMac();
- virtual void showPopupMenu(const WebCore::IntRect&, WebCore::TextDirection, const Vector<WebPopupItem>&, const PlatformPopupMenuData&, int32_t selectedIndex);
+ virtual void showPopupMenu(const WebCore::IntRect&, WebCore::TextDirection, double scaleFactor, const Vector<WebPopupItem>&, const PlatformPopupMenuData&, int32_t selectedIndex);
virtual void hidePopupMenu();
private:
- WebPopupMenuProxyMac(WKView*, WebPopupMenuProxy::Client* client);
+ WebPopupMenuProxyMac(WKView *, WebPopupMenuProxy::Client*);
- void populate(const Vector<WebPopupItem>&, WebCore::TextDirection);
+ void populate(const Vector<WebPopupItem>&, NSFont *, WebCore::TextDirection);
RetainPtr<NSPopUpButtonCell> m_popup;
- WKView* m_webView;
+ WKView *m_webView;
};
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.mm b/Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.mm
index 61713fc..7ce8764 100644
--- a/Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.mm
+++ b/Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.mm
@@ -36,7 +36,7 @@ using namespace WebCore;
namespace WebKit {
-WebPopupMenuProxyMac::WebPopupMenuProxyMac(WKView* webView, WebPopupMenuProxy::Client* client)
+WebPopupMenuProxyMac::WebPopupMenuProxyMac(WKView *webView, WebPopupMenuProxy::Client* client)
: WebPopupMenuProxy(client)
, m_webView(webView)
{
@@ -48,7 +48,7 @@ WebPopupMenuProxyMac::~WebPopupMenuProxyMac()
[m_popup.get() setControlView:nil];
}
-void WebPopupMenuProxyMac::populate(const Vector<WebPopupItem>& items, TextDirection menuTextDirection)
+void WebPopupMenuProxyMac::populate(const Vector<WebPopupItem>& items, NSFont *font, TextDirection menuTextDirection)
{
if (m_popup)
[m_popup.get() removeAllItems];
@@ -73,7 +73,7 @@ void WebPopupMenuProxyMac::populate(const Vector<WebPopupItem>& items, TextDirec
[paragraphStyle.get() setAlignment:menuTextDirection == LTR ? NSLeftTextAlignment : NSRightTextAlignment];
RetainPtr<NSMutableDictionary> attributes(AdoptNS, [[NSMutableDictionary alloc] initWithObjectsAndKeys:
paragraphStyle.get(), NSParagraphStyleAttributeName,
- [m_popup.get() font], NSFontAttributeName,
+ font, NSFontAttributeName,
nil]);
if (items[i].m_hasTextDirectionOverride) {
RetainPtr<NSNumber> writingDirectionValue(AdoptNS, [[NSNumber alloc] initWithInteger:writingDirection + NSTextWritingDirectionOverride]);
@@ -89,15 +89,22 @@ void WebPopupMenuProxyMac::populate(const Vector<WebPopupItem>& items, TextDirec
}
}
-void WebPopupMenuProxyMac::showPopupMenu(const IntRect& rect, TextDirection textDirection, const Vector<WebPopupItem>& items, const PlatformPopupMenuData&, int32_t selectedIndex)
+void WebPopupMenuProxyMac::showPopupMenu(const IntRect& rect, TextDirection textDirection, double scaleFactor, const Vector<WebPopupItem>& items, const PlatformPopupMenuData& data, int32_t selectedIndex)
{
- populate(items, textDirection);
+ NSFont *font;
+ if (data.fontInfo.fontAttributeDictionary) {
+ NSFontDescriptor *fontDescriptor = [NSFontDescriptor fontDescriptorWithFontAttributes:(NSDictionary *)data.fontInfo.fontAttributeDictionary.get()];
+ font = [NSFont fontWithDescriptor:fontDescriptor size:((scaleFactor != 1) ? [fontDescriptor pointSize] * scaleFactor : 0)];
+ } else
+ font = [NSFont menuFontOfSize:0];
+
+ populate(items, font, textDirection);
[m_popup.get() attachPopUpWithFrame:rect inView:m_webView];
[m_popup.get() selectItemAtIndex:selectedIndex];
[m_popup.get() setUserInterfaceLayoutDirection:textDirection == LTR ? NSUserInterfaceLayoutDirectionLeftToRight : NSUserInterfaceLayoutDirectionRightToLeft];
- NSMenu* menu = [m_popup.get() menu];
+ NSMenu *menu = [m_popup.get() menu];
// These values were borrowed from AppKit to match their placement of the menu.
const int popOverHorizontalAdjust = -10;
@@ -111,7 +118,7 @@ void WebPopupMenuProxyMac::showPopupMenu(const IntRect& rect, TextDirection text
[m_webView addSubview:dummyView.get()];
location = [dummyView.get() convertPoint:location fromView:m_webView];
- WKPopupMenu(menu, location, roundf(NSWidth(rect)), dummyView.get(), selectedIndex, [NSFont menuFontOfSize:0]);
+ WKPopupMenu(menu, location, roundf(NSWidth(rect)), dummyView.get(), selectedIndex, font);
[m_popup.get() dismissPopUp];
[dummyView.get() removeFromSuperview];
diff --git a/Source/WebKit2/UIProcess/qt/TextCheckerQt.cpp b/Source/WebKit2/UIProcess/qt/TextCheckerQt.cpp
index 2e124d5..a28b867 100644
--- a/Source/WebKit2/UIProcess/qt/TextCheckerQt.cpp
+++ b/Source/WebKit2/UIProcess/qt/TextCheckerQt.cpp
@@ -26,8 +26,8 @@
#include "config.h"
#include "TextChecker.h"
-#include "NotImplemented.h"
#include "TextCheckerState.h"
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
@@ -81,6 +81,11 @@ void TextChecker::updateSpellingUIWithMisspelledWord(const String& misspelledWor
notImplemented();
}
+void TextChecker::updateSpellingUIWithGrammarString(const String& badGrammarPhrase, const GrammarDetail& grammarDetail)
+{
+ notImplemented();
+}
+
void TextChecker::getGuessesForWord(int64_t spellDocumentTag, const String& word, const String& context, Vector<String>& guesses)
{
notImplemented();
diff --git a/Source/WebKit2/UIProcess/qt/WebContextMenuProxyQt.cpp b/Source/WebKit2/UIProcess/qt/WebContextMenuProxyQt.cpp
index 09638b6..777f98c 100644
--- a/Source/WebKit2/UIProcess/qt/WebContextMenuProxyQt.cpp
+++ b/Source/WebKit2/UIProcess/qt/WebContextMenuProxyQt.cpp
@@ -28,6 +28,7 @@
#include "WebContextMenuProxyQt.h"
#include <IntPoint.h>
+#include <OwnPtr.h>
#include <WebContextMenuItemData.h>
#include <qmenu.h>
#include <qwkpage.h>
@@ -81,19 +82,24 @@ PassRefPtr<WebContextMenuProxyQt> WebContextMenuProxyQt::create(QWKPage* page)
void WebContextMenuProxyQt::showContextMenu(const IntPoint& position, const Vector<WebContextMenuItemData>& items)
{
- if (QMenu* menu = createContextMenu(items)) {
- menu->move(position);
- emit m_page->showContextMenu(menu);
- }
+ OwnPtr<QMenu> menu = createContextMenu(items);
+
+ // We send the signal, even with no items, because the client should be able to show custom items
+ // even if WebKit has nothing to show.
+ if (!menu)
+ menu = adoptPtr(new QMenu);
+
+ menu->move(position);
+ emit m_page->showContextMenu(QSharedPointer<QMenu>(menu.leakPtr()));
}
void WebContextMenuProxyQt::hideContextMenu()
{
}
-QMenu* WebContextMenuProxyQt::createContextMenu(const Vector<WebContextMenuItemData>& items)
+PassOwnPtr<QMenu> WebContextMenuProxyQt::createContextMenu(const Vector<WebContextMenuItemData>& items) const
{
- QMenu* menu = new QMenu;
+ OwnPtr<QMenu> menu = adoptPtr(new QMenu);
for (int i = 0; i < items.size(); ++i) {
const WebContextMenuItemData& item = items.at(i);
switch (item.type()) {
@@ -114,9 +120,11 @@ QMenu* WebContextMenuProxyQt::createContextMenu(const Vector<WebContextMenuItemD
menu->addSeparator();
break;
case WebCore::SubmenuType:
- if (QMenu *subMenu = createContextMenu(item.submenu())) {
+ if (OwnPtr<QMenu> subMenu = createContextMenu(item.submenu())) {
+ subMenu->setParent(menu.get());
+ QMenu* const subMenuPtr = subMenu.leakPtr();
subMenu->setTitle(item.title());
- menu->addAction(subMenu->menuAction());
+ menu->addMenu(subMenuPtr);
}
break;
@@ -124,22 +132,19 @@ QMenu* WebContextMenuProxyQt::createContextMenu(const Vector<WebContextMenuItemD
}
// Do not show sub-menus with just disabled actions.
- if (menu->isEmpty()) {
- delete menu;
- return 0;
- }
+ if (menu->isEmpty())
+ return PassOwnPtr<QMenu>();
+
bool isAnyActionEnabled = false;
QList<QAction *> actions = menu->actions();
for (int i = 0; i < actions.count(); ++i) {
if (actions.at(i)->isVisible())
isAnyActionEnabled |= actions.at(i)->isEnabled();
}
- if (!isAnyActionEnabled) {
- delete menu;
- return 0;
- }
+ if (!isAnyActionEnabled)
+ return PassOwnPtr<QMenu>();
- return menu;
+ return menu.release();
}
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/qt/WebContextMenuProxyQt.h b/Source/WebKit2/UIProcess/qt/WebContextMenuProxyQt.h
index 435204f..60d83a5 100644
--- a/Source/WebKit2/UIProcess/qt/WebContextMenuProxyQt.h
+++ b/Source/WebKit2/UIProcess/qt/WebContextMenuProxyQt.h
@@ -28,6 +28,7 @@
#define WebContextMenuProxyQt_h
#include "WebContextMenuProxy.h"
+#include <PassOwnPtr.h>
class QMenu;
class QWKPage;
@@ -45,7 +46,7 @@ private:
virtual void showContextMenu(const WebCore::IntPoint&, const Vector<WebContextMenuItemData>&);
virtual void hideContextMenu();
- QMenu* createContextMenu(const Vector<WebContextMenuItemData>& items);
+ PassOwnPtr<QMenu> createContextMenu(const Vector<WebContextMenuItemData>& items) const;
QWKPage* const m_page;
};
diff --git a/Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp b/Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp
index fe0dac5..6e3d9eb 100644
--- a/Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp
+++ b/Source/WebKit2/UIProcess/qt/WebInspectorProxyQt.cpp
@@ -28,11 +28,9 @@
#if ENABLE(INSPECTOR)
+#include <WebCore/NotImplemented.h>
#include <wtf/text/WTFString.h>
-#define DISABLE_NOT_IMPLEMENTED_WARNINGS 1
-#include "NotImplemented.h"
-
namespace WebKit {
WebPageProxy* WebInspectorProxy::platformCreateInspectorPage()
@@ -51,6 +49,11 @@ void WebInspectorProxy::platformClose()
notImplemented();
}
+void WebInspectorProxy::platformInspectedURLChanged(const String&)
+{
+ notImplemented();
+}
+
String WebInspectorProxy::inspectorPageURL() const
{
notImplemented();
diff --git a/Source/WebKit2/UIProcess/qt/WebPageProxyQt.cpp b/Source/WebKit2/UIProcess/qt/WebPageProxyQt.cpp
index 1fa90bb..d6e8639 100644
--- a/Source/WebKit2/UIProcess/qt/WebPageProxyQt.cpp
+++ b/Source/WebKit2/UIProcess/qt/WebPageProxyQt.cpp
@@ -31,7 +31,7 @@ namespace WebKit {
String WebPageProxy::standardUserAgent(const String& applicationNameForUserAgent)
{
// FIXME: This should not be hard coded.
- return "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6; en-us) AppleWebKit/531.4 (KHTML, like Gecko) Version/4.0.3 Safari/531.4";
+ return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6) AppleWebKit/531.4 (KHTML, like Gecko) Version/4.0.3 Safari/531.4";
}
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQt.cpp b/Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQt.cpp
index a79cc3c..1e97d74 100644
--- a/Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQt.cpp
+++ b/Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQt.cpp
@@ -42,7 +42,7 @@ WebPopupMenuProxyQt::~WebPopupMenuProxyQt()
{
}
-void WebPopupMenuProxyQt::showPopupMenu(const IntRect& rect, WebCore::TextDirection, const Vector<WebPopupItem>& items, const PlatformPopupMenuData&, int32_t selectedIndex)
+void WebPopupMenuProxyQt::showPopupMenu(const IntRect& rect, WebCore::TextDirection, double, const Vector<WebPopupItem>& items, const PlatformPopupMenuData&, int32_t selectedIndex)
{
}
diff --git a/Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQt.h b/Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQt.h
index f41432c..e7197d5 100644
--- a/Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQt.h
+++ b/Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQt.h
@@ -38,7 +38,7 @@ public:
}
~WebPopupMenuProxyQt();
- virtual void showPopupMenu(const WebCore::IntRect&, WebCore::TextDirection, const Vector<WebPopupItem>&, const PlatformPopupMenuData&, int32_t selectedIndex);
+ virtual void showPopupMenu(const WebCore::IntRect&, WebCore::TextDirection, double scaleFactor, const Vector<WebPopupItem>&, const PlatformPopupMenuData&, int32_t selectedIndex);
virtual void hidePopupMenu();
private:
diff --git a/Source/WebKit2/UIProcess/win/TextCheckerWin.cpp b/Source/WebKit2/UIProcess/win/TextCheckerWin.cpp
index a16f169..dbc6fdc 100644
--- a/Source/WebKit2/UIProcess/win/TextCheckerWin.cpp
+++ b/Source/WebKit2/UIProcess/win/TextCheckerWin.cpp
@@ -26,9 +26,8 @@
#include "config.h"
#include "TextChecker.h"
-#define DISABLE_NOT_IMPLEMENTED_WARNINGS 1
-#include "NotImplemented.h"
#include "TextCheckerState.h"
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
@@ -82,6 +81,11 @@ void TextChecker::updateSpellingUIWithMisspelledWord(const String& misspelledWor
notImplemented();
}
+void TextChecker::updateSpellingUIWithGrammarString(const String& badGrammarPhrase, const GrammarDetail& grammarDetail)
+{
+ notImplemented();
+}
+
void TextChecker::getGuessesForWord(int64_t spellDocumentTag, const String& word, const String& context, Vector<String>& guesses)
{
notImplemented();
diff --git a/Source/WebKit2/UIProcess/win/WebContextMenuProxyWin.cpp b/Source/WebKit2/UIProcess/win/WebContextMenuProxyWin.cpp
index f8f3a24..5afd07e 100644
--- a/Source/WebKit2/UIProcess/win/WebContextMenuProxyWin.cpp
+++ b/Source/WebKit2/UIProcess/win/WebContextMenuProxyWin.cpp
@@ -26,7 +26,7 @@
#include "config.h"
#include "WebContextMenuProxyWin.h"
-#include "NotImplemented.h"
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
diff --git a/Source/WebKit2/UIProcess/win/WebContextWin.cpp b/Source/WebKit2/UIProcess/win/WebContextWin.cpp
index 210d6cc..26708d7 100644
--- a/Source/WebKit2/UIProcess/win/WebContextWin.cpp
+++ b/Source/WebKit2/UIProcess/win/WebContextWin.cpp
@@ -30,6 +30,11 @@
#include "WebProcessMessages.h"
#include <WebCore/FileSystem.h>
+#if USE(CFNETWORK)
+#include <CFNetwork/CFURLCachePriv.h>
+#include <WebKitSystemInterface/WebKitSystemInterface.h>
+#endif
+
using namespace WebCore;
namespace WebKit {
@@ -51,6 +56,24 @@ void WebContext::setShouldPaintNativeControls(bool b)
void WebContext::platformInitializeWebProcess(WebProcessCreationParameters& parameters)
{
parameters.shouldPaintNativeControls = m_shouldPaintNativeControls;
+
+#if USE(CFNETWORK)
+ RetainPtr<CFURLCacheRef> cfurlCache(AdoptCF, CFURLCacheCopySharedURLCache());
+ parameters.cfURLCacheDiskCapacity = CFURLCacheDiskCapacity(cfurlCache.get());
+ parameters.cfURLCacheMemoryCapacity = CFURLCacheMemoryCapacity(cfurlCache.get());
+
+ RetainPtr<CFStringRef> cfURLCachePath(AdoptCF, wkCopyFoundationCacheDirectory());
+ parameters.cfURLCachePath = String(cfURLCachePath.get());
+ // Remove the ending '/' (necessary to have CFNetwork find the Cache file).
+ ASSERT(parameters.cfURLCachePath.length());
+ 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)
+
+#endif // USE(CFNETWORK)
}
String WebContext::platformDefaultDatabaseDirectory() const
diff --git a/Source/WebKit2/UIProcess/win/WebInspectorProxyWin.cpp b/Source/WebKit2/UIProcess/win/WebInspectorProxyWin.cpp
index 35d73ac..30b012e 100644
--- a/Source/WebKit2/UIProcess/win/WebInspectorProxyWin.cpp
+++ b/Source/WebKit2/UIProcess/win/WebInspectorProxyWin.cpp
@@ -28,11 +28,13 @@
#if ENABLE(INSPECTOR)
+#include "WebKitBundle.h"
#include "WebPageProxy.h"
#include "WebView.h"
#include <WebCore/WebCoreInstanceHandle.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RetainPtr.h>
+#include <wtf/text/StringConcatenate.h>
#include <wtf/text/WTFString.h>
using namespace WebCore;
@@ -184,9 +186,16 @@ void WebInspectorProxy::platformClose()
m_inspectorView = 0;
}
+void WebInspectorProxy::platformInspectedURLChanged(const String& urlString)
+{
+ // FIXME: this should be made localizable once WebKit2 supports it. <rdar://problem/8728860>
+ String title = makeString("Web Inspector ", static_cast<UChar>(0x2014), ' ', urlString);
+ ::SetWindowTextW(m_inspectorWindow, title.charactersWithNullTermination());
+}
+
String WebInspectorProxy::inspectorPageURL() const
{
- RetainPtr<CFURLRef> htmlURLRef(AdoptCF, CFBundleCopyResourceURL(CFBundleGetBundleWithIdentifier(CFSTR("com.apple.WebKit")), CFSTR("inspector"), CFSTR("html"), CFSTR("inspector")));
+ RetainPtr<CFURLRef> htmlURLRef(AdoptCF, CFBundleCopyResourceURL(webKitBundle(), CFSTR("inspector"), CFSTR("html"), CFSTR("inspector")));
if (!htmlURLRef)
return String();
diff --git a/Source/WebKit2/UIProcess/win/WebPageProxyWin.cpp b/Source/WebKit2/UIProcess/win/WebPageProxyWin.cpp
index f70363c..186ad44 100644
--- a/Source/WebKit2/UIProcess/win/WebPageProxyWin.cpp
+++ b/Source/WebKit2/UIProcess/win/WebPageProxyWin.cpp
@@ -26,8 +26,8 @@
#include "config.h"
#include "WebPageProxy.h"
+#include "resource.h"
#include <tchar.h>
-#include <WebCore/Language.h>
#include <WebCore/WebCoreInstanceHandle.h>
#include <wtf/StdLibExtras.h>
#include <wtf/text/StringConcatenate.h>
@@ -62,53 +62,21 @@ static String windowsVersion()
static String userVisibleWebKitVersionString()
{
- String versionStr = "420+";
- void* data = 0;
+ LPWSTR buildNumberStringPtr;
+ if (!::LoadStringW(instanceHandle(), BUILD_NUMBER, reinterpret_cast<LPWSTR>(&buildNumberStringPtr), 0) || !buildNumberStringPtr)
+ return "534+";
- struct LANGANDCODEPAGE {
- WORD wLanguage;
- WORD wCodePage;
- } *lpTranslate;
-
- TCHAR path[MAX_PATH];
- ::GetModuleFileName(instanceHandle(), path, WTF_ARRAY_LENGTH(path));
- DWORD handle;
- DWORD versionSize = ::GetFileVersionInfoSize(path, &handle);
- if (!versionSize)
- goto exit;
- data = fastMalloc(versionSize);
- if (!data)
- goto exit;
- if (!::GetFileVersionInfo(path, 0, versionSize, data))
- goto exit;
- UINT cbTranslate;
- if (!::VerQueryValue(data, TEXT("\\VarFileInfo\\Translation"), (LPVOID*)&lpTranslate, &cbTranslate))
- goto exit;
- TCHAR key[256];
- _stprintf_s(key, WTF_ARRAY_LENGTH(key), TEXT("\\StringFileInfo\\%04x%04x\\ProductVersion"), lpTranslate[0].wLanguage, lpTranslate[0].wCodePage);
- LPCTSTR productVersion;
- UINT productVersionLength;
- if (!::VerQueryValue(data, (LPTSTR)(LPCTSTR)key, (void**)&productVersion, &productVersionLength))
- goto exit;
- versionStr = String(productVersion, productVersionLength - 1);
-
-exit:
- if (data)
- fastFree(data);
- return versionStr;
+ return buildNumberStringPtr;
}
String WebPageProxy::standardUserAgent(const String& applicationNameForUserAgent)
{
- DEFINE_STATIC_LOCAL(String, osVersion, (windowsVersion()));
- DEFINE_STATIC_LOCAL(String, webKitVersion, (userVisibleWebKitVersionString()));
-
- // FIXME: We should upate the user agent if the default language changes.
- String language = defaultLanguage();
+ DEFINE_STATIC_LOCAL(String, osVersion, (windowsVersion()));
+ DEFINE_STATIC_LOCAL(String, webKitVersion, (userVisibleWebKitVersionString()));
- if (applicationNameForUserAgent.isEmpty())
- return makeString("Mozilla/5.0 (Windows; U; ", osVersion, "; ", language, ") AppleWebKit/", webKitVersion, " (KHTML, like Gecko)");
- return makeString("Mozilla/5.0 (Windows; U; ", osVersion, "; ", language, ") AppleWebKit/", webKitVersion, " (KHTML, like Gecko) ", applicationNameForUserAgent);
+ 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);
}
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/win/WebPopupMenuProxyWin.cpp b/Source/WebKit2/UIProcess/win/WebPopupMenuProxyWin.cpp
index 4039c49..eebde75 100644
--- a/Source/WebKit2/UIProcess/win/WebPopupMenuProxyWin.cpp
+++ b/Source/WebKit2/UIProcess/win/WebPopupMenuProxyWin.cpp
@@ -188,7 +188,7 @@ WebPopupMenuProxyWin::~WebPopupMenuProxyWin()
m_scrollbar->setParent(0);
}
-void WebPopupMenuProxyWin::showPopupMenu(const IntRect& rect, TextDirection, const Vector<WebPopupItem>& items, const PlatformPopupMenuData& data, int32_t selectedIndex)
+void WebPopupMenuProxyWin::showPopupMenu(const IntRect& rect, TextDirection, double, const Vector<WebPopupItem>& items, const PlatformPopupMenuData& data, int32_t selectedIndex)
{
m_items = items;
m_data = data;
diff --git a/Source/WebKit2/UIProcess/win/WebPopupMenuProxyWin.h b/Source/WebKit2/UIProcess/win/WebPopupMenuProxyWin.h
index 2d09bb9..5a20edf 100644
--- a/Source/WebKit2/UIProcess/win/WebPopupMenuProxyWin.h
+++ b/Source/WebKit2/UIProcess/win/WebPopupMenuProxyWin.h
@@ -48,7 +48,7 @@ public:
}
~WebPopupMenuProxyWin();
- virtual void showPopupMenu(const WebCore::IntRect&, WebCore::TextDirection, const Vector<WebPopupItem>&, const PlatformPopupMenuData&, int32_t selectedIndex);
+ virtual void showPopupMenu(const WebCore::IntRect&, WebCore::TextDirection, double scaleFactor, const Vector<WebPopupItem>&, const PlatformPopupMenuData&, int32_t selectedIndex);
virtual void hidePopupMenu();
void hide() { hidePopupMenu(); }
diff --git a/Source/WebKit2/UIProcess/win/WebView.cpp b/Source/WebKit2/UIProcess/win/WebView.cpp
index eea43c5..62e0c42 100644
--- a/Source/WebKit2/UIProcess/win/WebView.cpp
+++ b/Source/WebKit2/UIProcess/win/WebView.cpp
@@ -29,7 +29,6 @@
#include "ChunkedUpdateDrawingAreaProxy.h"
#include "DrawingAreaProxyImpl.h"
#include "FindIndicator.h"
-#include "LayerBackedDrawingAreaProxy.h"
#include "Logging.h"
#include "NativeWebKeyboardEvent.h"
#include "Region.h"
@@ -415,6 +414,7 @@ static void drawPageBackground(HDC dc, const RECT& rect)
void WebView::paint(HDC hdc, const IntRect& dirtyRect)
{
+ m_page->endPrinting();
if (useNewDrawingArea()) {
if (DrawingAreaProxyImpl* drawingArea = static_cast<DrawingAreaProxyImpl*>(m_page->drawingArea())) {
// FIXME: We should port WebKit1's rect coalescing logic here.
@@ -438,11 +438,33 @@ void WebView::paint(HDC hdc, const IntRect& dirtyRect)
}
}
+static void flashRects(HDC dc, const IntRect rects[], size_t rectCount, HBRUSH brush)
+{
+ for (size_t i = 0; i < rectCount; ++i) {
+ RECT winRect = rects[i];
+ ::FillRect(dc, &winRect, brush);
+ }
+
+ ::GdiFlush();
+ ::Sleep(50);
+}
+
+static OwnPtr<HBRUSH> createBrush(const Color& color)
+{
+ return adoptPtr(::CreateSolidBrush(RGB(color.red(), color.green(), color.blue())));
+}
+
LRESULT WebView::onPaintEvent(HWND hWnd, UINT message, WPARAM, LPARAM, bool& handled)
{
PAINTSTRUCT paintStruct;
HDC hdc = ::BeginPaint(m_window, &paintStruct);
+ if (WebPageProxy::debugPaintFlags() & kWKDebugFlashViewUpdates) {
+ static HBRUSH brush = createBrush(WebPageProxy::viewUpdatesFlashColor().rgb()).leakPtr();
+ IntRect rect = paintStruct.rcPaint;
+ flashRects(hdc, &rect, 1, brush);
+ }
+
paint(hdc, paintStruct.rcPaint);
::EndPaint(m_window, &paintStruct);
@@ -650,6 +672,14 @@ void WebView::scrollView(const IntRect& scrollRect, const IntSize& scrollOffset)
setViewNeedsDisplay(scrollRect);
}
+void WebView::flashBackingStoreUpdates(const Vector<IntRect>& updateRects)
+{
+ static HBRUSH brush = createBrush(WebPageProxy::backingStoreUpdatesFlashColor().rgb()).leakPtr();
+ HDC dc = ::GetDC(m_window);
+ flashRects(dc, updateRects.data(), updateRects.size(), brush);
+ ::ReleaseDC(m_window, dc);
+}
+
WebCore::IntSize WebView::viewSize()
{
RECT clientRect;
@@ -771,10 +801,6 @@ void WebView::clearAllEditCommands()
{
}
-void WebView::setEditCommandState(const String&, bool, int)
-{
-}
-
FloatRect WebView::convertToDeviceSpace(const FloatRect& rect)
{
return rect;
@@ -1114,7 +1140,7 @@ void WebView::didCommitLoadForMainFrame(bool useCustomRepresentation)
{
}
-void WebView::didFinishLoadingDataForCustomRepresentation(const CoreIPC::DataReference&)
+void WebView::didFinishLoadingDataForCustomRepresentation(const String& suggestedFilename, const CoreIPC::DataReference&)
{
}
@@ -1153,46 +1179,6 @@ void WebView::exitAcceleratedCompositingMode()
ASSERT_NOT_REACHED();
}
-void WebView::pageDidEnterAcceleratedCompositing()
-{
- ASSERT(!useNewDrawingArea());
- switchToDrawingAreaTypeIfNecessary(DrawingAreaInfo::LayerBacked);
-}
-
-void WebView::pageDidLeaveAcceleratedCompositing()
-{
- ASSERT(!useNewDrawingArea());
- switchToDrawingAreaTypeIfNecessary(DrawingAreaInfo::ChunkedUpdate);
-}
-
-void WebView::switchToDrawingAreaTypeIfNecessary(DrawingAreaInfo::Type type)
-{
- ASSERT(!useNewDrawingArea());
-
- DrawingAreaInfo::Type existingDrawingAreaType = m_page->drawingArea() ? m_page->drawingArea()->info().type : DrawingAreaInfo::None;
- if (existingDrawingAreaType == type)
- return;
-
- OwnPtr<DrawingAreaProxy> newDrawingArea;
- switch (type) {
- case DrawingAreaInfo::Impl:
- case DrawingAreaInfo::None:
- break;
- case DrawingAreaInfo::ChunkedUpdate:
- newDrawingArea = ChunkedUpdateDrawingAreaProxy::create(this, m_page.get());
- break;
- case DrawingAreaInfo::LayerBacked:
- newDrawingArea = LayerBackedDrawingAreaProxy::create(this, m_page.get());
- break;
- }
-
- if (m_page->drawingArea())
- newDrawingArea->setSize(m_page->drawingArea()->size(), IntSize());
-
- m_page->drawingArea()->detachCompositingContext();
- m_page->setDrawingArea(newDrawingArea.release());
-}
-
#endif // USE(ACCELERATED_COMPOSITING)
HWND WebView::nativeWindow()
diff --git a/Source/WebKit2/UIProcess/win/WebView.h b/Source/WebKit2/UIProcess/win/WebView.h
index 297b6ad..28aedd6 100644
--- a/Source/WebKit2/UIProcess/win/WebView.h
+++ b/Source/WebKit2/UIProcess/win/WebView.h
@@ -133,6 +133,7 @@ private:
virtual void setViewNeedsDisplay(const WebCore::IntRect&);
virtual void displayView();
virtual void scrollView(const WebCore::IntRect& scrollRect, const WebCore::IntSize& scrollOffset);
+ virtual void flashBackingStoreUpdates(const Vector<WebCore::IntRect>& updateRects);
virtual WebCore::IntSize viewSize();
virtual bool isViewWindowActive();
@@ -148,7 +149,6 @@ private:
virtual void setViewportArguments(const WebCore::ViewportArguments&);
virtual void registerEditCommand(PassRefPtr<WebEditCommandProxy>, WebPageProxy::UndoOrRedo);
virtual void clearAllEditCommands();
- virtual void setEditCommandState(const WTF::String&, bool, int);
virtual WebCore::FloatRect convertToDeviceSpace(const WebCore::FloatRect&);
virtual WebCore::FloatRect convertToUserSpace(const WebCore::FloatRect&);
virtual void doneWithKeyEvent(const NativeWebKeyboardEvent&, bool wasEventHandled);
@@ -160,14 +160,10 @@ private:
#if USE(ACCELERATED_COMPOSITING)
virtual void enterAcceleratedCompositingMode(const LayerTreeContext&);
virtual void exitAcceleratedCompositingMode();
-
- virtual void pageDidEnterAcceleratedCompositing();
- virtual void pageDidLeaveAcceleratedCompositing();
- void switchToDrawingAreaTypeIfNecessary(DrawingAreaInfo::Type);
#endif
void didCommitLoadForMainFrame(bool useCustomRepresentation);
- void didFinishLoadingDataForCustomRepresentation(const CoreIPC::DataReference&);
+ void didFinishLoadingDataForCustomRepresentation(const String& suggestedFilename, const CoreIPC::DataReference&);
virtual double customRepresentationZoomFactor();
virtual void setCustomRepresentationZoomFactor(double);
WebCore::DragOperation keyStateToDragOperation(DWORD grfKeyState) const;
diff --git a/Source/WebKit2/WebKit2.pri b/Source/WebKit2/WebKit2.pri
index da08ea8..681f83f 100644
--- a/Source/WebKit2/WebKit2.pri
+++ b/Source/WebKit2/WebKit2.pri
@@ -1,6 +1,6 @@
# WebKit2 - Qt4 build info
-QT += network
+SOURCE_DIR = $$replace(PWD, /WebKit2, "")
# Use a config-specific target to prevent parallel builds file clashes on Mac
mac: CONFIG(debug, debug|release): WEBKIT2_TARGET = webkit2d
@@ -10,12 +10,78 @@ else: WEBKIT2_TARGET = webkit2
CONFIG(debug, debug|release) : WEBKIT2_DESTDIR = debug
else: WEBKIT2_DESTDIR = release
-defineTest(_addWebKit2Lib_common) {
- pathToWebKit2Output = $$ARGS/$$WEBKIT2_DESTDIR
+CONFIG(standalone_package) {
+ isEmpty(WEBKIT2_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = $$PWD/generated
+} else {
+ isEmpty(WEBKIT2_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = generated
+}
- QMAKE_LIBDIR += $$pathToWebKit2Output
+WEBKIT2_INCLUDEPATH = \
+ $$SOURCE_DIR/WebKit2 \
+ $$SOURCE_DIR/WebKit2/Platform \
+ $$SOURCE_DIR/WebKit2/Platform/CoreIPC \
+ $$SOURCE_DIR/WebKit2/Platform/qt \
+ $$SOURCE_DIR/WebKit2/Shared \
+ $$SOURCE_DIR/WebKit2/Shared/API/c \
+ $$SOURCE_DIR/WebKit2/Shared/CoreIPCSupport \
+ $$SOURCE_DIR/WebKit2/Shared/Plugins \
+ $$SOURCE_DIR/WebKit2/Shared/Plugins/Netscape \
+ $$SOURCE_DIR/WebKit2/Shared/qt \
+ $$SOURCE_DIR/WebKit2/UIProcess \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/cpp/qt \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/qt \
+ $$SOURCE_DIR/WebKit2/UIProcess/Authentication \
+ $$SOURCE_DIR/WebKit2/UIProcess/Downloads \
+ $$SOURCE_DIR/WebKit2/UIProcess/Launcher \
+ $$SOURCE_DIR/WebKit2/UIProcess/Plugins \
+ $$SOURCE_DIR/WebKit2/UIProcess/qt \
+ $$SOURCE_DIR/WebKit2/WebProcess \
+ $$SOURCE_DIR/WebKit2/WebProcess/ApplicationCache \
+ $$SOURCE_DIR/WebKit2/WebProcess/Authentication \
+ $$SOURCE_DIR/WebKit2/WebProcess/Cookies \
+ $$SOURCE_DIR/WebKit2/WebProcess/Downloads \
+ $$SOURCE_DIR/WebKit2/WebProcess/Downloads/qt \
+ $$SOURCE_DIR/WebKit2/WebProcess/Geolocation \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/DOM \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c \
+ $$SOURCE_DIR/WebKit2/WebProcess/KeyValueStorage \
+ $$SOURCE_DIR/WebKit2/WebProcess/Plugins \
+ $$SOURCE_DIR/WebKit2/WebProcess/Plugins/Netscape \
+ $$SOURCE_DIR/WebKit2/WebProcess/ResourceCache \
+ $$SOURCE_DIR/WebKit2/WebProcess/WebCoreSupport \
+ $$SOURCE_DIR/WebKit2/WebProcess/WebCoreSupport/qt \
+ $$SOURCE_DIR/WebKit2/WebProcess/WebPage \
+ $$SOURCE_DIR/WebKit2/WebProcess/qt \
+ $$SOURCE_DIR/WebKit2/PluginProcess
- POST_TARGETDEPS += $${pathToWebKit2Output}$${QMAKE_DIR_SEP}lib$${WEBKIT2_TARGET}.a
+# On Symbian PREPEND_INCLUDEPATH is the best way to make sure that WebKit headers
+# are included before platform headers.
+
+symbian {
+ PREPEND_INCLUDEPATH = $$WEBKIT2_INCLUDEPATH $$WEBKIT2_GENERATED_SOURCES_DIR $$PREPEND_INCLUDEPATH
+} else {
+ INCLUDEPATH = $$WEBKIT2_INCLUDEPATH $$WEBKIT2_GENERATED_SOURCES_DIR $$INCLUDEPATH
+}
+
+defineTest(prependWebKit2Lib) {
+ pathToWebKit2Output = $$ARGS/$$WEBKIT2_DESTDIR
+
+ win32-msvc*|wince* {
+ LIBS = -l$$WEBKIT2_TARGET $$LIBS
+ LIBS = -L$$pathToWebKit2Output $$LIBS
+ POST_TARGETDEPS += $${pathToWebKit2Output}$${QMAKE_DIR_SEP}$${WEBKIT2_TARGET}.lib
+ } else:symbian {
+ LIBS = -l$${WEBKIT2_TARGET}.lib $$LIBS
+ QMAKE_LIBDIR += $$pathToWebKit2Output
+ POST_TARGETDEPS += $${pathToWebKit2Output}$${QMAKE_DIR_SEP}$${WEBKIT2_TARGET}.lib
+ } else {
+ QMAKE_LIBDIR = $$pathToWebKit2Output $$QMAKE_LIBDIR
+ LIBS = -l$$WEBKIT2_TARGET $$LIBS
+ POST_TARGETDEPS += $${pathToWebKit2Output}$${QMAKE_DIR_SEP}lib$${WEBKIT2_TARGET}.a
+ }
# The following line is to prevent qmake from adding webkit2 to libQtWebKit's prl dependencies.
CONFIG -= explicitlib
@@ -23,25 +89,6 @@ defineTest(_addWebKit2Lib_common) {
export(QMAKE_LIBDIR)
export(POST_TARGETDEPS)
export(CONFIG)
-
- return(true)
-}
-
-defineTest(addWebKit2Lib) {
- _addWebKit2Lib_common($$ARGS)
-
- LIBS += -l$$WEBKIT2_TARGET
- export(LIBS)
-
- return(true)
-}
-
-defineTest(addWebKit2LibWholeArchive) {
- _addWebKit2Lib_common($$ARGS)
-
- # -whole-archive makes all objects, even if unreferenced, included in the linked target.
- mac: LIBS += -Wl,-all_load -l$$WEBKIT2_TARGET
- else: LIBS += -Wl,-whole-archive -l$$WEBKIT2_TARGET -Wl,-no-whole-archive
export(LIBS)
return(true)
diff --git a/Source/WebKit2/WebKit2.pro b/Source/WebKit2/WebKit2.pro
index 98f4d25..1e7d051 100644
--- a/Source/WebKit2/WebKit2.pro
+++ b/Source/WebKit2/WebKit2.pro
@@ -5,17 +5,9 @@ CONFIG += depend_includepath
isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../..
-CONFIG(standalone_package) {
- isEmpty(WEBKIT2_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = $$PWD/generated
- isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = $$PWD/../WebCore/generated
-} else {
- isEmpty(WEBKIT2_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = generated
- isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = ../WebCore/generated
-}
-
include($$PWD/../WebKit.pri)
-include($$PWD/../common.pri)
-include($$PWD/../WebCore/features.pri)
+include($$PWD/../JavaScriptCore/JavaScriptCore.pri)
+include($$PWD/../WebCore/WebCore.pri)
include(WebKit2.pri)
TEMPLATE = lib
@@ -23,191 +15,66 @@ CONFIG += staticlib
TARGET = $$WEBKIT2_TARGET
DESTDIR = $$WEBKIT2_DESTDIR
-!CONFIG(release, debug|release) {
- OBJECTS_DIR = obj/debug
-} else { # Release
- OBJECTS_DIR = obj/release
- DEFINES += NDEBUG
-}
-
# Build both debug and release configurations
mac: CONFIG += build_all
-WEBKIT2_INCLUDEPATH = \
- $$PWD/.. \
-
-WEBKIT2_INCLUDEPATH = \
- $$PWD/../JavaScriptCore \
- $$PWD/../JavaScriptCore/assembler \
- $$PWD/../JavaScriptCore/bytecode \
- $$PWD/../JavaScriptCore/bytecompiler \
- $$PWD/../JavaScriptCore/debugger \
- $$PWD/../JavaScriptCore/interpreter \
- $$PWD/../JavaScriptCore/jit \
- $$PWD/../JavaScriptCore/parser \
- $$PWD/../JavaScriptCore/profiler \
- $$PWD/../JavaScriptCore/runtime \
- $$PWD/../JavaScriptCore/wtf \
- $$PWD/../JavaScriptCore/wtf/symbian \
- $$PWD/../JavaScriptCore/wtf/unicode \
- $$PWD/../JavaScriptCore/yarr \
- $$PWD/../JavaScriptCore/API \
- $$PWD/../JavaScriptCore/ForwardingHeaders \
- $$WEBKIT2_INCLUDEPATH
-
-WEBKIT2_INCLUDEPATH = \
- $$PWD/../WebCore \
- $$PWD/../WebCore/accessibility \
- $$PWD/../WebCore/bindings \
- $$PWD/../WebCore/bindings/generic \
- $$PWD/../WebCore/bindings/js \
- $$PWD/../WebCore/bridge \
- $$PWD/../WebCore/bridge/c \
- $$PWD/../WebCore/bridge/jsc \
- $$PWD/../WebCore/css \
- $$PWD/../WebCore/dom \
- $$PWD/../WebCore/dom/default \
- $$PWD/../WebCore/editing \
- $$PWD/../WebCore/history \
- $$PWD/../WebCore/html \
- $$PWD/../WebCore/html/canvas \
- $$PWD/../WebCore/inspector \
- $$PWD/../WebCore/loader \
- $$PWD/../WebCore/loader/appcache \
- $$PWD/../WebCore/loader/archive \
- $$PWD/../WebCore/loader/cache \
- $$PWD/../WebCore/loader/icon \
- $$PWD/../WebCore/mathml \
- $$PWD/../WebCore/notifications \
- $$PWD/../WebCore/page \
- $$PWD/../WebCore/page/animation \
- $$PWD/../WebCore/platform \
- $$PWD/../WebCore/platform/animation \
- $$PWD/../WebCore/platform/graphics \
- $$PWD/../WebCore/platform/graphics/filters \
- $$PWD/../WebCore/platform/graphics/transforms \
- $$PWD/../WebCore/platform/image-decoders \
- $$PWD/../WebCore/platform/mock \
- $$PWD/../WebCore/platform/network \
- $$PWD/../WebCore/platform/sql \
- $$PWD/../WebCore/platform/text \
- $$PWD/../WebCore/platform/text/transcoder \
- $$PWD/../WebCore/plugins \
- $$PWD/../WebCore/rendering \
- $$PWD/../WebCore/rendering/style \
- $$PWD/../WebCore/storage \
- $$PWD/../WebCore/svg \
- $$PWD/../WebCore/svg/animation \
- $$PWD/../WebCore/svg/graphics \
- $$PWD/../WebCore/svg/graphics/filters \
- $$PWD/../WebCore/svg/properties \
- $$PWD/../WebCore/websockets \
- $$PWD/../WebCore/wml \
- $$PWD/../WebCore/workers \
- $$PWD/../WebCore/xml \
- $$WEBKIT2_INCLUDEPATH
-
-WEBKIT2_INCLUDEPATH = \
- $$PWD/../WebCore/bridge/qt \
- $$PWD/../WebCore/page/qt \
- $$PWD/../WebCore/platform/graphics/qt \
- $$PWD/../WebCore/platform/network/qt \
- $$PWD/../WebCore/platform/qt \
- $$PWD/../WebKit/qt/Api \
- $$PWD/../WebKit/qt/WebCoreSupport \
- $$WEBKIT2_INCLUDEPATH
-
-WEBKIT2_INCLUDEPATH = \
- $$PWD \
- Platform \
- Platform/CoreIPC \
- Platform/qt \
- Shared \
- Shared/API/c \
- Shared/CoreIPCSupport \
- Shared/Plugins \
- Shared/Plugins/Netscape \
- Shared/qt \
- UIProcess \
- UIProcess/API/C \
- UIProcess/API/cpp \
- UIProcess/API/cpp/qt \
- UIProcess/API/qt \
- UIProcess/Authentication \
- UIProcess/Downloads \
- UIProcess/Launcher \
- UIProcess/Plugins \
- UIProcess/qt \
- WebProcess \
- WebProcess/Authentication \
- WebProcess/Downloads \
- WebProcess/Downloads/qt \
- WebProcess/Geolocation \
- WebProcess/InjectedBundle \
- WebProcess/InjectedBundle/DOM \
- WebProcess/InjectedBundle/API/c \
- WebProcess/Plugins \
- WebProcess/Plugins/Netscape \
- WebProcess/WebCoreSupport \
- WebProcess/WebCoreSupport/qt \
- WebProcess/WebPage \
- WebProcess/qt \
- $$WEBKIT2_INCLUDEPATH
-
-WEBKIT2_INCLUDEPATH += \
- $$OUTPUT_DIR/include \
- $$WC_GENERATED_SOURCES_DIR \
- $$WEBKIT2_GENERATED_SOURCES_DIR \
- $$WEBKIT2_INCLUDEPATH
-
-# On Symbian PREPEND_INCLUDEPATH is the best way to make sure that WebKit headers
-# are included before platform headers.
-
-symbian {
- PREPEND_INCLUDEPATH = $$WEBKIT2_INCLUDEPATH $$PREPEND_INCLUDEPATH
-} else {
- INCLUDEPATH = $$WEBKIT2_INCLUDEPATH $$INCLUDEPATH
-}
-
WEBKIT2_GENERATED_HEADERS = \
$$WEBKIT2_GENERATED_SOURCES_DIR/AuthenticationManagerMessages.h \
$$WEBKIT2_GENERATED_SOURCES_DIR/DownloadProxyMessages.h \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/NPObjectMessageReceiverMessages.h \
$$WEBKIT2_GENERATED_SOURCES_DIR/PluginControllerProxyMessages.h \
$$WEBKIT2_GENERATED_SOURCES_DIR/PluginProcessMessages.h \
$$WEBKIT2_GENERATED_SOURCES_DIR/PluginProcessProxyMessages.h \
$$WEBKIT2_GENERATED_SOURCES_DIR/PluginProxyMessages.h \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebApplicationCacheManagerMessages.h \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebApplicationCacheManagerProxyMessages.h \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebContextMessages.h \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebCookieManagerMessages.h \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebCookieManagerProxyMessages.h \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebDatabaseManagerMessages.h \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebDatabaseManagerProxyMessages.h \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebGeolocationManagerMessages.h \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebGeolocationManagerProxyMessages.h \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebInspectorMessages.h \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebInspectorProxyMessages.h \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebKeyValueStorageManagerMessages.h \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebKeyValueStorageManagerProxyMessages.h \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebPageMessages.h \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebPageProxyMessages.h \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebProcessConnectionMessages.h \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebProcessMessages.h \
- $$WEBKIT2_GENERATED_SOURCES_DIR/WebProcessProxyMessages.h
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebProcessProxyMessages.h \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebResourceCacheManagerMessages.h \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebResourceCacheManagerProxyMessages.h
WEBKIT2_GENERATED_SOURCES = \
$$WEBKIT2_GENERATED_SOURCES_DIR/AuthenticationManagerMessageReceiver.cpp \
$$WEBKIT2_GENERATED_SOURCES_DIR/DownloadProxyMessageReceiver.cpp \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/NPObjectMessageReceiverMessageReceiver.cpp \
$$WEBKIT2_GENERATED_SOURCES_DIR/PluginControllerProxyMessageReceiver.cpp \
$$WEBKIT2_GENERATED_SOURCES_DIR/PluginProcessMessageReceiver.cpp \
$$WEBKIT2_GENERATED_SOURCES_DIR/PluginProcessProxyMessageReceiver.cpp \
$$WEBKIT2_GENERATED_SOURCES_DIR/PluginProxyMessageReceiver.cpp \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebApplicationCacheManagerMessageReceiver.cpp \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebApplicationCacheManagerProxyMessageReceiver.cpp \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebContextMessageReceiver.cpp \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebCookieManagerMessageReceiver.cpp \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebCookieManagerProxyMessageReceiver.cpp \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebDatabaseManagerMessageReceiver.cpp \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebDatabaseManagerProxyMessageReceiver.cpp \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebGeolocationManagerMessageReceiver.cpp \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebGeolocationManagerProxyMessageReceiver.cpp \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebInspectorMessageReceiver.cpp \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebInspectorProxyMessageReceiver.cpp \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebKeyValueStorageManagerMessageReceiver.cpp \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebKeyValueStorageManagerProxyMessageReceiver.cpp \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebPageMessageReceiver.cpp \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebPageProxyMessageReceiver.cpp \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebProcessConnectionMessageReceiver.cpp \
$$WEBKIT2_GENERATED_SOURCES_DIR/WebProcessMessageReceiver.cpp \
- $$WEBKIT2_GENERATED_SOURCES_DIR/WebProcessProxyMessageReceiver.cpp
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebProcessProxyMessageReceiver.cpp \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebResourceCacheManagerMessageReceiver.cpp \
+ $$WEBKIT2_GENERATED_SOURCES_DIR/WebResourceCacheManagerProxyMessageReceiver.cpp
HEADERS += \
Platform/CoreIPC/ArgumentDecoder.h \
@@ -228,45 +95,29 @@ HEADERS += \
Platform/SharedMemory.h \
Platform/WorkItem.h \
Platform/WorkQueue.h \
- Shared/API/c/WKBase.h \
- Shared/API/c/WKCertificateInfo.h \
- Shared/API/c/WKContextMenuItem.h \
- Shared/API/c/WKContextMenuItemTypes.h \
- Shared/API/c/WKGeometry.h \
- Shared/API/c/WKGraphicsContext.h \
- Shared/API/c/WKImage.h \
- Shared/API/c/WKNumber.h \
- Shared/API/c/WKPageLoadTypes.h \
- Shared/API/c/WKSecurityOrigin.h \
- Shared/API/c/WKSerializedScriptValue.h \
- Shared/API/c/WKSharedAPICast.h \
- Shared/API/c/WKString.h \
- Shared/API/c/WKStringPrivate.h \
- Shared/API/c/WKType.h \
- Shared/API/c/WKURL.h \
- Shared/API/c/WKURLRequest.h \
- Shared/API/c/WKURLResponse.h \
- Shared/API/c/WKUserContentURLPattern.h \
Shared/ShareableBitmap.h \
Shared/CacheModel.h \
Shared/ChildProcess.h \
Shared/CoreIPCSupport/DrawingAreaMessageKinds.h \
Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h \
+ Shared/DictionaryPopupInfo.h \
+ Shared/FontInfo.h \
Shared/ImageOptions.h \
Shared/ImmutableArray.h \
Shared/ImmutableDictionary.h \
Shared/MutableArray.h \
Shared/MutableDictionary.h \
Shared/NativeWebKeyboardEvent.h \
- Shared/NotImplemented.h \
Shared/OriginAndDatabases.h \
Shared/PlatformPopupMenuData.h \
Shared/PrintInfo.h \
Shared/SameDocumentNavigationType.h \
+ Shared/SecurityOriginData.h \
Shared/SessionState.h \
Shared/StringPairVector.h \
Shared/UserMessageCoders.h \
Shared/VisitedLinkTable.h \
+ Shared/WebCoreArgumentCoders.h \
Shared/WebBackForwardListItem.h \
Shared/WebCertificateInfo.h \
Shared/WebContextMenuItem.h \
@@ -290,50 +141,16 @@ HEADERS += \
Shared/WebURLResponse.h \
Shared/WebUserContentURLPattern.h \
Shared/Plugins/Netscape/NetscapePluginModule.h \
+ Shared/Plugins/NPRemoteObjectMap.h \
+ Shared/Plugins/NPIdentifierData.h \
+ Shared/Plugins/NPObjectMessageReceiver.h \
+ Shared/Plugins/NPObjectProxy.h \
+ Shared/Plugins/NPVariantData.h \
+ Shared/Plugins/PluginProcessCreationParameters.h \
+ Shared/Plugins/PluginQuirks.h \
Shared/qt/PlatformCertificateInfo.h \
Shared/qt/UpdateChunk.h \
Shared/qt/WebEventFactoryQt.h \
- UIProcess/API/C/WKAPICast.h \
- UIProcess/API/C/WKAuthenticationChallenge.h \
- UIProcess/API/C/WKAuthenticationDecisionListener.h \
- UIProcess/API/C/WKBackForwardList.h \
- UIProcess/API/C/WKBackForwardListItem.h \
- UIProcess/API/C/WKContext.h \
- UIProcess/API/C/WKContextPrivate.h \
- UIProcess/API/C/WKCredential.h \
- UIProcess/API/C/WKCredentialTypes.h \
- UIProcess/API/C/WKDatabaseManager.h \
- UIProcess/API/C/WKDownload.h \
- UIProcess/API/C/WKFrame.h \
- UIProcess/API/C/WKFramePolicyListener.h \
- UIProcess/API/C/WKGeolocationManager.h \
- UIProcess/API/C/WKGeolocationPermissionRequest.h \
- UIProcess/API/C/WKGeolocationPosition.h \
- UIProcess/API/C/WKInspector.h \
- UIProcess/API/C/WKOpenPanelParameters.h \
- UIProcess/API/C/WKOpenPanelResultListener.h \
- UIProcess/API/C/WKNavigationData.h \
- UIProcess/API/C/WKPage.h \
- UIProcess/API/C/WKPageGroup.h \
- UIProcess/API/C/WKPagePrivate.h \
- UIProcess/API/C/WKPreferences.h \
- UIProcess/API/C/WKPreferencesPrivate.h \
- UIProcess/API/C/WKProtectionSpace.h \
- UIProcess/API/C/WKProtectionSpaceTypes.h \
- UIProcess/API/C/WebKit2.h \
- UIProcess/API/C/qt/WKNativeEvent.h \
- UIProcess/API/cpp/WKRetainPtr.h \
- UIProcess/API/cpp/qt/WKStringQt.h \
- UIProcess/API/cpp/qt/WKURLQt.h \
- UIProcess/API/qt/ClientImpl.h \
- UIProcess/API/qt/qgraphicswkview.h \
- UIProcess/API/qt/qwkcontext.h \
- UIProcess/API/qt/qwkcontext_p.h \
- UIProcess/API/qt/qwkhistory.h \
- UIProcess/API/qt/qwkhistory_p.h \
- UIProcess/API/qt/qwkpage.h \
- UIProcess/API/qt/qwkpage_p.h \
- UIProcess/API/qt/qwkpreferences.h \
UIProcess/Authentication/AuthenticationChallengeProxy.h \
UIProcess/Authentication/AuthenticationDecisionListener.h \
UIProcess/Authentication/WebCredential.h \
@@ -349,15 +166,20 @@ HEADERS += \
UIProcess/Launcher/ThreadLauncher.h \
UIProcess/PageClient.h \
UIProcess/Plugins/PluginInfoStore.h \
+ UIProcess/Plugins/PluginProcessProxy.h \
+ UIProcess/Plugins/PluginProcessManager.h \
UIProcess/ProcessModel.h \
UIProcess/ResponsivenessTimer.h \
UIProcess/TextChecker.h \
UIProcess/TiledDrawingAreaProxy.h \
UIProcess/VisitedLinkProvider.h \
+ UIProcess/WebApplicationCacheManagerProxy.h \
UIProcess/WebContext.h \
UIProcess/WebContextInjectedBundleClient.h \
UIProcess/WebContextMenuProxy.h \
UIProcess/WebContextUserMessageCoders.h \
+ UIProcess/WebCookieManagerProxy.h \
+ UIProcess/WebCookieManagerProxyClient.h \
UIProcess/WebDatabaseManagerProxy.h \
UIProcess/WebDatabaseManagerProxyClient.h \
UIProcess/WebDownloadClient.h \
@@ -372,34 +194,28 @@ HEADERS += \
UIProcess/WebGeolocationProvider.h \
UIProcess/WebHistoryClient.h \
UIProcess/WebInspectorProxy.h \
+ UIProcess/WebKeyValueStorageManagerProxy.h \
UIProcess/WebLoaderClient.h \
UIProcess/WebNavigationData.h \
- UIProcess/WebPageContextMenuClient.h \
UIProcess/WebOpenPanelResultListenerProxy.h \
+ UIProcess/WebPageContextMenuClient.h \
UIProcess/WebPageGroup.h \
UIProcess/WebPageProxy.h \
UIProcess/WebPolicyClient.h \
UIProcess/WebPreferences.h \
- UIProcess/WebProcessManager.h \
UIProcess/WebProcessProxy.h \
+ UIProcess/WebResourceCacheManagerProxy.h \
UIProcess/WebResourceLoadClient.h \
UIProcess/WebUIClient.h \
UIProcess/qt/WebContextMenuProxyQt.h \
UIProcess/qt/WebPopupMenuProxyQt.h \
+ WebProcess/ApplicationCache/WebApplicationCacheManager.h \
WebProcess/Authentication/AuthenticationManager.h \
+ WebProcess/Cookies/WebCookieManager.h \
WebProcess/Downloads/Download.h \
WebProcess/Downloads/DownloadManager.h \
WebProcess/Geolocation/GeolocationPermissionRequestManager.h \
WebProcess/Geolocation/WebGeolocationManager.h \
- WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.h \
- WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h \
- WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h \
- WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.h \
- WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h \
- WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h \
- WebProcess/InjectedBundle/API/c/WKBundlePage.h \
- WebProcess/InjectedBundle/API/c/WKBundlePageGroup.h \
- WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h \
WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h \
WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h \
WebProcess/InjectedBundle/InjectedBundle.h \
@@ -412,6 +228,8 @@ HEADERS += \
WebProcess/InjectedBundle/InjectedBundlePageUIClient.h \
WebProcess/InjectedBundle/InjectedBundleScriptWorld.h \
WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h \
+ WebProcess/KeyValueStorage/WebKeyValueStorageManager.h \
+ WebProcess/ResourceCache/WebResourceCacheManager.h \
WebProcess/Plugins/Netscape/JSNPMethod.h \
WebProcess/Plugins/Netscape/JSNPObject.h \
WebProcess/Plugins/Netscape/NPJSObject.h \
@@ -423,6 +241,9 @@ HEADERS += \
WebProcess/Plugins/Plugin.h \
WebProcess/Plugins/PluginController.h \
WebProcess/Plugins/PluginView.h \
+ WebProcess/Plugins/PluginProxy.h \
+ WebProcess/Plugins/PluginProcessConnection.h \
+ WebProcess/Plugins/PluginProcessConnectionManager.h \
WebProcess/WebCoreSupport/WebChromeClient.h \
WebProcess/WebCoreSupport/WebContextMenuClient.h \
WebProcess/WebCoreSupport/WebDatabaseManager.h \
@@ -468,24 +289,18 @@ SOURCES += \
Platform/qt/RunLoopQt.cpp \
Platform/qt/SharedMemoryQt.cpp \
Platform/qt/WorkQueueQt.cpp \
- Shared/API/c/WKArray.cpp \
- Shared/API/c/WKCertificateInfo.cpp \
- Shared/API/c/WKContextMenuItem.cpp \
- Shared/API/c/WKGraphicsContext.cpp \
- Shared/API/c/WKImage.cpp \
- Shared/API/c/WKNumber.cpp \
- Shared/API/c/WKSecurityOrigin.cpp \
- Shared/API/c/WKSerializedScriptValue.cpp \
- Shared/API/c/WKString.cpp \
- Shared/API/c/WKType.cpp \
- Shared/API/c/WKURL.cpp \
- Shared/API/c/WKURLRequest.cpp \
- Shared/API/c/WKURLResponse.cpp \
- Shared/API/c/WKUserContentURLPattern.cpp \
Shared/Plugins/Netscape/NetscapePluginModule.cpp \
Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp \
Shared/ShareableBitmap.cpp \
+ Shared/Plugins/NPRemoteObjectMap.cpp \
+ Shared/Plugins/NPIdentifierData.cpp \
+ Shared/Plugins/NPObjectMessageReceiver.cpp \
+ Shared/Plugins/NPObjectProxy.cpp \
+ Shared/Plugins/NPVariantData.cpp \
+ Shared/Plugins/PluginProcessCreationParameters.cpp \
Shared/ChildProcess.cpp \
+ Shared/DictionaryPopupInfo.cpp \
+ Shared/FontInfo.cpp \
Shared/ImmutableArray.cpp \
Shared/ImmutableDictionary.cpp \
Shared/MutableArray.cpp \
@@ -493,6 +308,7 @@ SOURCES += \
Shared/OriginAndDatabases.cpp \
Shared/PlatformPopupMenuData.cpp \
Shared/PrintInfo.cpp \
+ Shared/SecurityOriginData.cpp \
Shared/SessionState.cpp \
Shared/VisitedLinkTable.cpp \
Shared/WebBackForwardListItem.cpp \
@@ -524,35 +340,6 @@ SOURCES += \
Shared/qt/WebEventFactoryQt.cpp \
Shared/qt/WebURLRequestQt.cpp \
Shared/qt/WebURLResponseQt.cpp \
- UIProcess/API/C/WKAuthenticationChallenge.cpp \
- UIProcess/API/C/WKAuthenticationDecisionListener.cpp \
- UIProcess/API/C/WKBackForwardList.cpp \
- UIProcess/API/C/WKBackForwardListItem.cpp \
- UIProcess/API/C/WKContext.cpp \
- UIProcess/API/C/WKCredential.cpp \
- UIProcess/API/C/WKDatabaseManager.cpp \
- UIProcess/API/C/WKDownload.cpp \
- UIProcess/API/C/WKFrame.cpp \
- UIProcess/API/C/WKFramePolicyListener.cpp \
- UIProcess/API/C/WKGeolocationManager.cpp \
- UIProcess/API/C/WKGeolocationPermissionRequest.cpp \
- UIProcess/API/C/WKGeolocationPosition.cpp \
- UIProcess/API/C/WKInspector.cpp \
- UIProcess/API/C/WKOpenPanelParameters.cpp \
- UIProcess/API/C/WKOpenPanelResultListener.cpp \
- UIProcess/API/C/WKNavigationData.cpp \
- UIProcess/API/C/WKPage.cpp \
- UIProcess/API/C/WKPageGroup.cpp \
- UIProcess/API/C/WKPreferences.cpp \
- UIProcess/API/C/WKProtectionSpace.cpp \
- UIProcess/API/cpp/qt/WKStringQt.cpp \
- UIProcess/API/cpp/qt/WKURLQt.cpp \
- UIProcess/API/qt/ClientImpl.cpp \
- UIProcess/API/qt/qgraphicswkview.cpp \
- UIProcess/API/qt/qwkcontext.cpp \
- UIProcess/API/qt/qwkhistory.cpp \
- UIProcess/API/qt/qwkpage.cpp \
- UIProcess/API/qt/qwkpreferences.cpp \
UIProcess/Authentication/AuthenticationChallengeProxy.cpp \
UIProcess/Authentication/AuthenticationDecisionListener.cpp \
UIProcess/Authentication/WebCredential.cpp \
@@ -568,14 +355,21 @@ SOURCES += \
UIProcess/Launcher/qt/ProcessLauncherQt.cpp \
UIProcess/Launcher/qt/ThreadLauncherQt.cpp \
UIProcess/Plugins/PluginInfoStore.cpp \
+ UIProcess/Plugins/PluginProcessProxy.cpp \
+ UIProcess/Plugins/PluginProcessManager.cpp \
+ UIProcess/Plugins/WebPluginSiteDataManager.cpp \
UIProcess/Plugins/qt/PluginInfoStoreQt.cpp \
+ UIProcess/Plugins/qt/PluginProcessProxyQt.cpp \
UIProcess/ResponsivenessTimer.cpp \
UIProcess/TiledDrawingAreaProxy.cpp \
UIProcess/VisitedLinkProvider.cpp \
+ UIProcess/WebApplicationCacheManagerProxy.cpp \
UIProcess/WebBackForwardList.cpp \
UIProcess/WebContext.cpp \
UIProcess/WebContextInjectedBundleClient.cpp \
UIProcess/WebContextMenuProxy.cpp \
+ UIProcess/WebCookieManagerProxy.cpp \
+ UIProcess/WebCookieManagerProxyClient.cpp \
UIProcess/WebDatabaseManagerProxy.cpp \
UIProcess/WebDatabaseManagerProxyClient.cpp \
UIProcess/WebDownloadClient.cpp \
@@ -590,16 +384,17 @@ SOURCES += \
UIProcess/WebGeolocationProvider.cpp \
UIProcess/WebHistoryClient.cpp \
UIProcess/WebInspectorProxy.cpp \
+ UIProcess/WebKeyValueStorageManagerProxy.cpp \
UIProcess/WebLoaderClient.cpp \
UIProcess/WebNavigationData.cpp \
- UIProcess/WebPageContextMenuClient.cpp \
UIProcess/WebOpenPanelResultListenerProxy.cpp \
+ UIProcess/WebPageContextMenuClient.cpp \
UIProcess/WebPageGroup.cpp \
UIProcess/WebPageProxy.cpp \
UIProcess/WebPolicyClient.cpp \
UIProcess/WebPreferences.cpp \
- UIProcess/WebProcessManager.cpp \
UIProcess/WebProcessProxy.cpp \
+ UIProcess/WebResourceCacheManagerProxy.cpp \
UIProcess/WebResourceLoadClient.cpp \
UIProcess/WebUIClient.cpp \
UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp \
@@ -612,24 +407,14 @@ SOURCES += \
UIProcess/qt/WebPageProxyQt.cpp \
UIProcess/qt/WebPopupMenuProxyQt.cpp \
UIProcess/qt/WebPreferencesQt.cpp \
+ WebProcess/ApplicationCache/WebApplicationCacheManager.cpp \
WebProcess/Authentication/AuthenticationManager.cpp \
+ WebProcess/Cookies/WebCookieManager.cpp \
WebProcess/Downloads/Download.cpp \
WebProcess/Downloads/DownloadManager.cpp \
WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp \
WebProcess/Geolocation/WebGeolocationManager.cpp \
WebProcess/Downloads/qt/DownloadQt.cpp \
- WebProcess/InjectedBundle/API/c/WKBundle.cpp \
- WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp \
- WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp \
- WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp \
- WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp \
- WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp \
- WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp \
- WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp \
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp \
- WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp \
- WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp \
- WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp \
WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp \
WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp \
WebProcess/InjectedBundle/InjectedBundle.cpp \
@@ -647,6 +432,8 @@ SOURCES += \
WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp \
WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp \
WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp \
+ WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp \
+ WebProcess/ResourceCache/WebResourceCacheManager.cpp \
WebProcess/Plugins/Netscape/JSNPMethod.cpp \
WebProcess/Plugins/Netscape/JSNPObject.cpp \
WebProcess/Plugins/Netscape/NPJSObject.cpp \
@@ -656,8 +443,12 @@ SOURCES += \
WebProcess/Plugins/Netscape/NetscapePlugin.cpp \
WebProcess/Plugins/Netscape/NetscapePluginStream.cpp \
WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp \
+ WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp \
WebProcess/Plugins/Plugin.cpp \
WebProcess/Plugins/PluginView.cpp \
+ WebProcess/Plugins/PluginProxy.cpp \
+ WebProcess/Plugins/PluginProcessConnection.cpp \
+ WebProcess/Plugins/PluginProcessConnectionManager.cpp \
WebProcess/WebCoreSupport/WebChromeClient.cpp \
WebProcess/WebCoreSupport/WebContextMenuClient.cpp \
WebProcess/WebCoreSupport/WebDatabaseManager.cpp \
diff --git a/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj b/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
index 303ca6c..76679b7 100644
--- a/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
+++ b/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
@@ -33,12 +33,6 @@
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
- 0F5265B311DD37680006D33C /* LayerBackedDrawingArea.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F5265B111DD37680006D33C /* LayerBackedDrawingArea.cpp */; };
- 0F5265B411DD37680006D33C /* LayerBackedDrawingArea.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F5265B211DD37680006D33C /* LayerBackedDrawingArea.h */; };
- 0F5265B611DD37700006D33C /* LayerBackedDrawingAreaMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0F5265B511DD37700006D33C /* LayerBackedDrawingAreaMac.mm */; };
- 0F5265B911DD377F0006D33C /* LayerBackedDrawingAreaProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F5265B711DD377F0006D33C /* LayerBackedDrawingAreaProxy.cpp */; };
- 0F5265BA11DD377F0006D33C /* LayerBackedDrawingAreaProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F5265B811DD377F0006D33C /* LayerBackedDrawingAreaProxy.h */; };
- 0F5265BC11DD37860006D33C /* LayerBackedDrawingAreaProxyMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0F5265BB11DD37860006D33C /* LayerBackedDrawingAreaProxyMac.mm */; };
0FB659231208B4DB0044816C /* DrawingAreaInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FB659221208B4DB0044816C /* DrawingAreaInfo.h */; };
1A043976124D034800FFBFB5 /* PluginProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A043974124D034800FFBFB5 /* PluginProcess.h */; };
1A043977124D034800FFBFB5 /* PluginProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A043975124D034800FFBFB5 /* PluginProcess.cpp */; };
@@ -212,6 +206,10 @@
1AC25FDC12A4902700BD2671 /* PluginProcessShim.dylib in Copy Plug-in Process Shim */ = {isa = PBXBuildFile; fileRef = 1AC25FB012A48EA700BD2671 /* PluginProcessShim.dylib */; };
1AC41AC71263C88300054E94 /* BinarySemaphore.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AC41AC51263C88300054E94 /* BinarySemaphore.h */; };
1AC41AC81263C88300054E94 /* BinarySemaphore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AC41AC61263C88300054E94 /* BinarySemaphore.cpp */; };
+ 1AC86FF3130B46D3002C1257 /* WKPluginSiteDataManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AC86FF1130B46D3002C1257 /* WKPluginSiteDataManager.cpp */; };
+ 1AC86FF4130B46D3002C1257 /* WKPluginSiteDataManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AC86FF2130B46D3002C1257 /* WKPluginSiteDataManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 1AC8702D130B49A2002C1257 /* WebPluginSiteDataManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AC8702B130B49A2002C1257 /* WebPluginSiteDataManager.h */; };
+ 1AC8702E130B49A2002C1257 /* WebPluginSiteDataManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AC8702C130B49A2002C1257 /* WebPluginSiteDataManager.cpp */; };
1AE117F611DBB30900981615 /* ProcessLauncher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AE117F511DBB30900981615 /* ProcessLauncher.cpp */; };
1AE4976811FF658E0048B464 /* NPJSObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AE4976611FF658E0048B464 /* NPJSObject.h */; };
1AE4976911FF658E0048B464 /* NPJSObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AE4976711FF658E0048B464 /* NPJSObject.cpp */; };
@@ -241,6 +239,32 @@
1CA8B954127C891500576C2B /* WebInspectorMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C8E2DAD1278C5B200BC7BD0 /* WebInspectorMac.mm */; };
29CD55AA128E294F00133C85 /* AccessibilityWebPageObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 29CD55A8128E294F00133C85 /* AccessibilityWebPageObject.h */; };
29CD55AB128E294F00133C85 /* AccessibilityWebPageObject.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29CD55A9128E294F00133C85 /* AccessibilityWebPageObject.mm */; };
+ 330934471315B9220097A7BC /* WebCookieManagerMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 330934431315B9220097A7BC /* WebCookieManagerMessageReceiver.cpp */; };
+ 330934481315B9220097A7BC /* WebCookieManagerMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 330934441315B9220097A7BC /* WebCookieManagerMessages.h */; };
+ 330934491315B9220097A7BC /* WebCookieManagerProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 330934451315B9220097A7BC /* WebCookieManagerProxyMessageReceiver.cpp */; };
+ 3309344A1315B9220097A7BC /* WebCookieManagerProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 330934461315B9220097A7BC /* WebCookieManagerProxyMessages.h */; };
+ 3309344F1315B94D0097A7BC /* WebCookieManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3309344C1315B94D0097A7BC /* WebCookieManager.cpp */; };
+ 330934501315B94D0097A7BC /* WebCookieManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3309344D1315B94D0097A7BC /* WebCookieManager.h */; };
+ 330934551315B9750097A7BC /* WebCookieManagerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 330934521315B9750097A7BC /* WebCookieManagerProxy.cpp */; };
+ 330934561315B9750097A7BC /* WebCookieManagerProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 330934531315B9750097A7BC /* WebCookieManagerProxy.h */; };
+ 3309345A1315B9980097A7BC /* WKCookieManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 330934581315B9980097A7BC /* WKCookieManager.cpp */; };
+ 3309345B1315B9980097A7BC /* WKCookieManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 330934591315B9980097A7BC /* WKCookieManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 33152975130D0CB200ED2483 /* SecurityOriginData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33152973130D0CB200ED2483 /* SecurityOriginData.cpp */; };
+ 33152976130D0CB200ED2483 /* SecurityOriginData.h in Headers */ = {isa = PBXBuildFile; fileRef = 33152974130D0CB200ED2483 /* SecurityOriginData.h */; };
+ 3336762F130C9998006C9DE2 /* WebResourceCacheManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3336762C130C9998006C9DE2 /* WebResourceCacheManager.cpp */; };
+ 33367630130C9998006C9DE2 /* WebResourceCacheManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3336762D130C9998006C9DE2 /* WebResourceCacheManager.h */; };
+ 33367635130C99B2006C9DE2 /* WebResourceCacheManagerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33367632130C99B2006C9DE2 /* WebResourceCacheManagerProxy.cpp */; };
+ 33367636130C99B2006C9DE2 /* WebResourceCacheManagerProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 33367633130C99B2006C9DE2 /* WebResourceCacheManagerProxy.h */; };
+ 3336763A130C99DC006C9DE2 /* WKResourceCacheManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33367638130C99DC006C9DE2 /* WKResourceCacheManager.cpp */; };
+ 3336763B130C99DC006C9DE2 /* WKResourceCacheManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 33367639130C99DC006C9DE2 /* WKResourceCacheManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 33367655130C9ECA006C9DE2 /* WebResourceCacheManagerMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33367651130C9ECA006C9DE2 /* WebResourceCacheManagerMessageReceiver.cpp */; };
+ 33367656130C9ECA006C9DE2 /* WebResourceCacheManagerMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 33367652130C9ECA006C9DE2 /* WebResourceCacheManagerMessages.h */; };
+ 33367657130C9ECA006C9DE2 /* WebResourceCacheManagerProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33367653130C9ECA006C9DE2 /* WebResourceCacheManagerProxyMessageReceiver.cpp */; };
+ 33367658130C9ECB006C9DE2 /* WebResourceCacheManagerProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 33367654130C9ECA006C9DE2 /* WebResourceCacheManagerProxyMessages.h */; };
+ 33AA1066131F060000D4A575 /* WebCookieManagerProxyClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33AA1064131F060000D4A575 /* WebCookieManagerProxyClient.cpp */; };
+ 33AA1067131F060000D4A575 /* WebCookieManagerProxyClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 33AA1065131F060000D4A575 /* WebCookieManagerProxyClient.h */; };
+ 33F9D5B91312F1EE000D683F /* WebResourceCacheManagerCFNet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33F9D5B81312F1EE000D683F /* WebResourceCacheManagerCFNet.cpp */; };
+ 37C4E9F6131C6E7E0029BD5A /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = B396EA5512E0ED2D00F4FEB7 /* config.h */; };
37F623B812A57B6200E3FDF6 /* WKFindOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 37F623B712A57B6200E3FDF6 /* WKFindOptions.h */; settings = {ATTRIBUTES = (Public, ); }; };
51021E9C12B16788005C033C /* WebContextMenuClientMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51021E9B12B16788005C033C /* WebContextMenuClientMac.mm */; };
510FBB9A1288C95E00AFFDF4 /* WebContextMenuItemData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510FBB981288C95E00AFFDF4 /* WebContextMenuItemData.cpp */; };
@@ -249,9 +273,18 @@
512935D81288D19400A4B695 /* WebContextMenuItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 512935D61288D19400A4B695 /* WebContextMenuItem.h */; };
512935E31288D97800A4B695 /* InjectedBundlePageContextMenuClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512935E11288D97800A4B695 /* InjectedBundlePageContextMenuClient.cpp */; };
512935E41288D97800A4B695 /* InjectedBundlePageContextMenuClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 512935E21288D97800A4B695 /* InjectedBundlePageContextMenuClient.h */; };
+ 512E34E4130B4D0500ABD19A /* WKApplicationCacheManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 517A33B3130B308C00F80CB5 /* WKApplicationCacheManager.cpp */; };
+ 512E34E5130B4D0500ABD19A /* WKApplicationCacheManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 517A33B4130B308C00F80CB5 /* WKApplicationCacheManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 512E3524130B550600ABD19A /* WebApplicationCacheManagerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512E3520130B550100ABD19A /* WebApplicationCacheManagerProxy.cpp */; };
+ 512E3525130B550600ABD19A /* WebApplicationCacheManagerProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 512E3521130B550100ABD19A /* WebApplicationCacheManagerProxy.h */; };
+ 512E352E130B55AF00ABD19A /* WebApplicationCacheManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512E352B130B55AF00ABD19A /* WebApplicationCacheManager.cpp */; };
+ 512E352F130B55AF00ABD19A /* WebApplicationCacheManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 512E352C130B55AF00ABD19A /* WebApplicationCacheManager.h */; };
+ 512E356A130B57F000ABD19A /* WebApplicationCacheManagerMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512E3568130B57F000ABD19A /* WebApplicationCacheManagerMessageReceiver.cpp */; };
+ 512E356B130B57F000ABD19A /* WebApplicationCacheManagerMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 512E3569130B57F000ABD19A /* WebApplicationCacheManagerMessages.h */; };
+ 512E35F8130B642E00ABD19A /* WebApplicationCacheManagerProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512E35F6130B642E00ABD19A /* WebApplicationCacheManagerProxyMessageReceiver.cpp */; };
+ 512E35F9130B642E00ABD19A /* WebApplicationCacheManagerProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 512E35F7130B642E00ABD19A /* WebApplicationCacheManagerProxyMessages.h */; };
512F588A12A8836600629530 /* AuthenticationManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512F588712A8836600629530 /* AuthenticationManager.cpp */; };
512F588B12A8836600629530 /* AuthenticationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 512F588812A8836600629530 /* AuthenticationManager.h */; };
- 512F588C12A8836600629530 /* AuthenticationManager.messages.in in Resources */ = {isa = PBXBuildFile; fileRef = 512F588912A8836600629530 /* AuthenticationManager.messages.in */; };
512F589612A8838800629530 /* AuthenticationChallengeProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512F588E12A8838800629530 /* AuthenticationChallengeProxy.cpp */; };
512F589712A8838800629530 /* AuthenticationChallengeProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 512F588F12A8838800629530 /* AuthenticationChallengeProxy.h */; };
512F589812A8838800629530 /* AuthenticationDecisionListener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512F589012A8838800629530 /* AuthenticationDecisionListener.cpp */; };
@@ -288,6 +321,16 @@
51A7F2F3125BF820008AEB1D /* Logging.h in Headers */ = {isa = PBXBuildFile; fileRef = 51A7F2F2125BF820008AEB1D /* Logging.h */; };
51A7F2F5125BF8D4008AEB1D /* Logging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51A7F2F4125BF8D4008AEB1D /* Logging.cpp */; };
51A84CE3127F386B00CA6EA4 /* WebContextMenuProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51A84CE2127F386B00CA6EA4 /* WebContextMenuProxy.cpp */; };
+ 51A9E0FF1315CCDE009E7031 /* WebKeyValueStorageManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51A9E0FC1315CCDE009E7031 /* WebKeyValueStorageManager.cpp */; };
+ 51A9E1001315CCDE009E7031 /* WebKeyValueStorageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 51A9E0FD1315CCDE009E7031 /* WebKeyValueStorageManager.h */; };
+ 51A9E1051315CCFC009E7031 /* WebKeyValueStorageManagerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51A9E1021315CCFC009E7031 /* WebKeyValueStorageManagerProxy.cpp */; };
+ 51A9E1061315CCFC009E7031 /* WebKeyValueStorageManagerProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 51A9E1031315CCFC009E7031 /* WebKeyValueStorageManagerProxy.h */; };
+ 51A9E10A1315CD18009E7031 /* WKKeyValueStorageManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51A9E1081315CD18009E7031 /* WKKeyValueStorageManager.cpp */; };
+ 51A9E10B1315CD18009E7031 /* WKKeyValueStorageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 51A9E1091315CD18009E7031 /* WKKeyValueStorageManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 51A9E1281315ED35009E7031 /* WebKeyValueStorageManagerMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51A9E1241315ED35009E7031 /* WebKeyValueStorageManagerMessageReceiver.cpp */; };
+ 51A9E1291315ED35009E7031 /* WebKeyValueStorageManagerMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 51A9E1251315ED35009E7031 /* WebKeyValueStorageManagerMessages.h */; };
+ 51A9E12A1315ED35009E7031 /* WebKeyValueStorageManagerProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51A9E1261315ED35009E7031 /* WebKeyValueStorageManagerProxyMessageReceiver.cpp */; };
+ 51A9E12B1315ED35009E7031 /* WebKeyValueStorageManagerProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 51A9E1271315ED35009E7031 /* WebKeyValueStorageManagerProxyMessages.h */; };
51ACBB82127A8BAD00D203B9 /* WebContextMenuProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 51ACBB81127A8BAD00D203B9 /* WebContextMenuProxy.h */; };
51ACBBA0127A8F2C00D203B9 /* WebContextMenuProxyMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 51ACBB9E127A8F2C00D203B9 /* WebContextMenuProxyMac.h */; };
51ACBBA1127A8F2C00D203B9 /* WebContextMenuProxyMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51ACBB9F127A8F2C00D203B9 /* WebContextMenuProxyMac.mm */; };
@@ -314,11 +357,12 @@
935EEBA4127761D6003322B8 /* InjectedBundleBackForwardListItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 935EEB921277615D003322B8 /* InjectedBundleBackForwardListItem.h */; };
9391F2CA121B679A00EBF7E8 /* WebFrameNetworkingContext.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9391F284121B38F500EBF7E8 /* WebFrameNetworkingContext.mm */; };
9391F2CB121B67AD00EBF7E8 /* WebFrameNetworkingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 9391F283121B38F500EBF7E8 /* WebFrameNetworkingContext.h */; };
+ 939AE7661316E99C00AE06A6 /* WebCoreArgumentCoders.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 939AE7651316E99C00AE06A6 /* WebCoreArgumentCoders.cpp */; };
+ 939AE7681316E9AD00AE06A6 /* WebCoreArgumentCodersCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 939AE7671316E9AD00AE06A6 /* WebCoreArgumentCodersCG.cpp */; };
93FC67BD12D3CCF200A60610 /* DecoderAdapter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93FC679D12D3CC7400A60610 /* DecoderAdapter.cpp */; };
93FC67BE12D3CCF200A60610 /* DecoderAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 93FC679E12D3CC7400A60610 /* DecoderAdapter.h */; };
93FC67BF12D3CCF200A60610 /* EncoderAdapter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93FC679F12D3CC7400A60610 /* EncoderAdapter.cpp */; };
93FC67C012D3CCF200A60610 /* EncoderAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 93FC67A012D3CC7400A60610 /* EncoderAdapter.h */; };
- B396EA5612E0ED2D00F4FEB7 /* config.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = B396EA5512E0ED2D00F4FEB7 /* config.h */; };
BC0092F7115837A300E0AE2A /* RunLoopMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC0092F5115837A300E0AE2A /* RunLoopMac.mm */; };
BC0092F8115837A300E0AE2A /* WorkQueueMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC0092F6115837A300E0AE2A /* WorkQueueMac.cpp */; };
BC032D7510F4378D0058C15A /* WebChromeClient.h in Headers */ = {isa = PBXBuildFile; fileRef = BC032D6010F4378D0058C15A /* WebChromeClient.h */; };
@@ -342,7 +386,6 @@
BC032DBA10F4380F0058C15A /* WebEventConversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC032DB010F4380F0058C15A /* WebEventConversion.cpp */; };
BC032DBB10F4380F0058C15A /* WebEventConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = BC032DB110F4380F0058C15A /* WebEventConversion.h */; };
BC032DD110F4389F0058C15A /* WebPageProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = BC032DCB10F4389F0058C15A /* WebPageProxy.h */; };
- BC032DD310F4389F0058C15A /* WebProcessManager.h in Headers */ = {isa = PBXBuildFile; fileRef = BC032DCD10F4389F0058C15A /* WebProcessManager.h */; };
BC032DD510F4389F0058C15A /* WebProcessProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = BC032DCF10F4389F0058C15A /* WebProcessProxy.h */; };
BC06F42F12DBB9B6002D78DE /* GeolocationPermissionRequestManager.h in Headers */ = {isa = PBXBuildFile; fileRef = BC06F42D12DBB9B6002D78DE /* GeolocationPermissionRequestManager.h */; };
BC06F43012DBB9B6002D78DE /* GeolocationPermissionRequestManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC06F42E12DBB9B6002D78DE /* GeolocationPermissionRequestManager.cpp */; };
@@ -374,7 +417,6 @@
BC111B09112F5E3C00337BAB /* ResponsivenessTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC111B08112F5E3C00337BAB /* ResponsivenessTimer.cpp */; };
BC111B0E112F5E4F00337BAB /* WebFrameProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC111B0A112F5E4F00337BAB /* WebFrameProxy.cpp */; };
BC111B0F112F5E4F00337BAB /* WebPageProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC111B0B112F5E4F00337BAB /* WebPageProxy.cpp */; };
- BC111B10112F5E4F00337BAB /* WebProcessManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC111B0C112F5E4F00337BAB /* WebProcessManager.cpp */; };
BC111B11112F5E4F00337BAB /* WebProcessProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC111B0D112F5E4F00337BAB /* WebProcessProxy.cpp */; };
BC111B1D112F5FE600337BAB /* ProcessLauncherMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC111B1B112F5FE600337BAB /* ProcessLauncherMac.mm */; };
BC111B50112F619200337BAB /* PageClientImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = BC111B4B112F619200337BAB /* PageClientImpl.h */; };
@@ -503,7 +545,7 @@
BC646C1C11DD399F006455B0 /* WKBackForwardListItem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC646C1811DD399F006455B0 /* WKBackForwardListItem.cpp */; };
BC646C1D11DD399F006455B0 /* WKBackForwardListItem.h in Headers */ = {isa = PBXBuildFile; fileRef = BC646C1911DD399F006455B0 /* WKBackForwardListItem.h */; settings = {ATTRIBUTES = (Public, ); }; };
BC6EDAA6111271C600E7678B /* PageClient.h in Headers */ = {isa = PBXBuildFile; fileRef = BC6EDAA5111271C600E7678B /* PageClient.h */; };
- BC7043CC12F75EE0006472B9 /* WKBundleNavigationAction.h in Headers */ = {isa = PBXBuildFile; fileRef = BC7043CA12F75EE0006472B9 /* WKBundleNavigationAction.h */; };
+ BC7043CC12F75EE0006472B9 /* WKBundleNavigationAction.h in Headers */ = {isa = PBXBuildFile; fileRef = BC7043CA12F75EE0006472B9 /* WKBundleNavigationAction.h */; settings = {ATTRIBUTES = (Public, ); }; };
BC7043CD12F75EE0006472B9 /* WKBundleNavigationAction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC7043CB12F75EE0006472B9 /* WKBundleNavigationAction.cpp */; };
BC72B9FA11E6476B001EB4EA /* WebBackForwardListProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC72B9F811E6476B001EB4EA /* WebBackForwardListProxy.cpp */; };
BC72B9FB11E6476B001EB4EA /* WebBackForwardListProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = BC72B9F911E6476B001EB4EA /* WebBackForwardListProxy.h */; };
@@ -603,7 +645,6 @@
BCC56F791159957D001CCAF9 /* MachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC56F771159957D001CCAF9 /* MachPort.h */; };
BCC5715B115ADAEF001CCAF9 /* WebSystemInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC57159115ADAEF001CCAF9 /* WebSystemInterface.h */; };
BCC5715C115ADAEF001CCAF9 /* WebSystemInterface.mm in Sources */ = {isa = PBXBuildFile; fileRef = BCC5715A115ADAEF001CCAF9 /* WebSystemInterface.mm */; };
- BCC57162115ADB42001CCAF9 /* NotImplemented.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC57161115ADB42001CCAF9 /* NotImplemented.h */; };
BCC8B374125FB69000DE46A4 /* WKGeometry.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC8B373125FB69000DE46A4 /* WKGeometry.h */; settings = {ATTRIBUTES = (Public, ); }; };
BCC938E11180DE440085E5FE /* WKContextPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC938E01180DE440085E5FE /* WKContextPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
BCCB75C61203A1CE00222D1B /* WebContextMessageKinds.h in Headers */ = {isa = PBXBuildFile; fileRef = BCCB75C51203A1CE00222D1B /* WebContextMessageKinds.h */; };
@@ -647,6 +688,10 @@
BCE4695A1214EDF4000B98EB /* WKFormSubmissionListener.h in Headers */ = {isa = PBXBuildFile; fileRef = BCE469581214EDF4000B98EB /* WKFormSubmissionListener.h */; settings = {ATTRIBUTES = (Public, ); }; };
BCE469771214F27B000B98EB /* WebFrameListenerProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = BCE469761214F27B000B98EB /* WebFrameListenerProxy.h */; };
BCE469791214F2B4000B98EB /* WebFrameListenerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCE469781214F2B4000B98EB /* WebFrameListenerProxy.cpp */; };
+ BCE81D8C1319F7EF00241910 /* FontInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCE81D8A1319F7EF00241910 /* FontInfo.cpp */; };
+ BCE81D8D1319F7EF00241910 /* FontInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = BCE81D8B1319F7EF00241910 /* FontInfo.h */; };
+ BCE81D98131AE02100241910 /* DictionaryPopupInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCE81D96131AE02000241910 /* DictionaryPopupInfo.cpp */; };
+ BCE81D99131AE02100241910 /* DictionaryPopupInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = BCE81D97131AE02100241910 /* DictionaryPopupInfo.h */; };
BCEE7AD012817988009827DA /* WebProcessProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCEE7ACC12817988009827DA /* WebProcessProxyMessageReceiver.cpp */; };
BCEE7AD112817988009827DA /* WebProcessProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = BCEE7ACD12817988009827DA /* WebProcessProxyMessages.h */; };
BCEE7D0D12846F69009827DA /* WebContextMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCEE7D0B12846F69009827DA /* WebContextMessageReceiver.cpp */; };
@@ -702,6 +747,8 @@
E18C92F412DB9E7100CF2AEB /* PrintInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E18C92F312DB9E7100CF2AEB /* PrintInfo.cpp */; };
E18C92F512DB9E7A00CF2AEB /* PrintInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E18C92F312DB9E7100CF2AEB /* PrintInfo.cpp */; };
E18C92F612DB9E9400CF2AEB /* PrintInfoMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1CC1B8F12D7EADF00625838 /* PrintInfoMac.mm */; };
+ E1BB16A413201B9B00F49431 /* FullKeyboardAccessWatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = E1BB1688132018BA00F49431 /* FullKeyboardAccessWatcher.h */; };
+ E1BB16A513201B9B00F49431 /* FullKeyboardAccessWatcher.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1BB1689132018BA00F49431 /* FullKeyboardAccessWatcher.mm */; };
E1CC1B9012D7EADF00625838 /* PrintInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E1CC1B8E12D7EADF00625838 /* PrintInfo.h */; };
E1CC1B9112D7EADF00625838 /* PrintInfoMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1CC1B8F12D7EADF00625838 /* PrintInfoMac.mm */; };
E1EE53E311F8CFC000CCBEE4 /* InjectedBundlePageEditorClient.h in Headers */ = {isa = PBXBuildFile; fileRef = E1EE53DC11F8CF9F00CCBEE4 /* InjectedBundlePageEditorClient.h */; };
@@ -767,7 +814,6 @@
files = (
1A50DB66110A3D57000D3FE5 /* WebProcess.app in CopyFiles */,
1A64228B12DD024700CAAE2C /* DrawingArea.messages.in in CopyFiles */,
- B396EA5612E0ED2D00F4FEB7 /* config.h in CopyFiles */,
6546A82C13000164000CEB1C /* InjectedBundlePageResourceLoadClient.h in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -788,12 +834,6 @@
/* Begin PBXFileReference section */
0867D6A5FE840307C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
089C1667FE841158C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
- 0F5265B111DD37680006D33C /* LayerBackedDrawingArea.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayerBackedDrawingArea.cpp; sourceTree = "<group>"; };
- 0F5265B211DD37680006D33C /* LayerBackedDrawingArea.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayerBackedDrawingArea.h; sourceTree = "<group>"; };
- 0F5265B511DD37700006D33C /* LayerBackedDrawingAreaMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LayerBackedDrawingAreaMac.mm; sourceTree = "<group>"; };
- 0F5265B711DD377F0006D33C /* LayerBackedDrawingAreaProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayerBackedDrawingAreaProxy.cpp; sourceTree = "<group>"; };
- 0F5265B811DD377F0006D33C /* LayerBackedDrawingAreaProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayerBackedDrawingAreaProxy.h; sourceTree = "<group>"; };
- 0F5265BB11DD37860006D33C /* LayerBackedDrawingAreaProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LayerBackedDrawingAreaProxyMac.mm; sourceTree = "<group>"; };
0FB659221208B4DB0044816C /* DrawingAreaInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingAreaInfo.h; sourceTree = "<group>"; };
1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
1A043974124D034800FFBFB5 /* PluginProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginProcess.h; sourceTree = "<group>"; };
@@ -982,6 +1022,10 @@
1AC25FBB12A48EDA00BD2671 /* PluginProcessShim.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = PluginProcessShim.xcconfig; sourceTree = "<group>"; };
1AC41AC51263C88300054E94 /* BinarySemaphore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BinarySemaphore.h; sourceTree = "<group>"; };
1AC41AC61263C88300054E94 /* BinarySemaphore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BinarySemaphore.cpp; sourceTree = "<group>"; };
+ 1AC86FF1130B46D3002C1257 /* WKPluginSiteDataManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKPluginSiteDataManager.cpp; sourceTree = "<group>"; };
+ 1AC86FF2130B46D3002C1257 /* WKPluginSiteDataManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKPluginSiteDataManager.h; sourceTree = "<group>"; };
+ 1AC8702B130B49A2002C1257 /* WebPluginSiteDataManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginSiteDataManager.h; sourceTree = "<group>"; };
+ 1AC8702C130B49A2002C1257 /* WebPluginSiteDataManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebPluginSiteDataManager.cpp; sourceTree = "<group>"; };
1AE117F511DBB30900981615 /* ProcessLauncher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProcessLauncher.cpp; sourceTree = "<group>"; };
1AE4976611FF658E0048B464 /* NPJSObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NPJSObject.h; sourceTree = "<group>"; };
1AE4976711FF658E0048B464 /* NPJSObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NPJSObject.cpp; sourceTree = "<group>"; };
@@ -1014,6 +1058,35 @@
29CD55A8128E294F00133C85 /* AccessibilityWebPageObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityWebPageObject.h; sourceTree = "<group>"; };
29CD55A9128E294F00133C85 /* AccessibilityWebPageObject.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityWebPageObject.mm; sourceTree = "<group>"; };
32DBCF5E0370ADEE00C91783 /* WebKit2Prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKit2Prefix.h; sourceTree = "<group>"; };
+ 330934431315B9220097A7BC /* WebCookieManagerMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCookieManagerMessageReceiver.cpp; sourceTree = "<group>"; };
+ 330934441315B9220097A7BC /* WebCookieManagerMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCookieManagerMessages.h; sourceTree = "<group>"; };
+ 330934451315B9220097A7BC /* WebCookieManagerProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCookieManagerProxyMessageReceiver.cpp; sourceTree = "<group>"; };
+ 330934461315B9220097A7BC /* WebCookieManagerProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCookieManagerProxyMessages.h; sourceTree = "<group>"; };
+ 3309344C1315B94D0097A7BC /* WebCookieManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebCookieManager.cpp; path = Cookies/WebCookieManager.cpp; sourceTree = "<group>"; };
+ 3309344D1315B94D0097A7BC /* WebCookieManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebCookieManager.h; path = Cookies/WebCookieManager.h; sourceTree = "<group>"; };
+ 3309344E1315B94D0097A7BC /* WebCookieManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebCookieManager.messages.in; path = Cookies/WebCookieManager.messages.in; sourceTree = "<group>"; };
+ 330934521315B9750097A7BC /* WebCookieManagerProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCookieManagerProxy.cpp; sourceTree = "<group>"; };
+ 330934531315B9750097A7BC /* WebCookieManagerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCookieManagerProxy.h; sourceTree = "<group>"; };
+ 330934541315B9750097A7BC /* WebCookieManagerProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebCookieManagerProxy.messages.in; sourceTree = "<group>"; };
+ 330934581315B9980097A7BC /* WKCookieManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKCookieManager.cpp; sourceTree = "<group>"; };
+ 330934591315B9980097A7BC /* WKCookieManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKCookieManager.h; sourceTree = "<group>"; };
+ 33152973130D0CB200ED2483 /* SecurityOriginData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SecurityOriginData.cpp; sourceTree = "<group>"; };
+ 33152974130D0CB200ED2483 /* SecurityOriginData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SecurityOriginData.h; sourceTree = "<group>"; };
+ 3336762C130C9998006C9DE2 /* WebResourceCacheManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebResourceCacheManager.cpp; path = ResourceCache/WebResourceCacheManager.cpp; sourceTree = "<group>"; };
+ 3336762D130C9998006C9DE2 /* WebResourceCacheManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebResourceCacheManager.h; path = ResourceCache/WebResourceCacheManager.h; sourceTree = "<group>"; };
+ 3336762E130C9998006C9DE2 /* WebResourceCacheManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebResourceCacheManager.messages.in; path = ResourceCache/WebResourceCacheManager.messages.in; sourceTree = "<group>"; };
+ 33367632130C99B2006C9DE2 /* WebResourceCacheManagerProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebResourceCacheManagerProxy.cpp; sourceTree = "<group>"; };
+ 33367633130C99B2006C9DE2 /* WebResourceCacheManagerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebResourceCacheManagerProxy.h; sourceTree = "<group>"; };
+ 33367634130C99B2006C9DE2 /* WebResourceCacheManagerProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebResourceCacheManagerProxy.messages.in; sourceTree = "<group>"; };
+ 33367638130C99DC006C9DE2 /* WKResourceCacheManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKResourceCacheManager.cpp; sourceTree = "<group>"; };
+ 33367639130C99DC006C9DE2 /* WKResourceCacheManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKResourceCacheManager.h; sourceTree = "<group>"; };
+ 33367651130C9ECA006C9DE2 /* WebResourceCacheManagerMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebResourceCacheManagerMessageReceiver.cpp; sourceTree = "<group>"; };
+ 33367652130C9ECA006C9DE2 /* WebResourceCacheManagerMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebResourceCacheManagerMessages.h; sourceTree = "<group>"; };
+ 33367653130C9ECA006C9DE2 /* WebResourceCacheManagerProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebResourceCacheManagerProxyMessageReceiver.cpp; sourceTree = "<group>"; };
+ 33367654130C9ECA006C9DE2 /* WebResourceCacheManagerProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebResourceCacheManagerProxyMessages.h; sourceTree = "<group>"; };
+ 33AA1064131F060000D4A575 /* WebCookieManagerProxyClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCookieManagerProxyClient.cpp; sourceTree = "<group>"; };
+ 33AA1065131F060000D4A575 /* WebCookieManagerProxyClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCookieManagerProxyClient.h; sourceTree = "<group>"; };
+ 33F9D5B81312F1EE000D683F /* WebResourceCacheManagerCFNet.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; name = WebResourceCacheManagerCFNet.cpp; path = ResourceCache/cf/WebResourceCacheManagerCFNet.cpp; sourceTree = "<group>"; };
37F623B712A57B6200E3FDF6 /* WKFindOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKFindOptions.h; sourceTree = "<group>"; };
51021E9B12B16788005C033C /* WebContextMenuClientMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebContextMenuClientMac.mm; sourceTree = "<group>"; };
510FBB981288C95E00AFFDF4 /* WebContextMenuItemData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebContextMenuItemData.cpp; sourceTree = "<group>"; };
@@ -1022,6 +1095,16 @@
512935D61288D19400A4B695 /* WebContextMenuItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebContextMenuItem.h; sourceTree = "<group>"; };
512935E11288D97800A4B695 /* InjectedBundlePageContextMenuClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedBundlePageContextMenuClient.cpp; sourceTree = "<group>"; };
512935E21288D97800A4B695 /* InjectedBundlePageContextMenuClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundlePageContextMenuClient.h; sourceTree = "<group>"; };
+ 512E3520130B550100ABD19A /* WebApplicationCacheManagerProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebApplicationCacheManagerProxy.cpp; sourceTree = "<group>"; };
+ 512E3521130B550100ABD19A /* WebApplicationCacheManagerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebApplicationCacheManagerProxy.h; sourceTree = "<group>"; };
+ 512E352B130B55AF00ABD19A /* WebApplicationCacheManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebApplicationCacheManager.cpp; path = ApplicationCache/WebApplicationCacheManager.cpp; sourceTree = "<group>"; };
+ 512E352C130B55AF00ABD19A /* WebApplicationCacheManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebApplicationCacheManager.h; path = ApplicationCache/WebApplicationCacheManager.h; sourceTree = "<group>"; };
+ 512E352D130B55AF00ABD19A /* WebApplicationCacheManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebApplicationCacheManager.messages.in; path = ApplicationCache/WebApplicationCacheManager.messages.in; sourceTree = "<group>"; };
+ 512E3568130B57F000ABD19A /* WebApplicationCacheManagerMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebApplicationCacheManagerMessageReceiver.cpp; sourceTree = "<group>"; };
+ 512E3569130B57F000ABD19A /* WebApplicationCacheManagerMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebApplicationCacheManagerMessages.h; sourceTree = "<group>"; };
+ 512E35F0130B638C00ABD19A /* WebApplicationCacheManagerProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebApplicationCacheManagerProxy.messages.in; sourceTree = "<group>"; };
+ 512E35F6130B642E00ABD19A /* WebApplicationCacheManagerProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebApplicationCacheManagerProxyMessageReceiver.cpp; sourceTree = "<group>"; };
+ 512E35F7130B642E00ABD19A /* WebApplicationCacheManagerProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebApplicationCacheManagerProxyMessages.h; sourceTree = "<group>"; };
512F588712A8836600629530 /* AuthenticationManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AuthenticationManager.cpp; sourceTree = "<group>"; };
512F588812A8836600629530 /* AuthenticationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AuthenticationManager.h; sourceTree = "<group>"; };
512F588912A8836600629530 /* AuthenticationManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AuthenticationManager.messages.in; sourceTree = "<group>"; };
@@ -1047,6 +1130,8 @@
5153569B1291B1D2000749DC /* WebPageContextMenuClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPageContextMenuClient.h; sourceTree = "<group>"; };
51578B821209ECEF00A37C4A /* WebData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebData.h; sourceTree = "<group>"; };
516A4A5B120A2CCD00C05B7F /* WebError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebError.h; sourceTree = "<group>"; };
+ 517A33B3130B308C00F80CB5 /* WKApplicationCacheManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKApplicationCacheManager.cpp; sourceTree = "<group>"; };
+ 517A33B4130B308C00F80CB5 /* WKApplicationCacheManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKApplicationCacheManager.h; sourceTree = "<group>"; };
51871B59127CB89D00F76232 /* WebContextMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebContextMenu.cpp; sourceTree = "<group>"; };
51871B5A127CB89D00F76232 /* WebContextMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebContextMenu.h; sourceTree = "<group>"; };
518ACAE912AEE6BB00B04B83 /* WKProtectionSpaceTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProtectionSpaceTypes.h; sourceTree = "<group>"; };
@@ -1061,6 +1146,18 @@
51A7F2F2125BF820008AEB1D /* Logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Logging.h; sourceTree = "<group>"; };
51A7F2F4125BF8D4008AEB1D /* Logging.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Logging.cpp; sourceTree = "<group>"; };
51A84CE2127F386B00CA6EA4 /* WebContextMenuProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebContextMenuProxy.cpp; sourceTree = "<group>"; };
+ 51A9E0FC1315CCDE009E7031 /* WebKeyValueStorageManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebKeyValueStorageManager.cpp; path = KeyValueStorage/WebKeyValueStorageManager.cpp; sourceTree = "<group>"; };
+ 51A9E0FD1315CCDE009E7031 /* WebKeyValueStorageManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebKeyValueStorageManager.h; path = KeyValueStorage/WebKeyValueStorageManager.h; sourceTree = "<group>"; };
+ 51A9E0FE1315CCDE009E7031 /* WebKeyValueStorageManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebKeyValueStorageManager.messages.in; path = KeyValueStorage/WebKeyValueStorageManager.messages.in; sourceTree = "<group>"; };
+ 51A9E1021315CCFC009E7031 /* WebKeyValueStorageManagerProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKeyValueStorageManagerProxy.cpp; sourceTree = "<group>"; };
+ 51A9E1031315CCFC009E7031 /* WebKeyValueStorageManagerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKeyValueStorageManagerProxy.h; sourceTree = "<group>"; };
+ 51A9E1041315CCFC009E7031 /* WebKeyValueStorageManagerProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebKeyValueStorageManagerProxy.messages.in; sourceTree = "<group>"; };
+ 51A9E1081315CD18009E7031 /* WKKeyValueStorageManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKKeyValueStorageManager.cpp; sourceTree = "<group>"; };
+ 51A9E1091315CD18009E7031 /* WKKeyValueStorageManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKKeyValueStorageManager.h; sourceTree = "<group>"; };
+ 51A9E1241315ED35009E7031 /* WebKeyValueStorageManagerMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKeyValueStorageManagerMessageReceiver.cpp; sourceTree = "<group>"; };
+ 51A9E1251315ED35009E7031 /* WebKeyValueStorageManagerMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKeyValueStorageManagerMessages.h; sourceTree = "<group>"; };
+ 51A9E1261315ED35009E7031 /* WebKeyValueStorageManagerProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKeyValueStorageManagerProxyMessageReceiver.cpp; sourceTree = "<group>"; };
+ 51A9E1271315ED35009E7031 /* WebKeyValueStorageManagerProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKeyValueStorageManagerProxyMessages.h; sourceTree = "<group>"; };
51ACBB81127A8BAD00D203B9 /* WebContextMenuProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebContextMenuProxy.h; sourceTree = "<group>"; };
51ACBB9E127A8F2C00D203B9 /* WebContextMenuProxyMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebContextMenuProxyMac.h; sourceTree = "<group>"; };
51ACBB9F127A8F2C00D203B9 /* WebContextMenuProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebContextMenuProxyMac.mm; sourceTree = "<group>"; };
@@ -1090,6 +1187,8 @@
935EEB981277616D003322B8 /* WKBundleBackForwardListItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKBundleBackForwardListItem.h; sourceTree = "<group>"; };
9391F283121B38F500EBF7E8 /* WebFrameNetworkingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebFrameNetworkingContext.h; sourceTree = "<group>"; };
9391F284121B38F500EBF7E8 /* WebFrameNetworkingContext.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebFrameNetworkingContext.mm; sourceTree = "<group>"; };
+ 939AE7651316E99C00AE06A6 /* WebCoreArgumentCoders.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreArgumentCoders.cpp; sourceTree = "<group>"; };
+ 939AE7671316E9AD00AE06A6 /* WebCoreArgumentCodersCG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreArgumentCodersCG.cpp; sourceTree = "<group>"; };
93FC679D12D3CC7400A60610 /* DecoderAdapter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DecoderAdapter.cpp; sourceTree = "<group>"; };
93FC679E12D3CC7400A60610 /* DecoderAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DecoderAdapter.h; sourceTree = "<group>"; };
93FC679F12D3CC7400A60610 /* EncoderAdapter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EncoderAdapter.cpp; sourceTree = "<group>"; };
@@ -1119,7 +1218,6 @@
BC032DB010F4380F0058C15A /* WebEventConversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebEventConversion.cpp; sourceTree = "<group>"; };
BC032DB110F4380F0058C15A /* WebEventConversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebEventConversion.h; sourceTree = "<group>"; };
BC032DCB10F4389F0058C15A /* WebPageProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPageProxy.h; sourceTree = "<group>"; };
- BC032DCD10F4389F0058C15A /* WebProcessManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebProcessManager.h; sourceTree = "<group>"; };
BC032DCF10F4389F0058C15A /* WebProcessProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebProcessProxy.h; sourceTree = "<group>"; };
BC06F42D12DBB9B6002D78DE /* GeolocationPermissionRequestManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GeolocationPermissionRequestManager.h; sourceTree = "<group>"; };
BC06F42E12DBB9B6002D78DE /* GeolocationPermissionRequestManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeolocationPermissionRequestManager.cpp; sourceTree = "<group>"; };
@@ -1153,7 +1251,6 @@
BC111B08112F5E3C00337BAB /* ResponsivenessTimer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResponsivenessTimer.cpp; sourceTree = "<group>"; };
BC111B0A112F5E4F00337BAB /* WebFrameProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebFrameProxy.cpp; sourceTree = "<group>"; };
BC111B0B112F5E4F00337BAB /* WebPageProxy.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = WebPageProxy.cpp; sourceTree = "<group>"; };
- BC111B0C112F5E4F00337BAB /* WebProcessManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebProcessManager.cpp; sourceTree = "<group>"; };
BC111B0D112F5E4F00337BAB /* WebProcessProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebProcessProxy.cpp; sourceTree = "<group>"; };
BC111B1B112F5FE600337BAB /* ProcessLauncherMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ProcessLauncherMac.mm; sourceTree = "<group>"; };
BC111B4B112F619200337BAB /* PageClientImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PageClientImpl.h; sourceTree = "<group>"; };
@@ -1383,7 +1480,6 @@
BCC56F771159957D001CCAF9 /* MachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachPort.h; sourceTree = "<group>"; };
BCC57159115ADAEF001CCAF9 /* WebSystemInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSystemInterface.h; sourceTree = "<group>"; };
BCC5715A115ADAEF001CCAF9 /* WebSystemInterface.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebSystemInterface.mm; sourceTree = "<group>"; };
- BCC57161115ADB42001CCAF9 /* NotImplemented.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NotImplemented.h; sourceTree = "<group>"; };
BCC8049D122F0D6B00103529 /* MutableArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MutableArray.cpp; sourceTree = "<group>"; };
BCC8049E122F0D6B00103529 /* MutableArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MutableArray.h; sourceTree = "<group>"; };
BCC8B373125FB69000DE46A4 /* WKGeometry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKGeometry.h; sourceTree = "<group>"; };
@@ -1429,6 +1525,10 @@
BCE469581214EDF4000B98EB /* WKFormSubmissionListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKFormSubmissionListener.h; sourceTree = "<group>"; };
BCE469761214F27B000B98EB /* WebFrameListenerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebFrameListenerProxy.h; sourceTree = "<group>"; };
BCE469781214F2B4000B98EB /* WebFrameListenerProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebFrameListenerProxy.cpp; sourceTree = "<group>"; };
+ BCE81D8A1319F7EF00241910 /* FontInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FontInfo.cpp; sourceTree = "<group>"; };
+ BCE81D8B1319F7EF00241910 /* FontInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FontInfo.h; sourceTree = "<group>"; };
+ BCE81D96131AE02000241910 /* DictionaryPopupInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DictionaryPopupInfo.cpp; sourceTree = "<group>"; };
+ BCE81D97131AE02100241910 /* DictionaryPopupInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DictionaryPopupInfo.h; sourceTree = "<group>"; };
BCEE7AB312817095009827DA /* WebProcessProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebProcessProxy.messages.in; sourceTree = "<group>"; };
BCEE7ACC12817988009827DA /* WebProcessProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebProcessProxyMessageReceiver.cpp; sourceTree = "<group>"; };
BCEE7ACD12817988009827DA /* WebProcessProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebProcessProxyMessages.h; sourceTree = "<group>"; };
@@ -1495,6 +1595,8 @@
E134F01512EA5D11004EC58D /* WKPrintingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKPrintingView.h; sourceTree = "<group>"; };
E134F01912EA5D99004EC58D /* WKPrintingView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKPrintingView.mm; sourceTree = "<group>"; };
E18C92F312DB9E7100CF2AEB /* PrintInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PrintInfo.cpp; sourceTree = "<group>"; };
+ E1BB1688132018BA00F49431 /* FullKeyboardAccessWatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FullKeyboardAccessWatcher.h; sourceTree = "<group>"; };
+ E1BB1689132018BA00F49431 /* FullKeyboardAccessWatcher.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = FullKeyboardAccessWatcher.mm; sourceTree = "<group>"; };
E1CC1B8E12D7EADF00625838 /* PrintInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrintInfo.h; sourceTree = "<group>"; };
E1CC1B8F12D7EADF00625838 /* PrintInfoMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PrintInfoMac.mm; sourceTree = "<group>"; };
E1EE53DC11F8CF9F00CCBEE4 /* InjectedBundlePageEditorClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundlePageEditorClient.h; sourceTree = "<group>"; };
@@ -1721,6 +1823,8 @@
children = (
1A6FA01D11E1526300DB1371 /* WebProcessMainMac.mm */,
BC3065C312592F8900E71278 /* WebProcessMac.mm */,
+ E1BB1688132018BA00F49431 /* FullKeyboardAccessWatcher.h */,
+ E1BB1689132018BA00F49431 /* FullKeyboardAccessWatcher.mm */,
);
path = mac;
sourceTree = "<group>";
@@ -1816,6 +1920,8 @@
1A2D956D12848564001EB962 /* ChildProcess.h */,
1A6F9F8E11E13EFC00DB1371 /* CommandLine.h */,
1A2C306F12D555450063DAA2 /* ContextMenuState.h */,
+ BCE81D96131AE02000241910 /* DictionaryPopupInfo.cpp */,
+ BCE81D97131AE02100241910 /* DictionaryPopupInfo.h */,
C517388012DF8F4F00EE3F47 /* DragControllerAction.h */,
0FB659221208B4DB0044816C /* DrawingAreaInfo.h */,
762B7481120BBA0100819339 /* FontSmoothingLevel.h */,
@@ -1830,15 +1936,18 @@
BCB0AEE8122F53E300B1341E /* MutableDictionary.cpp */,
BCB0AEE7122F53E300B1341E /* MutableDictionary.h */,
C02BFF1512514FD8009CCBEA /* NativeWebKeyboardEvent.h */,
- BCC57161115ADB42001CCAF9 /* NotImplemented.h */,
BCCF673212C7F15C008F9C35 /* OriginAndDatabases.cpp */,
BCCF672C12C7EDF7008F9C35 /* OriginAndDatabases.h */,
BCC43AB8127B95DC00317F16 /* PlatformPopupMenuData.cpp */,
BCC43AB9127B95DC00317F16 /* PlatformPopupMenuData.h */,
E18C92F312DB9E7100CF2AEB /* PrintInfo.cpp */,
E1CC1B8E12D7EADF00625838 /* PrintInfo.h */,
+ BCE81D8A1319F7EF00241910 /* FontInfo.cpp */,
+ BCE81D8B1319F7EF00241910 /* FontInfo.h */,
BC2D021612AC41CB00E732A3 /* SameDocumentNavigationType.h */,
1AAB4A8C1296F0A20023952F /* SandboxExtension.h */,
+ 33152973130D0CB200ED2483 /* SecurityOriginData.cpp */,
+ 33152974130D0CB200ED2483 /* SecurityOriginData.h */,
1AA41AB412C02EC4002BE67B /* SelectionState.h */,
518D2CC812D51DFB003BB93B /* SessionState.cpp */,
518D2CC912D51DFB003BB93B /* SessionState.h */,
@@ -1846,6 +1955,7 @@
1A6420E312DCE2FF00CAAE2C /* ShareableBitmap.h */,
BCBD3C3A125BFA7A00D2C29F /* StringPairVector.h */,
1A5E4DA312D3BD3D0099A2BB /* TextCheckerState.h */,
+ 1A64245D12DE29A100CAAE2C /* UpdateInfo.cpp */,
1A64245C12DE29A100CAAE2C /* UpdateInfo.h */,
BCB0B0DF12305AB100B1341E /* UserMessageCoders.h */,
1A0F29C9120B37160053D1B9 /* VisitedLinkTable.cpp */,
@@ -1857,6 +1967,7 @@
512935D61288D19400A4B695 /* WebContextMenuItem.h */,
510FBB981288C95E00AFFDF4 /* WebContextMenuItemData.cpp */,
510FBB991288C95E00AFFDF4 /* WebContextMenuItemData.h */,
+ 939AE7651316E99C00AE06A6 /* WebCoreArgumentCoders.cpp */,
BC1DD7B1114DC396005ADAF3 /* WebCoreArgumentCoders.h */,
51578B821209ECEF00A37C4A /* WebData.h */,
BC575612126E0138006F0F12 /* WebError.cpp */,
@@ -1903,7 +2014,6 @@
F6113E24126CE1820057D0A7 /* WebUserContentURLPattern.h */,
C0337DD0127A2980008FF4F4 /* WebWheelEvent.cpp */,
BC9585C712F095B800755821 /* WebGestureEvent.cpp */,
- 1A64245D12DE29A100CAAE2C /* UpdateInfo.cpp */,
);
path = Shared;
sourceTree = "<group>";
@@ -1989,6 +2099,8 @@
1A0EC75D124BC7B2007EF4A5 /* PluginProcessProxy.cpp */,
1A0EC75C124BC7B2007EF4A5 /* PluginProcessProxy.h */,
1A043B4C124D5E3600FFBFB5 /* PluginProcessProxy.messages.in */,
+ 1AC8702C130B49A2002C1257 /* WebPluginSiteDataManager.cpp */,
+ 1AC8702B130B49A2002C1257 /* WebPluginSiteDataManager.h */,
);
path = Plugins;
sourceTree = "<group>";
@@ -2013,6 +2125,45 @@
tabWidth = 8;
usesTabs = 0;
};
+ 3309344B1315B93A0097A7BC /* Cookies */ = {
+ isa = PBXGroup;
+ children = (
+ 3309344C1315B94D0097A7BC /* WebCookieManager.cpp */,
+ 3309344D1315B94D0097A7BC /* WebCookieManager.h */,
+ 3309344E1315B94D0097A7BC /* WebCookieManager.messages.in */,
+ );
+ name = Cookies;
+ sourceTree = "<group>";
+ };
+ 3336762B130C9978006C9DE2 /* ResourceCache */ = {
+ isa = PBXGroup;
+ children = (
+ 33F9D5B71312F1B1000D683F /* cf */,
+ 3336762C130C9998006C9DE2 /* WebResourceCacheManager.cpp */,
+ 3336762D130C9998006C9DE2 /* WebResourceCacheManager.h */,
+ 3336762E130C9998006C9DE2 /* WebResourceCacheManager.messages.in */,
+ );
+ name = ResourceCache;
+ sourceTree = "<group>";
+ };
+ 33F9D5B71312F1B1000D683F /* cf */ = {
+ isa = PBXGroup;
+ children = (
+ 33F9D5B81312F1EE000D683F /* WebResourceCacheManagerCFNet.cpp */,
+ );
+ name = cf;
+ sourceTree = "<group>";
+ };
+ 512E352A130B559900ABD19A /* ApplicationCache */ = {
+ isa = PBXGroup;
+ children = (
+ 512E352B130B55AF00ABD19A /* WebApplicationCacheManager.cpp */,
+ 512E352C130B55AF00ABD19A /* WebApplicationCacheManager.h */,
+ 512E352D130B55AF00ABD19A /* WebApplicationCacheManager.messages.in */,
+ );
+ name = ApplicationCache;
+ sourceTree = "<group>";
+ };
512F588612A8834700629530 /* Authentication */ = {
isa = PBXGroup;
children = (
@@ -2038,6 +2189,16 @@
path = Authentication;
sourceTree = "<group>";
};
+ 51A9E0FB1315CC0E009E7031 /* KeyValueStorage */ = {
+ isa = PBXGroup;
+ children = (
+ 51A9E0FC1315CCDE009E7031 /* WebKeyValueStorageManager.cpp */,
+ 51A9E0FD1315CCDE009E7031 /* WebKeyValueStorageManager.h */,
+ 51A9E0FE1315CCDE009E7031 /* WebKeyValueStorageManager.messages.in */,
+ );
+ name = KeyValueStorage;
+ sourceTree = "<group>";
+ };
51B3004D12529CF5000B5CA0 /* cf */ = {
isa = PBXGroup;
children = (
@@ -2051,12 +2212,16 @@
BC032D5C10F436D50058C15A /* WebProcess */ = {
isa = PBXGroup;
children = (
+ 512E352A130B559900ABD19A /* ApplicationCache */,
512F588612A8834700629530 /* Authentication */,
+ 3309344B1315B93A0097A7BC /* Cookies */,
1A61614C127798B5003ACD86 /* Downloads */,
BC0E5FCB12D696DD0012A72A /* Geolocation */,
BC204EDF11C83E72008F3375 /* InjectedBundle */,
+ 51A9E0FB1315CC0E009E7031 /* KeyValueStorage */,
1A6FA01C11E1526300DB1371 /* mac */,
1A6FB7AA11E64B4900DB1371 /* Plugins */,
+ 3336762B130C9978006C9DE2 /* ResourceCache */,
BC032D5D10F437220058C15A /* WebCoreSupport */,
BC032D5E10F4372B0058C15A /* WebPage */,
1A6FA31511E3923600DB1371 /* WebKitMain.cpp */,
@@ -2121,8 +2286,6 @@
93FC67A012D3CC7400A60610 /* EncoderAdapter.h */,
1A90C1F31264FD71003E44D4 /* FindController.cpp */,
1A90C1F21264FD71003E44D4 /* FindController.h */,
- 0F5265B111DD37680006D33C /* LayerBackedDrawingArea.cpp */,
- 0F5265B211DD37680006D33C /* LayerBackedDrawingArea.h */,
1A186EE912EF7618008E5F37 /* LayerTreeHost.cpp */,
1A186EE812EF7618008E5F37 /* LayerTreeHost.h */,
1A90C23612650717003E44D4 /* PageOverlay.cpp */,
@@ -2175,8 +2338,6 @@
BC06F44812DBD1F5002D78DE /* GeolocationPermissionRequestManagerProxy.h */,
BC06F43912DBCCFB002D78DE /* GeolocationPermissionRequestProxy.cpp */,
BC06F43812DBCCFB002D78DE /* GeolocationPermissionRequestProxy.h */,
- 0F5265B711DD377F0006D33C /* LayerBackedDrawingAreaProxy.cpp */,
- 0F5265B811DD377F0006D33C /* LayerBackedDrawingAreaProxy.h */,
BC6EDAA5111271C600E7678B /* PageClient.h */,
BC597074116591D000551FCA /* ProcessModel.h */,
BC111B08112F5E3C00337BAB /* ResponsivenessTimer.cpp */,
@@ -2184,6 +2345,9 @@
1AA417C912C00CCA002BE67B /* TextChecker.h */,
1A0F29E1120B44420053D1B9 /* VisitedLinkProvider.cpp */,
1A0F29E2120B44420053D1B9 /* VisitedLinkProvider.h */,
+ 512E3520130B550100ABD19A /* WebApplicationCacheManagerProxy.cpp */,
+ 512E3521130B550100ABD19A /* WebApplicationCacheManagerProxy.h */,
+ 512E35F0130B638C00ABD19A /* WebApplicationCacheManagerProxy.messages.in */,
BC72BA1B11E64907001EB4EA /* WebBackForwardList.cpp */,
BC72BA1C11E64907001EB4EA /* WebBackForwardList.h */,
BCB9E2421120DACA00A137E0 /* WebContext.cpp */,
@@ -2194,6 +2358,11 @@
51A84CE2127F386B00CA6EA4 /* WebContextMenuProxy.cpp */,
51ACBB81127A8BAD00D203B9 /* WebContextMenuProxy.h */,
BCB0B0DB12305A2500B1341E /* WebContextUserMessageCoders.h */,
+ 330934521315B9750097A7BC /* WebCookieManagerProxy.cpp */,
+ 330934531315B9750097A7BC /* WebCookieManagerProxy.h */,
+ 330934541315B9750097A7BC /* WebCookieManagerProxy.messages.in */,
+ 33AA1064131F060000D4A575 /* WebCookieManagerProxyClient.cpp */,
+ 33AA1065131F060000D4A575 /* WebCookieManagerProxyClient.h */,
F62A765912B1ABC30005F1B6 /* WebDatabaseManagerProxy.cpp */,
F62A765A12B1ABC30005F1B6 /* WebDatabaseManagerProxy.h */,
F62A765B12B1ABC30005F1B6 /* WebDatabaseManagerProxy.messages.in */,
@@ -2225,6 +2394,9 @@
1C8E28331275D73800BC7BD0 /* WebInspectorProxy.cpp */,
1C8E28321275D73800BC7BD0 /* WebInspectorProxy.h */,
1C77C1951288A872006A742F /* WebInspectorProxy.messages.in */,
+ 51A9E1021315CCFC009E7031 /* WebKeyValueStorageManagerProxy.cpp */,
+ 51A9E1031315CCFC009E7031 /* WebKeyValueStorageManagerProxy.h */,
+ 51A9E1041315CCFC009E7031 /* WebKeyValueStorageManagerProxy.messages.in */,
BCB9E76111232B9E00A137E0 /* WebLoaderClient.cpp */,
BC59534010FC04520098F82D /* WebLoaderClient.h */,
BCF69FA11176D01400471A52 /* WebNavigationData.cpp */,
@@ -2243,11 +2415,12 @@
BC574E611267D080006F0F12 /* WebPopupMenuProxy.h */,
BCD597FE112B57BE00EC8C23 /* WebPreferences.cpp */,
BCD597FD112B57BE00EC8C23 /* WebPreferences.h */,
- BC111B0C112F5E4F00337BAB /* WebProcessManager.cpp */,
- BC032DCD10F4389F0058C15A /* WebProcessManager.h */,
BC111B0D112F5E4F00337BAB /* WebProcessProxy.cpp */,
BC032DCF10F4389F0058C15A /* WebProcessProxy.h */,
BCEE7AB312817095009827DA /* WebProcessProxy.messages.in */,
+ 33367632130C99B2006C9DE2 /* WebResourceCacheManagerProxy.cpp */,
+ 33367633130C99B2006C9DE2 /* WebResourceCacheManagerProxy.h */,
+ 33367634130C99B2006C9DE2 /* WebResourceCacheManagerProxy.messages.in */,
BC858A1F12C0357B00EDEB2E /* WebResourceLoadClient.cpp */,
BC858A1E12C0357B00EDEB2E /* WebResourceLoadClient.h */,
1A594AB8112A1FB6009DE7C7 /* WebUIClient.cpp */,
@@ -2273,6 +2446,8 @@
children = (
BCB63477116BF10600603215 /* WebKit2.h */,
BCDDB32C124EC2E10048D13C /* WKAPICast.h */,
+ 517A33B3130B308C00F80CB5 /* WKApplicationCacheManager.cpp */,
+ 517A33B4130B308C00F80CB5 /* WKApplicationCacheManager.h */,
512F58ED12A88A5400629530 /* WKAuthenticationChallenge.cpp */,
512F58EE12A88A5400629530 /* WKAuthenticationChallenge.h */,
512F58EF12A88A5400629530 /* WKAuthenticationDecisionListener.cpp */,
@@ -2284,6 +2459,8 @@
BCB9E24A1120E15C00A137E0 /* WKContext.cpp */,
BCB9E2491120E15C00A137E0 /* WKContext.h */,
BCC938E01180DE440085E5FE /* WKContextPrivate.h */,
+ 330934581315B9980097A7BC /* WKCookieManager.cpp */,
+ 330934591315B9980097A7BC /* WKCookieManager.h */,
512F58F112A88A5400629530 /* WKCredential.cpp */,
512F58F212A88A5400629530 /* WKCredential.h */,
518ACF1012B015F800B04B83 /* WKCredentialTypes.h */,
@@ -2305,6 +2482,8 @@
BC0E619612D6CD120012A72A /* WKGeolocationPosition.h */,
1C8E293812761E5B00BC7BD0 /* WKInspector.cpp */,
1C8E293712761E5B00BC7BD0 /* WKInspector.h */,
+ 51A9E1081315CD18009E7031 /* WKKeyValueStorageManager.cpp */,
+ 51A9E1091315CD18009E7031 /* WKKeyValueStorageManager.h */,
C09AE5E8125257C20025825D /* WKNativeEvent.h */,
BCF69FA81176D1CB00471A52 /* WKNavigationData.cpp */,
BCF69FA71176D1CB00471A52 /* WKNavigationData.h */,
@@ -2317,12 +2496,16 @@
BC7B633612A45ABA00D174A4 /* WKPageGroup.cpp */,
BC7B633512A45ABA00D174A4 /* WKPageGroup.h */,
BC177464118B9FF4007D9E9A /* WKPagePrivate.h */,
+ 1AC86FF1130B46D3002C1257 /* WKPluginSiteDataManager.cpp */,
+ 1AC86FF2130B46D3002C1257 /* WKPluginSiteDataManager.h */,
BCD597CF112B56AC00EC8C23 /* WKPreferences.cpp */,
BCD597CE112B56AC00EC8C23 /* WKPreferences.h */,
762B7484120BBA2D00819339 /* WKPreferencesPrivate.h */,
512F58F312A88A5400629530 /* WKProtectionSpace.cpp */,
512F58F412A88A5400629530 /* WKProtectionSpace.h */,
518ACAE912AEE6BB00B04B83 /* WKProtectionSpaceTypes.h */,
+ 33367638130C99DC006C9DE2 /* WKResourceCacheManager.cpp */,
+ 33367639130C99DC006C9DE2 /* WKResourceCacheManager.h */,
);
path = C;
sourceTree = "<group>";
@@ -2621,7 +2804,6 @@
29CD55A8128E294F00133C85 /* AccessibilityWebPageObject.h */,
29CD55A9128E294F00133C85 /* AccessibilityWebPageObject.mm */,
BC5F7BB8118237990052C02C /* ChunkedUpdateDrawingAreaMac.cpp */,
- 0F5265B511DD37700006D33C /* LayerBackedDrawingAreaMac.mm */,
1A690D1612F39E3300ECD289 /* LayerTreeHostMac.h */,
1A18718412EF9877008E5F37 /* LayerTreeHostMac.mm */,
1C8E2DAD1278C5B200BC7BD0 /* WebInspectorMac.mm */,
@@ -2644,7 +2826,6 @@
children = (
1A64292C12DE5F9800CAAE2C /* BackingStoreMac.mm */,
BC2651F511825EF800243E12 /* ChunkedUpdateDrawingAreaProxyMac.mm */,
- 0F5265BB11DD37860006D33C /* LayerBackedDrawingAreaProxyMac.mm */,
1AA417ED12C00D87002BE67B /* TextCheckerMac.mm */,
1A1C648611F415B700553C19 /* WebContextMac.mm */,
51ACBB9E127A8F2C00D203B9 /* WebContextMenuProxyMac.h */,
@@ -2739,6 +2920,7 @@
isa = PBXGroup;
children = (
C01A260012662F2100C9ED55 /* ShareableBitmapCG.cpp */,
+ 939AE7671316E9AD00AE06A6 /* WebCoreArgumentCodersCG.cpp */,
);
path = cg;
sourceTree = "<group>";
@@ -2764,8 +2946,16 @@
1A043B5C124D5E9D00FFBFB5 /* PluginProcessProxyMessages.h */,
1A8EFA6E1252B84100F7067F /* PluginProxyMessageReceiver.cpp */,
1A8EFA6F1252B84100F7067F /* PluginProxyMessages.h */,
+ 512E3568130B57F000ABD19A /* WebApplicationCacheManagerMessageReceiver.cpp */,
+ 512E3569130B57F000ABD19A /* WebApplicationCacheManagerMessages.h */,
+ 512E35F6130B642E00ABD19A /* WebApplicationCacheManagerProxyMessageReceiver.cpp */,
+ 512E35F7130B642E00ABD19A /* WebApplicationCacheManagerProxyMessages.h */,
BCEE7D0B12846F69009827DA /* WebContextMessageReceiver.cpp */,
BCEE7D0C12846F69009827DA /* WebContextMessages.h */,
+ 330934431315B9220097A7BC /* WebCookieManagerMessageReceiver.cpp */,
+ 330934441315B9220097A7BC /* WebCookieManagerMessages.h */,
+ 330934451315B9220097A7BC /* WebCookieManagerProxyMessageReceiver.cpp */,
+ 330934461315B9220097A7BC /* WebCookieManagerProxyMessages.h */,
F62A76B212B1B25F0005F1B6 /* WebDatabaseManagerMessageReceiver.cpp */,
F62A76B312B1B25F0005F1B6 /* WebDatabaseManagerMessages.h */,
F62A76B412B1B25F0005F1B6 /* WebDatabaseManagerProxyMessageReceiver.cpp */,
@@ -2778,6 +2968,10 @@
1C8E2A321277852400BC7BD0 /* WebInspectorMessages.h */,
1CA8B943127C882A00576C2B /* WebInspectorProxyMessageReceiver.cpp */,
1CA8B944127C882A00576C2B /* WebInspectorProxyMessages.h */,
+ 51A9E1241315ED35009E7031 /* WebKeyValueStorageManagerMessageReceiver.cpp */,
+ 51A9E1251315ED35009E7031 /* WebKeyValueStorageManagerMessages.h */,
+ 51A9E1261315ED35009E7031 /* WebKeyValueStorageManagerProxyMessageReceiver.cpp */,
+ 51A9E1271315ED35009E7031 /* WebKeyValueStorageManagerProxyMessages.h */,
C0CE729E1247E71D00BC0EC4 /* WebPageMessageReceiver.cpp */,
C0CE729F1247E71D00BC0EC4 /* WebPageMessages.h */,
BCBD3912125BB1A800D2C29F /* WebPageProxyMessageReceiver.cpp */,
@@ -2788,6 +2982,10 @@
BC3066BD125A442100E71278 /* WebProcessMessages.h */,
BCEE7ACC12817988009827DA /* WebProcessProxyMessageReceiver.cpp */,
BCEE7ACD12817988009827DA /* WebProcessProxyMessages.h */,
+ 33367651130C9ECA006C9DE2 /* WebResourceCacheManagerMessageReceiver.cpp */,
+ 33367652130C9ECA006C9DE2 /* WebResourceCacheManagerMessages.h */,
+ 33367653130C9ECA006C9DE2 /* WebResourceCacheManagerProxyMessageReceiver.cpp */,
+ 33367654130C9ECA006C9DE2 /* WebResourceCacheManagerProxyMessages.h */,
);
name = "Derived Sources";
path = DerivedSources/WebKit2;
@@ -2831,6 +3029,7 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
+ 51A9E10B1315CD18009E7031 /* WKKeyValueStorageManager.h in Headers */,
1AEFD27911D16C81008219D3 /* ArgumentCoder.h in Headers */,
1AEFD2F711D1807B008219D3 /* ArgumentCoders.h in Headers */,
BC032DA610F437D10058C15A /* ArgumentDecoder.h in Headers */,
@@ -2851,14 +3050,11 @@
BC204EE311C83E98008F3375 /* InjectedBundle.h in Headers */,
BCA8C6A911E3BA5F00812FB7 /* InjectedBundlePageLoaderClient.h in Headers */,
BCA8C6B011E3C08700812FB7 /* InjectedBundlePageUIClient.h in Headers */,
- 0F5265B411DD37680006D33C /* LayerBackedDrawingArea.h in Headers */,
- 0F5265BA11DD377F0006D33C /* LayerBackedDrawingAreaProxy.h in Headers */,
BCC56F791159957D001CCAF9 /* MachPort.h in Headers */,
BC032DAC10F437D10058C15A /* MessageID.h in Headers */,
1A6FBA2A11E6862700DB1371 /* NetscapeBrowserFuncs.h in Headers */,
1A6FBD2811E69BC200DB1371 /* NetscapePlugin.h in Headers */,
1AA5889211EE70400061B882 /* NetscapePluginStream.h in Headers */,
- BCC57162115ADB42001CCAF9 /* NotImplemented.h in Headers */,
BC6EDAA6111271C600E7678B /* PageClient.h in Headers */,
BC111B50112F619200337BAB /* PageClientImpl.h in Headers */,
BC8780FC1161C2B800CC2768 /* PlatformProcessIdentifier.h in Headers */,
@@ -2902,7 +3098,6 @@
BCD598AC112B7FDF00EC8C23 /* WebPreferencesStore.h in Headers */,
BC032D9710F437AF0058C15A /* WebProcess.h in Headers */,
1A6FA02011E1528700DB1371 /* WebProcessMain.h in Headers */,
- BC032DD310F4389F0058C15A /* WebProcessManager.h in Headers */,
BC032DD510F4389F0058C15A /* WebProcessProxy.h in Headers */,
BCB7346E11CEE3FF00EC5002 /* WebProcessProxyMessageKinds.h in Headers */,
BCC5715B115ADAEF001CCAF9 /* WebSystemInterface.h in Headers */,
@@ -3175,6 +3370,33 @@
BCA56A1C12F9028E00C566C7 /* WebGraphicsContext.h in Headers */,
BCA56A6512F9C8F900C566C7 /* WKGraphicsContext.h in Headers */,
BCA56A6912F9C9AD00C566C7 /* WKGraphicsContextCG.h in Headers */,
+ 512E34E5130B4D0500ABD19A /* WKApplicationCacheManager.h in Headers */,
+ 512E3525130B550600ABD19A /* WebApplicationCacheManagerProxy.h in Headers */,
+ 512E352F130B55AF00ABD19A /* WebApplicationCacheManager.h in Headers */,
+ 512E356B130B57F000ABD19A /* WebApplicationCacheManagerMessages.h in Headers */,
+ 512E35F9130B642E00ABD19A /* WebApplicationCacheManagerProxyMessages.h in Headers */,
+ 1AC86FF4130B46D3002C1257 /* WKPluginSiteDataManager.h in Headers */,
+ 1AC8702D130B49A2002C1257 /* WebPluginSiteDataManager.h in Headers */,
+ 33367630130C9998006C9DE2 /* WebResourceCacheManager.h in Headers */,
+ 33367636130C99B2006C9DE2 /* WebResourceCacheManagerProxy.h in Headers */,
+ 3336763B130C99DC006C9DE2 /* WKResourceCacheManager.h in Headers */,
+ 33367656130C9ECA006C9DE2 /* WebResourceCacheManagerMessages.h in Headers */,
+ 33367658130C9ECB006C9DE2 /* WebResourceCacheManagerProxyMessages.h in Headers */,
+ 33152976130D0CB200ED2483 /* SecurityOriginData.h in Headers */,
+ 51A9E1001315CCDE009E7031 /* WebKeyValueStorageManager.h in Headers */,
+ 51A9E1061315CCFC009E7031 /* WebKeyValueStorageManagerProxy.h in Headers */,
+ 51A9E1291315ED35009E7031 /* WebKeyValueStorageManagerMessages.h in Headers */,
+ 51A9E12B1315ED35009E7031 /* WebKeyValueStorageManagerProxyMessages.h in Headers */,
+ 330934481315B9220097A7BC /* WebCookieManagerMessages.h in Headers */,
+ 3309344A1315B9220097A7BC /* WebCookieManagerProxyMessages.h in Headers */,
+ 330934501315B94D0097A7BC /* WebCookieManager.h in Headers */,
+ 330934561315B9750097A7BC /* WebCookieManagerProxy.h in Headers */,
+ 3309345B1315B9980097A7BC /* WKCookieManager.h in Headers */,
+ BCE81D8D1319F7EF00241910 /* FontInfo.h in Headers */,
+ BCE81D99131AE02100241910 /* DictionaryPopupInfo.h in Headers */,
+ 37C4E9F6131C6E7E0029BD5A /* config.h in Headers */,
+ E1BB16A413201B9B00F49431 /* FullKeyboardAccessWatcher.h in Headers */,
+ 33AA1067131F060000D4A575 /* WebCookieManagerProxyClient.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -3225,6 +3447,11 @@
8DC2EF520486A6940098B216 /* Resources */,
8DC2EF540486A6940098B216 /* Sources */,
8DC2EF560486A6940098B216 /* Frameworks */,
+ 5DF408C0131DD37C00130071 /* Check For Global Initializers */,
+ 5DF408C4131DD3DB00130071 /* Check For Exit Time Destructors */,
+ 5DF408C5131DD46700130071 /* Check For Weak VTables and Externals */,
+ 5DF408C6131DD49700130071 /* Check For Framework Include Consistency */,
+ 5DF408D1131DDBEC00130071 /* Check For Inappropriate Files In Framework */,
);
buildRules = (
);
@@ -3280,13 +3507,85 @@
buildActionMask = 2147483647;
files = (
8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */,
- 512F588C12A8836600629530 /* AuthenticationManager.messages.in in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
+ 5DF408C0131DD37C00130071 /* Check For Global Initializers */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)",
+ );
+ name = "Check For Global Initializers";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-global-initializers ]; then\n ../../Tools/Scripts/check-for-global-initializers || exit $?\nfi";
+ };
+ 5DF408C4131DD3DB00130071 /* Check For Exit Time Destructors */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)",
+ );
+ name = "Check For Exit Time Destructors";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-exit-time-destructors ]; then\n ../../Tools/Scripts/check-for-exit-time-destructors || exit $?\nfi";
+ };
+ 5DF408C5131DD46700130071 /* Check For Weak VTables and Externals */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)",
+ );
+ name = "Check For Weak VTables and Externals";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-weak-vtables-and-externals ]; then\n ../../Tools/Scripts/check-for-weak-vtables-and-externals || exit $?\nfi";
+ };
+ 5DF408C6131DD49700130071 /* Check For Framework Include Consistency */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Check For Framework Include Consistency";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-webkit-framework-include-consistency ]; then\n ../../Tools/Scripts/check-for-webkit-framework-include-consistency || exit $?\nfi\n";
+ };
+ 5DF408D1131DDBEC00130071 /* Check For Inappropriate Files In Framework */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Check For Inappropriate Files In Framework";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-inappropriate-files-in-framework ]; then\n ../../Tools/Scripts/check-for-inappropriate-files-in-framework || exit $?\nfi\n";
+ };
C0CE72841247E66800BC0EC4 /* Generate Derived Sources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -3345,10 +3644,6 @@
BC204EE611C83EA9008F3375 /* InjectedBundleMac.cpp in Sources */,
BCA8C6A811E3BA5F00812FB7 /* InjectedBundlePageLoaderClient.cpp in Sources */,
BCA8C6AF11E3C08700812FB7 /* InjectedBundlePageUIClient.cpp in Sources */,
- 0F5265B311DD37680006D33C /* LayerBackedDrawingArea.cpp in Sources */,
- 0F5265B611DD37700006D33C /* LayerBackedDrawingAreaMac.mm in Sources */,
- 0F5265B911DD377F0006D33C /* LayerBackedDrawingAreaProxy.cpp in Sources */,
- 0F5265BC11DD37860006D33C /* LayerBackedDrawingAreaProxyMac.mm in Sources */,
1A6FBA2B11E6862700DB1371 /* NetscapeBrowserFuncs.cpp in Sources */,
1A6FBD2911E69BC200DB1371 /* NetscapePlugin.cpp in Sources */,
1AE5B7FB11E7AED200BA6767 /* NetscapePluginMac.mm in Sources */,
@@ -3393,7 +3688,6 @@
BCD598AD112B7FDF00EC8C23 /* WebPreferencesStore.cpp in Sources */,
BC111AE4112F5C2600337BAB /* WebProcess.cpp in Sources */,
1A6FA01E11E1526300DB1371 /* WebProcessMainMac.mm in Sources */,
- BC111B10112F5E4F00337BAB /* WebProcessManager.cpp in Sources */,
BC111B11112F5E4F00337BAB /* WebProcessProxy.cpp in Sources */,
BCC5715C115ADAEF001CCAF9 /* WebSystemInterface.mm in Sources */,
1A594ABA112A1FB6009DE7C7 /* WebUIClient.cpp in Sources */,
@@ -3652,6 +3946,36 @@
BCA56A6612F9C8F900C566C7 /* WKGraphicsContext.cpp in Sources */,
BCA56A6A12F9C9AD00C566C7 /* WKGraphicsContextCG.cpp in Sources */,
659C551E130006410025C0C2 /* InjectedBundlePageResourceLoadClient.cpp in Sources */,
+ 512E34E4130B4D0500ABD19A /* WKApplicationCacheManager.cpp in Sources */,
+ 512E3524130B550600ABD19A /* WebApplicationCacheManagerProxy.cpp in Sources */,
+ 512E352E130B55AF00ABD19A /* WebApplicationCacheManager.cpp in Sources */,
+ 512E356A130B57F000ABD19A /* WebApplicationCacheManagerMessageReceiver.cpp in Sources */,
+ 512E35F8130B642E00ABD19A /* WebApplicationCacheManagerProxyMessageReceiver.cpp in Sources */,
+ 1AC86FF3130B46D3002C1257 /* WKPluginSiteDataManager.cpp in Sources */,
+ 1AC8702E130B49A2002C1257 /* WebPluginSiteDataManager.cpp in Sources */,
+ 3336762F130C9998006C9DE2 /* WebResourceCacheManager.cpp in Sources */,
+ 33367635130C99B2006C9DE2 /* WebResourceCacheManagerProxy.cpp in Sources */,
+ 3336763A130C99DC006C9DE2 /* WKResourceCacheManager.cpp in Sources */,
+ 33367655130C9ECA006C9DE2 /* WebResourceCacheManagerMessageReceiver.cpp in Sources */,
+ 33367657130C9ECA006C9DE2 /* WebResourceCacheManagerProxyMessageReceiver.cpp in Sources */,
+ 33152975130D0CB200ED2483 /* SecurityOriginData.cpp in Sources */,
+ 33F9D5B91312F1EE000D683F /* WebResourceCacheManagerCFNet.cpp in Sources */,
+ 51A9E0FF1315CCDE009E7031 /* WebKeyValueStorageManager.cpp in Sources */,
+ 51A9E1051315CCFC009E7031 /* WebKeyValueStorageManagerProxy.cpp in Sources */,
+ 51A9E10A1315CD18009E7031 /* WKKeyValueStorageManager.cpp in Sources */,
+ 51A9E1281315ED35009E7031 /* WebKeyValueStorageManagerMessageReceiver.cpp in Sources */,
+ 51A9E12A1315ED35009E7031 /* WebKeyValueStorageManagerProxyMessageReceiver.cpp in Sources */,
+ 939AE7661316E99C00AE06A6 /* WebCoreArgumentCoders.cpp in Sources */,
+ 939AE7681316E9AD00AE06A6 /* WebCoreArgumentCodersCG.cpp in Sources */,
+ 330934471315B9220097A7BC /* WebCookieManagerMessageReceiver.cpp in Sources */,
+ 330934491315B9220097A7BC /* WebCookieManagerProxyMessageReceiver.cpp in Sources */,
+ 3309344F1315B94D0097A7BC /* WebCookieManager.cpp in Sources */,
+ 330934551315B9750097A7BC /* WebCookieManagerProxy.cpp in Sources */,
+ 3309345A1315B9980097A7BC /* WKCookieManager.cpp in Sources */,
+ BCE81D8C1319F7EF00241910 /* FontInfo.cpp in Sources */,
+ BCE81D98131AE02100241910 /* DictionaryPopupInfo.cpp in Sources */,
+ E1BB16A513201B9B00F49431 /* FullKeyboardAccessWatcher.mm in Sources */,
+ 33AA1066131F060000D4A575 /* WebCookieManagerProxyClient.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/Source/WebKit2/WebKit2API.pri b/Source/WebKit2/WebKit2API.pri
new file mode 100644
index 0000000..7b182a9
--- /dev/null
+++ b/Source/WebKit2/WebKit2API.pri
@@ -0,0 +1,144 @@
+# Project include file for the WebKit2 API
+# Used in the final build step in WebKit/qt/QtWebKit.pro
+
+WEBKIT2_API_SOURCES = \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKArray.cpp \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKCertificateInfo.cpp \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKContextMenuItem.cpp \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKDictionary.cpp \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKGraphicsContext.cpp \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKImage.cpp \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKMutableDictionary.cpp \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKNumber.cpp \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKSecurityOrigin.cpp \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKSerializedScriptValue.cpp \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKString.cpp \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKType.cpp \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKURL.cpp \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKURLRequest.cpp \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKURLResponse.cpp \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKUserContentURLPattern.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKAuthenticationChallenge.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKAuthenticationDecisionListener.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKBackForwardList.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKBackForwardListItem.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKContext.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKCredential.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKDatabaseManager.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKDownload.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKFrame.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKFramePolicyListener.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKGeolocationManager.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKGeolocationPermissionRequest.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKGeolocationPosition.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKInspector.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKOpenPanelParameters.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKOpenPanelResultListener.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKNavigationData.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPage.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPageGroup.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPreferences.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKProtectionSpace.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/cpp/qt/WKStringQt.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/cpp/qt/WKURLQt.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/qt/ClientImpl.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qgraphicswkview.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkcontext.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkhistory.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkpage.cpp \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkpreferences.cpp \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp \
+ $$SOURCE_DIR/WebKit2/PluginProcess/PluginControllerProxy.cpp \
+ $$SOURCE_DIR/WebKit2/PluginProcess/PluginProcess.cpp \
+ $$SOURCE_DIR/WebKit2/PluginProcess/WebProcessConnection.cpp \
+ $$SOURCE_DIR/WebKit2/PluginProcess/qt/PluginControllerProxyQt.cpp \
+ $$SOURCE_DIR/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp \
+ $$SOURCE_DIR/WebKit2/PluginProcess/qt/PluginProcessQt.cpp \
+ $$SOURCE_DIR/WebKit2/WebProcess/qt/WebProcessMainQt.cpp
+
+
+WEBKIT2_API_HEADERS += \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKBase.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKCertificateInfo.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKContextMenuItem.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKContextMenuItemTypes.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKDictionary.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKGeometry.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKGraphicsContext.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKImage.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKMutableDictionary.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKNumber.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKPageLoadTypes.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKSecurityOrigin.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKSerializedScriptValue.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKSharedAPICast.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKString.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKStringPrivate.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKType.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKURL.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKURLRequest.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKURLResponse.h \
+ $$SOURCE_DIR/WebKit2/Shared/API/c/WKUserContentURLPattern.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKAPICast.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKAuthenticationChallenge.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKAuthenticationDecisionListener.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKBackForwardList.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKBackForwardListItem.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKContext.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKContextPrivate.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKCredential.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKCredentialTypes.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKDatabaseManager.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKDownload.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKFrame.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKFramePolicyListener.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKGeolocationManager.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKGeolocationPermissionRequest.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKGeolocationPosition.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKInspector.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKOpenPanelParameters.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKOpenPanelResultListener.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKNavigationData.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPage.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPageGroup.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPagePrivate.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPreferences.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKProtectionSpace.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKProtectionSpaceTypes.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/WebKit2.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/C/qt/WKNativeEvent.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/cpp/WKRetainPtr.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/cpp/qt/WKStringQt.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/cpp/qt/WKURLQt.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/qt/ClientImpl.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qgraphicswkview.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkcontext.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkcontext_p.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkhistory.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkhistory_p.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkpage.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkpage_p.h \
+ $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkpreferences.h \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.h \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.h \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageGroup.h \
+ $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h
diff --git a/Source/WebKit2/WebProcess.pro b/Source/WebKit2/WebProcess.pro
index bc0b878..08521de 100644
--- a/Source/WebKit2/WebProcess.pro
+++ b/Source/WebKit2/WebProcess.pro
@@ -1,5 +1,12 @@
TEMPLATE = app
TARGET = QtWebProcess
+INSTALLS += target
+
+isEmpty(INSTALL_BINS) {
+ target.path = $$[QT_INSTALL_BINS]
+} else {
+ target.path = $$INSTALL_BINS
+}
SOURCES += \
qt/MainQt.cpp
@@ -27,7 +34,7 @@ linux-* {
}
symbian {
- TARGET.UID3 = 0xA000E543
+ TARGET.UID3 = 0xA000E544
TARGET.CAPABILITY = ReadUserData WriteUserData NetworkServices
}
diff --git a/Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.cpp b/Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.cpp
new file mode 100644
index 0000000..71ae14f
--- /dev/null
+++ b/Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.cpp
@@ -0,0 +1,101 @@
+/*
+ * 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 "WebApplicationCacheManager.h"
+
+#include "MessageID.h"
+#include "SecurityOriginData.h"
+#include "WebApplicationCacheManagerProxyMessages.h"
+#include "WebProcess.h"
+#include <WebCore/ApplicationCacheStorage.h>
+#include <WebCore/SecurityOrigin.h>
+#include <WebCore/SecurityOriginHash.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebApplicationCacheManager& WebApplicationCacheManager::shared()
+{
+ static WebApplicationCacheManager& shared = *new WebApplicationCacheManager;
+ return shared;
+}
+
+WebApplicationCacheManager::WebApplicationCacheManager()
+{
+}
+
+void WebApplicationCacheManager::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
+{
+ didReceiveWebApplicationCacheManagerMessage(connection, messageID, arguments);
+}
+
+void WebApplicationCacheManager::getApplicationCacheOrigins(uint64_t callbackID)
+{
+ HashSet<RefPtr<SecurityOrigin>, SecurityOriginHash> origins;
+
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+ cacheStorage().getOriginsWithCache(origins);
+#endif
+
+ Vector<SecurityOriginData> identifiers;
+ identifiers.reserveCapacity(origins.size());
+
+ HashSet<RefPtr<SecurityOrigin>, SecurityOriginHash>::iterator end = origins.end();
+ HashSet<RefPtr<SecurityOrigin>, SecurityOriginHash>::iterator i = origins.begin();
+ for (; i != end; ++i) {
+ RefPtr<SecurityOrigin> origin = *i;
+
+ SecurityOriginData originData;
+ originData.protocol = origin->protocol();
+ originData.host = origin->host();
+ originData.port = origin->port();
+
+ identifiers.uncheckedAppend(originData);
+ }
+
+ WebProcess::shared().connection()->send(Messages::WebApplicationCacheManagerProxy::DidGetApplicationCacheOrigins(identifiers, callbackID), 0);
+}
+
+void WebApplicationCacheManager::deleteEntriesForOrigin(const SecurityOriginData& originData)
+{
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+ RefPtr<SecurityOrigin> origin = SecurityOrigin::create(originData.protocol, originData.host, originData.port);
+ if (!origin)
+ return;
+
+ cacheStorage().deleteEntriesForOrigin(origin.get());
+#endif
+}
+
+void WebApplicationCacheManager::deleteAllEntries()
+{
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+ cacheStorage().deleteAllEntries();
+#endif
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.h b/Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.h
new file mode 100644
index 0000000..d217ffd
--- /dev/null
+++ b/Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.h
@@ -0,0 +1,62 @@
+/*
+ * 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 WebApplicationCacheManager_h
+#define WebApplicationCacheManager_h
+
+#include <wtf/Noncopyable.h>
+#include <wtf/text/WTFString.h>
+
+namespace CoreIPC {
+ class ArgumentDecoder;
+ class Connection;
+ class MessageID;
+}
+
+namespace WebKit {
+
+struct SecurityOriginData;
+
+class WebApplicationCacheManager {
+ WTF_MAKE_NONCOPYABLE(WebApplicationCacheManager);
+
+public:
+ static WebApplicationCacheManager& shared();
+
+ void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+
+private:
+ WebApplicationCacheManager();
+
+ void getApplicationCacheOrigins(uint64_t callbackID);
+ void deleteEntriesForOrigin(const SecurityOriginData&);
+ void deleteAllEntries();
+
+ void didReceiveWebApplicationCacheManagerMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+};
+
+} // namespace WebKit
+
+#endif // WebApplicationCacheManager_h
diff --git a/Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in b/Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in
new file mode 100644
index 0000000..bf21d9d
--- /dev/null
+++ b/Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in
@@ -0,0 +1,27 @@
+# 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.
+
+messages -> WebApplicationCacheManager {
+ void GetApplicationCacheOrigins(uint64_t callbackID)
+ void DeleteEntriesForOrigin(WebKit::SecurityOriginData originIdentifier)
+ void DeleteAllEntries()
+}
diff --git a/Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp b/Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp
new file mode 100644
index 0000000..1c88ee2
--- /dev/null
+++ b/Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp
@@ -0,0 +1,92 @@
+/*
+ * 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 "WebCookieManager.h"
+
+#include "MessageID.h"
+#include "WebCookieManagerProxyMessages.h"
+#include "WebProcess.h"
+#include <WebCore/CookieJar.h>
+#include <WebCore/CookieStorage.h>
+#include <WebCore/NotImplemented.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebCookieManager& WebCookieManager::shared()
+{
+ DEFINE_STATIC_LOCAL(WebCookieManager, shared, ());
+ return shared;
+}
+
+WebCookieManager::WebCookieManager()
+{
+}
+
+void WebCookieManager::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
+{
+ didReceiveWebCookieManagerMessage(connection, messageID, arguments);
+}
+
+void WebCookieManager::getHostnamesWithCookies(uint64_t callbackID)
+{
+ HashSet<String> hostnames;
+
+ WebCore::getHostnamesWithCookies(hostnames);
+
+ Vector<String> hostnameList;
+ copyToVector(hostnames, hostnameList);
+
+ WebProcess::shared().connection()->send(Messages::WebCookieManagerProxy::DidGetHostnamesWithCookies(hostnameList, callbackID), 0);
+}
+
+void WebCookieManager::deleteCookiesForHostname(const String& hostname)
+{
+ WebCore::deleteCookiesForHostname(hostname);
+}
+
+void WebCookieManager::deleteAllCookies()
+{
+ WebCore::deleteAllCookies();
+}
+
+void WebCookieManager::startObservingCookieChanges()
+{
+ WebCore::startObservingCookieChanges();
+}
+
+void WebCookieManager::stopObservingCookieChanges()
+{
+ WebCore::stopObservingCookieChanges();
+}
+
+void WebCookieManager::dispatchCookiesDidChange()
+{
+ WebProcess::shared().connection()->send(Messages::WebCookieManagerProxy::CookiesDidChange(), 0);
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/Cookies/WebCookieManager.h b/Source/WebKit2/WebProcess/Cookies/WebCookieManager.h
new file mode 100644
index 0000000..911020c
--- /dev/null
+++ b/Source/WebKit2/WebProcess/Cookies/WebCookieManager.h
@@ -0,0 +1,64 @@
+/*
+ * 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 WebCookieManager_h
+#define WebCookieManager_h
+
+#include <wtf/Noncopyable.h>
+#include <wtf/text/WTFString.h>
+
+namespace CoreIPC {
+ class ArgumentDecoder;
+ class Connection;
+ class MessageID;
+}
+
+namespace WebKit {
+
+class WebCookieManager {
+ WTF_MAKE_NONCOPYABLE(WebCookieManager);
+public:
+ static WebCookieManager& shared();
+
+ void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+
+ void dispatchCookiesDidChange();
+
+private:
+ WebCookieManager();
+
+ void getHostnamesWithCookies(uint64_t callbackID);
+ void deleteCookiesForHostname(const String&);
+ void deleteAllCookies();
+
+ void startObservingCookieChanges();
+ void stopObservingCookieChanges();
+
+ void didReceiveWebCookieManagerMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+};
+
+} // namespace WebKit
+
+#endif // WebCookieManager_h
diff --git a/Source/WebKit2/WebProcess/Cookies/WebCookieManager.messages.in b/Source/WebKit2/WebProcess/Cookies/WebCookieManager.messages.in
new file mode 100644
index 0000000..470facb
--- /dev/null
+++ b/Source/WebKit2/WebProcess/Cookies/WebCookieManager.messages.in
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ */
+
+ messages -> WebCookieManager {
+ void GetHostnamesWithCookies(uint64_t callbackID)
+ void DeleteCookiesForHostname(WTF::String hostname)
+ void DeleteAllCookies()
+
+ void StartObservingCookieChanges()
+ void StopObservingCookieChanges()
+}
diff --git a/Source/WebKit2/WebProcess/Downloads/DownloadManager.cpp b/Source/WebKit2/WebProcess/Downloads/DownloadManager.cpp
index 1cb288e..4a96b11 100644
--- a/Source/WebKit2/WebProcess/Downloads/DownloadManager.cpp
+++ b/Source/WebKit2/WebProcess/Downloads/DownloadManager.cpp
@@ -78,7 +78,7 @@ void DownloadManager::downloadFinished(Download* download)
delete download;
- WebProcess::shared().shutdownIfPossible();
+ WebProcess::shared().terminateIfPossible();
}
} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/Downloads/cf/DownloadCFNet.cpp b/Source/WebKit2/WebProcess/Downloads/cf/DownloadCFNet.cpp
index c8a065e..3215039 100644
--- a/Source/WebKit2/WebProcess/Downloads/cf/DownloadCFNet.cpp
+++ b/Source/WebKit2/WebProcess/Downloads/cf/DownloadCFNet.cpp
@@ -27,11 +27,11 @@
#include "Download.h"
#include "DataReference.h"
-#include "NotImplemented.h"
#pragma warning(push, 0)
#include <WebCore/DownloadBundle.h>
#include <WebCore/LoaderRunLoopCF.h>
+#include <WebCore/NotImplemented.h>
#include <WebCore/ResourceError.h>
#include <WebCore/ResourceHandle.h>
#include <WebCore/ResourceResponse.h>
diff --git a/Source/WebKit2/WebProcess/Downloads/curl/DownloadCurl.cpp b/Source/WebKit2/WebProcess/Downloads/curl/DownloadCurl.cpp
index eb0a1cd..6ebce01 100644
--- a/Source/WebKit2/WebProcess/Downloads/curl/DownloadCurl.cpp
+++ b/Source/WebKit2/WebProcess/Downloads/curl/DownloadCurl.cpp
@@ -27,7 +27,7 @@
#include "config.h"
#include "Download.h"
-#include "NotImplemented.h"
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
diff --git a/Source/WebKit2/WebProcess/Downloads/mac/DownloadMac.mm b/Source/WebKit2/WebProcess/Downloads/mac/DownloadMac.mm
index 0abd744..f7fe8dc 100644
--- a/Source/WebKit2/WebProcess/Downloads/mac/DownloadMac.mm
+++ b/Source/WebKit2/WebProcess/Downloads/mac/DownloadMac.mm
@@ -28,11 +28,11 @@
#import <WebCore/BackForwardController.h>
#import <WebCore/HistoryItem.h>
+#import <WebCore/NotImplemented.h>
#import <WebCore/Page.h>
#import <WebCore/ResourceHandle.h>
#import <WebCore/ResourceResponse.h>
#import "DataReference.h"
-#import "NotImplemented.h"
#import "WebPage.h"
@interface NSURLDownload (WebNSURLDownloadDetails)
diff --git a/Source/WebKit2/WebProcess/Downloads/qt/DownloadQt.cpp b/Source/WebKit2/WebProcess/Downloads/qt/DownloadQt.cpp
index 131f53a..19b86f0 100644
--- a/Source/WebKit2/WebProcess/Downloads/qt/DownloadQt.cpp
+++ b/Source/WebKit2/WebProcess/Downloads/qt/DownloadQt.cpp
@@ -26,7 +26,7 @@
#include "config.h"
#include "Download.h"
-#include "NotImplemented.h"
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
diff --git a/Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp b/Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp
index ba2aad0..1ac23b1 100644
--- a/Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp
+++ b/Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp
@@ -26,6 +26,7 @@
#include "config.h"
#include "GeolocationPermissionRequestManager.h"
+#include "WebCoreArgumentCoders.h"
#include "WebFrame.h"
#include "WebPage.h"
#include "WebPageProxyMessages.h"
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp
index 82f616a..dd44e93 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp
+++ b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp
@@ -164,6 +164,13 @@ WKBundlePageRef WKBundleFrameGetPage(WKBundleFrameRef frameRef)
return toAPI(toImpl(frameRef)->page());
}
+void WKBundleFrameClearOpener(WKBundleFrameRef frameRef)
+{
+ Frame* coreFrame = toImpl(frameRef)->coreFrame();
+ if (coreFrame)
+ coreFrame->loader()->setOpener(0);
+}
+
WKStringRef WKBundleFrameCopyLayerTreeAsText(WKBundleFrameRef frameRef)
{
return toCopiedAPI(toImpl(frameRef)->layerTreeAsText());
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h
index 3f83a61..a31e4ae 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h
+++ b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h
@@ -47,6 +47,7 @@ WK_EXPORT void WKBundleFrameSuspendAnimations(WKBundleFrameRef frame);
WK_EXPORT void WKBundleFrameResumeAnimations(WKBundleFrameRef frame);
WK_EXPORT unsigned WKBundleFrameGetPendingUnloadCount(WKBundleFrameRef frame);
WK_EXPORT WKStringRef WKBundleFrameCopyLayerTreeAsText(WKBundleFrameRef frame);
+WK_EXPORT void WKBundleFrameClearOpener(WKBundleFrameRef frame);
#ifdef __cplusplus
}
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp
index b764ee9..4e941c3 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp
+++ b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp
@@ -38,10 +38,10 @@ WKTypeID WKBundleHitTestResultGetTypeID()
return toAPI(InjectedBundleHitTestResult::APIType);
}
-WKBundleNodeHandleRef WKBundleHitTestResultGetNodeHandle(WKBundleHitTestResultRef hitTestResultRef)
+WKBundleNodeHandleRef WKBundleHitTestResultCopyNodeHandle(WKBundleHitTestResultRef hitTestResultRef)
{
RefPtr<InjectedBundleNodeHandle> nodeHandle = toImpl(hitTestResultRef)->nodeHandle();
- return toAPI(nodeHandle.get());
+ return toAPI(nodeHandle.release().leakRef());
}
WKBundleFrameRef WKBundleHitTestResultGetFrame(WKBundleHitTestResultRef hitTestResultRef)
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h
index 19a6582..b288e0b 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h
+++ b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h
@@ -35,7 +35,7 @@ extern "C" {
WK_EXPORT WKTypeID WKBundleHitTestResultGetTypeID();
-WK_EXPORT WKBundleNodeHandleRef WKBundleHitTestResultGetNodeHandle(WKBundleHitTestResultRef hitTestResult);
+WK_EXPORT WKBundleNodeHandleRef WKBundleHitTestResultCopyNodeHandle(WKBundleHitTestResultRef hitTestResult);
WK_EXPORT WKBundleFrameRef WKBundleHitTestResultGetFrame(WKBundleHitTestResultRef hitTestResult);
WK_EXPORT WKBundleFrameRef WKBundleHitTestResultGetTargetFrame(WKBundleHitTestResultRef hitTestResult);
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp
index 9b0eaf1..0e91d8e 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp
+++ b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp
@@ -45,6 +45,12 @@ WKBundleNodeHandleRef WKBundleNodeHandleCreate(JSContextRef contextRef, JSObject
return toAPI(nodeHandle.release().releaseRef());
}
+WKBundleNodeHandleRef WKBundleNodeHandleCopyDocument(WKBundleNodeHandleRef nodeHandleRef)
+{
+ RefPtr<InjectedBundleNodeHandle> nodeHandle = toImpl(nodeHandleRef)->document();
+ return toAPI(nodeHandle.release().releaseRef());
+}
+
WKRect WKBundleNodeHandleGetElementBounds(WKBundleNodeHandleRef nodeHandleRef)
{
return toAPI(toImpl(nodeHandleRef)->elementBounds());
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h
index 8953ff8..aaa95e6 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h
+++ b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h
@@ -36,6 +36,9 @@ extern "C" {
WK_EXPORT WKBundleNodeHandleRef WKBundleNodeHandleCreate(JSContextRef context, JSObjectRef object);
+/* Convenience Operations */
+WK_EXPORT WKBundleNodeHandleRef WKBundleNodeHandleCopyDocument(WKBundleNodeHandleRef nodeHandle);
+
/* Additional DOM Operations */
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp
index a1a4da3..58052c5 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp
+++ b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp
@@ -212,3 +212,8 @@ WKBundleInspectorRef WKBundlePageGetInspector(WKBundlePageRef pageRef)
return toAPI(toImpl(pageRef)->inspector());
}
#endif
+
+void WKBundlePageForceRepaint(WKBundlePageRef page)
+{
+ toImpl(page)->forceRepaintWithoutCallback();
+}
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h
index 944a5b6..4be67d5 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h
+++ b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h
@@ -114,17 +114,25 @@ struct WKBundlePageLoaderClient {
};
typedef struct WKBundlePageLoaderClient WKBundlePageLoaderClient;
+enum {
+ WKBundlePagePolicyActionPassThrough,
+ WKBundlePagePolicyActionUse
+};
+typedef uint32_t WKBundlePagePolicyAction;
+
// Policy Client
-typedef void (*WKBundlePageDecidePolicyForNavigationActionCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKBundleNavigationActionRef navigationAction, WKURLRequestRef request, WKTypeRef* userData, const void* clientInfo);
-typedef void (*WKBundlePageDecidePolicyForNewWindowActionCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKBundleNavigationActionRef navigationAction, WKURLRequestRef request, WKStringRef frameName, WKTypeRef* userData, const void* clientInfo);
-typedef void (*WKBundlePageDecidePolicyForMIMETypeCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKStringRef MIMEType, WKURLRequestRef request, WKTypeRef* userData, const void* clientInfo);
+typedef WKBundlePagePolicyAction (*WKBundlePageDecidePolicyForNavigationActionCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKBundleNavigationActionRef navigationAction, WKURLRequestRef request, WKTypeRef* userData, const void* clientInfo);
+typedef WKBundlePagePolicyAction (*WKBundlePageDecidePolicyForNewWindowActionCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKBundleNavigationActionRef navigationAction, WKURLRequestRef request, WKStringRef frameName, WKTypeRef* userData, const void* clientInfo);
+typedef WKBundlePagePolicyAction (*WKBundlePageDecidePolicyForResponseCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKURLResponseRef response, WKURLRequestRef request, WKTypeRef* userData, const void* clientInfo);
+typedef void (*WKBundlePageUnableToImplementPolicyCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKErrorRef error, WKTypeRef* userData, const void* clientInfo);
struct WKBundlePagePolicyClient {
int version;
const void * clientInfo;
WKBundlePageDecidePolicyForNavigationActionCallback decidePolicyForNavigationAction;
WKBundlePageDecidePolicyForNewWindowActionCallback decidePolicyForNewWindowAction;
- WKBundlePageDecidePolicyForMIMETypeCallback decidePolicyForMIMEType;
+ WKBundlePageDecidePolicyForResponseCallback decidePolicyForResponse;
+ WKBundlePageUnableToImplementPolicyCallback unableToImplementPolicy;
};
typedef struct WKBundlePagePolicyClient WKBundlePagePolicyClient;
@@ -140,7 +148,10 @@ struct WKBundlePageResourceLoadClient {
int version;
const void * clientInfo;
WKBundlePageDidInitiateLoadForResourceCallback didInitiateLoadForResource;
+
+ // willSendRequestForFrame is supposed to return a retained reference to the URL request.
WKBundlePageWillSendRequestForFrameCallback willSendRequestForFrame;
+
WKBundlePageDidReceiveResponseForResourceCallback didReceiveResponseForResource;
WKBundlePageDidReceiveContentLengthForResourceCallback didReceiveContentLengthForResource;
WKBundlePageDidFinishLoadForResourceCallback didFinishLoadForResource;
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h
index 4bc8fed..b9dce68 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h
+++ b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h
@@ -45,6 +45,8 @@ WK_EXPORT void WKBundlePageSetTextZoomFactor(WKBundlePageRef page, double zoomFa
WK_EXPORT double WKBundlePageGetPageZoomFactor(WKBundlePageRef page);
WK_EXPORT void WKBundlePageSetPageZoomFactor(WKBundlePageRef page, double zoomFactor);
+WK_EXPORT void WKBundlePageForceRepaint(WKBundlePageRef page);
+
#ifdef __cplusplus
}
#endif
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp b/Source/WebKit2/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp
index 43cf1ef..858941e 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp
+++ b/Source/WebKit2/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp
@@ -95,6 +95,11 @@ Node* InjectedBundleNodeHandle::coreNode() const
return m_node.get();
}
+PassRefPtr<InjectedBundleNodeHandle> InjectedBundleNodeHandle::document()
+{
+ return getOrCreate(m_node->document());
+}
+
// Additional DOM Operations
// Note: These should only be operations that are not exposed to JavaScript.
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h b/Source/WebKit2/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h
index a02f7f2..0dcebf6 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h
+++ b/Source/WebKit2/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h
@@ -53,6 +53,9 @@ public:
WebCore::Node* coreNode() const;
+ // Convenience DOM Operations
+ PassRefPtr<InjectedBundleNodeHandle> document();
+
// Additional DOM Operations
// Note: These should only be operations that are not exposed to JavaScript.
WebCore::IntRect elementBounds() const;
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp b/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp
index c55e729..b90cf1f 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp
+++ b/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp
@@ -27,45 +27,60 @@
#include "InjectedBundlePagePolicyClient.h"
#include "WKBundleAPICast.h"
+#include "WebError.h"
#include "WebURLRequest.h"
using namespace WebCore;
namespace WebKit {
-void InjectedBundlePagePolicyClient::decidePolicyForNavigationAction(WebPage* page, WebFrame* frame, InjectedBundleNavigationAction* action, const ResourceRequest& resourceRequest, RefPtr<APIObject>& userData)
+WKBundlePagePolicyAction InjectedBundlePagePolicyClient::decidePolicyForNavigationAction(WebPage* page, WebFrame* frame, InjectedBundleNavigationAction* action, const ResourceRequest& resourceRequest, RefPtr<APIObject>& userData)
{
if (!m_client.decidePolicyForNavigationAction)
- return;
+ return WKBundlePagePolicyActionPassThrough;
RefPtr<WebURLRequest> request = WebURLRequest::create(resourceRequest);
WKTypeRef userDataToPass = 0;
- m_client.decidePolicyForNavigationAction(toAPI(page), toAPI(frame), toAPI(action), toAPI(request.get()), &userDataToPass, m_client.clientInfo);
+ WKBundlePagePolicyAction policy = m_client.decidePolicyForNavigationAction(toAPI(page), toAPI(frame), toAPI(action), toAPI(request.get()), &userDataToPass, m_client.clientInfo);
userData = adoptRef(toImpl(userDataToPass));
+ return policy;
}
-void InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction(WebPage* page, WebFrame* frame, InjectedBundleNavigationAction* action, const ResourceRequest& resourceRequest, const String& frameName, RefPtr<APIObject>& userData)
+WKBundlePagePolicyAction InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction(WebPage* page, WebFrame* frame, InjectedBundleNavigationAction* action, const ResourceRequest& resourceRequest, const String& frameName, RefPtr<APIObject>& userData)
{
if (!m_client.decidePolicyForNewWindowAction)
- return;
+ return WKBundlePagePolicyActionPassThrough;
RefPtr<WebURLRequest> request = WebURLRequest::create(resourceRequest);
WKTypeRef userDataToPass = 0;
- m_client.decidePolicyForNewWindowAction(toAPI(page), toAPI(frame), toAPI(action), toAPI(request.get()), toAPI(frameName.impl()), &userDataToPass, m_client.clientInfo);
+ WKBundlePagePolicyAction policy = m_client.decidePolicyForNewWindowAction(toAPI(page), toAPI(frame), toAPI(action), toAPI(request.get()), toAPI(frameName.impl()), &userDataToPass, m_client.clientInfo);
userData = adoptRef(toImpl(userDataToPass));
+ return policy;
}
-void InjectedBundlePagePolicyClient::decidePolicyForMIMEType(WebPage* page, WebFrame* frame, const String& MIMEType, const ResourceRequest& resourceRequest, RefPtr<APIObject>& userData)
+WKBundlePagePolicyAction InjectedBundlePagePolicyClient::decidePolicyForResponse(WebPage* page, WebFrame* frame, const ResourceResponse& resourceResponse, const ResourceRequest& resourceRequest, RefPtr<APIObject>& userData)
{
- if (!m_client.decidePolicyForMIMEType)
- return;
+ if (!m_client.decidePolicyForResponse)
+ return WKBundlePagePolicyActionPassThrough;
+ RefPtr<WebURLResponse> response = WebURLResponse::create(resourceResponse);
RefPtr<WebURLRequest> request = WebURLRequest::create(resourceRequest);
WKTypeRef userDataToPass = 0;
- m_client.decidePolicyForMIMEType(toAPI(page), toAPI(frame), toAPI(MIMEType.impl()), toAPI(request.get()), &userDataToPass, m_client.clientInfo);
+ WKBundlePagePolicyAction policy = m_client.decidePolicyForResponse(toAPI(page), toAPI(frame), toAPI(response.get()), toAPI(request.get()), &userDataToPass, m_client.clientInfo);
+ userData = adoptRef(toImpl(userDataToPass));
+ return policy;
+}
+
+void InjectedBundlePagePolicyClient::unableToImplementPolicy(WebPage* page, WebFrame* frame, const WebCore::ResourceError& error, RefPtr<APIObject>& userData)
+{
+ if (!m_client.unableToImplementPolicy)
+ return;
+
+ WKTypeRef userDataToPass = 0;
+ m_client.unableToImplementPolicy(toAPI(page), toAPI(frame), toAPI(error), &userDataToPass, m_client.clientInfo);
userData = adoptRef(toImpl(userDataToPass));
}
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h b/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h
index 2145ac4..fd02196 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h
+++ b/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h
@@ -32,7 +32,9 @@
#include <wtf/Forward.h>
namespace WebCore {
+ class ResourceError;
class ResourceRequest;
+ class ResourceResponse;
}
namespace WebKit {
@@ -43,9 +45,10 @@ class WebPage;
class InjectedBundlePagePolicyClient : public APIClient<WKBundlePagePolicyClient> {
public:
- void decidePolicyForNavigationAction(WebPage*, WebFrame*, InjectedBundleNavigationAction*, const WebCore::ResourceRequest&, RefPtr<APIObject>& userData);
- void decidePolicyForNewWindowAction(WebPage*, WebFrame*, InjectedBundleNavigationAction*, const WebCore::ResourceRequest&, const String& frameName, RefPtr<APIObject>& userData);
- void decidePolicyForMIMEType(WebPage*, WebFrame*, const String& MIMEType, const WebCore::ResourceRequest&, RefPtr<APIObject>& userData);
+ WKBundlePagePolicyAction decidePolicyForNavigationAction(WebPage*, WebFrame*, InjectedBundleNavigationAction*, const WebCore::ResourceRequest&, RefPtr<APIObject>& userData);
+ WKBundlePagePolicyAction decidePolicyForNewWindowAction(WebPage*, WebFrame*, InjectedBundleNavigationAction*, const WebCore::ResourceRequest&, const String& frameName, RefPtr<APIObject>& userData);
+ WKBundlePagePolicyAction decidePolicyForResponse(WebPage*, WebFrame*, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, RefPtr<APIObject>& userData);
+ void unableToImplementPolicy(WebPage*, WebFrame*, const WebCore::ResourceError&, RefPtr<APIObject>& userData);
};
} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp b/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp
index c2866a8..49dcac6 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp
+++ b/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp
@@ -46,7 +46,7 @@ void InjectedBundlePageResourceLoadClient::willSendRequestForFrame(WebPage* page
if (!m_client.willSendRequestForFrame)
return;
- RefPtr<WebURLRequest> returnedRequest = toImpl(m_client.willSendRequestForFrame(toAPI(page), toAPI(frame), identifier, toAPI(request), toAPI(redirectResponse), m_client.clientInfo));
+ RefPtr<WebURLRequest> returnedRequest = adoptRef(toImpl(m_client.willSendRequestForFrame(toAPI(page), toAPI(frame), identifier, toAPI(request), toAPI(redirectResponse), m_client.clientInfo)));
if (returnedRequest)
request = returnedRequest->resourceRequest();
else
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp b/Source/WebKit2/WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp
index c75e433..bbf24e4 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp
+++ b/Source/WebKit2/WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp
@@ -27,9 +27,9 @@
#include "config.h"
#include "InjectedBundle.h"
-#include "NotImplemented.h"
#include "WKBundleAPICast.h"
#include "WKBundleInitialize.h"
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
diff --git a/Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp b/Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp
new file mode 100644
index 0000000..5ee1419
--- /dev/null
+++ b/Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp
@@ -0,0 +1,94 @@
+/*
+ * 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 "WebKeyValueStorageManager.h"
+
+#include "MessageID.h"
+#include "SecurityOriginData.h"
+#include "WebKeyValueStorageManagerProxyMessages.h"
+#include "WebProcess.h"
+
+#include <WebCore/NotImplemented.h>
+#include <WebCore/SecurityOrigin.h>
+#include <WebCore/SecurityOriginHash.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebKeyValueStorageManager& WebKeyValueStorageManager::shared()
+{
+ static WebKeyValueStorageManager& shared = *new WebKeyValueStorageManager;
+ return shared;
+}
+
+WebKeyValueStorageManager::WebKeyValueStorageManager()
+{
+}
+
+void WebKeyValueStorageManager::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
+{
+ didReceiveWebKeyValueStorageManagerMessage(connection, messageID, arguments);
+}
+
+void WebKeyValueStorageManager::getKeyValueStorageOrigins(uint64_t callbackID)
+{
+ HashSet<RefPtr<SecurityOrigin>, SecurityOriginHash> origins;
+
+ // FIXME: <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172 - Actually get the origins from WebCore once https://bugs.webkit.org/show_bug.cgi?id=51878 is resolved.
+
+ Vector<SecurityOriginData> identifiers;
+ identifiers.reserveCapacity(origins.size());
+
+ HashSet<RefPtr<SecurityOrigin>, SecurityOriginHash>::iterator end = origins.end();
+ HashSet<RefPtr<SecurityOrigin>, SecurityOriginHash>::iterator i = origins.begin();
+ for (; i != end; ++i) {
+ RefPtr<SecurityOrigin> origin = *i;
+
+ SecurityOriginData originData;
+ originData.protocol = origin->protocol();
+ originData.host = origin->host();
+ originData.port = origin->port();
+
+ identifiers.uncheckedAppend(originData);
+ }
+
+ WebProcess::shared().connection()->send(Messages::WebKeyValueStorageManagerProxy::DidGetKeyValueStorageOrigins(identifiers, callbackID), 0);
+}
+
+void WebKeyValueStorageManager::deleteEntriesForOrigin(const SecurityOriginData& originData)
+{
+ // FIXME: <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172 - Implement once https://bugs.webkit.org/show_bug.cgi?id=51878 is resolved.
+ notImplemented();
+}
+
+void WebKeyValueStorageManager::deleteAllEntries()
+{
+ // FIXME: <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172 - Implement once https://bugs.webkit.org/show_bug.cgi?id=51878 is resolved.
+ notImplemented();
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.h b/Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.h
new file mode 100644
index 0000000..d86a8be
--- /dev/null
+++ b/Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.h
@@ -0,0 +1,62 @@
+/*
+ * 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 WebKeyValueStorageManager_h
+#define WebKeyValueStorageManager_h
+
+#include <wtf/Noncopyable.h>
+#include <wtf/text/WTFString.h>
+
+namespace CoreIPC {
+ class ArgumentDecoder;
+ class Connection;
+ class MessageID;
+}
+
+namespace WebKit {
+
+struct SecurityOriginData;
+
+class WebKeyValueStorageManager {
+ WTF_MAKE_NONCOPYABLE(WebKeyValueStorageManager);
+
+public:
+ static WebKeyValueStorageManager& shared();
+
+ void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+
+private:
+ WebKeyValueStorageManager();
+
+ void getKeyValueStorageOrigins(uint64_t callbackID);
+ void deleteEntriesForOrigin(const SecurityOriginData&);
+ void deleteAllEntries();
+
+ void didReceiveWebKeyValueStorageManagerMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+};
+
+} // namespace WebKit
+
+#endif // WebKeyValueStorageManager_h
diff --git a/Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in b/Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in
new file mode 100644
index 0000000..2f0d648
--- /dev/null
+++ b/Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in
@@ -0,0 +1,27 @@
+# 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.
+
+messages -> WebKeyValueStorageManager {
+ void GetKeyValueStorageOrigins(uint64_t callbackID)
+ void DeleteEntriesForOrigin(WebKit::SecurityOriginData originIdentifier)
+ void DeleteAllEntries()
+}
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp
index edd2b44..fc73519 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp
@@ -27,24 +27,25 @@
#include "JSNPMethod.h"
#include "JSNPObject.h"
-#include "NotImplemented.h"
#include <JavaScriptCore/Error.h>
#include <JavaScriptCore/FunctionPrototype.h>
#include <JavaScriptCore/JSGlobalObject.h>
#include <WebCore/JSHTMLElement.h>
#include <WebCore/JSPluginElementFunctions.h>
+#include <WebCore/NotImplemented.h>
using namespace JSC;
using namespace WebCore;
namespace WebKit {
-const ClassInfo JSNPMethod::s_info = { "NPMethod", &InternalFunction::info, 0, 0 };
+const ClassInfo JSNPMethod::s_info = { "NPMethod", &InternalFunction::s_info, 0, 0 };
JSNPMethod::JSNPMethod(ExecState* exec, JSGlobalObject* globalObject, const Identifier& name, NPIdentifier npIdentifier)
: InternalFunction(&exec->globalData(), globalObject, createStructure(globalObject->functionPrototype()), name)
, m_npIdentifier(npIdentifier)
{
+ ASSERT(inherits(&s_info));
}
static EncodedJSValue JSC_HOST_CALL callMethod(ExecState* exec)
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h b/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h
index 9a8578c..a913a99 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h
@@ -44,11 +44,10 @@ public:
private:
static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
{
- return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount);
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);
}
virtual JSC::CallType getCallData(JSC::CallData&);
- virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
NPIdentifier m_npIdentifier;
};
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp
index f6939cb..2724f0d 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp
@@ -47,13 +47,15 @@ static NPIdentifier npIdentifierFromIdentifier(const Identifier& identifier)
return static_cast<NPIdentifier>(IdentifierRep::get(identifier.ustring().utf8().data()));
}
-const ClassInfo JSNPObject::s_info = { "NPObject", 0, 0, 0 };
+const ClassInfo JSNPObject::s_info = { "NPObject", &JSObjectWithGlobalObject::s_info, 0, 0 };
JSNPObject::JSNPObject(JSGlobalObject* globalObject, NPRuntimeObjectMap* objectMap, NPObject* npObject)
: JSObjectWithGlobalObject(globalObject, createStructure(globalObject->objectPrototype()))
, m_objectMap(objectMap)
, m_npObject(npObject)
{
+ ASSERT(inherits(&s_info));
+
// We should never have an NPJSObject inside a JSNPObject.
ASSERT(!NPJSObject::isNPJSObject(m_npObject));
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h b/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h
index af1369a..adaffa7 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h
@@ -53,11 +53,11 @@ public:
NPObject* npObject() const { return m_npObject; }
private:
- static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSObject::StructureFlags;
+ static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::OverridesGetPropertyNames | JSObject::StructureFlags;
static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
{
- return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount);
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);
}
virtual JSC::CallType getCallData(JSC::CallData&);
@@ -73,8 +73,6 @@ private:
static JSC::JSValue methodGetter(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
static JSC::JSObject* throwInvalidAccessError(JSC::ExecState*);
- virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
-
NPRuntimeObjectMap* m_objectMap;
NPObject* m_npObject;
};
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.cpp
index 345bd54..4c687f4 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.cpp
@@ -29,12 +29,12 @@
#include "JSNPObject.h"
#include "NPRuntimeObjectMap.h"
#include "NPRuntimeUtilities.h"
-#include "NotImplemented.h"
#include "PluginView.h"
#include <JavaScriptCore/JSLock.h>
#include <JavaScriptCore/JSObject.h>
#include <WebCore/Frame.h>
#include <WebCore/IdentifierRep.h>
+#include <WebCore/NotImplemented.h>
#include <wtf/text/WTFString.h>
using namespace JSC;
@@ -42,19 +42,20 @@ using namespace WebCore;
namespace WebKit {
-NPJSObject* NPJSObject::create(NPRuntimeObjectMap* objectMap, JSObject* jsObject)
+NPJSObject* NPJSObject::create(JSGlobalData& globalData, NPRuntimeObjectMap* objectMap, JSObject* jsObject)
{
// We should never have a JSNPObject inside an NPJSObject.
ASSERT(!jsObject->inherits(&JSNPObject::s_info));
NPJSObject* npJSObject = toNPJSObject(createNPObject(0, npClass()));
- npJSObject->initialize(objectMap, jsObject);
+ npJSObject->initialize(globalData, objectMap, jsObject);
return npJSObject;
}
NPJSObject::NPJSObject()
: m_objectMap(0)
+ , m_jsObject(Global<JSObject>::EmptyValue)
{
}
@@ -68,13 +69,13 @@ bool NPJSObject::isNPJSObject(NPObject* npObject)
return npObject->_class == npClass();
}
-void NPJSObject::initialize(NPRuntimeObjectMap* objectMap, JSObject* jsObject)
+void NPJSObject::initialize(JSGlobalData& globalData, NPRuntimeObjectMap* objectMap, JSObject* jsObject)
{
ASSERT(!m_objectMap);
ASSERT(!m_jsObject);
m_objectMap = objectMap;
- m_jsObject = jsObject;
+ m_jsObject.set(globalData, jsObject);
}
static Identifier identifierFromIdentifierRep(ExecState* exec, IdentifierRep* identifierRep)
@@ -132,7 +133,7 @@ bool NPJSObject::invokeDefault(const NPVariant* arguments, uint32_t argumentCoun
JSLock lock(SilenceAssertionsOnly);
- JSValue function = m_jsObject;
+ JSValue function = m_jsObject.get();
return invoke(exec, m_objectMap->globalObject(), function, arguments, argumentCount, result);
}
@@ -259,7 +260,7 @@ bool NPJSObject::construct(const NPVariant* arguments, uint32_t argumentCount, N
JSLock lock(SilenceAssertionsOnly);
ConstructData constructData;
- ConstructType constructType = getConstructData(m_jsObject, constructData);
+ ConstructType constructType = getConstructData(m_jsObject.get(), constructData);
if (constructType == ConstructTypeNone)
return false;
@@ -269,7 +270,7 @@ bool NPJSObject::construct(const NPVariant* arguments, uint32_t argumentCount, N
argumentList.append(m_objectMap->convertNPVariantToJSValue(exec, m_objectMap->globalObject(), arguments[i]));
exec->globalData().timeoutChecker.start();
- JSValue value = JSC::construct(exec, m_jsObject, constructType, constructData, argumentList);
+ JSValue value = JSC::construct(exec, m_jsObject.get(), constructType, constructData, argumentList);
exec->globalData().timeoutChecker.stop();
// Convert and return the new object.
@@ -292,7 +293,7 @@ bool NPJSObject::invoke(ExecState* exec, JSGlobalObject* globalObject, JSValue f
argumentList.append(m_objectMap->convertNPVariantToJSValue(exec, globalObject, arguments[i]));
exec->globalData().timeoutChecker.start();
- JSValue value = JSC::call(exec, function, callType, callData, m_jsObject, argumentList);
+ JSValue value = JSC::call(exec, function, callType, callData, m_jsObject.get(), argumentList);
exec->globalData().timeoutChecker.stop();
// Convert and return the result of the function call.
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.h b/Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.h
index 3518221..796f1c3 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.h
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.h
@@ -26,13 +26,16 @@
#ifndef NPJSObject_h
#define NPJSObject_h
-#include <JavaScriptCore/Protect.h>
+#include <JavaScriptCore/Global.h>
#include <WebCore/npruntime_internal.h>
#include <wtf/Noncopyable.h>
namespace JSC {
- class JSGlobalObject;
- class JSObject;
+
+class JSGlobalData;
+class JSGlobalObject;
+class JSObject;
+
}
namespace WebKit {
@@ -43,7 +46,7 @@ class NPRuntimeObjectMap;
class NPJSObject : public NPObject {
WTF_MAKE_NONCOPYABLE(NPJSObject);
public:
- static NPJSObject* create(NPRuntimeObjectMap* objectMap, JSC::JSObject* jsObject);
+ static NPJSObject* create(JSC::JSGlobalData&, NPRuntimeObjectMap*, JSC::JSObject*);
JSC::JSObject* jsObject() const { return m_jsObject.get(); }
@@ -59,7 +62,7 @@ private:
NPJSObject();
~NPJSObject();
- void initialize(NPRuntimeObjectMap*, JSC::JSObject* jsObject);
+ void initialize(JSC::JSGlobalData&, NPRuntimeObjectMap*, JSC::JSObject*);
bool hasMethod(NPIdentifier methodName);
bool invoke(NPIdentifier methodName, const NPVariant* arguments, uint32_t argumentCount, NPVariant* result);
@@ -87,7 +90,7 @@ private:
static bool NP_Construct(NPObject*, const NPVariant* arguments, uint32_t argumentCount, NPVariant* result);
NPRuntimeObjectMap* m_objectMap;
- JSC::ProtectedPtr<JSC::JSObject> m_jsObject;
+ JSC::Global<JSC::JSObject> m_jsObject;
};
} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp
index 0a96ad7..f6c0057 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp
@@ -29,12 +29,12 @@
#include "JSNPObject.h"
#include "NPJSObject.h"
#include "NPRuntimeUtilities.h"
-#include "NotImplemented.h"
#include "PluginView.h"
#include <JavaScriptCore/Error.h>
#include <JavaScriptCore/JSLock.h>
#include <JavaScriptCore/SourceCode.h>
#include <WebCore/Frame.h>
+#include <WebCore/NotImplemented.h>
using namespace JSC;
using namespace WebCore;
@@ -58,7 +58,7 @@ NPRuntimeObjectMap::PluginProtector::~PluginProtector()
{
}
-NPObject* NPRuntimeObjectMap::getOrCreateNPObject(JSObject* jsObject)
+NPObject* NPRuntimeObjectMap::getOrCreateNPObject(JSGlobalData& globalData, JSObject* jsObject)
{
// If this is a JSNPObject, we can just get its underlying NPObject.
if (jsObject->classInfo() == &JSNPObject::s_info) {
@@ -75,7 +75,7 @@ NPObject* NPRuntimeObjectMap::getOrCreateNPObject(JSObject* jsObject)
return npJSObject;
}
- NPJSObject* npJSObject = NPJSObject::create(this, jsObject);
+ NPJSObject* npJSObject = NPJSObject::create(globalData, this, jsObject);
m_npJSObjects.set(jsObject, npJSObject);
return npJSObject;
@@ -172,7 +172,7 @@ void NPRuntimeObjectMap::convertJSValueToNPVariant(ExecState* exec, JSValue valu
}
if (value.isObject()) {
- NPObject* npObject = getOrCreateNPObject(asObject(value));
+ NPObject* npObject = getOrCreateNPObject(exec->globalData(), asObject(value));
OBJECT_TO_NPVARIANT(npObject, variant);
return;
}
@@ -182,14 +182,14 @@ void NPRuntimeObjectMap::convertJSValueToNPVariant(ExecState* exec, JSValue valu
bool NPRuntimeObjectMap::evaluate(NPObject* npObject, const String&scriptString, NPVariant* result)
{
- ProtectedPtr<JSGlobalObject> globalObject = this->globalObject();
+ Global<JSGlobalObject> globalObject(this->globalObject()->globalData(), this->globalObject());
if (!globalObject)
return false;
ExecState* exec = globalObject->globalExec();
JSLock lock(SilenceAssertionsOnly);
- JSValue thisValue = getOrCreateJSObject(globalObject, npObject);
+ JSValue thisValue = getOrCreateJSObject(globalObject.get(), npObject);
globalObject->globalData().timeoutChecker.start();
Completion completion = JSC::evaluate(exec, globalObject->globalScopeChain(), makeSource(UString(scriptString.impl())), thisValue);
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h b/Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h
index a11c354..d13e1fe 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h
@@ -34,6 +34,7 @@ typedef struct _NPVariant NPVariant;
namespace JSC {
class ExecState;
+ class JSGlobalData;
class JSGlobalObject;
class JSObject;
class JSValue;
@@ -61,7 +62,7 @@ public:
// Returns an NPObject that wraps the given JSObject object. If there is already an NPObject that wraps this JSObject, it will
// retain it and return it.
- NPObject* getOrCreateNPObject(JSC::JSObject*);
+ NPObject* getOrCreateNPObject(JSC::JSGlobalData&, JSC::JSObject*);
void npJSObjectDestroyed(NPJSObject*);
// Returns a JSObject object that wraps the given NPObject.
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp
index 5f8ee5c..679de6f 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp
@@ -28,9 +28,10 @@
#include "NPRuntimeUtilities.h"
#include "NetscapePlugin.h"
-#include "NotImplemented.h"
+#include "PluginController.h"
#include <WebCore/HTTPHeaderMap.h>
#include <WebCore/IdentifierRep.h>
+#include <WebCore/NotImplemented.h>
#include <WebCore/SharedBuffer.h>
#include <utility>
@@ -39,6 +40,18 @@ using namespace std;
namespace WebKit {
+// Helper class for delaying destruction of a plug-in.
+class PluginDestructionProtector {
+public:
+ explicit PluginDestructionProtector(NetscapePlugin* plugin)
+ : m_protector(static_cast<Plugin*>(plugin)->controller())
+ {
+ }
+
+private:
+ PluginController::PluginDestructionProtector m_protector;
+};
+
static bool startsWithBlankLine(const char* bytes, unsigned length)
{
return length > 0 && bytes[0] == '\n';
@@ -401,13 +414,18 @@ static NPError NPN_GetValue(NPP npp, NPNVariable variable, void *value)
switch (variable) {
case NPNVWindowNPObject: {
RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
+ PluginDestructionProtector protector(plugin.get());
NPObject* windowNPObject = plugin->windowScriptNPObject();
+ if (!windowNPObject)
+ return NPERR_GENERIC_ERROR;
+
*(NPObject**)value = windowNPObject;
break;
}
case NPNVPluginElementNPObject: {
RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
+ PluginDestructionProtector protector(plugin.get());
NPObject* pluginElementNPObject = plugin->pluginElementNPObject();
*(NPObject**)value = pluginElementNPObject;
@@ -465,6 +483,18 @@ static NPError NPN_GetValue(NPP npp, NPNVariable variable, void *value)
case NPNVSupportsWindowless:
*(NPBool*)value = true;
break;
+#elif PLUGIN_ARCHITECTURE(X11)
+ case NPNVToolkit: {
+ const uint32_t expectedGTKToolKitVersion = 2;
+
+ RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
+ if (plugin->quirks().contains(PluginQuirks::RequiresGTKToolKit)) {
+ *reinterpret_cast<uint32_t*>(value) = expectedGTKToolKitVersion;
+ break;
+ }
+
+ return NPERR_GENERIC_ERROR;
+ }
#endif
default:
notImplemented();
@@ -605,45 +635,62 @@ static bool NPN_InvokeDefault(NPP, NPObject *npObject, const NPVariant* argument
static bool NPN_Evaluate(NPP npp, NPObject *npObject, NPString *script, NPVariant* result)
{
RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
+ PluginDestructionProtector protector(plugin.get());
+
String scriptString = String::fromUTF8WithLatin1Fallback(script->UTF8Characters, script->UTF8Length);
return plugin->evaluate(npObject, scriptString, result);
}
-static bool NPN_GetProperty(NPP, NPObject* npObject, NPIdentifier propertyName, NPVariant* result)
+static bool NPN_GetProperty(NPP npp, NPObject* npObject, NPIdentifier propertyName, NPVariant* result)
{
+ RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
+ PluginDestructionProtector protector(plugin.get());
+
if (npObject->_class->getProperty)
return npObject->_class->getProperty(npObject, propertyName, result);
return false;
}
-static bool NPN_SetProperty(NPP, NPObject* npObject, NPIdentifier propertyName, const NPVariant* value)
+static bool NPN_SetProperty(NPP npp, NPObject* npObject, NPIdentifier propertyName, const NPVariant* value)
{
+ RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
+ PluginDestructionProtector protector(plugin.get());
+
if (npObject->_class->setProperty)
return npObject->_class->setProperty(npObject, propertyName, value);
return false;
}
-static bool NPN_RemoveProperty(NPP, NPObject* npObject, NPIdentifier propertyName)
+static bool NPN_RemoveProperty(NPP npp, NPObject* npObject, NPIdentifier propertyName)
{
+ RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
+ PluginDestructionProtector protector(plugin.get());
+
if (npObject->_class->removeProperty)
return npObject->_class->removeProperty(npObject, propertyName);
return false;
}
-static bool NPN_HasProperty(NPP, NPObject* npObject, NPIdentifier propertyName)
+static bool NPN_HasProperty(NPP npp, NPObject* npObject, NPIdentifier propertyName)
{
+ RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
+ PluginDestructionProtector protector(plugin.get());
+
if (npObject->_class->hasProperty)
return npObject->_class->hasProperty(npObject, propertyName);
return false;
}
-static bool NPN_HasMethod(NPP, NPObject* npObject, NPIdentifier methodName)
+static bool NPN_HasMethod(NPP npp, NPObject* npObject, NPIdentifier methodName)
{
+ RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
+ PluginDestructionProtector protector(plugin.get());
+
if (npObject->_class->hasMethod)
return npObject->_class->hasMethod(npObject, methodName);
@@ -672,8 +719,11 @@ static void NPN_PopPopupsEnabledState(NPP npp)
plugin->popPopupsEnabledState();
}
-static bool NPN_Enumerate(NPP, NPObject* npObject, NPIdentifier** identifiers, uint32_t* identifierCount)
+static bool NPN_Enumerate(NPP npp, NPObject* npObject, NPIdentifier** identifiers, uint32_t* identifierCount)
{
+ RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
+ PluginDestructionProtector protector(plugin.get());
+
if (NP_CLASS_STRUCT_VERSION_HAS_ENUM(npObject->_class) && npObject->_class->enumerate)
return npObject->_class->enumerate(npObject, identifiers, identifierCount);
@@ -685,8 +735,11 @@ static void NPN_PluginThreadAsyncCall(NPP instance, void (*func) (void*), void*
notImplemented();
}
-static bool NPN_Construct(NPP, NPObject* npObject, const NPVariant* arguments, uint32_t argumentCount, NPVariant* result)
+static bool NPN_Construct(NPP npp, NPObject* npObject, const NPVariant* arguments, uint32_t argumentCount, NPVariant* result)
{
+ RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
+ PluginDestructionProtector protector(plugin.get());
+
if (NP_CLASS_STRUCT_VERSION_HAS_CTOR(npObject->_class) && npObject->_class->construct)
return npObject->_class->construct(npObject, arguments, argumentCount, result);
@@ -716,7 +769,8 @@ static NPError NPN_GetValueForURL(NPP npp, NPNURLVariable variable, const char*
switch (variable) {
case NPNURLVCookie: {
RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
-
+ PluginDestructionProtector protector(plugin.get());
+
String cookies = plugin->cookiesForURL(makeURLString(url));
if (cookies.isNull())
return NPERR_GENERIC_ERROR;
@@ -726,7 +780,8 @@ static NPError NPN_GetValueForURL(NPP npp, NPNURLVariable variable, const char*
case NPNURLVProxy: {
RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
-
+ PluginDestructionProtector protector(plugin.get());
+
String proxies = plugin->proxiesForURL(makeURLString(url));
if (proxies.isNull())
return NPERR_GENERIC_ERROR;
@@ -744,7 +799,8 @@ static NPError NPN_SetValueForURL(NPP npp, NPNURLVariable variable, const char*
switch (variable) {
case NPNURLVCookie: {
RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
-
+ PluginDestructionProtector protector(plugin.get());
+
plugin->setCookiesForURL(makeURLString(url), String(value, len));
return NPERR_NO_ERROR;
}
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp
index e746d5a..7e9b059 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp
@@ -29,6 +29,7 @@
#include "NPRuntimeObjectMap.h"
#include "NetscapePluginStream.h"
#include "PluginController.h"
+#include "ShareableBitmap.h"
#include <WebCore/GraphicsContext.h>
#include <WebCore/HTTPHeaderMap.h>
#include <WebCore/IntRect.h>
@@ -479,6 +480,23 @@ void NetscapePlugin::paint(GraphicsContext* context, const IntRect& dirtyRect)
platformPaint(context, dirtyRect);
}
+PassRefPtr<ShareableBitmap> NetscapePlugin::snapshot()
+{
+ if (!supportsSnapshotting() || m_frameRect.isEmpty())
+ return 0;
+
+ ASSERT(m_isStarted);
+
+ RefPtr<ShareableBitmap> bitmap = ShareableBitmap::createShareable(m_frameRect.size());
+ OwnPtr<GraphicsContext> context = bitmap->createGraphicsContext();
+
+ context->translate(-m_frameRect.x(), -m_frameRect.y());
+
+ platformPaint(context.get(), m_frameRect, true);
+
+ return bitmap.release();
+}
+
void NetscapePlugin::geometryDidChange(const IntRect& frameRect, const IntRect& clipRect)
{
ASSERT(m_isStarted);
@@ -672,6 +690,14 @@ void NetscapePlugin::privateBrowsingStateChanged(bool privateBrowsingEnabled)
NPP_SetValue(NPNVprivateModeBool, &value);
}
+bool NetscapePlugin::supportsSnapshotting() const
+{
+#if PLATFORM(MAC)
+ return m_pluginModule && m_pluginModule->pluginQuirks().contains(PluginQuirks::SupportsSnapshotting);
+#endif
+ return false;
+}
+
PluginController* NetscapePlugin::controller()
{
return m_pluginController;
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h b/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h
index e807beb..e865d93 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h
@@ -70,6 +70,8 @@ public:
HWND containingWindow() const;
#endif
+ PluginQuirks quirks() const { return m_pluginModule->pluginQuirks(); }
+
void invalidate(const NPRect*);
static const char* userAgent(NPP);
void loadURL(const String& method, const String& urlString, const String& target, const WebCore::HTTPHeaderMap& headerFields,
@@ -126,7 +128,7 @@ private:
void platformDestroy();
bool platformInvalidate(const WebCore::IntRect&);
void platformGeometryDidChange();
- void platformPaint(WebCore::GraphicsContext*, const WebCore::IntRect& dirtyRect);
+ void platformPaint(WebCore::GraphicsContext*, const WebCore::IntRect& dirtyRect, bool isSnapshot = false);
bool platformHandleMouseEvent(const WebMouseEvent&);
bool platformHandleWheelEvent(const WebWheelEvent&);
@@ -139,6 +141,7 @@ private:
virtual bool initialize(PluginController*, const Parameters&);
virtual void destroy();
virtual void paint(WebCore::GraphicsContext*, const WebCore::IntRect& dirtyRect);
+ virtual PassRefPtr<ShareableBitmap> snapshot();
#if PLATFORM(MAC)
virtual PlatformLayer* pluginLayer();
#endif
@@ -176,6 +179,8 @@ private:
virtual void privateBrowsingStateChanged(bool);
+ bool supportsSnapshotting() const;
+
virtual PluginController* controller();
PluginController* m_pluginController;
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp
index 2b734fd..f7c9440 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp
@@ -27,7 +27,7 @@
#include "config.h"
#include "NetscapePlugin.h"
-#include "NotImplemented.h"
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
@@ -55,7 +55,7 @@ void NetscapePlugin::platformGeometryDidChange()
notImplemented();
}
-void NetscapePlugin::platformPaint(GraphicsContext* context, const IntRect& dirtyRect)
+void NetscapePlugin::platformPaint(GraphicsContext* context, const IntRect& dirtyRect, bool)
{
notImplemented();
}
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm b/Source/WebKit2/WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm
index 46671b8..2a33008 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm
@@ -373,7 +373,7 @@ static EventModifiers modifiersForEvent(const WebEvent& event)
#endif
-void NetscapePlugin::platformPaint(GraphicsContext* context, const IntRect& dirtyRect)
+void NetscapePlugin::platformPaint(GraphicsContext* context, const IntRect& dirtyRect, bool isSnapshot)
{
CGContextRef platformContext = context->platformContext();
@@ -383,7 +383,7 @@ void NetscapePlugin::platformPaint(GraphicsContext* context, const IntRect& dirt
switch (m_eventModel) {
case NPEventModelCocoa: {
// Don't send draw events when we're using the Core Animation drawing model.
- if (m_drawingModel == NPDrawingModelCoreAnimation)
+ if (!isSnapshot && m_drawingModel == NPDrawingModelCoreAnimation)
return;
NPCocoaEvent event = initializeEvent(NPCocoaEventDrawRect);
@@ -830,9 +830,8 @@ void NetscapePlugin::windowVisibilityChanged(bool)
uint64_t NetscapePlugin::pluginComplexTextInputIdentifier() const
{
- // This is never called for NetscapePlugin.
- ASSERT_NOT_REACHED();
- return 0;
+ // Just return a dummy value; this is only called for in-process plug-ins, which we don't support on Mac.
+ return static_cast<uint64_t>(reinterpret_cast<uintptr_t>(this));
}
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp
index 1ede2c3..581dcf3 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp
@@ -27,9 +27,9 @@
#include "config.h"
#include "NetscapePlugin.h"
-#include "NotImplemented.h"
#include "WebEvent.h"
#include <WebCore/GraphicsContext.h>
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
@@ -57,7 +57,7 @@ void NetscapePlugin::platformGeometryDidChange()
notImplemented();
}
-void NetscapePlugin::platformPaint(GraphicsContext* context, const IntRect& dirtyRect)
+void NetscapePlugin::platformPaint(GraphicsContext* context, const IntRect& dirtyRect, bool)
{
notImplemented();
}
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp
new file mode 100644
index 0000000..7af1784
--- /dev/null
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2011 Nokia 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 "PluginProxy.h"
+
+#if ENABLE(PLUGIN_PROCESS)
+
+#include <WebCore/NotImplemented.h>
+
+namespace WebKit {
+
+bool PluginProxy::needsBackingStore() const
+{
+ notImplemented();
+ return true;
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(PLUGIN_PROCESS)
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp
index e713f83..5fbe32c 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp
@@ -26,11 +26,11 @@
#include "config.h"
#include "NetscapePlugin.h"
-#include "NotImplemented.h"
#include "PluginController.h"
#include "WebEvent.h"
#include <WebCore/GraphicsContext.h>
#include <WebCore/LocalWindowsContext.h>
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
@@ -135,7 +135,7 @@ void NetscapePlugin::platformGeometryDidChange()
::MoveWindow(m_window, m_frameRect.x(), m_frameRect.y(), m_frameRect.width(), m_frameRect.height(), TRUE);
}
-void NetscapePlugin::platformPaint(GraphicsContext* context, const IntRect& dirtyRect)
+void NetscapePlugin::platformPaint(GraphicsContext* context, const IntRect& dirtyRect, bool)
{
// FIXME: Call SetWindow here if we haven't called it yet (see r59904).
diff --git a/Source/WebKit2/WebProcess/Plugins/Plugin.h b/Source/WebKit2/WebProcess/Plugins/Plugin.h
index 6f20159..6afeb5c 100644
--- a/Source/WebKit2/WebProcess/Plugins/Plugin.h
+++ b/Source/WebKit2/WebProcess/Plugins/Plugin.h
@@ -45,6 +45,7 @@ namespace WebCore {
namespace WebKit {
+class ShareableBitmap;
class WebKeyboardEvent;
class WebMouseEvent;
class WebWheelEvent;
@@ -76,6 +77,9 @@ public:
// dirty rect are in window coordinates. The context is saved/restored by the caller.
virtual void paint(WebCore::GraphicsContext*, const WebCore::IntRect& dirtyRect) = 0;
+ // Tells the plug-in to draw itself into a bitmap, and return that.
+ virtual PassRefPtr<ShareableBitmap> snapshot() = 0;
+
#if PLATFORM(MAC)
// If a plug-in is using the Core Animation drawing model, this returns its plug-in layer.
virtual PlatformLayer* pluginLayer() = 0;
diff --git a/Source/WebKit2/WebProcess/Plugins/PluginController.h b/Source/WebKit2/WebProcess/Plugins/PluginController.h
index 9dc8ec3..a104139 100644
--- a/Source/WebKit2/WebProcess/Plugins/PluginController.h
+++ b/Source/WebKit2/WebProcess/Plugins/PluginController.h
@@ -108,6 +108,30 @@ public:
// Returns whether private browsing is enabled.
virtual bool isPrivateBrowsingEnabled() = 0;
+ // Increments a counter that prevents the plug-in from being destroyed.
+ virtual void protectPluginFromDestruction() = 0;
+
+ // Decrements a counter that, when it reaches 0, stops preventing the plug-in from being destroyed.
+ virtual void unprotectPluginFromDestruction() = 0;
+
+ // Helper class for delaying destruction of a plug-in.
+ class PluginDestructionProtector {
+ public:
+ explicit PluginDestructionProtector(PluginController* pluginController)
+ : m_pluginController(pluginController)
+ {
+ m_pluginController->protectPluginFromDestruction();
+ }
+
+ ~PluginDestructionProtector()
+ {
+ m_pluginController->unprotectPluginFromDestruction();
+ }
+
+ private:
+ PluginController* m_pluginController;
+ };
+
protected:
virtual ~PluginController() { }
};
diff --git a/Source/WebKit2/WebProcess/Plugins/PluginProxy.cpp b/Source/WebKit2/WebProcess/Plugins/PluginProxy.cpp
index 551e458..f267d9e 100644
--- a/Source/WebKit2/WebProcess/Plugins/PluginProxy.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/PluginProxy.cpp
@@ -117,6 +117,8 @@ void PluginProxy::destroy()
m_connection->connection()->sendSync(Messages::WebProcessConnection::DestroyPlugin(m_pluginInstanceID), Messages::WebProcessConnection::DestroyPlugin::Reply(), 0);
m_isStarted = false;
+ m_pluginController = 0;
+
m_connection->removePluginProxy(this);
}
@@ -148,6 +150,16 @@ void PluginProxy::paint(GraphicsContext* graphicsContext, const IntRect& dirtyRe
}
}
+PassRefPtr<ShareableBitmap> PluginProxy::snapshot()
+{
+ IntSize bufferSize;
+ SharedMemory::Handle snapshotStoreHandle;
+ m_connection->connection()->sendSync(Messages::PluginControllerProxy::Snapshot(), Messages::PluginControllerProxy::Snapshot::Reply(bufferSize, snapshotStoreHandle), m_pluginInstanceID);
+
+ RefPtr<ShareableBitmap> snapshotBuffer = ShareableBitmap::create(bufferSize, snapshotStoreHandle);
+ return snapshotBuffer.release();
+}
+
void PluginProxy::geometryDidChange(const IntRect& frameRect, const IntRect& clipRect)
{
ASSERT(m_isStarted);
@@ -394,6 +406,8 @@ void PluginProxy::getPluginElementNPObject(uint64_t& pluginElementNPObjectID)
void PluginProxy::evaluate(const NPVariantData& npObjectAsVariantData, const String& scriptString, bool allowPopups, bool& returnValue, NPVariantData& resultData)
{
+ PluginController::PluginDestructionProtector protector(m_pluginController);
+
NPVariant npObjectAsVariant = m_connection->npRemoteObjectMap()->npVariantDataToNPVariant(npObjectAsVariantData);
ASSERT(NPVARIANT_IS_OBJECT(npObjectAsVariant));
diff --git a/Source/WebKit2/WebProcess/Plugins/PluginProxy.h b/Source/WebKit2/WebProcess/Plugins/PluginProxy.h
index 9be7bd1..4fe99a7 100644
--- a/Source/WebKit2/WebProcess/Plugins/PluginProxy.h
+++ b/Source/WebKit2/WebProcess/Plugins/PluginProxy.h
@@ -64,6 +64,7 @@ private:
virtual bool initialize(PluginController*, const Parameters&);
virtual void destroy();
virtual void paint(WebCore::GraphicsContext*, const WebCore::IntRect& dirtyRect);
+ virtual PassRefPtr<ShareableBitmap> snapshot();
#if PLATFORM(MAC)
virtual PlatformLayer* pluginLayer();
#endif
diff --git a/Source/WebKit2/WebProcess/Plugins/PluginView.cpp b/Source/WebKit2/WebProcess/Plugins/PluginView.cpp
index 8ac7d3a..3b1629d 100644
--- a/Source/WebKit2/WebProcess/Plugins/PluginView.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/PluginView.cpp
@@ -28,6 +28,7 @@
#include "NPRuntimeUtilities.h"
#include "Plugin.h"
+#include "ShareableBitmap.h"
#include "WebEvent.h"
#include "WebPage.h"
#include "WebPageProxyMessages.h"
@@ -505,25 +506,36 @@ void PluginView::setFrameRect(const WebCore::IntRect& rect)
viewGeometryDidChange();
}
+void PluginView::setBoundsSize(const WebCore::IntSize& size)
+{
+ Widget::setBoundsSize(size);
+ m_boundsSize = size;
+ viewGeometryDidChange();
+}
+
void PluginView::paint(GraphicsContext* context, const IntRect& dirtyRect)
{
if (context->paintingDisabled() || !m_plugin || !m_isInitialized)
return;
IntRect dirtyRectInWindowCoordinates = parent()->contentsToWindow(dirtyRect);
-
IntRect paintRectInWindowCoordinates = intersection(dirtyRectInWindowCoordinates, clipRectInWindowCoordinates());
if (paintRectInWindowCoordinates.isEmpty())
return;
- // context is in document coordinates. Translate it to window coordinates.
- IntPoint documentOriginInWindowCoordinates = parent()->contentsToWindow(IntPoint());
- context->save();
- context->translate(-documentOriginInWindowCoordinates.x(), -documentOriginInWindowCoordinates.y());
-
- m_plugin->paint(context, paintRectInWindowCoordinates);
-
- context->restore();
+ if (m_snapshot)
+ m_snapshot->paint(*context, frameRect().location(), m_snapshot->bounds());
+ else {
+ // The plugin is given a frame rect which is parent()->contentsToWindow(frameRect()),
+ // and un-translates by the its origin when painting. The current CTM reflects
+ // this widget's frame is its parent (the document), so we have to offset the CTM by
+ // the document's window coordinates.
+ IntPoint documentOriginInWindowCoordinates = parent()->contentsToWindow(IntPoint());
+ context->save();
+ context->translate(-documentOriginInWindowCoordinates.x(), -documentOriginInWindowCoordinates.y());
+ m_plugin->paint(context, paintRectInWindowCoordinates);
+ context->restore();
+ }
}
void PluginView::frameRectsChanged()
@@ -577,7 +589,20 @@ void PluginView::handleEvent(Event* event)
if (didHandleEvent)
event->setDefaultHandled();
}
-
+
+void PluginView::notifyWidget(WidgetNotification notification)
+{
+ switch (notification) {
+ case WillPaintFlattened:
+ if (m_plugin && m_isInitialized)
+ m_snapshot = m_plugin->snapshot();
+ break;
+ case DidPaintFlattened:
+ m_snapshot = nullptr;
+ break;
+ }
+}
+
void PluginView::viewGeometryDidChange()
{
if (!m_isInitialized || !m_plugin || !parent())
@@ -585,7 +610,7 @@ void PluginView::viewGeometryDidChange()
// Get the frame rect in window coordinates.
IntRect frameRectInWindowCoordinates = parent()->contentsToWindow(frameRect());
-
+ frameRectInWindowCoordinates.setSize(m_boundsSize);
m_plugin->geometryDidChange(frameRectInWindowCoordinates, clipRectInWindowCoordinates());
}
@@ -595,6 +620,7 @@ IntRect PluginView::clipRectInWindowCoordinates() const
// Get the frame rect in window coordinates.
IntRect frameRectInWindowCoordinates = parent()->contentsToWindow(frameRect());
+ frameRectInWindowCoordinates.setSize(m_boundsSize);
// Get the window clip rect for the enclosing layer (in window coordinates).
RenderLayer* layer = m_pluginElement->renderer()->enclosingLayer();
@@ -712,7 +738,7 @@ void PluginView::performJavaScriptURLRequest(URLRequest* request)
bool oldAllowPopups = frame->script()->allowPopupsFromPlugin();
frame->script()->setAllowPopupsFromPlugin(request->allowPopups());
- ScriptValue result = m_pluginElement->document()->frame()->script()->executeScript(jsString);
+ ScriptValue result = frame->script()->executeScript(jsString);
frame->script()->setAllowPopupsFromPlugin(oldAllowPopups);
@@ -720,7 +746,7 @@ void PluginView::performJavaScriptURLRequest(URLRequest* request)
if (!plugin->controller())
return;
- ScriptState* scriptState = m_pluginElement->document()->frame()->script()->globalObject(pluginWorld())->globalExec();
+ ScriptState* scriptState = frame->script()->globalObject(pluginWorld())->globalExec();
String resultString;
result.getString(scriptState, resultString);
@@ -883,7 +909,7 @@ NPObject* PluginView::windowScriptNPObject()
// FIXME: Handle JavaScript being disabled.
ASSERT(frame()->script()->canExecuteScripts(NotAboutToExecuteScript));
- return m_npRuntimeObjectMap.getOrCreateNPObject(frame()->script()->windowShell(pluginWorld())->window());
+ return m_npRuntimeObjectMap.getOrCreateNPObject(*pluginWorld()->globalData(), frame()->script()->windowShell(pluginWorld())->window());
}
NPObject* PluginView::pluginElementNPObject()
@@ -895,7 +921,7 @@ NPObject* PluginView::pluginElementNPObject()
JSObject* object = frame()->script()->jsObjectForPluginElement(m_pluginElement.get());
ASSERT(object);
- return m_npRuntimeObjectMap.getOrCreateNPObject(object);
+ return m_npRuntimeObjectMap.getOrCreateNPObject(*pluginWorld()->globalData(), object);
}
bool PluginView::evaluate(NPObject* npObject, const String& scriptString, NPVariant* result, bool allowPopups)
@@ -1007,6 +1033,18 @@ bool PluginView::isPrivateBrowsingEnabled()
return settings->privateBrowsingEnabled();
}
+void PluginView::protectPluginFromDestruction()
+{
+ if (!m_isBeingDestroyed)
+ ref();
+}
+
+void PluginView::unprotectPluginFromDestruction()
+{
+ if (!m_isBeingDestroyed)
+ deref();
+}
+
void PluginView::didFinishLoad(WebFrame* webFrame)
{
RefPtr<URLRequest> request = m_pendingFrameLoads.take(webFrame);
diff --git a/Source/WebKit2/WebProcess/Plugins/PluginView.h b/Source/WebKit2/WebProcess/Plugins/PluginView.h
index dca3a62..a30926f 100644
--- a/Source/WebKit2/WebProcess/Plugins/PluginView.h
+++ b/Source/WebKit2/WebProcess/Plugins/PluginView.h
@@ -104,12 +104,14 @@ private:
// WebCore::Widget
virtual void setFrameRect(const WebCore::IntRect&);
+ virtual void setBoundsSize(const WebCore::IntSize&);
virtual void paint(WebCore::GraphicsContext*, const WebCore::IntRect&);
virtual void invalidateRect(const WebCore::IntRect&);
virtual void setFocus(bool);
virtual void frameRectsChanged();
virtual void setParent(WebCore::ScrollView*);
virtual void handleEvent(WebCore::Event*);
+ virtual void notifyWidget(WebCore::WidgetNotification);
// WebCore::MediaCanStartListener
virtual void mediaCanStart();
@@ -138,6 +140,8 @@ private:
virtual String cookiesForURL(const String&);
virtual void setCookiesForURL(const String& urlString, const String& cookieString);
virtual bool isPrivateBrowsingEnabled();
+ virtual void protectPluginFromDestruction();
+ virtual void unprotectPluginFromDestruction();
// WebFrame::LoadListener
virtual void didFinishLoad(WebFrame*);
@@ -179,6 +183,9 @@ private:
WebCore::ResourceResponse m_manualStreamResponse;
WebCore::ResourceError m_manualStreamError;
RefPtr<WebCore::SharedBuffer> m_manualStreamData;
+
+ RefPtr<ShareableBitmap> m_snapshot;
+ WebCore::IntSize m_boundsSize;
};
} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.cpp b/Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.cpp
new file mode 100644
index 0000000..dad2791
--- /dev/null
+++ b/Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.cpp
@@ -0,0 +1,120 @@
+/*
+ * 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 "WebResourceCacheManager.h"
+
+#include "Connection.h"
+#include "MessageID.h"
+#include "SecurityOriginData.h"
+#include "WebCoreArgumentCoders.h"
+#include "WebResourceCacheManagerProxyMessages.h"
+#include "WebProcess.h"
+#include <WebCore/MemoryCache.h>
+#include <WebCore/SecurityOrigin.h>
+#include <WebCore/SecurityOriginHash.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebResourceCacheManager& WebResourceCacheManager::shared()
+{
+ static WebResourceCacheManager& shared = *new WebResourceCacheManager;
+ return shared;
+}
+
+WebResourceCacheManager::WebResourceCacheManager()
+{
+}
+
+WebResourceCacheManager::~WebResourceCacheManager()
+{
+}
+
+void WebResourceCacheManager::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
+{
+ didReceiveWebResourceCacheManagerMessage(connection, messageID, arguments);
+}
+
+
+void WebResourceCacheManager::getCacheOrigins(uint64_t callbackID) const
+{
+ MemoryCache::SecurityOriginSet origins;
+ memoryCache()->getOriginsWithCache(origins);
+
+#if USE(CFURLCACHE)
+ RetainPtr<CFArrayRef> cfURLHosts = cfURLCacheHostNames();
+ CFIndex size = cfURLHosts ? CFArrayGetCount(cfURLHosts.get()) : 0;
+
+ String httpString("http");
+ for (CFIndex i = 0; i < size; ++i) {
+ CFStringRef host = static_cast<CFStringRef>(CFArrayGetValueAtIndex(cfURLHosts.get(), i));
+ origins.add(SecurityOrigin::create(httpString, host, 0));
+ }
+#endif
+
+ // Create a list with the origins in both of the caches.
+ Vector<SecurityOriginData> identifiers;
+ identifiers.reserveCapacity(origins.size());
+
+ MemoryCache::SecurityOriginSet::iterator end = origins.end();
+ for (MemoryCache::SecurityOriginSet::iterator it = origins.begin(); it != end; ++it) {
+ RefPtr<SecurityOrigin> origin = *it;
+
+ SecurityOriginData originData;
+ originData.protocol = origin->protocol();
+ originData.host = origin->host();
+ originData.port = origin->port();
+
+ identifiers.uncheckedAppend(originData);
+ }
+
+ WebProcess::shared().connection()->send(Messages::WebResourceCacheManagerProxy::DidGetCacheOrigins(identifiers, callbackID), 0);
+}
+
+void WebResourceCacheManager::clearCacheForOrigin(SecurityOriginData originData) const
+{
+ RefPtr<SecurityOrigin> origin = SecurityOrigin::create(originData.protocol, originData.host, originData.port);
+ if (!origin)
+ return;
+
+ memoryCache()->removeResourcesWithOrigin(origin.get());
+
+#if USE(CFURLCACHE)
+ RetainPtr<CFMutableArrayRef> hostArray(AdoptCF, CFArrayCreateMutable(0, 0, &kCFTypeArrayCallBacks));
+ RetainPtr<CFStringRef> host(AdoptCF, origin->host().createCFString());
+ CFArrayAppendValue(hostArray.get(), host.get());
+
+ clearCFURLCacheForHostNames(hostArray.get());
+#endif
+}
+
+void WebResourceCacheManager::clearCacheForAllOrigins() const
+{
+ WebProcess::shared().clearResourceCaches();
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/Shared/qt/CleanupHandler.h b/Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.h
index afd7723..3a29a4b 100644
--- a/Source/WebKit2/Shared/qt/CleanupHandler.h
+++ b/Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 University of Szeged. All rights reserved.
+ * 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
@@ -23,54 +23,48 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef CleanupHandler_h
-#define CleanupHandler_h
+#ifndef WebResourceCacheManager_h
+#define WebResourceCacheManager_h
-#include <QCoreApplication>
-#include <QList>
-#include <QObject>
-#include <wtf/HashSet.h>
-#include <wtf/StdLibExtras.h>
+#include "Arguments.h"
+#include <wtf/Noncopyable.h>
+#include <wtf/RetainPtr.h>
+#include <wtf/text/WTFString.h>
-namespace WebKit {
-
-class CleanupHandler : private QObject {
- Q_OBJECT
-public:
- static CleanupHandler* instance()
- {
- if (!theInstance)
- theInstance = new CleanupHandler();
- return theInstance;
- }
+namespace CoreIPC {
+class ArgumentDecoder;
+class Connection;
+class MessageID;
+}
- void markForCleanup(QObject* object)
- {
- m_objects.append(object);
- }
+namespace WebKit {
- void unmark(QObject* object)
- {
- if (m_hasStartedDeleting)
- return;
- m_objects.removeOne(object);
- }
+struct SecurityOriginData;
- bool hasStartedDeleting() const { return m_hasStartedDeleting; }
+class WebResourceCacheManager {
+ WTF_MAKE_NONCOPYABLE(WebResourceCacheManager);
+public:
+ static WebResourceCacheManager& shared();
-private slots:
- void deleteObjects();
+ void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
private:
- static void sigTermHandler(int);
- static CleanupHandler* theInstance;
+ WebResourceCacheManager();
+ virtual ~WebResourceCacheManager();
+
+ // Implemented in generated WebResourceCacheManagerMessageReceiver.cpp
+ void didReceiveWebResourceCacheManagerMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
- CleanupHandler();
+ void getCacheOrigins(uint64_t callbackID) const;
+ void clearCacheForOrigin(SecurityOriginData origin) const;
+ void clearCacheForAllOrigins() const;
- QList<QObject*> m_objects;
- bool m_hasStartedDeleting;
+#if USE(CFURLCACHE)
+ static RetainPtr<CFArrayRef> cfURLCacheHostNames();
+ static void clearCFURLCacheForHostNames(CFArrayRef);
+#endif
};
} // namespace WebKit
-#endif // CleanupHandler_h
+#endif // WebResourceCacheManager_h
diff --git a/Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.messages.in b/Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.messages.in
new file mode 100644
index 0000000..b6d5900
--- /dev/null
+++ b/Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.messages.in
@@ -0,0 +1,27 @@
+# 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.
+
+messages -> WebResourceCacheManager {
+ void GetCacheOrigins(uint64_t callbackID)
+ void ClearCacheForOrigin(WebKit::SecurityOriginData originIdentifier)
+ void ClearCacheForAllOrigins()
+}
diff --git a/Source/WebKit2/WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp b/Source/WebKit2/WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp
new file mode 100644
index 0000000..86372cf
--- /dev/null
+++ b/Source/WebKit2/WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp
@@ -0,0 +1,58 @@
+/*
+ * 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 "WebResourceCacheManager.h"
+
+#if USE(CFURLCACHE)
+
+#if PLATFORM(WIN)
+#include <WebKitSystemInterface/WebKitSystemInterface.h>
+#elif PLATFORM(MAC)
+#include "WebKitSystemInterface.h"
+#endif
+
+
+namespace WebKit {
+
+#if PLATFORM(WIN)
+// The Windows version of WKSI defines these functions as capitalized, while the Mac version defines them as lower case.
+static inline CFArrayRef WKCFURLCacheCopyAllHostNamesInPersistentStore() { return wkCFURLCacheCopyAllHostNamesInPersistentStore(); }
+static inline void WKCFURLCacheDeleteHostNamesInPersistentStore(CFArrayRef hostNames) { return wkCFURLCacheDeleteHostNamesInPersistentStore(hostNames); }
+#endif
+
+RetainPtr<CFArrayRef> WebResourceCacheManager::cfURLCacheHostNames()
+{
+ return RetainPtr<CFArrayRef>(AdoptCF, WKCFURLCacheCopyAllHostNamesInPersistentStore());
+}
+
+void WebResourceCacheManager::clearCFURLCacheForHostNames(CFArrayRef hostNames)
+{
+ WKCFURLCacheDeleteHostNamesInPersistentStore(hostNames);
+}
+
+} // namespace WebKit
+
+#endif // USE(CFURLCACHE)
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
index 2394141..d4c357d 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
@@ -27,9 +27,6 @@
#include "config.h"
#include "WebChromeClient.h"
-#define DISABLE_NOT_IMPLEMENTED_WARNINGS 1
-#include "NotImplemented.h"
-
#include "DrawingArea.h"
#include "InjectedBundleNavigationAction.h"
#include "InjectedBundleUserMessageCoders.h"
@@ -54,6 +51,7 @@
#include <WebCore/FrameView.h>
#include <WebCore/HTMLNames.h>
#include <WebCore/HTMLPlugInImageElement.h>
+#include <WebCore/NotImplemented.h>
#include <WebCore/Page.h>
#include <WebCore/SecurityOrigin.h>
@@ -64,13 +62,15 @@ namespace WebKit {
static double area(WebFrame* frame)
{
- IntSize size = frame->size();
+ IntSize size = frame->visibleContentBoundsExcludingScrollbars().size();
return static_cast<double>(size.height()) * size.width();
}
static WebFrame* findLargestFrameInFrameSet(WebPage* page)
{
+ // Approximate what a user could consider a default target frame for application menu operations.
+
WebFrame* mainFrame = page->mainFrame();
if (!mainFrame->isFrameSet())
return 0;
@@ -252,11 +252,7 @@ void WebChromeClient::addMessageToConsole(MessageSource, MessageType, MessageLev
bool WebChromeClient::canRunBeforeUnloadConfirmPanel()
{
- bool canRun = false;
- if (!WebProcess::shared().connection()->sendSync(Messages::WebPageProxy::CanRunBeforeUnloadConfirmPanel(), Messages::WebPageProxy::CanRunBeforeUnloadConfirmPanel::Reply(canRun), m_page->pageID()))
- return false;
-
- return canRun;
+ return m_page->canRunBeforeUnloadConfirmPanel();
}
bool WebChromeClient::runBeforeUnloadConfirmPanel(const String& message, Frame* frame)
@@ -340,9 +336,9 @@ bool WebChromeClient::shouldInterruptJavaScript()
return false;
}
-bool WebChromeClient::tabsToLinks() const
+KeyboardUIMode WebChromeClient::keyboardUIMode()
{
- return m_page->tabsToLinks();
+ return m_page->keyboardUIMode();
}
IntRect WebChromeClient::windowResizerRect() const
@@ -458,7 +454,7 @@ void WebChromeClient::missingPluginButtonClicked(Element* element) const
HTMLPlugInImageElement* pluginElement = static_cast<HTMLPlugInImageElement*>(element);
- m_page->send(Messages::WebPageProxy::MissingPluginButtonClicked(pluginElement->serviceType(), pluginElement->url()));
+ m_page->send(Messages::WebPageProxy::MissingPluginButtonClicked(pluginElement->serviceType(), pluginElement->url(), pluginElement->getAttribute(pluginspageAttr)));
}
void WebChromeClient::scrollbarsModeDidChange() const
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h b/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h
index 82ba36e..96da752 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h
@@ -102,8 +102,9 @@ private:
virtual bool runJavaScriptPrompt(WebCore::Frame*, const String& message, const String& defaultValue, String& result);
virtual void setStatusbarText(const String&);
virtual bool shouldInterruptJavaScript();
- virtual bool tabsToLinks() const;
-
+
+ virtual WebCore::KeyboardUIMode keyboardUIMode();
+
virtual WebCore::IntRect windowResizerRect() const;
// Methods used by HostWindow.
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebContextMenuClient.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/WebContextMenuClient.cpp
index 0c83cda..b71bf3c 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebContextMenuClient.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebContextMenuClient.cpp
@@ -30,12 +30,10 @@
#include "WebPage.h"
#include <WebCore/ContextMenu.h>
#include <WebCore/Frame.h>
+#include <WebCore/NotImplemented.h>
#include <WebCore/Page.h>
#include <WebCore/UserGestureIndicator.h>
-#define DISABLE_NOT_IMPLEMENTED_WARNINGS 1
-#include "NotImplemented.h"
-
using namespace WebCore;
namespace WebKit {
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebDragClient.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/WebDragClient.cpp
index 9e348cd..dfb1542 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebDragClient.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebDragClient.cpp
@@ -26,8 +26,7 @@
#include "config.h"
#include "WebDragClient.h"
-#define DISABLE_NOT_IMPLEMENTED_WARNINGS 1
-#include "NotImplemented.h"
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp
index 5ed1c60..b954283 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp
@@ -26,10 +26,8 @@
#include "config.h"
#include "WebEditorClient.h"
-#define DISABLE_NOT_IMPLEMENTED_WARNINGS 1
-#include "NotImplemented.h"
-
#include "SelectionState.h"
+#include "WebCoreArgumentCoders.h"
#include "WebFrameLoaderClient.h"
#include "WebPage.h"
#include "WebPageProxyMessages.h"
@@ -43,6 +41,7 @@
#include <WebCore/HTMLNames.h>
#include <WebCore/HTMLTextAreaElement.h>
#include <WebCore/KeyboardEvent.h>
+#include <WebCore/NotImplemented.h>
#include <WebCore/Page.h>
#include <WebCore/UserTypingGestureIndicator.h>
@@ -170,21 +169,21 @@ bool WebEditorClient::shouldMoveRangeAfterDelete(Range*, Range*)
void WebEditorClient::didBeginEditing()
{
// FIXME: What good is a notification name, if it's always the same?
- static const String WebViewDidBeginEditingNotification = "WebViewDidBeginEditingNotification";
+ DEFINE_STATIC_LOCAL(String, WebViewDidBeginEditingNotification, ("WebViewDidBeginEditingNotification"));
m_page->injectedBundleEditorClient().didBeginEditing(m_page, WebViewDidBeginEditingNotification.impl());
notImplemented();
}
void WebEditorClient::respondToChangedContents()
{
- static const String WebViewDidChangeNotification = "WebViewDidChangeNotification";
+ DEFINE_STATIC_LOCAL(String, WebViewDidChangeNotification, ("WebViewDidChangeNotification"));
m_page->injectedBundleEditorClient().didChange(m_page, WebViewDidChangeNotification.impl());
notImplemented();
}
void WebEditorClient::respondToChangedSelection()
{
- static const String WebViewDidChangeSelectionNotification = "WebViewDidChangeSelectionNotification";
+ DEFINE_STATIC_LOCAL(String, WebViewDidChangeSelectionNotification, ("WebViewDidChangeSelectionNotification"));
m_page->injectedBundleEditorClient().didChangeSelection(m_page, WebViewDidChangeSelectionNotification.impl());
Frame* frame = m_page->corePage()->focusController()->focusedFrame();
if (!frame)
@@ -193,6 +192,7 @@ void WebEditorClient::respondToChangedSelection()
SelectionState selectionState;
selectionState.isNone = frame->selection()->isNone();
selectionState.isContentEditable = frame->selection()->isContentEditable();
+ selectionState.isContentRichlyEditable = frame->selection()->isContentRichlyEditable();
selectionState.isInPasswordField = frame->selection()->isInPasswordField();
selectionState.hasComposition = frame->editor()->hasComposition();
@@ -213,7 +213,7 @@ void WebEditorClient::respondToChangedSelection()
void WebEditorClient::didEndEditing()
{
- static const String WebViewDidEndEditingNotification = "WebViewDidEndEditingNotification";
+ DEFINE_STATIC_LOCAL(String, WebViewDidEndEditingNotification, ("WebViewDidEndEditingNotification"));
m_page->injectedBundleEditorClient().didEndEditing(m_page, WebViewDidEndEditingNotification.impl());
notImplemented();
}
@@ -251,6 +251,16 @@ void WebEditorClient::clearUndoRedoOperations()
m_page->send(Messages::WebPageProxy::ClearAllEditCommands());
}
+bool WebEditorClient::canCopyCut(bool defaultValue) const
+{
+ return defaultValue;
+}
+
+bool WebEditorClient::canPaste(bool defaultValue) const
+{
+ return defaultValue;
+}
+
bool WebEditorClient::canUndo() const
{
notImplemented();
@@ -395,9 +405,9 @@ void WebEditorClient::checkGrammarOfString(const UChar*, int, Vector<GrammarDeta
notImplemented();
}
-void WebEditorClient::updateSpellingUIWithGrammarString(const String&, const GrammarDetail&)
+void WebEditorClient::updateSpellingUIWithGrammarString(const String& badGrammarPhrase, const GrammarDetail& grammarDetail)
{
- notImplemented();
+ m_page->send(Messages::WebPageProxy::UpdateSpellingUIWithGrammarString(badGrammarPhrase, grammarDetail));
}
void WebEditorClient::updateSpellingUIWithMisspelledWord(const String& misspelledWord)
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.h b/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.h
index 40bd8c6..fa8426a 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.h
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.h
@@ -27,12 +27,13 @@
#define WebEditorClient_h
#include <WebCore/EditorClient.h>
+#include <WebCore/TextCheckerClient.h>
namespace WebKit {
class WebPage;
-class WebEditorClient : public WebCore::EditorClient {
+class WebEditorClient : public WebCore::EditorClient, public WebCore::TextCheckerClient {
public:
WebEditorClient(WebPage* page)
: m_page(page)
@@ -74,6 +75,8 @@ private:
virtual void registerCommandForRedo(PassRefPtr<WebCore::EditCommand>);
virtual void clearUndoRedoOperations();
+ virtual bool canCopyCut(bool defaultValue) const;
+ virtual bool canPaste(bool defaultValue) const;
virtual bool canUndo() const;
virtual bool canRedo() const;
@@ -120,6 +123,8 @@ private:
virtual void toggleAutomaticSpellingCorrection();
#endif
+ TextCheckerClient* textChecker() { return this; }
+
virtual void ignoreWordInSpellDocument(const String&);
virtual void learnWord(const String&);
virtual void checkSpellingOfString(const UChar*, int length, int* misspellingLocation, int* misspellingLength);
@@ -140,6 +145,7 @@ private:
virtual void showCorrectionPanel(WebCore::CorrectionPanelInfo::PanelType, const WebCore::FloatRect& boundingBoxOfReplacedString, const String& replacedString, const String& replacementString, const Vector<String>& alternativeReplacementStrings, WebCore::Editor*);
virtual void dismissCorrectionPanel(WebCore::ReasonForDismissingCorrectionPanel);
virtual bool isShowingCorrectionPanel();
+ virtual void recordAutocorrectionResponse(AutocorrectionResponseType, const WTF::String& replacedString, const WTF::String& replacementString);
#endif
WebPage* m_page;
};
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
index 4be913f..3770ca6 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
@@ -26,9 +26,6 @@
#include "config.h"
#include "WebFrameLoaderClient.h"
-#define DISABLE_NOT_IMPLEMENTED_WARNINGS 1
-#include "NotImplemented.h"
-
#include "AuthenticationManager.h"
#include "DataReference.h"
#include "InjectedBundleNavigationAction.h"
@@ -36,6 +33,7 @@
#include "PlatformCertificateInfo.h"
#include "PluginView.h"
#include "StringPairVector.h"
+#include "WebBackForwardListProxy.h"
#include "WebContextMessages.h"
#include "WebCoreArgumentCoders.h"
#include "WebErrors.h"
@@ -62,6 +60,7 @@
#include <WebCore/HistoryItem.h>
#include <WebCore/MIMETypeRegistry.h>
#include <WebCore/MouseEvent.h>
+#include <WebCore/NotImplemented.h>
#include <WebCore/Page.h>
#include <WebCore/PluginData.h>
#include <WebCore/ProgressTracker.h>
@@ -576,7 +575,7 @@ void WebFrameLoaderClient::dispatchShow()
webPage->show();
}
-void WebFrameLoaderClient::dispatchDecidePolicyForMIMEType(FramePolicyFunction function, const String& MIMEType, const ResourceRequest& request)
+void WebFrameLoaderClient::dispatchDecidePolicyForResponse(FramePolicyFunction function, const ResourceResponse& response, const ResourceRequest& request)
{
WebPage* webPage = m_frame->page();
if (!webPage)
@@ -588,7 +587,11 @@ void WebFrameLoaderClient::dispatchDecidePolicyForMIMEType(FramePolicyFunction f
RefPtr<APIObject> userData;
// Notify the bundle client.
- webPage->injectedBundlePolicyClient().decidePolicyForMIMEType(webPage, m_frame, MIMEType, request, userData);
+ WKBundlePagePolicyAction policy = webPage->injectedBundlePolicyClient().decidePolicyForResponse(webPage, m_frame, response, request, userData);
+ if (policy == WKBundlePagePolicyActionUse) {
+ (m_frame->coreFrame()->loader()->policyChecker()->*function)(PolicyUse);
+ return;
+ }
uint64_t listenerID = m_frame->setUpPolicyListener(function);
bool receivedPolicyAction;
@@ -596,7 +599,7 @@ void WebFrameLoaderClient::dispatchDecidePolicyForMIMEType(FramePolicyFunction f
uint64_t downloadID;
// Notify the UIProcess.
- if (!webPage->sendSync(Messages::WebPageProxy::DecidePolicyForMIMEType(m_frame->frameID(), MIMEType, request, listenerID, InjectedBundleUserMessageEncoder(userData.get())), Messages::WebPageProxy::DecidePolicyForMIMEType::Reply(receivedPolicyAction, policyAction, downloadID)))
+ if (!webPage->sendSync(Messages::WebPageProxy::DecidePolicyForResponse(m_frame->frameID(), response, request, listenerID, InjectedBundleUserMessageEncoder(userData.get())), Messages::WebPageProxy::DecidePolicyForResponse::Reply(receivedPolicyAction, policyAction, downloadID)))
return;
// We call this synchronously because CFNetwork can only convert a loading connection to a download from its didReceiveResponse callback.
@@ -615,7 +618,11 @@ void WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction(FramePolicyFun
RefPtr<InjectedBundleNavigationAction> action = InjectedBundleNavigationAction::create(m_frame, navigationAction, formState);
// Notify the bundle client.
- webPage->injectedBundlePolicyClient().decidePolicyForNewWindowAction(webPage, m_frame, action.get(), request, frameName, userData);
+ WKBundlePagePolicyAction policy = webPage->injectedBundlePolicyClient().decidePolicyForNewWindowAction(webPage, m_frame, action.get(), request, frameName, userData);
+ if (policy == WKBundlePagePolicyActionUse) {
+ (m_frame->coreFrame()->loader()->policyChecker()->*function)(PolicyUse);
+ return;
+ }
uint64_t listenerID = m_frame->setUpPolicyListener(function);
@@ -630,24 +637,35 @@ void WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(FramePolicyFu
if (!webPage)
return;
+ // Always ignore requests with empty URLs.
+ if (request.isEmpty()) {
+ (m_frame->coreFrame()->loader()->policyChecker()->*function)(PolicyIgnore);
+ return;
+ }
+
RefPtr<APIObject> userData;
RefPtr<InjectedBundleNavigationAction> action = InjectedBundleNavigationAction::create(m_frame, navigationAction, formState);
// Notify the bundle client.
- webPage->injectedBundlePolicyClient().decidePolicyForNavigationAction(webPage, m_frame, action.get(), request, userData);
+ WKBundlePagePolicyAction policy = webPage->injectedBundlePolicyClient().decidePolicyForNavigationAction(webPage, m_frame, action.get(), request, userData);
+ if (policy == WKBundlePagePolicyActionUse) {
+ (m_frame->coreFrame()->loader()->policyChecker()->*function)(PolicyUse);
+ return;
+ }
uint64_t listenerID = m_frame->setUpPolicyListener(function);
bool receivedPolicyAction;
uint64_t policyAction;
+ uint64_t downloadID;
// Notify the UIProcess.
- if (!webPage->sendSync(Messages::WebPageProxy::DecidePolicyForNavigationAction(m_frame->frameID(), action->navigationType(), action->modifiers(), action->mouseButton(), request, listenerID, InjectedBundleUserMessageEncoder(userData.get())), Messages::WebPageProxy::DecidePolicyForNavigationAction::Reply(receivedPolicyAction, policyAction)))
+ if (!webPage->sendSync(Messages::WebPageProxy::DecidePolicyForNavigationAction(m_frame->frameID(), action->navigationType(), action->modifiers(), action->mouseButton(), request, listenerID, InjectedBundleUserMessageEncoder(userData.get())), Messages::WebPageProxy::DecidePolicyForNavigationAction::Reply(receivedPolicyAction, policyAction, downloadID)))
return;
// We call this synchronously because WebCore cannot gracefully handle a frame load without a synchronous navigation policy reply.
if (receivedPolicyAction)
- m_frame->didReceivePolicyDecision(listenerID, static_cast<PolicyAction>(policyAction), 0);
+ m_frame->didReceivePolicyDecision(listenerID, static_cast<PolicyAction>(policyAction), downloadID);
}
void WebFrameLoaderClient::cancelPolicyCheck()
@@ -655,9 +673,19 @@ void WebFrameLoaderClient::cancelPolicyCheck()
m_frame->invalidatePolicyListener();
}
-void WebFrameLoaderClient::dispatchUnableToImplementPolicy(const ResourceError&)
+void WebFrameLoaderClient::dispatchUnableToImplementPolicy(const ResourceError& error)
{
- notImplemented();
+ WebPage* webPage = m_frame->page();
+ if (!webPage)
+ return;
+
+ RefPtr<APIObject> userData;
+
+ // Notify the bundle client.
+ webPage->injectedBundlePolicyClient().unableToImplementPolicy(webPage, m_frame, error, userData);
+
+ // Notify the UIProcess.
+ webPage->send(Messages::WebPageProxy::UnableToImplementPolicy(m_frame->frameID(), error, InjectedBundleUserMessageEncoder(userData.get())));
}
void WebFrameLoaderClient::dispatchWillSubmitForm(FramePolicyFunction function, PassRefPtr<FormState> prpFormState)
@@ -797,7 +825,7 @@ void WebFrameLoaderClient::finishedLoading(DocumentLoader* loader)
RefPtr<SharedBuffer> mainResourceData = loader->mainResourceData();
CoreIPC::DataReference dataReference(reinterpret_cast<const uint8_t*>(mainResourceData ? mainResourceData->data() : 0), mainResourceData ? mainResourceData->size() : 0);
- webPage->send(Messages::WebPageProxy::DidFinishLoadingDataForCustomRepresentation(dataReference));
+ webPage->send(Messages::WebPageProxy::DidFinishLoadingDataForCustomRepresentation(loader->response().suggestedFilename(), dataReference));
}
return;
@@ -845,9 +873,28 @@ void WebFrameLoaderClient::updateGlobalHistoryRedirectLinks()
}
}
-bool WebFrameLoaderClient::shouldGoToHistoryItem(HistoryItem*) const
+bool WebFrameLoaderClient::shouldGoToHistoryItem(HistoryItem* item) const
+{
+ WebPage* webPage = m_frame->page();
+ if (!webPage)
+ return false;
+
+ uint64_t itemID = WebBackForwardListProxy::idForItem(item);
+ if (!itemID) {
+ // We should never be considering navigating to an item that is not actually in the back/forward list.
+ ASSERT_NOT_REACHED();
+ return false;
+ }
+
+ bool shouldGoToBackForwardListItem;
+ if (!webPage->sendSync(Messages::WebPageProxy::ShouldGoToBackForwardListItem(itemID), Messages::WebPageProxy::ShouldGoToBackForwardListItem::Reply(shouldGoToBackForwardListItem)))
+ return false;
+
+ return shouldGoToBackForwardListItem;
+}
+
+bool WebFrameLoaderClient::shouldStopLoadingForHistoryItem(HistoryItem* item) const
{
- notImplemented();
return true;
}
@@ -985,6 +1032,11 @@ void WebFrameLoaderClient::restoreViewState()
// Inform the UI process of the scale factor.
double scaleFactor = m_frame->coreFrame()->loader()->history()->currentItem()->pageScaleFactor();
m_frame->page()->send(Messages::WebPageProxy::ViewScaleFactorDidChange(scaleFactor));
+
+ // FIXME: This should not be necessary. WebCore should be correctly invalidating
+ // the view on restores from the back/forward cache.
+ if (m_frame == m_frame->page()->mainFrame())
+ m_frame->page()->drawingArea()->setNeedsDisplay(m_frame->page()->bounds());
}
void WebFrameLoaderClient::provisionalLoadStarted()
@@ -1273,6 +1325,23 @@ bool WebFrameLoaderClient::shouldUsePluginDocument(const String& /*mimeType*/) c
return false;
}
+void WebFrameLoaderClient::didChangeScrollOffset()
+{
+ WebPage* webPage = m_frame->page();
+ if (!webPage)
+ return;
+
+ if (!m_frame->isMainFrame())
+ return;
+
+ // If this is called when tearing down a FrameView, the WebCore::Frame's
+ // current FrameView will be null.
+ if (!m_frame->coreFrame()->view())
+ return;
+
+ webPage->didChangeScrollOffsetForMainFrame();
+}
+
PassRefPtr<FrameNetworkingContext> WebFrameLoaderClient::createNetworkingContext()
{
return WebFrameNetworkingContext::create(m_frame->coreFrame());
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h b/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h
index 9070b3a..9ca9a75 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h
@@ -97,7 +97,7 @@ private:
virtual WebCore::Frame* dispatchCreatePage(const WebCore::NavigationAction&);
virtual void dispatchShow();
- virtual void dispatchDecidePolicyForMIMEType(WebCore::FramePolicyFunction, const String& MIMEType, const WebCore::ResourceRequest&);
+ virtual void dispatchDecidePolicyForResponse(WebCore::FramePolicyFunction, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&);
virtual void dispatchDecidePolicyForNewWindowAction(WebCore::FramePolicyFunction, const WebCore::NavigationAction&, const WebCore::ResourceRequest&, PassRefPtr<WebCore::FormState>, const String& frameName);
virtual void dispatchDecidePolicyForNavigationAction(WebCore::FramePolicyFunction, const WebCore::NavigationAction&, const WebCore::ResourceRequest&, PassRefPtr<WebCore::FormState>);
virtual void cancelPolicyCheck();
@@ -132,6 +132,7 @@ private:
virtual void updateGlobalHistoryRedirectLinks();
virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const;
+ virtual bool shouldStopLoadingForHistoryItem(WebCore::HistoryItem*) const;
virtual void dispatchDidAddBackForwardItem(WebCore::HistoryItem*) const;
virtual void dispatchDidRemoveBackForwardItem(WebCore::HistoryItem*) const;
virtual void dispatchDidChangeBackForwardIndex() const;
@@ -213,7 +214,9 @@ private:
#endif
virtual bool shouldUsePluginDocument(const String& /*mimeType*/) const;
-
+
+ virtual void didChangeScrollOffset();
+
virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext();
WebFrame* m_frame;
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebInspectorClient.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/WebInspectorClient.cpp
index 80552f0..7a91dcd 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebInspectorClient.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebInspectorClient.cpp
@@ -32,11 +32,9 @@
#include "WebInspector.h"
#include "WebPage.h"
#include <WebCore/InspectorController.h>
+#include <WebCore/NotImplemented.h>
#include <WebCore/Page.h>
-#define DISABLE_NOT_IMPLEMENTED_WARNINGS 1
-#include "NotImplemented.h"
-
using namespace WebCore;
namespace WebKit {
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp
index 6298293..d429464 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp
@@ -30,12 +30,10 @@
#include "WebInspector.h"
#include "WebPage.h"
+#include <WebCore/NotImplemented.h>
#include <WebCore/Page.h>
#include <wtf/text/WTFString.h>
-#define DISABLE_NOT_IMPLEMENTED_WARNINGS 1
-#include "NotImplemented.h"
-
using namespace WebCore;
namespace WebKit {
@@ -94,9 +92,9 @@ void WebInspectorFrontendClient::setAttachedWindowHeight(unsigned)
notImplemented();
}
-void WebInspectorFrontendClient::inspectedURLChanged(const String&)
+void WebInspectorFrontendClient::inspectedURLChanged(const String& urlString)
{
- notImplemented();
+ m_page->inspector()->inspectedURLChanged(urlString);
}
} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
index 479252a..7e14701 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010, 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
@@ -28,24 +28,34 @@
#if USE(PLATFORM_STRATEGIES)
-#include "NotImplemented.h"
#include "PluginInfoStore.h"
#include "WebContextMessages.h"
+#include "WebCookieManager.h"
#include "WebCoreArgumentCoders.h"
#include "WebProcess.h"
+#include <WebCore/LocalizedStrings.h>
+#include <WebCore/NotImplemented.h>
#include <WebCore/Page.h>
#include <WebCore/PageGroup.h>
#include <wtf/MathExtras.h>
#include <wtf/text/CString.h>
-#if PLATFORM(CF)
+#if USE(CF)
#include <wtf/RetainPtr.h>
#endif
-// FIXME (WebKit2) <rdar://problem/8728860> WebKit2 needs to be localized
+#if PLATFORM(MAC)
+
+#define UI_STRING(string, description) localizedString(string)
+#define UI_STRING_KEY(string, key, description) localizedString(key)
+
+#else
+
#define UI_STRING(string, description) String::fromUTF8(string, strlen(string))
#define UI_STRING_KEY(string, key, description) String::fromUTF8(string, strlen(string))
+#endif
+
using namespace WebCore;
namespace WebKit {
@@ -57,7 +67,7 @@ namespace WebKit {
// type according to section 18.7/3 of the C++ N1905 standard.
static String formatLocalizedString(String format, ...)
{
-#if PLATFORM(CF)
+#if USE(CF)
va_list arguments;
va_start(arguments, format);
RetainPtr<CFStringRef> formatCFString(AdoptCF, format.createCFString());
@@ -89,7 +99,10 @@ WebPlatformStrategies::WebPlatformStrategies()
{
}
-// PluginStrategy
+CookiesStrategy* WebPlatformStrategies::createCookiesStrategy()
+{
+ return this;
+}
PluginStrategy* WebPlatformStrategies::createPluginStrategy()
{
@@ -106,6 +119,13 @@ VisitedLinkStrategy* WebPlatformStrategies::createVisitedLinkStrategy()
return this;
}
+// CookiesStrategy
+
+void WebPlatformStrategies::notifyCookiesChanged()
+{
+ WebCookieManager::shared().dispatchCookiesDidChange();
+}
+
// PluginStrategy
void WebPlatformStrategies::populatePluginCache()
@@ -175,6 +195,11 @@ String WebPlatformStrategies::fileButtonNoFileSelectedLabel()
return UI_STRING("no file selected", "text to display in file button used in HTML forms when no file is selected");
}
+String WebPlatformStrategies::defaultDetailsSummaryText()
+{
+ return UI_STRING("Details", "text to display in <details> tag when it has no <summary> child");
+}
+
#if PLATFORM(MAC)
String WebPlatformStrategies::copyImageUnknownFileLabel()
{
@@ -748,8 +773,8 @@ String WebPlatformStrategies::allFilesText()
String WebPlatformStrategies::imageTitle(const String& filename, const IntSize& size)
{
- // FIXME: It would be nice to have the filename inside the format string, but it's not easy to do that in a way that works with non-ASCII characters in the filename.
- return filename + formatLocalizedString(UI_STRING(" %d×%d pixels", "window title suffix for a standalone image (uses multiplication symbol, not x)"), size.width(), size.height());
+ // FIXME: This should format the numbers correctly. In Mac WebKit, we used +[NSNumberFormatter localizedStringFromNumber:numberStyle:].
+ return formatLocalizedString(UI_STRING("<filename> %d×%d pixels", "window title suffix for a standalone image (uses multiplication symbol, not x)"), size.width(), size.height()).replace("<filename>", filename);
}
String WebPlatformStrategies::mediaElementLoadingStateText()
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h b/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h
index a763475..92f8236 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h
@@ -28,6 +28,7 @@
#if USE(PLATFORM_STRATEGIES)
+#include <WebCore/CookiesStrategy.h>
#include <WebCore/PlatformStrategies.h>
#include <WebCore/PluginStrategy.h>
#include <WebCore/LocalizationStrategy.h>
@@ -35,7 +36,7 @@
namespace WebKit {
-class WebPlatformStrategies : public WebCore::PlatformStrategies, private WebCore::PluginStrategy, private WebCore::LocalizationStrategy, private WebCore::VisitedLinkStrategy {
+class WebPlatformStrategies : public WebCore::PlatformStrategies, private WebCore::CookiesStrategy, private WebCore::PluginStrategy, private WebCore::LocalizationStrategy, private WebCore::VisitedLinkStrategy {
public:
static void initialize();
@@ -43,10 +44,14 @@ private:
WebPlatformStrategies();
// WebCore::PlatformStrategies
+ virtual WebCore::CookiesStrategy* createCookiesStrategy();
virtual WebCore::PluginStrategy* createPluginStrategy();
virtual WebCore::LocalizationStrategy* createLocalizationStrategy();
virtual WebCore::VisitedLinkStrategy* createVisitedLinkStrategy();
+ // WebCore::CookiesStrategy
+ virtual void notifyCookiesChanged();
+
// WebCore::PluginStrategy
virtual void refreshPlugins();
virtual void getPluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&);
@@ -58,6 +63,7 @@ private:
virtual String submitButtonDefaultLabel();
virtual String fileButtonChooseFileLabel();
virtual String fileButtonNoFileSelectedLabel();
+ virtual String defaultDetailsSummaryText();
#if PLATFORM(MAC)
virtual String copyImageUnknownFileLabel();
#endif
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp
index b21be47..d91520e 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp
@@ -27,7 +27,7 @@
#include "config.h"
#include "WebContextMenuClient.h"
-#include "NotImplemented.h"
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp
new file mode 100644
index 0000000..7791349
--- /dev/null
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved.
+ * Copyright (C) 2011 Igalia S.L.
+ *
+ * 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 "WebErrors.h"
+
+#include <WebCore/ResourceRequest.h>
+#include <WebCore/ResourceResponse.h>
+#include <glib/gi18n-lib.h>
+#include <webkit/webkiterror.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+ResourceError cancelledError(const ResourceRequest& request)
+{
+ return ResourceError(g_quark_to_string(WEBKIT_NETWORK_ERROR), WEBKIT_NETWORK_ERROR_CANCELLED,
+ request.url().string(), _("Load request cancelled"));
+}
+
+ResourceError blockedError(const ResourceRequest& request)
+{
+ return ResourceError(g_quark_to_string(WEBKIT_POLICY_ERROR), WEBKIT_POLICY_ERROR_CANNOT_USE_RESTRICTED_PORT,
+ request.url().string(), _("Not allowed to use restricted network port"));
+}
+
+ResourceError cannotShowURLError(const ResourceRequest& request)
+{
+ return ResourceError(g_quark_to_string(WEBKIT_POLICY_ERROR), WEBKIT_POLICY_ERROR_CANNOT_SHOW_URL,
+ request.url().string(), _("URL cannot be shown"));
+}
+
+ResourceError interruptForPolicyChangeError(const ResourceRequest& request)
+{
+ return ResourceError(g_quark_to_string(WEBKIT_POLICY_ERROR), WEBKIT_POLICY_ERROR_FRAME_LOAD_INTERRUPTED_BY_POLICY_CHANGE,
+ request.url().string(), _("Frame load was interrupted"));
+}
+
+ResourceError cannotShowMIMETypeError(const ResourceResponse& response)
+{
+ return ResourceError(g_quark_to_string(WEBKIT_POLICY_ERROR), WEBKIT_POLICY_ERROR_CANNOT_SHOW_MIME_TYPE,
+ response.url().string(), _("Content with the specified MIME type cannot be shown"));
+}
+
+ResourceError fileDoesNotExistError(const ResourceResponse& response)
+{
+ return ResourceError(g_quark_to_string(WEBKIT_NETWORK_ERROR), WEBKIT_NETWORK_ERROR_FILE_DOES_NOT_EXIST,
+ response.url().string(), _("File does not exist"));
+}
+
+ResourceError pluginWillHandleLoadError(const ResourceResponse& response)
+{
+ return ResourceError(g_quark_to_string(WEBKIT_PLUGIN_ERROR), WEBKIT_PLUGIN_ERROR_WILL_HANDLE_LOAD,
+ response.url().string(), _("Plugin will handle load"));
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp
index b6d71bb..154b022 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp
@@ -27,8 +27,8 @@
#include "config.h"
#include "WebPopupMenu.h"
-#include "NotImplemented.h"
#include "PlatformPopupMenuData.h"
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm b/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm
index 750a397..7d91c56 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm
@@ -26,9 +26,12 @@
#import "config.h"
#import "WebContextMenuClient.h"
-#import "NotImplemented.h"
+#import "DictionaryPopupInfo.h"
+#import "WebCoreArgumentCoders.h"
#import "WebPage.h"
+#import "WebPageProxyMessages.h"
#import <WebCore/Frame.h>
+#import <WebCore/FrameView.h>
#import <WebCore/Page.h>
#import <wtf/text/WTFString.h>
@@ -36,10 +39,13 @@ using namespace WebCore;
namespace WebKit {
-void WebContextMenuClient::lookUpInDictionary(Frame*)
+void WebContextMenuClient::lookUpInDictionary(Frame* frame)
{
- // FIXME: <rdar://problem/8750610> - Implement
- notImplemented();
+ RefPtr<Range> selectedRange = frame->selection()->selection().toNormalizedRange();
+ if (!selectedRange)
+ return;
+
+ m_page->performDictionaryLookupForRange(DictionaryPopupInfo::ContextMenu, frame, selectedRange.get());
}
bool WebContextMenuClient::isSpeaking()
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm b/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm
index 5169b23..ae9cec3 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm
@@ -63,7 +63,7 @@ void WebDragClient::startDrag(DragImageRef dragImage, const IntPoint& at, const
NSGraphicsContext* bitmapContext = [NSGraphicsContext graphicsContextWithGraphicsPort:graphicsContext->platformContext() flipped:YES];
[NSGraphicsContext setCurrentContext: bitmapContext];
- [dragNSImage drawInRect:NSMakeRect(0, 0, [dragNSImage size].width , [dragNSImage size].height) fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1];
+ [dragNSImage drawInRect:NSMakeRect(0, 0, [dragNSImage size].width , [dragNSImage size].height) fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1 respectFlipped:YES hints:nil];
[NSGraphicsContext restoreGraphicsState];
SharedMemory::Handle handle;
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm b/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm
index ee87ea2..8af0438 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm
@@ -30,9 +30,6 @@
#import "config.h"
#import "WebEditorClient.h"
-#define DISABLE_NOT_IMPLEMENTED_WARNINGS 1
-#import "NotImplemented.h"
-
#import "WebCoreArgumentCoders.h"
#import "WebPage.h"
#import "WebFrame.h"
@@ -45,6 +42,7 @@
#import <WebCore/FocusController.h>
#import <WebCore/Frame.h>
#import <WebCore/KeyboardEvent.h>
+#import <WebCore/NotImplemented.h>
#import <WebCore/Page.h>
#import <WebKit/WebResource.h>
#import <WebKit/WebNSURLExtras.h>
@@ -264,6 +262,11 @@ bool WebEditorClient::isShowingCorrectionPanel()
notImplemented();
return false;
}
+
+void WebEditorClient::recordAutocorrectionResponse(EditorClient::AutocorrectionResponseType responseType, const String& replacedString, const String& replacementString)
+{
+ notImplemented();
+}
#endif
} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm b/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm
index 7e446b7..e36f438 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm
@@ -27,13 +27,25 @@
#import "WebPopupMenu.h"
#import "PlatformPopupMenuData.h"
+#import <WebCore/Frame.h>
+#import <WebCore/FrameView.h>
+#import <WebCore/PopupMenuClient.h>
using namespace WebCore;
namespace WebKit {
-void WebPopupMenu::setUpPlatformData(const IntRect&, PlatformPopupMenuData&)
+void WebPopupMenu::setUpPlatformData(const IntRect&, PlatformPopupMenuData& data)
{
+ NSFont *font = m_popupClient->menuStyle().font().primaryFont()->getNSFont();
+ if (!font)
+ return;
+
+ CFDictionaryRef fontDescriptorAttributes = (CFDictionaryRef)[[font fontDescriptor] fontAttributes];
+ if (!fontDescriptorAttributes)
+ return;
+
+ data.fontInfo.fontAttributeDictionary = fontDescriptorAttributes;
}
} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm b/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm
index 2d74bbc..2c8649e 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm
@@ -93,6 +93,13 @@ void InitWebCoreSystemInterface(void)
INIT(SignalCFReadStreamEnd);
INIT(SignalCFReadStreamError);
INIT(SignalCFReadStreamHasBytes);
+ INIT(CreatePrivateStorageSession);
+ INIT(CopyRequestWithStorageSession);
+ INIT(CreatePrivateInMemoryHTTPCookieStorage);
+ INIT(GetHTTPCookieAcceptPolicy);
+ INIT(HTTPCookiesForURL);
+ INIT(SetHTTPCookiesForURL);
+ INIT(DeleteHTTPCookie);
#if !defined(BUILDING_ON_SNOW_LEOPARD)
INIT(IOSurfaceContextCreate);
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp
index f6c45b0..a09ec19 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp
@@ -26,7 +26,7 @@
#include "config.h"
#include "WebContextMenuClient.h"
-#include "NotImplemented.h"
+#include <WebCore/NotImplemented.h>
using namespace WebCore;
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp
index b80dccd..b4db406 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp
@@ -66,7 +66,7 @@ void WebPopupMenu::setUpPlatformData(const WebCore::IntRect& pageCoordinates, Pl
itemFont.update(m_popupClient->fontSelector());
}
- popupWidth = std::max(popupWidth, itemFont.width(TextRun(text.characters(), text.length())));
+ popupWidth = std::max<float>(popupWidth, ceilf(itemFont.width(TextRun(text.characters(), text.length()))));
}
// FIXME: popupWidth should probably take into account monitor constraints as is done with WebPopupMenuProxyWin::calculatePositionAndSize.
diff --git a/Source/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp b/Source/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp
index f5100aa..ed40063 100644
--- a/Source/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp
@@ -38,8 +38,8 @@ using namespace WebCore;
namespace WebKit {
-ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea(DrawingAreaInfo::Identifier identifier, WebPage* webPage)
- : DrawingArea(DrawingAreaInfo::ChunkedUpdate, identifier, webPage)
+ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea(WebPage* webPage)
+ : DrawingArea(DrawingAreaTypeChunkedUpdate, webPage)
, m_isWaitingForUpdate(false)
, m_paintingIsSuspended(false)
, m_displayTimer(WebProcess::shared().runLoop(), this, &ChunkedUpdateDrawingArea::display)
@@ -74,15 +74,9 @@ void ChunkedUpdateDrawingArea::display()
if (m_dirtyRect.isEmpty())
return;
- // Laying out the page can cause the drawing area to change so we keep an extra reference.
- RefPtr<ChunkedUpdateDrawingArea> protect(this);
-
// Layout if necessary.
m_webPage->layoutIfNeeded();
- if (m_webPage->drawingArea() != this)
- return;
-
IntRect dirtyRect = m_dirtyRect;
m_dirtyRect = IntRect();
@@ -126,15 +120,9 @@ void ChunkedUpdateDrawingArea::setSize(const IntSize& viewSize)
// We don't want to wait for an update until we display.
m_isWaitingForUpdate = false;
- // Laying out the page can cause the drawing area to change so we keep an extra reference.
- RefPtr<ChunkedUpdateDrawingArea> protect(this);
-
m_webPage->setSize(viewSize);
m_webPage->layoutIfNeeded();
- if (m_webPage->drawingArea() != this)
- return;
-
if (m_paintingIsSuspended) {
ASSERT(!m_displayTimer.isActive());
@@ -160,7 +148,7 @@ void ChunkedUpdateDrawingArea::suspendPainting()
m_displayTimer.stop();
}
-void ChunkedUpdateDrawingArea::resumePainting(bool forceRepaint)
+void ChunkedUpdateDrawingArea::deprecatedResumePainting(bool forceRepaint)
{
ASSERT(m_paintingIsSuspended);
@@ -185,14 +173,6 @@ void ChunkedUpdateDrawingArea::didUpdate()
void ChunkedUpdateDrawingArea::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
{
- DrawingAreaInfo::Identifier targetIdentifier;
- if (!arguments->decode(CoreIPC::Out(targetIdentifier)))
- return;
-
- // We can switch drawing areas on the fly, so if this message was targetted at an obsolete drawing area, ignore it.
- if (targetIdentifier != info().identifier)
- return;
-
switch (messageID.get<DrawingAreaLegacyMessage::Kind>()) {
case DrawingAreaLegacyMessage::SetSize: {
IntSize size;
@@ -212,7 +192,7 @@ void ChunkedUpdateDrawingArea::didReceiveMessage(CoreIPC::Connection*, CoreIPC::
if (!arguments->decode(CoreIPC::Out(forceRepaint)))
return;
- resumePainting(forceRepaint);
+ deprecatedResumePainting(forceRepaint);
break;
}
case DrawingAreaLegacyMessage::DidUpdate:
diff --git a/Source/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.h b/Source/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.h
index d32ed4c..5798ef6 100644
--- a/Source/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.h
+++ b/Source/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.h
@@ -36,7 +36,7 @@ class UpdateChunk;
class ChunkedUpdateDrawingArea : public DrawingArea {
public:
- ChunkedUpdateDrawingArea(DrawingAreaInfo::Identifier identifier, WebPage*);
+ explicit ChunkedUpdateDrawingArea(WebPage*);
virtual ~ChunkedUpdateDrawingArea();
virtual void setNeedsDisplay(const WebCore::IntRect&);
@@ -45,8 +45,6 @@ public:
virtual void forceRepaint();
#if USE(ACCELERATED_COMPOSITING)
- virtual void attachCompositingContext() { }
- virtual void detachCompositingContext() { }
virtual void setRootCompositingLayer(WebCore::GraphicsLayer*) { }
virtual void scheduleCompositingLayerSync() { }
virtual void syncCompositingLayers() { }
@@ -60,7 +58,7 @@ private:
// CoreIPC message handlers.
void setSize(const WebCore::IntSize& viewSize);
void suspendPainting();
- void resumePainting(bool forceRepaint);
+ void deprecatedResumePainting(bool forceRepaint);
void didUpdate();
// Platform overrides
diff --git a/Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp b/Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp
index 10a8dbf..c808b19 100644
--- a/Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp
@@ -33,10 +33,6 @@
#include "DrawingAreaImpl.h"
#endif
-#if USE(ACCELERATED_COMPOSITING)
-#include "LayerBackedDrawingArea.h"
-#endif
-
#if ENABLE(TILED_BACKING_STORE)
#include "TiledDrawingArea.h"
#endif
@@ -45,37 +41,29 @@
namespace WebKit {
-PassRefPtr<DrawingArea> DrawingArea::create(WebPage* webPage, const WebPageCreationParameters& parameters)
+PassOwnPtr<DrawingArea> DrawingArea::create(WebPage* webPage, const WebPageCreationParameters& parameters)
{
- switch (parameters.drawingAreaInfo.type) {
- case DrawingAreaInfo::None:
- ASSERT_NOT_REACHED();
- break;
-
- case DrawingAreaInfo::Impl:
+ switch (parameters.drawingAreaType) {
+ case DrawingAreaTypeImpl:
#if PLATFORM(MAC) || PLATFORM(WIN)
- return DrawingAreaImpl::create(webPage, parameters);
+ return DrawingAreaImpl::create(webPage, parameters);
#else
- return 0;
+ return 0;
#endif
- case DrawingAreaInfo::ChunkedUpdate:
- return adoptRef(new ChunkedUpdateDrawingArea(parameters.drawingAreaInfo.identifier, webPage));
+ case DrawingAreaTypeChunkedUpdate:
+ return adoptPtr(new ChunkedUpdateDrawingArea(webPage));
-#if USE(ACCELERATED_COMPOSITING) && PLATFORM(MAC)
- case DrawingAreaInfo::LayerBacked:
- return adoptRef(new LayerBackedDrawingArea(parameters.drawingAreaInfo.identifier, webPage));
-#endif
#if ENABLE(TILED_BACKING_STORE)
- case DrawingAreaInfo::Tiled:
- return adoptRef(new TiledDrawingArea(parameters.drawingAreaInfo.identifier, webPage));
+ case DrawingAreaTypeTiled:
+ return adoptPtr(new TiledDrawingArea(webPage));
#endif
}
return 0;
}
-DrawingArea::DrawingArea(DrawingAreaInfo::Type type, DrawingAreaInfo::Identifier identifier, WebPage* webPage)
- : m_info(type, identifier)
+DrawingArea::DrawingArea(DrawingAreaType type, WebPage* webPage)
+ : m_type(type)
, m_webPage(webPage)
{
}
diff --git a/Source/WebKit2/WebProcess/WebPage/DrawingArea.h b/Source/WebKit2/WebProcess/WebPage/DrawingArea.h
index de256b6..940e40e 100644
--- a/Source/WebKit2/WebProcess/WebPage/DrawingArea.h
+++ b/Source/WebKit2/WebProcess/WebPage/DrawingArea.h
@@ -28,13 +28,17 @@
#include "DrawingAreaInfo.h"
#include <WebCore/IntRect.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
+#include <wtf/Noncopyable.h>
+#include <wtf/PassOwnPtr.h>
+
+namespace CoreIPC {
+ class ArgumentDecoder;
+ class Connection;
+ class MessageID;
+}
namespace WebCore {
-#if USE(ACCELERATED_COMPOSITING)
class GraphicsLayer;
-#endif
}
namespace WebKit {
@@ -42,10 +46,11 @@ namespace WebKit {
class WebPage;
struct WebPageCreationParameters;
-class DrawingArea : public RefCounted<DrawingArea> {
+class DrawingArea {
+ WTF_MAKE_NONCOPYABLE(DrawingArea);
+
public:
- // FIXME: It might make sense to move this create function into a factory style class.
- static PassRefPtr<DrawingArea> create(WebPage*, const WebPageCreationParameters&);
+ static PassOwnPtr<DrawingArea> create(WebPage*, const WebPageCreationParameters&);
virtual ~DrawingArea();
#if PLATFORM(MAC) || PLATFORM(WIN)
@@ -57,7 +62,6 @@ public:
// FIXME: These should be pure virtual.
virtual void pageBackgroundTransparencyChanged() { }
- virtual void onPageClose() { }
virtual void forceRepaint() { }
virtual void didInstallPageOverlay() { }
@@ -65,8 +69,6 @@ public:
virtual void setPageOverlayNeedsDisplay(const WebCore::IntRect&) { }
#if USE(ACCELERATED_COMPOSITING)
- virtual void attachCompositingContext() = 0;
- virtual void detachCompositingContext() = 0;
virtual void setRootCompositingLayer(WebCore::GraphicsLayer*) = 0;
virtual void scheduleCompositingLayerSync() = 0;
virtual void syncCompositingLayers() = 0;
@@ -74,18 +76,16 @@ public:
virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) = 0;
- const DrawingAreaInfo& info() const { return m_info; }
-
protected:
- DrawingArea(DrawingAreaInfo::Type, DrawingAreaInfo::Identifier, WebPage*);
+ DrawingArea(DrawingAreaType, WebPage*);
- DrawingAreaInfo m_info;
+ DrawingAreaType m_type;
WebPage* m_webPage;
private:
// CoreIPC message handlers.
// FIXME: These should be pure virtual.
- virtual void setSize(const WebCore::IntSize& size, const WebCore::IntSize& scrollOffset) { }
+ virtual void updateBackingStoreState(uint64_t backingStoreStateID, bool respondImmediately, const WebCore::IntSize& size, const WebCore::IntSize& scrollOffset) { }
virtual void didUpdate() { }
virtual void suspendPainting() { }
virtual void resumePainting() { }
diff --git a/Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in b/Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in
index ec09e18..30186f2 100644
--- a/Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in
+++ b/Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in
@@ -21,7 +21,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
messages -> DrawingArea {
- SetSize(WebCore::IntSize size, WebCore::IntSize scrollOffset)
+ UpdateBackingStoreState(uint64_t backingStoreStateID, bool respondImmediately, WebCore::IntSize size, WebCore::IntSize scrollOffset)
DidUpdate()
SuspendPainting()
ResumePainting()
diff --git a/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp b/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp
index 6d65fae..0a18256 100644
--- a/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp
@@ -34,6 +34,8 @@
#include "WebPageCreationParameters.h"
#include "WebProcess.h"
#include <WebCore/GraphicsContext.h>
+#include <WebCore/Page.h>
+#include <WebCore/Settings.h>
#if !PLATFORM(MAC) && !PLATFORM(WIN)
#error "This drawing area is not ready for use by other ports yet."
@@ -43,15 +45,9 @@ using namespace WebCore;
namespace WebKit {
-static uint64_t generateSequenceNumber()
+PassOwnPtr<DrawingAreaImpl> DrawingAreaImpl::create(WebPage* webPage, const WebPageCreationParameters& parameters)
{
- static uint64_t sequenceNumber;
- return ++sequenceNumber;
-}
-
-PassRefPtr<DrawingAreaImpl> DrawingAreaImpl::create(WebPage* webPage, const WebPageCreationParameters& parameters)
-{
- return adoptRef(new DrawingAreaImpl(webPage, parameters));
+ return adoptPtr(new DrawingAreaImpl(webPage, parameters));
}
DrawingAreaImpl::~DrawingAreaImpl()
@@ -61,13 +57,21 @@ DrawingAreaImpl::~DrawingAreaImpl()
}
DrawingAreaImpl::DrawingAreaImpl(WebPage* webPage, const WebPageCreationParameters& parameters)
- : DrawingArea(DrawingAreaInfo::Impl, parameters.drawingAreaInfo.identifier, webPage)
- , m_inSetSize(false)
+ : DrawingArea(DrawingAreaTypeImpl, webPage)
+ , m_backingStoreStateID(0)
+ , m_inUpdateBackingStoreState(false)
+ , m_shouldSendDidUpdateBackingStoreState(false)
, m_isWaitingForDidUpdate(false)
, m_isPaintingSuspended(!parameters.isVisible)
+ , m_alwaysUseCompositing(false)
, m_displayTimer(WebProcess::shared().runLoop(), this, &DrawingAreaImpl::display)
, m_exitCompositingTimer(WebProcess::shared().runLoop(), this, &DrawingAreaImpl::exitAcceleratedCompositingMode)
{
+ if (webPage->corePage()->settings()->acceleratedDrawingEnabled())
+ m_alwaysUseCompositing = true;
+
+ if (m_alwaysUseCompositing)
+ enterAcceleratedCompositingMode(0);
}
void DrawingAreaImpl::setNeedsDisplay(const IntRect& rect)
@@ -142,6 +146,15 @@ void DrawingAreaImpl::scroll(const IntRect& scrollRect, const IntSize& scrollOff
void DrawingAreaImpl::forceRepaint()
{
+ setNeedsDisplay(m_webPage->bounds());
+
+ m_webPage->layoutIfNeeded();
+
+ if (m_layerTreeHost) {
+ m_layerTreeHost->forceRepaint();
+ return;
+ }
+
m_isWaitingForDidUpdate = false;
display();
}
@@ -170,12 +183,21 @@ void DrawingAreaImpl::setPageOverlayNeedsDisplay(const IntRect& rect)
setNeedsDisplay(rect);
}
-void DrawingAreaImpl::attachCompositingContext()
+void DrawingAreaImpl::layerHostDidFlushLayers()
{
-}
+ ASSERT(m_layerTreeHost);
-void DrawingAreaImpl::detachCompositingContext()
-{
+ m_layerTreeHost->forceRepaint();
+
+ if (m_shouldSendDidUpdateBackingStoreState) {
+ sendDidUpdateBackingStoreState();
+ return;
+ }
+
+ if (!m_layerTreeHost)
+ return;
+
+ m_webPage->send(Messages::DrawingAreaProxy::EnterAcceleratedCompositingMode(m_backingStoreStateID, m_layerTreeHost->layerTreeContext()));
}
void DrawingAreaImpl::setRootCompositingLayer(GraphicsLayer* graphicsLayer)
@@ -191,9 +213,17 @@ void DrawingAreaImpl::setRootCompositingLayer(GraphicsLayer* graphicsLayer)
}
} else {
if (m_layerTreeHost) {
- // We'll exit accelerated compositing mode on a timer, to avoid re-entering
- // compositing code via display() and layout.
- exitAcceleratedCompositingModeSoon();
+ m_layerTreeHost->setRootCompositingLayer(0);
+ if (!m_alwaysUseCompositing) {
+ // We'll exit accelerated compositing mode on a timer, to avoid re-entering
+ // compositing code via display() and layout.
+ // If we're leaving compositing mode because of a setSize, it is safe to
+ // exit accelerated compositing mode right away.
+ if (m_inUpdateBackingStoreState)
+ exitAcceleratedCompositingMode();
+ else
+ exitAcceleratedCompositingModeSoon();
+ }
}
}
}
@@ -213,39 +243,74 @@ void DrawingAreaImpl::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID
{
}
-void DrawingAreaImpl::setSize(const WebCore::IntSize& size, const WebCore::IntSize& scrollOffset)
+void DrawingAreaImpl::updateBackingStoreState(uint64_t stateID, bool respondImmediately, const WebCore::IntSize& size, const WebCore::IntSize& scrollOffset)
{
- ASSERT(!m_inSetSize);
- m_inSetSize = true;
+ ASSERT(!m_inUpdateBackingStoreState);
+ m_inUpdateBackingStoreState = true;
+
+ ASSERT_ARG(stateID, stateID >= m_backingStoreStateID);
+ if (stateID != m_backingStoreStateID) {
+ m_backingStoreStateID = stateID;
+ m_shouldSendDidUpdateBackingStoreState = true;
+
+ m_webPage->setSize(size);
+ m_webPage->layoutIfNeeded();
+ m_webPage->scrollMainFrameIfNotAtMaxScrollPosition(scrollOffset);
+
+ if (m_layerTreeHost)
+ m_layerTreeHost->sizeDidChange(size);
+ else
+ m_dirtyRegion = m_webPage->bounds();
+ } else {
+ ASSERT(size == m_webPage->size());
+ if (!m_shouldSendDidUpdateBackingStoreState) {
+ // We've already sent a DidUpdateBackingStoreState message for this state. We have nothing more to do.
+ m_inUpdateBackingStoreState = false;
+ return;
+ }
+ }
- // Set this to false since we're about to call display().
+ // The UI process has updated to a new backing store state. Any Update messages we sent before
+ // this point will be ignored. We wait to set this to false until after updating the page's
+ // size so that any displays triggered by the relayout will be ignored. If we're supposed to
+ // respond to the UpdateBackingStoreState message immediately, we'll do a display anyway in
+ // sendDidUpdateBackingStoreState; otherwise we shouldn't do one right now.
m_isWaitingForDidUpdate = false;
- m_webPage->setSize(size);
- m_webPage->layoutIfNeeded();
- m_webPage->scrollMainFrameIfNotAtMaxScrollPosition(scrollOffset);
+ if (respondImmediately)
+ sendDidUpdateBackingStoreState();
+
+ m_inUpdateBackingStoreState = false;
+}
+
+void DrawingAreaImpl::sendDidUpdateBackingStoreState()
+{
+ ASSERT(!m_isWaitingForDidUpdate);
+ ASSERT(m_shouldSendDidUpdateBackingStoreState);
+
+ m_shouldSendDidUpdateBackingStoreState = false;
UpdateInfo updateInfo;
LayerTreeContext layerTreeContext;
- if (m_layerTreeHost) {
- m_layerTreeHost->sizeDidChange(size);
- layerTreeContext = m_layerTreeHost->layerTreeContext();
- }
+ if (!m_isPaintingSuspended && !m_layerTreeHost)
+ display(updateInfo);
- if (m_isPaintingSuspended || m_layerTreeHost)
+ if (m_isPaintingSuspended || m_layerTreeHost) {
updateInfo.viewSize = m_webPage->size();
- else {
- m_dirtyRegion.unite(m_webPage->bounds());
- // The display here should not cause layout to happen, so we can't enter accelerated compositing mode here.
- display(updateInfo);
- ASSERT(!m_layerTreeHost);
- }
+ if (m_layerTreeHost) {
+ layerTreeContext = m_layerTreeHost->layerTreeContext();
- m_webPage->send(Messages::DrawingAreaProxy::DidSetSize(generateSequenceNumber(), updateInfo, layerTreeContext));
+ // We don't want the layer tree host to notify after the next scheduled
+ // layer flush because that might end up sending an EnterAcceleratedCompositingMode
+ // message back to the UI process, but the updated layer tree context
+ // will be sent back in the DidUpdateBackingStoreState message.
+ m_layerTreeHost->setShouldNotifyAfterNextScheduledLayerFlush(false);
+ }
+ }
- m_inSetSize = false;
+ m_webPage->send(Messages::DrawingAreaProxy::DidUpdateBackingStoreState(m_backingStoreStateID, updateInfo, layerTreeContext));
}
void DrawingAreaImpl::didUpdate()
@@ -286,6 +351,9 @@ void DrawingAreaImpl::enterAcceleratedCompositingMode(GraphicsLayer* graphicsLay
ASSERT(!m_layerTreeHost);
m_layerTreeHost = LayerTreeHost::create(m_webPage);
+ if (!m_inUpdateBackingStoreState)
+ m_layerTreeHost->setShouldNotifyAfterNextScheduledLayerFlush(true);
+
m_layerTreeHost->setRootCompositingLayer(graphicsLayer);
// Non-composited content will now be handled exclusively by the layer tree host.
@@ -294,35 +362,38 @@ void DrawingAreaImpl::enterAcceleratedCompositingMode(GraphicsLayer* graphicsLay
m_scrollOffset = IntSize();
m_displayTimer.stop();
m_isWaitingForDidUpdate = false;
-
- if (!m_inSetSize)
- m_webPage->send(Messages::DrawingAreaProxy::EnterAcceleratedCompositingMode(generateSequenceNumber(), m_layerTreeHost->layerTreeContext()));
}
void DrawingAreaImpl::exitAcceleratedCompositingMode()
{
+ if (m_alwaysUseCompositing)
+ return;
+
m_exitCompositingTimer.stop();
ASSERT(m_layerTreeHost);
m_layerTreeHost->invalidate();
m_layerTreeHost = nullptr;
+ m_dirtyRegion = m_webPage->bounds();
+
+ if (m_inUpdateBackingStoreState)
+ return;
- if (m_inSetSize)
+ if (m_shouldSendDidUpdateBackingStoreState) {
+ sendDidUpdateBackingStoreState();
return;
+ }
UpdateInfo updateInfo;
if (m_isPaintingSuspended)
updateInfo.viewSize = m_webPage->size();
- else {
- m_dirtyRegion = m_webPage->bounds();
+ else
display(updateInfo);
- }
// Send along a complete update of the page so we can paint the contents right after we exit the
// accelerated compositing mode, eliminiating flicker.
- if (!m_inSetSize)
- m_webPage->send(Messages::DrawingAreaProxy::ExitAcceleratedCompositingMode(generateSequenceNumber(), updateInfo));
+ m_webPage->send(Messages::DrawingAreaProxy::ExitAcceleratedCompositingMode(m_backingStoreStateID, updateInfo));
}
void DrawingAreaImpl::exitAcceleratedCompositingModeSoon()
@@ -354,6 +425,7 @@ void DrawingAreaImpl::display()
{
ASSERT(!m_layerTreeHost);
ASSERT(!m_isWaitingForDidUpdate);
+ ASSERT(!m_inUpdateBackingStoreState);
if (m_isPaintingSuspended)
return;
@@ -361,6 +433,11 @@ void DrawingAreaImpl::display()
if (m_dirtyRegion.isEmpty())
return;
+ if (m_shouldSendDidUpdateBackingStoreState) {
+ sendDidUpdateBackingStoreState();
+ return;
+ }
+
UpdateInfo updateInfo;
display(updateInfo);
@@ -370,7 +447,7 @@ void DrawingAreaImpl::display()
return;
}
- m_webPage->send(Messages::DrawingAreaProxy::Update(generateSequenceNumber(), updateInfo));
+ m_webPage->send(Messages::DrawingAreaProxy::Update(m_backingStoreStateID, updateInfo));
m_isWaitingForDidUpdate = true;
}
@@ -405,7 +482,20 @@ void DrawingAreaImpl::display(UpdateInfo& updateInfo)
if (m_webPage->mainFrameHasCustomRepresentation())
return;
+ m_webPage->layoutIfNeeded();
+
+ // The layout may have put the page into accelerated compositing mode, in which case the
+ // LayerTreeHost is now in charge of displaying.
+ if (m_layerTreeHost)
+ return;
+
IntRect bounds = m_dirtyRegion.bounds();
+ ASSERT(m_webPage->bounds().contains(bounds));
+
+ RefPtr<ShareableBitmap> bitmap = ShareableBitmap::createShareable(bounds.size());
+ if (!bitmap->createHandle(updateInfo.bitmapHandle))
+ return;
+
Vector<IntRect> rects = m_dirtyRegion.rects();
if (shouldPaintBoundsRect(bounds, rects)) {
@@ -419,14 +509,8 @@ void DrawingAreaImpl::display(UpdateInfo& updateInfo)
m_dirtyRegion = Region();
m_scrollRect = IntRect();
m_scrollOffset = IntSize();
-
- RefPtr<ShareableBitmap> bitmap = ShareableBitmap::createShareable(bounds.size());
- if (!bitmap->createHandle(updateInfo.bitmapHandle))
- return;
OwnPtr<GraphicsContext> graphicsContext = bitmap->createGraphicsContext();
-
- m_webPage->layoutIfNeeded();
updateInfo.viewSize = m_webPage->size();
updateInfo.updateRectBounds = bounds;
diff --git a/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h b/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h
index cbb94c2..8d85200 100644
--- a/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h
+++ b/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h
@@ -37,9 +37,11 @@ class UpdateInfo;
class DrawingAreaImpl : public DrawingArea {
public:
- static PassRefPtr<DrawingAreaImpl> create(WebPage*, const WebPageCreationParameters&);
+ static PassOwnPtr<DrawingAreaImpl> create(WebPage*, const WebPageCreationParameters&);
virtual ~DrawingAreaImpl();
+ void layerHostDidFlushLayers();
+
private:
DrawingAreaImpl(WebPage*, const WebPageCreationParameters&);
@@ -52,19 +54,19 @@ private:
virtual void didUninstallPageOverlay();
virtual void setPageOverlayNeedsDisplay(const WebCore::IntRect&);
- virtual void attachCompositingContext();
- virtual void detachCompositingContext();
virtual void setRootCompositingLayer(WebCore::GraphicsLayer*);
virtual void scheduleCompositingLayerSync();
virtual void syncCompositingLayers();
virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
// CoreIPC message handlers.
- virtual void setSize(const WebCore::IntSize&, const WebCore::IntSize& scrollOffset);
+ virtual void updateBackingStoreState(uint64_t backingStoreStateID, bool respondImmediately, const WebCore::IntSize&, const WebCore::IntSize& scrollOffset);
virtual void didUpdate();
virtual void suspendPainting();
virtual void resumePainting();
+ void sendDidUpdateBackingStoreState();
+
void enterAcceleratedCompositingMode(WebCore::GraphicsLayer*);
void exitAcceleratedCompositingModeSoon();
void exitAcceleratedCompositingMode();
@@ -73,12 +75,18 @@ private:
void display();
void display(UpdateInfo&);
+ uint64_t m_backingStoreStateID;
+
Region m_dirtyRegion;
WebCore::IntRect m_scrollRect;
WebCore::IntSize m_scrollOffset;
- // Whether we're currently processing a setSize message.
- bool m_inSetSize;
+ // Whether we're currently processing an UpdateBackingStoreState message.
+ bool m_inUpdateBackingStoreState;
+
+ // When true, we should send an UpdateBackingStoreState message instead of any other messages
+ // we normally send to the UI process.
+ bool m_shouldSendDidUpdateBackingStoreState;
// Whether we're waiting for a DidUpdate message. Used for throttling paints so that the
// web process won't paint more frequent than the UI process can handle.
@@ -87,6 +95,7 @@ private:
// Whether painting is suspended. We'll still keep track of the dirty region but we
// won't paint until painting has resumed again.
bool m_isPaintingSuspended;
+ bool m_alwaysUseCompositing;
RunLoop::Timer<DrawingAreaImpl> m_displayTimer;
RunLoop::Timer<DrawingAreaImpl> m_exitCompositingTimer;
diff --git a/Source/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.cpp b/Source/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.cpp
deleted file mode 100644
index 44b3bd6..0000000
--- a/Source/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.cpp
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * Copyright (C) 2010 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 "LayerBackedDrawingArea.h"
-
-#if USE(ACCELERATED_COMPOSITING)
-
-#include "DrawingAreaMessageKinds.h"
-#include "DrawingAreaProxyMessageKinds.h"
-#include "MessageID.h"
-#include "WebCoreArgumentCoders.h"
-#include "WebPage.h"
-#include "WebProcess.h"
-#include <WebCore/GraphicsLayer.h>
-#include <WebCore/Page.h>
-#include <WebCore/Settings.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-LayerBackedDrawingArea::LayerBackedDrawingArea(DrawingAreaInfo::Identifier identifier, WebPage* webPage)
- : DrawingArea(DrawingAreaInfo::LayerBacked, identifier, webPage)
- , m_syncTimer(WebProcess::shared().runLoop(), this, &LayerBackedDrawingArea::syncCompositingLayers)
- , m_attached(false)
- , m_shouldPaint(true)
-{
- m_hostingLayer = GraphicsLayer::create(this);
- m_hostingLayer->setDrawsContent(false);
-#ifndef NDEBUG
- m_hostingLayer->setName("DrawingArea hosting layer");
-#endif
- m_hostingLayer->setSize(webPage->size());
- m_backingLayer = GraphicsLayer::create(this);
- m_backingLayer->setDrawsContent(true);
- m_backingLayer->setContentsOpaque(webPage->drawsBackground() && !webPage->drawsTransparentBackground());
-
-#ifndef NDEBUG
- m_backingLayer->setName("DrawingArea backing layer");
-#endif
- m_backingLayer->setSize(webPage->size());
- m_hostingLayer->addChild(m_backingLayer.get());
- platformInit();
-}
-
-LayerBackedDrawingArea::~LayerBackedDrawingArea()
-{
- platformClear();
-}
-
-void LayerBackedDrawingArea::scroll(const IntRect& scrollRect, const IntSize& scrollOffset)
-{
- // FIXME: Do something much smarter.
- setNeedsDisplay(scrollRect);
-}
-
-void LayerBackedDrawingArea::setNeedsDisplay(const IntRect& rect)
-{
- m_backingLayer->setNeedsDisplayInRect(rect);
- scheduleCompositingLayerSync();
-}
-
-void LayerBackedDrawingArea::display()
-{
- // Laying out the page can cause the drawing area to change so we keep an extra reference.
- RefPtr<LayerBackedDrawingArea> protect(this);
-
- // Layout if necessary.
- m_webPage->layoutIfNeeded();
-
- if (m_webPage->drawingArea() != this)
- return;
-}
-
-void LayerBackedDrawingArea::pageBackgroundTransparencyChanged()
-{
- m_backingLayer->setContentsOpaque(m_webPage->drawsBackground() && !m_webPage->drawsTransparentBackground());
-}
-
-void LayerBackedDrawingArea::scheduleDisplay()
-{
-}
-
-void LayerBackedDrawingArea::setSize(const IntSize& viewSize)
-{
- ASSERT(m_shouldPaint);
- ASSERT_ARG(viewSize, !viewSize.isEmpty());
-
- m_hostingLayer->setSize(viewSize);
- m_backingLayer->setSize(viewSize);
- scheduleCompositingLayerSync();
-
- // Laying out the page can cause the drawing area to change so we keep an extra reference.
- RefPtr<LayerBackedDrawingArea> protect(this);
-
- m_webPage->setSize(viewSize);
- m_webPage->layoutIfNeeded();
-
- if (m_webPage->drawingArea() != this)
- return;
-
- WebProcess::shared().connection()->deprecatedSend(DrawingAreaProxyLegacyMessage::DidSetSize, m_webPage->pageID(), CoreIPC::In(viewSize));
-}
-
-void LayerBackedDrawingArea::suspendPainting()
-{
- ASSERT(m_shouldPaint);
-
- m_shouldPaint = false;
-}
-
-void LayerBackedDrawingArea::resumePainting()
-{
- ASSERT(!m_shouldPaint);
-
- m_shouldPaint = true;
-
- // Display if needed.
- display();
-}
-
-void LayerBackedDrawingArea::didUpdate()
-{
- // Display if needed.
- display();
-}
-
-void LayerBackedDrawingArea::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
-{
- DrawingAreaInfo::Identifier targetIdentifier;
- if (!arguments->decode(CoreIPC::Out(targetIdentifier)))
- return;
-
- // We can switch drawing areas on the fly, so if this message was targetted at an obsolete drawing area, ignore it.
- if (targetIdentifier != info().identifier)
- return;
-
- switch (messageID.get<DrawingAreaLegacyMessage::Kind>()) {
- case DrawingAreaLegacyMessage::SetSize: {
- IntSize size;
- if (!arguments->decode(CoreIPC::Out(size)))
- return;
-
- setSize(size);
- break;
- }
-
- case DrawingAreaLegacyMessage::SuspendPainting:
- suspendPainting();
- break;
-
- case DrawingAreaLegacyMessage::ResumePainting:
- resumePainting();
- break;
-
- case DrawingAreaLegacyMessage::DidUpdate:
- didUpdate();
- break;
-
- default:
- ASSERT_NOT_REACHED();
- break;
- }
-}
-
-// GraphicsLayerClient methods
-void LayerBackedDrawingArea::paintContents(const GraphicsLayer*, GraphicsContext& graphicsContext, GraphicsLayerPaintingPhase, const IntRect& inClip)
-{
- m_webPage->drawRect(graphicsContext, inClip);
-}
-
-bool LayerBackedDrawingArea::showDebugBorders() const
-{
- return m_webPage->corePage()->settings()->showDebugBorders();
-}
-
-bool LayerBackedDrawingArea::showRepaintCounter() const
-{
- return m_webPage->corePage()->settings()->showRepaintCounter();
-}
-
-#if !PLATFORM(MAC) && !PLATFORM(WIN)
-void LayerBackedDrawingArea::attachCompositingContext(GraphicsLayer*)
-{
-}
-
-void LayerBackedDrawingArea::detachCompositingContext()
-{
-}
-
-#if !PLATFORM(MAC)
-void LayerBackedDrawingArea::setRootCompositingLayer(WebCore::GraphicsLayer*)
-{
-}
-#endif
-
-void LayerBackedDrawingArea::scheduleCompositingLayerSync()
-{
-}
-
-void LayerBackedDrawingArea::syncCompositingLayers()
-{
-}
-
-void LayerBackedDrawingArea::platformInit()
-{
-}
-
-void LayerBackedDrawingArea::platformClear()
-{
-}
-#endif
-
-} // namespace WebKit
-
-#endif // USE(ACCELERATED_COMPOSITING)
diff --git a/Source/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.h b/Source/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.h
deleted file mode 100644
index 400c8c5..0000000
--- a/Source/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright (C) 2010 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 LayerBackedDrawingArea_h
-#define LayerBackedDrawingArea_h
-
-#if USE(ACCELERATED_COMPOSITING)
-
-#include "DrawingArea.h"
-#include "RunLoop.h"
-#include <WebCore/IntPoint.h>
-#include <WebCore/GraphicsLayerClient.h>
-
-#if PLATFORM(MAC)
-#include <wtf/RetainPtr.h>
-OBJC_CLASS NSPopUpButtonCell;
-OBJC_CLASS WKView;
-typedef struct __WKCARemoteLayerClientRef *WKCARemoteLayerClientRef;
-#endif
-
-namespace WebCore {
- class GraphicsContext;
- class GraphicsLayer;
-}
-
-namespace WebKit {
-
-class LayerBackedDrawingArea : public DrawingArea, private WebCore::GraphicsLayerClient {
-public:
- LayerBackedDrawingArea(DrawingAreaInfo::Identifier identifier, WebPage*);
- virtual ~LayerBackedDrawingArea();
-
- virtual void setNeedsDisplay(const WebCore::IntRect&);
- virtual void scroll(const WebCore::IntRect& scrollRect, const WebCore::IntSize& scrollOffset);
- virtual void display();
-
- virtual void pageBackgroundTransparencyChanged();
-
- virtual void attachCompositingContext();
- virtual void detachCompositingContext();
- virtual void setRootCompositingLayer(WebCore::GraphicsLayer*);
- virtual void scheduleCompositingLayerSync();
- virtual void syncCompositingLayers();
-
- virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
-
-private:
-
- // GraphicsLayerClient
- virtual void notifyAnimationStarted(const WebCore::GraphicsLayer*, double /*time*/) { }
- virtual void notifySyncRequired(const WebCore::GraphicsLayer*) { }
-public:
- virtual void paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext&, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect& inClip);
-private:
- virtual bool showDebugBorders() const;
- virtual bool showRepaintCounter() const;
-
-#if PLATFORM(MAC)
- virtual void onPageClose();
-#endif
-
- void scheduleDisplay();
-
- // CoreIPC message handlers.
- void setSize(const WebCore::IntSize& viewSize);
- void suspendPainting();
- void resumePainting();
- void didUpdate();
-
- void platformInit();
- void platformClear();
-
-#if PLATFORM(MAC)
- void setUpUpdateLayoutRunLoopObserver();
- void scheduleUpdateLayoutRunLoopObserver();
- void removeUpdateLayoutRunLoopObserver();
-
- static void updateLayoutRunLoopObserverCallback(CFRunLoopObserverRef, CFRunLoopActivity, void*);
- void updateLayoutRunLoopObserverFired();
-#endif
-
- RunLoop::Timer<LayerBackedDrawingArea> m_syncTimer;
-
- OwnPtr<WebCore::GraphicsLayer> m_hostingLayer;
- OwnPtr<WebCore::GraphicsLayer> m_backingLayer;
-#if PLATFORM(MAC)
-#if HAVE(HOSTED_CORE_ANIMATION)
- RetainPtr<WKCARemoteLayerClientRef> m_remoteLayerRef;
-#endif
- RetainPtr<CFRunLoopObserverRef> m_updateLayoutRunLoopObserver;
-#endif
-
- bool m_attached;
- bool m_shouldPaint;
-};
-
-} // namespace WebKit
-
-#endif // USE(ACCELERATED_COMPOSITING)
-
-#endif // LayerBackedDrawingArea_h
diff --git a/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h b/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h
index 4ca1137..bbb94e8 100644
--- a/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h
+++ b/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h
@@ -47,11 +47,13 @@ public:
virtual const LayerTreeContext& layerTreeContext() = 0;
virtual void scheduleLayerFlush() = 0;
+ virtual void setShouldNotifyAfterNextScheduledLayerFlush(bool) = 0;
virtual void setRootCompositingLayer(WebCore::GraphicsLayer*) = 0;
virtual void invalidate() = 0;
virtual void setNonCompositedContentsNeedDisplay(const WebCore::IntRect&) = 0;
virtual void scrollNonCompositedContents(const WebCore::IntRect& scrollRect, const WebCore::IntSize& scrollOffset) = 0;
+ virtual void forceRepaint() = 0;
virtual void sizeDidChange(const WebCore::IntSize& newSize) = 0;
virtual void didInstallPageOverlay() = 0;
diff --git a/Source/WebKit2/WebProcess/WebPage/TiledDrawingArea.cpp b/Source/WebKit2/WebProcess/WebPage/TiledDrawingArea.cpp
index f27f14f..5997564 100644
--- a/Source/WebKit2/WebProcess/WebPage/TiledDrawingArea.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/TiledDrawingArea.cpp
@@ -43,8 +43,8 @@ using namespace WebCore;
namespace WebKit {
-TiledDrawingArea::TiledDrawingArea(DrawingAreaInfo::Identifier identifier, WebPage* webPage)
- : DrawingArea(DrawingAreaInfo::Tiled, identifier, webPage)
+TiledDrawingArea::TiledDrawingArea(WebPage* webPage)
+ : DrawingArea(DrawingAreaTypeTiled, webPage)
, m_isWaitingForUpdate(false)
, m_shouldPaint(true)
, m_displayTimer(WebProcess::shared().runLoop(), this, &TiledDrawingArea::display)
diff --git a/Source/WebKit2/WebProcess/WebPage/TiledDrawingArea.h b/Source/WebKit2/WebProcess/WebPage/TiledDrawingArea.h
index 7b682ca..3572c9f 100644
--- a/Source/WebKit2/WebProcess/WebPage/TiledDrawingArea.h
+++ b/Source/WebKit2/WebProcess/WebPage/TiledDrawingArea.h
@@ -30,7 +30,6 @@
#include "DrawingArea.h"
#include "RunLoop.h"
-#include <WebCore/IntPoint.h>
#include <WebCore/IntRect.h>
#include <wtf/Vector.h>
@@ -40,7 +39,7 @@ class UpdateChunk;
class TiledDrawingArea : public DrawingArea {
public:
- TiledDrawingArea(DrawingAreaInfo::Identifier, WebPage*);
+ explicit TiledDrawingArea(WebPage*);
virtual ~TiledDrawingArea();
virtual void setNeedsDisplay(const WebCore::IntRect&);
diff --git a/Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp b/Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp
index 7b958bf..02688c5 100644
--- a/Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp
@@ -51,13 +51,13 @@ typedef HashMap<RefPtr<HistoryItem>, uint64_t> HistoryItemToIDMap;
static IDToHistoryItemMap& idToHistoryItemMap()
{
- static IDToHistoryItemMap map;
+ DEFINE_STATIC_LOCAL(IDToHistoryItemMap, map, ());
return map;
}
static HistoryItemToIDMap& historyItemToIDMap()
{
- static HistoryItemToIDMap map;
+ DEFINE_STATIC_LOCAL(HistoryItemToIDMap, map, ());
return map;
}
@@ -118,6 +118,12 @@ HistoryItem* WebBackForwardListProxy::itemForID(uint64_t itemID)
return idToHistoryItemMap().get(itemID).get();
}
+uint64_t WebBackForwardListProxy::idForItem(HistoryItem* item)
+{
+ ASSERT(item);
+ return historyItemToIDMap().get(item);
+}
+
void WebBackForwardListProxy::removeItem(uint64_t itemID)
{
IDToHistoryItemMap::iterator it = idToHistoryItemMap().find(itemID);
diff --git a/Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.h b/Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.h
index be28739..00ef8f6 100644
--- a/Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.h
+++ b/Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.h
@@ -38,6 +38,7 @@ public:
static PassRefPtr<WebBackForwardListProxy> create(WebPage* page) { return adoptRef(new WebBackForwardListProxy(page)); }
static WebCore::HistoryItem* itemForID(uint64_t);
+ static uint64_t idForItem(WebCore::HistoryItem*);
static void removeItem(uint64_t itemID);
static void addItemFromUIProcess(uint64_t itemID, PassRefPtr<WebCore::HistoryItem>);
diff --git a/Source/WebKit2/WebProcess/WebPage/WebInspector.cpp b/Source/WebKit2/WebProcess/WebPage/WebInspector.cpp
index 4b3fdaf..58ae5ea 100644
--- a/Source/WebKit2/WebProcess/WebPage/WebInspector.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/WebInspector.cpp
@@ -86,6 +86,11 @@ void WebInspector::didClose()
WebProcess::shared().connection()->send(Messages::WebInspectorProxy::DidClose(), m_page->pageID());
}
+void WebInspector::inspectedURLChanged(const String& urlString)
+{
+ WebProcess::shared().connection()->send(Messages::WebInspectorProxy::InspectedURLChanged(urlString), m_page->pageID());
+}
+
// Called by WebInspector messages
void WebInspector::show()
{
diff --git a/Source/WebKit2/WebProcess/WebPage/WebInspector.h b/Source/WebKit2/WebProcess/WebPage/WebInspector.h
index 517ae8e..6b1c77a 100644
--- a/Source/WebKit2/WebProcess/WebPage/WebInspector.h
+++ b/Source/WebKit2/WebProcess/WebPage/WebInspector.h
@@ -73,6 +73,7 @@ private:
// Called from WebInspectorFrontendClient
void didLoadInspectorPage();
void didClose();
+ void inspectedURLChanged(const String&);
// Implemented in platform WebInspector file
String localizedStringsURL() const;
diff --git a/Source/WebKit2/WebProcess/WebPage/WebPage.cpp b/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
index 462d352..ff567bd 100644
--- a/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
@@ -91,6 +91,7 @@
#include <WebCore/RenderView.h>
#include <WebCore/ReplaceSelectionCommand.h>
#include <WebCore/ResourceRequest.h>
+#include <WebCore/SerializedScriptValue.h>
#include <WebCore/Settings.h>
#include <WebCore/SharedBuffer.h>
#include <WebCore/SubstituteData.h>
@@ -99,6 +100,9 @@
#include <runtime/JSLock.h>
#include <runtime/JSValue.h>
+#include <WebCore/Range.h>
+#include <WebCore/VisiblePosition.h>
+
#if PLATFORM(MAC) || PLATFORM(WIN)
#include <WebCore/LegacyWebArchive.h>
#endif
@@ -151,8 +155,11 @@ WebPage::WebPage(uint64_t pageID, const WebPageCreationParameters& parameters)
, m_findController(this)
, m_geolocationPermissionRequestManager(this)
, m_pageID(pageID)
+ , m_canRunBeforeUnloadConfirmPanel(parameters.canRunBeforeUnloadConfirmPanel)
, m_canRunModal(parameters.canRunModal)
, m_isRunningModal(false)
+ , m_cachedMainFrameIsPinnedToLeftSide(false)
+ , m_cachedMainFrameIsPinnedToRightSide(false)
{
ASSERT(m_pageID);
@@ -184,7 +191,7 @@ WebPage::WebPage(uint64_t pageID, const WebPageCreationParameters& parameters)
m_page->setGroupName(m_pageGroup->identifier());
platformInitialize();
- Settings::setMinDOMTimerInterval(0.004);
+ Settings::setDefaultMinDOMTimerInterval(0.004);
m_drawingArea = DrawingArea::create(this, parameters);
m_mainFrame = WebFrame::createMainFrame(this);
@@ -192,6 +199,8 @@ WebPage::WebPage(uint64_t pageID, const WebPageCreationParameters& parameters)
setDrawsBackground(parameters.drawsBackground);
setDrawsTransparentBackground(parameters.drawsTransparentBackground);
+ setMemoryCacheMessagesEnabled(parameters.areMemoryCacheClientCallsEnabled);
+
setActive(parameters.isActive);
setFocused(parameters.isFocused);
setIsInWindow(parameters.isInWindow);
@@ -319,45 +328,13 @@ void WebPage::clearMainFrameName()
}
#if USE(ACCELERATED_COMPOSITING)
-void WebPage::changeAcceleratedCompositingMode(WebCore::GraphicsLayer* layer)
-{
- if (m_isClosed)
- return;
-
- // With the new drawing area we don't need to inform the UI process when the accelerated
- // compositing mode changes.
- if (m_drawingArea->info().type == DrawingAreaInfo::Impl)
- return;
-
- bool compositing = layer;
-
- // Tell the UI process that accelerated compositing changed. It may respond by changing
- // drawing area types.
- DrawingAreaInfo newDrawingAreaInfo;
-
- if (!sendSync(Messages::WebPageProxy::DidChangeAcceleratedCompositing(compositing), Messages::WebPageProxy::DidChangeAcceleratedCompositing::Reply(newDrawingAreaInfo)))
- return;
-
- if (newDrawingAreaInfo.type != drawingArea()->info().type) {
- m_drawingArea = 0;
- if (newDrawingAreaInfo.type != DrawingAreaInfo::None) {
- WebPageCreationParameters parameters;
- parameters.drawingAreaInfo = newDrawingAreaInfo;
- m_drawingArea = DrawingArea::create(this, parameters);
- m_drawingArea->setNeedsDisplay(IntRect(IntPoint(0, 0), m_viewSize));
- }
- }
-}
-
void WebPage::enterAcceleratedCompositingMode(GraphicsLayer* layer)
{
- changeAcceleratedCompositingMode(layer);
m_drawingArea->setRootCompositingLayer(layer);
}
void WebPage::exitAcceleratedCompositingMode()
{
- changeAcceleratedCompositingMode(0);
m_drawingArea->setRootCompositingLayer(0);
}
#endif
@@ -393,15 +370,16 @@ void WebPage::close()
m_mainFrame->coreFrame()->loader()->detachFromParent();
m_page.clear();
- m_drawingArea->onPageClose();
m_drawingArea.clear();
+ bool isRunningModal = m_isRunningModal;
+ m_isRunningModal = false;
+
+ // The WebPage can be destroyed by this call.
WebProcess::shared().removeWebPage(m_pageID);
- if (m_isRunningModal) {
- m_isRunningModal = false;
+ if (isRunningModal)
WebProcess::shared().runLoop()->stop();
- }
}
void WebPage::tryClose()
@@ -482,25 +460,34 @@ void WebPage::reload(bool reloadFromOrigin)
void WebPage::goForward(uint64_t backForwardItemID, const SandboxExtension::Handle& sandboxExtensionHandle)
{
- m_sandboxExtensionTracker.beginLoad(m_mainFrame.get(), sandboxExtensionHandle);
-
HistoryItem* item = WebBackForwardListProxy::itemForID(backForwardItemID);
+ ASSERT(item);
+ if (!item)
+ return;
+
+ m_sandboxExtensionTracker.beginLoad(m_mainFrame.get(), sandboxExtensionHandle);
m_page->goToItem(item, FrameLoadTypeForward);
}
void WebPage::goBack(uint64_t backForwardItemID, const SandboxExtension::Handle& sandboxExtensionHandle)
{
- m_sandboxExtensionTracker.beginLoad(m_mainFrame.get(), sandboxExtensionHandle);
-
HistoryItem* item = WebBackForwardListProxy::itemForID(backForwardItemID);
+ ASSERT(item);
+ if (!item)
+ return;
+
+ m_sandboxExtensionTracker.beginLoad(m_mainFrame.get(), sandboxExtensionHandle);
m_page->goToItem(item, FrameLoadTypeBack);
}
void WebPage::goToBackForwardItem(uint64_t backForwardItemID, const SandboxExtension::Handle& sandboxExtensionHandle)
{
- m_sandboxExtensionTracker.beginLoad(m_mainFrame.get(), sandboxExtensionHandle);
-
HistoryItem* item = WebBackForwardListProxy::itemForID(backForwardItemID);
+ ASSERT(item);
+ if (!item)
+ return;
+
+ m_sandboxExtensionTracker.beginLoad(m_mainFrame.get(), sandboxExtensionHandle);
m_page->goToItem(item, FrameLoadTypeIndexedBackForward);
}
@@ -603,10 +590,6 @@ void WebPage::drawRect(GraphicsContext& graphicsContext, const IntRect& rect)
graphicsContext.clip(rect);
m_mainFrame->coreFrame()->view()->paint(&graphicsContext, rect);
graphicsContext.restore();
-
- // FIXME: Remove this code once we're using the new drawing area on mac and windows.
- if (m_pageOverlay && m_drawingArea->info().type != DrawingAreaInfo::Impl)
- drawPageOverlay(graphicsContext, rect);
}
void WebPage::drawPageOverlay(GraphicsContext& graphicsContext, const IntRect& rect)
@@ -999,7 +982,7 @@ void WebPage::gestureEvent(const WebGestureEvent& gestureEvent)
}
#endif
-void WebPage::validateMenuItem(const String& commandName)
+void WebPage::validateCommand(const String& commandName, uint64_t callbackID)
{
bool isEnabled = false;
int32_t state = 0;
@@ -1010,7 +993,7 @@ void WebPage::validateMenuItem(const String& commandName)
isEnabled = command.isSupported() && command.isEnabled();
}
- send(Messages::WebPageProxy::DidValidateMenuItem(commandName, isEnabled, state));
+ send(Messages::WebPageProxy::ValidateCommandCallback(commandName, isEnabled, state, callbackID));
}
void WebPage::executeEditCommand(const String& commandName)
@@ -1209,18 +1192,29 @@ IntRect WebPage::windowResizerRect() const
m_windowResizerSize.width(), m_windowResizerSize.height());
}
+KeyboardUIMode WebPage::keyboardUIMode()
+{
+ bool fullKeyboardAccessEnabled = WebProcess::shared().fullKeyboardAccessEnabled();
+ return static_cast<KeyboardUIMode>((fullKeyboardAccessEnabled ? KeyboardAccessFull : KeyboardAccessDefault) | (m_tabToLinks ? KeyboardAccessTabsToLinks : 0));
+}
+
void WebPage::runJavaScriptInMainFrame(const String& script, uint64_t callbackID)
{
// NOTE: We need to be careful when running scripts that the objects we depend on don't
// disappear during script execution.
+ // Retain the SerializedScriptValue at this level so it (and the internal data) lives
+ // long enough for the DataReference to be encoded by the sent message.
+ RefPtr<SerializedScriptValue> serializedResultValue;
+ CoreIPC::DataReference dataReference;
+
JSLock lock(SilenceAssertionsOnly);
- JSValue resultValue = m_mainFrame->coreFrame()->script()->executeScript(script, true).jsValue();
- String resultString;
- if (resultValue)
- resultString = ustringToString(resultValue.toString(m_mainFrame->coreFrame()->script()->globalObject(mainThreadNormalWorld())->globalExec()));
+ if (JSValue resultValue = m_mainFrame->coreFrame()->script()->executeScript(script, true).jsValue()) {
+ if ((serializedResultValue = SerializedScriptValue::create(m_mainFrame->coreFrame()->script()->globalObject(mainThreadNormalWorld())->globalExec(), resultValue)))
+ dataReference = CoreIPC::DataReference(serializedResultValue->data().data(), serializedResultValue->data().size());
+ }
- send(Messages::WebPageProxy::StringCallback(resultString, callbackID));
+ send(Messages::WebPageProxy::ScriptValueCallback(dataReference, callbackID));
}
void WebPage::getContentsAsString(uint64_t callbackID)
@@ -1291,7 +1285,7 @@ void WebPage::getWebArchiveOfFrame(uint64_t frameID, uint64_t callbackID)
#if PLATFORM(MAC) || PLATFORM(WIN)
RetainPtr<CFDataRef> data;
if (WebFrame* frame = WebProcess::shared().webFrame(frameID)) {
- if (RefPtr<LegacyWebArchive> archive = LegacyWebArchive::create(frame->coreFrame())) {
+ if (RefPtr<LegacyWebArchive> archive = LegacyWebArchive::create(frame->coreFrame()->document())) {
if ((data = archive->rawDataRepresentation()))
dataReference = CoreIPC::DataReference(CFDataGetBytePtr(data.get()), CFDataGetLength(data.get()));
}
@@ -1301,12 +1295,17 @@ void WebPage::getWebArchiveOfFrame(uint64_t frameID, uint64_t callbackID)
send(Messages::WebPageProxy::DataCallback(dataReference, callbackID));
}
-void WebPage::forceRepaint(uint64_t callbackID)
+void WebPage::forceRepaintWithoutCallback()
{
m_drawingArea->forceRepaint();
+}
+
+void WebPage::forceRepaint(uint64_t callbackID)
+{
+ forceRepaintWithoutCallback();
send(Messages::WebPageProxy::VoidCallback(callbackID));
}
-
+
void WebPage::preferencesDidChange(const WebPreferencesStore& store)
{
WebPreferencesStore::removeTestRunnerOverrides();
@@ -1363,8 +1362,10 @@ void WebPage::updatePreferences(const WebPreferencesStore& store)
#if PLATFORM(WIN)
// Temporarily turn off accelerated compositing until we have a good solution for rendering it.
settings->setAcceleratedCompositingEnabled(false);
+ settings->setAcceleratedDrawingEnabled(false);
#else
settings->setAcceleratedCompositingEnabled(store.getBoolValueForKey(WebPreferencesKey::acceleratedCompositingEnabledKey()));
+ settings->setAcceleratedDrawingEnabled(store.getBoolValueForKey(WebPreferencesKey::acceleratedDrawingEnabledKey()));
#endif
settings->setShowDebugBorders(store.getBoolValueForKey(WebPreferencesKey::compositingBordersVisibleKey()));
settings->setShowRepaintCounter(store.getBoolValueForKey(WebPreferencesKey::compositingRepaintCountersVisibleKey()));
@@ -1664,9 +1665,9 @@ void WebPage::replaceSelectionWithText(Frame* frame, const String& text)
{
if (frame->selection()->isNone())
return;
-
+
RefPtr<DocumentFragment> textFragment = createFragmentFromText(frame->selection()->toNormalizedRange().get(), text);
- applyCommand(ReplaceSelectionCommand::create(frame->document(), textFragment.release(), true, false, true));
+ applyCommand(ReplaceSelectionCommand::create(frame->document(), textFragment.release(), ReplaceSelectionCommand::SelectReplacement | ReplaceSelectionCommand::MatchStyle | ReplaceSelectionCommand::PreventNesting));
frame->selection()->revealSelection(ScrollAlignment::alignToEdgeIfNeeded);
}
@@ -1675,6 +1676,23 @@ bool WebPage::mainFrameHasCustomRepresentation() const
return static_cast<WebFrameLoaderClient*>(mainFrame()->coreFrame()->loader()->client())->frameHasCustomRepresentation();
}
+void WebPage::didChangeScrollOffsetForMainFrame()
+{
+ Frame* frame = m_page->mainFrame();
+ IntPoint scrollPosition = frame->view()->scrollPosition();
+ IntPoint maximumScrollPosition = frame->view()->maximumScrollPosition();
+
+ bool isPinnedToLeftSide = (scrollPosition.x() <= 0);
+ bool isPinnedToRightSide = (scrollPosition.x() >= maximumScrollPosition.x());
+
+ if (isPinnedToLeftSide != m_cachedMainFrameIsPinnedToLeftSide || isPinnedToRightSide != m_cachedMainFrameIsPinnedToRightSide) {
+ send(Messages::WebPageProxy::DidChangeScrollOffsetPinningForMainFrame(isPinnedToLeftSide, isPinnedToRightSide));
+
+ m_cachedMainFrameIsPinnedToLeftSide = isPinnedToLeftSide;
+ m_cachedMainFrameIsPinnedToRightSide = isPinnedToRightSide;
+ }
+}
+
#if PLATFORM(MAC)
void WebPage::addPluginView(PluginView* pluginView)
@@ -1969,8 +1987,7 @@ void WebPage::computePagesForPrinting(uint64_t frameID, const PrintInfo& printIn
send(Messages::WebPageProxy::ComputedPagesCallback(resultPageRects, resultTotalScaleFactorForPrinting, callbackID));
}
-#if PLATFORM(MAC)
-// FIXME: Find a better place for Mac specific code.
+#if PLATFORM(MAC) || PLATFORM(WIN)
void WebPage::drawRectToPDF(uint64_t frameID, const WebCore::IntRect& rect, uint64_t callbackID)
{
WebFrame* frame = WebProcess::shared().webFrame(frameID);
@@ -2050,4 +2067,9 @@ void WebPage::runModal()
ASSERT(!m_isRunningModal);
}
+void WebPage::setMemoryCacheMessagesEnabled(bool memoryCacheMessagesEnabled)
+{
+ m_page->setMemoryCacheClientCallsEnabled(memoryCacheMessagesEnabled);
+}
+
} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/WebPage/WebPage.h b/Source/WebKit2/WebProcess/WebPage/WebPage.h
index 89087b0..8ce6405 100644
--- a/Source/WebKit2/WebProcess/WebPage/WebPage.h
+++ b/Source/WebKit2/WebProcess/WebPage/WebPage.h
@@ -46,6 +46,7 @@
#include <WebCore/Editor.h>
#include <WebCore/FrameLoaderTypes.h>
#include <WebCore/IntRect.h>
+#include <WebCore/WebCoreKeyboardUIMode.h>
#include <wtf/HashMap.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassRefPtr.h>
@@ -57,6 +58,7 @@
#endif
#if PLATFORM(MAC)
+#include "DictionaryPopupInfo.h"
#include <wtf/RetainPtr.h>
OBJC_CLASS AccessibilityWebPageObject;
#endif
@@ -72,6 +74,7 @@ namespace WebCore {
class KeyboardEvent;
class Page;
class PrintContext;
+ class Range;
class ResourceRequest;
class SharedBuffer;
}
@@ -151,7 +154,7 @@ public:
void show();
String userAgent() const { return m_userAgent; }
WebCore::IntRect windowResizerRect() const;
- bool tabsToLinks() const { return m_tabToLinks; }
+ WebCore::KeyboardUIMode keyboardUIMode();
WebEditCommand* webEditCommand(uint64_t);
void addWebEditCommand(uint64_t, WebEditCommand*);
@@ -215,7 +218,6 @@ public:
void setDefersLoading(bool deferLoading);
#if USE(ACCELERATED_COMPOSITING)
- void changeAcceleratedCompositingMode(WebCore::GraphicsLayer*);
void enterAcceleratedCompositingMode(WebCore::GraphicsLayer*);
void exitAcceleratedCompositingMode();
#endif
@@ -294,6 +296,7 @@ public:
void getMarkedRange(uint64_t& location, uint64_t& length);
void characterIndexForPoint(const WebCore::IntPoint point, uint64_t& result);
void firstRectForCharacterRange(uint64_t location, uint64_t length, WebCore::IntRect& resultRect);
+ void writeSelectionToPasteboard(const WTF::String& pasteboardName, const WTF::Vector<WTF::String>& pasteboardTypes, bool& result);
#elif PLATFORM(WIN)
void confirmComposition(const String& compositionString);
void setComposition(const WTF::String& compositionString, const WTF::Vector<WebCore::CompositionUnderline>& underlines, uint64_t cursorPosition);
@@ -306,6 +309,8 @@ public:
void dummy(bool&);
#if PLATFORM(MAC)
+ void performDictionaryLookupForRange(DictionaryPopupInfo::Type, WebCore::Frame*, WebCore::Range*);
+
bool isSpeaking();
void speak(const String&);
void stopSpeaking();
@@ -324,16 +329,27 @@ public:
void beginPrinting(uint64_t frameID, const PrintInfo&);
void endPrinting();
void computePagesForPrinting(uint64_t frameID, const PrintInfo&, uint64_t callbackID);
-#if PLATFORM(MAC)
+#if PLATFORM(MAC) || PLATFORM(WIN)
void drawRectToPDF(uint64_t frameID, const WebCore::IntRect&, uint64_t callbackID);
void drawPagesToPDF(uint64_t frameID, uint32_t first, uint32_t count, uint64_t callbackID);
#endif
bool mainFrameHasCustomRepresentation() const;
+ void didChangeScrollOffsetForMainFrame();
+
+ bool canRunBeforeUnloadConfirmPanel() const { return m_canRunBeforeUnloadConfirmPanel; }
+ void setCanRunBeforeUnloadConfirmPanel(bool canRunBeforeUnloadConfirmPanel) { m_canRunBeforeUnloadConfirmPanel = canRunBeforeUnloadConfirmPanel; }
+
bool canRunModal() const { return m_canRunModal; }
+ void setCanRunModal(bool canRunModal) { m_canRunModal = canRunModal; }
+
void runModal();
+ void setMemoryCacheMessagesEnabled(bool);
+
+ void forceRepaintWithoutCallback();
+
private:
WebPage(uint64_t pageID, const WebPageCreationParameters&);
@@ -369,7 +385,7 @@ private:
void setInitialFocus(bool);
void setWindowResizerSize(const WebCore::IntSize&);
void setIsInWindow(bool);
- void validateMenuItem(const String&);
+ void validateCommand(const String&, uint64_t);
void executeEditCommand(const String&);
void mouseEvent(const WebMouseEvent&);
@@ -412,6 +428,8 @@ private:
void setCustomTextEncodingName(const String&);
#if PLATFORM(MAC)
+ void performDictionaryLookupAtLocation(const WebCore::FloatPoint&);
+
void setWindowIsVisible(bool windowIsVisible);
void windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates, const WebCore::IntPoint& accessibilityViewCoordinates);
#endif
@@ -464,7 +482,7 @@ private:
String m_userAgent;
WebCore::IntSize m_viewSize;
- RefPtr<DrawingArea> m_drawingArea;
+ OwnPtr<DrawingArea> m_drawingArea;
bool m_drawsBackground;
bool m_drawsTransparentBackground;
@@ -531,8 +549,13 @@ private:
SandboxExtensionTracker m_sandboxExtensionTracker;
uint64_t m_pageID;
+ bool m_canRunBeforeUnloadConfirmPanel;
+
bool m_canRunModal;
bool m_isRunningModal;
+
+ bool m_cachedMainFrameIsPinnedToLeftSide;
+ bool m_cachedMainFrameIsPinnedToRightSide;
};
} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in b/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in
index e47a013..0c0eea5 100644
--- a/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in
+++ b/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in
@@ -70,10 +70,13 @@ messages -> WebPage {
GetSourceForFrame(uint64_t frameID, uint64_t callbackID)
GetWebArchiveOfFrame(uint64_t frameID, uint64_t callbackID)
RunJavaScriptInMainFrame(WTF::String script, uint64_t callbackID)
-
- # FIXME: This should be a drawing area message.
ForceRepaint(uint64_t callbackID)
+#if PLATFORM(MAC)
+ # Dictionary support.
+ PerformDictionaryLookupAtLocation(WebCore::FloatPoint point)
+#endif
+
PreferencesDidChange(WebKit::WebPreferencesStore store)
SetUserAgent(WTF::String userAgent)
@@ -87,7 +90,7 @@ messages -> WebPage {
Close()
TryClose()
- ValidateMenuItem(WTF::String name)
+ ValidateCommand(WTF::String name, uint64_t callbackID)
ExecuteEditCommand(WTF::String name)
DidRemoveEditCommand(uint64_t commandID)
@@ -153,15 +156,20 @@ messages -> WebPage {
BeginPrinting(uint64_t frameID, WebKit::PrintInfo printInfo)
EndPrinting();
ComputePagesForPrinting(uint64_t frameID, WebKit::PrintInfo printInfo, uint64_t callbackID)
-#if PLATFORM(MAC)
+#if PLATFORM(MAC) || PLATFORM(WIN)
DrawRectToPDF(uint64_t frameID, WebCore::IntRect rect, uint64_t callbackID)
DrawPagesToPDF(uint64_t frameID, uint32_t first, uint32_t count, uint64_t callbackID)
#endif
+ SetMemoryCacheMessagesEnabled(bool memoryCacheMessagesEnabled)
+
// FIXME: This a dummy message, to avoid breaking the build for platforms that don't require
// any synchronous messages, and should be removed when <rdar://problem/8775115> is fixed.
Dummy() -> (bool dummyReturn)
+ SetCanRunBeforeUnloadConfirmPanel(bool canRunBeforeUnloadConfirmPanel)
+ SetCanRunModal(bool canRunModal)
+
#if PLATFORM(MAC)
# Complex text input support for plug-ins.
SendComplexTextInputToPlugin(uint64_t pluginComplexTextInputIdentifier, String textInput)
@@ -172,6 +180,7 @@ messages -> WebPage {
CharacterIndexForPoint(WebCore::IntPoint point) -> (uint64_t result)
FirstRectForCharacterRange(uint64_t location, uint64_t length) -> (WebCore::IntRect resultRect)
RegisterUIProcessAccessibilityTokens(CoreIPC::DataReference elemenToken, CoreIPC::DataReference windowToken)
+ WriteSelectionToPasteboard(WTF::String pasteboardName, WTF::Vector<WTF::String> pasteboardTypes) -> (bool result)
#endif
#if PLATFORM(WIN)
ConfirmComposition(WTF::String compositionString)
diff --git a/Source/WebKit2/WebProcess/WebPage/gtk/WebInspectorGtk.cpp b/Source/WebKit2/WebProcess/WebPage/gtk/WebInspectorGtk.cpp
index 36bde01..e00e437 100644
--- a/Source/WebKit2/WebProcess/WebPage/gtk/WebInspectorGtk.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/gtk/WebInspectorGtk.cpp
@@ -29,11 +29,9 @@
#if ENABLE(INSPECTOR)
+#include <WebCore/NotImplemented.h>
#include <wtf/text/WTFString.h>
-#define DISABLE_NOT_IMPLEMENTED_WARNINGS 1
-#include "NotImplemented.h"
-
namespace WebKit {
String WebInspector::localizedStringsURL() const
diff --git a/Source/WebKit2/WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm b/Source/WebKit2/WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm
deleted file mode 100644
index 25a1dfd..0000000
--- a/Source/WebKit2/WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Copyright (C) 2010 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.
- */
-
-#import "config.h"
-#import "LayerBackedDrawingArea.h"
-
-#if USE(ACCELERATED_COMPOSITING)
-
-#import "DrawingAreaProxyMessageKinds.h"
-#import "WebKitSystemInterface.h"
-#import "WebPage.h"
-#import "WebProcess.h"
-#import <WebCore/Frame.h>
-#import <WebCore/FrameView.h>
-#import <WebCore/GraphicsLayer.h>
-#import <WebCore/Page.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-void LayerBackedDrawingArea::platformInit()
-{
- setUpUpdateLayoutRunLoopObserver();
-
- [m_hostingLayer->platformLayer() setGeometryFlipped:YES];
-#if HAVE(HOSTED_CORE_ANIMATION)
- attachCompositingContext();
-#endif
-
- scheduleCompositingLayerSync();
-}
-
-void LayerBackedDrawingArea::platformClear()
-{
- if (!m_attached)
- return;
-
- if (m_updateLayoutRunLoopObserver) {
- CFRunLoopObserverInvalidate(m_updateLayoutRunLoopObserver.get());
- m_updateLayoutRunLoopObserver = 0;
- }
-
-#if HAVE(HOSTED_CORE_ANIMATION)
- WKCARemoteLayerClientInvalidate(m_remoteLayerRef.get());
- m_remoteLayerRef = nullptr;
-#endif
-
- m_attached = false;
-}
-
-void LayerBackedDrawingArea::attachCompositingContext()
-{
- if (m_attached)
- return;
-
- m_attached = true;
-
-#if HAVE(HOSTED_CORE_ANIMATION)
- mach_port_t serverPort = WebProcess::shared().compositingRenderServerPort();
- m_remoteLayerRef = WKCARemoteLayerClientMakeWithServerPort(serverPort);
- WKCARemoteLayerClientSetLayer(m_remoteLayerRef.get(), m_hostingLayer->platformLayer());
-
- uint32_t contextID = WKCARemoteLayerClientGetClientId(m_remoteLayerRef.get());
- WebProcess::shared().connection()->deprecatedSendSync(DrawingAreaProxyLegacyMessage::AttachCompositingContext, m_webPage->pageID(), CoreIPC::In(contextID), CoreIPC::Out());
-#endif
-}
-
-void LayerBackedDrawingArea::detachCompositingContext()
-{
- m_backingLayer->removeAllChildren();
-
- scheduleCompositingLayerSync();
-}
-
-void LayerBackedDrawingArea::setRootCompositingLayer(WebCore::GraphicsLayer* layer)
-{
- m_backingLayer->removeAllChildren();
- if (layer)
- m_backingLayer->addChild(layer);
-
- scheduleCompositingLayerSync();
-}
-
-void LayerBackedDrawingArea::scheduleCompositingLayerSync()
-{
-// if (m_syncTimer.isActive())
-// return;
-//
-// m_syncTimer.startOneShot(0);
-
- scheduleUpdateLayoutRunLoopObserver();
-}
-
-void LayerBackedDrawingArea::syncCompositingLayers()
-{
- m_hostingLayer->syncCompositingStateForThisLayerOnly();
- m_backingLayer->syncCompositingStateForThisLayerOnly();
-
- bool didSync = m_webPage->corePage()->mainFrame()->view()->syncCompositingStateIncludingSubframes();
- if (!didSync) {
-
- }
-}
-
-void LayerBackedDrawingArea::setUpUpdateLayoutRunLoopObserver()
-{
- if (m_updateLayoutRunLoopObserver)
- return;
-
- // Run before Core Animations commit observer, which has order 2000000.
- const CFIndex runLoopOrder = 2000000 - 1;
- CFRunLoopObserverContext context = { 0, this, 0, 0, 0 };
- m_updateLayoutRunLoopObserver.adoptCF(CFRunLoopObserverCreate(0,
- kCFRunLoopBeforeWaiting | kCFRunLoopExit, true /* repeats */,
- runLoopOrder, updateLayoutRunLoopObserverCallback, &context));
-}
-
-void LayerBackedDrawingArea::scheduleUpdateLayoutRunLoopObserver()
-{
- CFRunLoopRef currentRunLoop = CFRunLoopGetCurrent();
- CFRunLoopWakeUp(currentRunLoop);
-
- if (CFRunLoopContainsObserver(currentRunLoop, m_updateLayoutRunLoopObserver.get(), kCFRunLoopCommonModes))
- return;
-
- CFRunLoopAddObserver(currentRunLoop, m_updateLayoutRunLoopObserver.get(), kCFRunLoopCommonModes);
-}
-
-void LayerBackedDrawingArea::removeUpdateLayoutRunLoopObserver()
-{
- // FIXME: cache the run loop ref?
- CFRunLoopRemoveObserver(CFRunLoopGetCurrent(), m_updateLayoutRunLoopObserver.get(), kCFRunLoopCommonModes);
-}
-
-void LayerBackedDrawingArea::updateLayoutRunLoopObserverCallback(CFRunLoopObserverRef, CFRunLoopActivity, void* info)
-{
- // Keep the drawing area alive while running the callback, since that does layout,
- // which might replace this drawing area with one of another type.
- RefPtr<LayerBackedDrawingArea> drawingArea = reinterpret_cast<LayerBackedDrawingArea*>(info);
- drawingArea->updateLayoutRunLoopObserverFired();
-}
-
-void LayerBackedDrawingArea::updateLayoutRunLoopObserverFired()
-{
- // Laying out the page can cause the drawing area to change so we keep an extra reference.
- RefPtr<LayerBackedDrawingArea> protect(this);
-
- m_webPage->layoutIfNeeded();
-
- if (m_webPage->drawingArea() != this)
- return;
-
- if (m_attached)
- syncCompositingLayers();
-}
-
-void LayerBackedDrawingArea::onPageClose()
-{
- platformClear();
-}
-
-} // namespace WebKit
-
-#endif // USE(ACCELERATED_COMPOSITING)
diff --git a/Source/WebKit2/WebProcess/WebPage/mac/LayerTreeHostMac.h b/Source/WebKit2/WebProcess/WebPage/mac/LayerTreeHostMac.h
index 016f0d6..d05e43e 100644
--- a/Source/WebKit2/WebProcess/WebPage/mac/LayerTreeHostMac.h
+++ b/Source/WebKit2/WebProcess/WebPage/mac/LayerTreeHostMac.h
@@ -47,12 +47,14 @@ private:
// LayerTreeHost.
virtual const LayerTreeContext& layerTreeContext();
virtual void scheduleLayerFlush();
+ virtual void setShouldNotifyAfterNextScheduledLayerFlush(bool);
virtual void setRootCompositingLayer(WebCore::GraphicsLayer*);
virtual void invalidate();
virtual void setNonCompositedContentsNeedDisplay(const WebCore::IntRect&);
virtual void scrollNonCompositedContents(const WebCore::IntRect& scrollRect, const WebCore::IntSize& scrollOffset);
virtual void sizeDidChange(const WebCore::IntSize& newSize);
+ virtual void forceRepaint();
virtual void didInstallPageOverlay();
virtual void didUninstallPageOverlay();
@@ -78,6 +80,10 @@ private:
// Whether the layer tree host is valid or not.
bool m_isValid;
+ // Whether we should let the drawing area know the next time we've flushed
+ // layer tree changes.
+ bool m_notifyAfterScheduledLayerFlush;
+
// The root layer.
OwnPtr<WebCore::GraphicsLayer> m_rootLayer;
diff --git a/Source/WebKit2/WebProcess/WebPage/mac/LayerTreeHostMac.mm b/Source/WebKit2/WebProcess/WebPage/mac/LayerTreeHostMac.mm
index 9734aec..494f5e6 100644
--- a/Source/WebKit2/WebProcess/WebPage/mac/LayerTreeHostMac.mm
+++ b/Source/WebKit2/WebProcess/WebPage/mac/LayerTreeHostMac.mm
@@ -26,6 +26,7 @@
#import "config.h"
#import "LayerTreeHostMac.h"
+#import "DrawingAreaImpl.h"
#import "WebPage.h"
#import "WebProcess.h"
#import <QuartzCore/CATransaction.h>
@@ -51,6 +52,7 @@ PassRefPtr<LayerTreeHostMac> LayerTreeHostMac::create(WebPage* webPage)
LayerTreeHostMac::LayerTreeHostMac(WebPage* webPage)
: LayerTreeHost(webPage)
, m_isValid(true)
+ , m_notifyAfterScheduledLayerFlush(false)
{
mach_port_t serverPort = WebProcess::shared().compositingRenderServerPort();
m_remoteLayerClient = WKCARemoteLayerClientMakeWithServerPort(serverPort);
@@ -72,6 +74,8 @@ LayerTreeHostMac::LayerTreeHostMac(WebPage* webPage)
m_nonCompositedContentLayer->setDrawsContent(true);
m_nonCompositedContentLayer->setContentsOpaque(m_webPage->drawsBackground() && !m_webPage->drawsTransparentBackground());
m_nonCompositedContentLayer->setSize(webPage->size());
+ if (m_webPage->corePage()->settings()->acceleratedDrawingEnabled())
+ m_nonCompositedContentLayer->setAcceleratesDrawing(true);
m_rootLayer->addChild(m_nonCompositedContentLayer.get());
@@ -116,14 +120,18 @@ void LayerTreeHostMac::scheduleLayerFlush()
CFRunLoopAddObserver(currentRunLoop, m_flushPendingLayerChangesRunLoopObserver.get(), kCFRunLoopCommonModes);
}
-void LayerTreeHostMac::setRootCompositingLayer(GraphicsLayer* graphicsLayer)
+void LayerTreeHostMac::setShouldNotifyAfterNextScheduledLayerFlush(bool notifyAfterScheduledLayerFlush)
{
- ASSERT(graphicsLayer);
+ m_notifyAfterScheduledLayerFlush = notifyAfterScheduledLayerFlush;
+}
+void LayerTreeHostMac::setRootCompositingLayer(GraphicsLayer* graphicsLayer)
+{
m_nonCompositedContentLayer->removeAllChildren();
// Add the accelerated layer tree hierarchy.
- m_nonCompositedContentLayer->addChild(graphicsLayer);
+ if (graphicsLayer)
+ m_nonCompositedContentLayer->addChild(graphicsLayer);
}
void LayerTreeHostMac::invalidate()
@@ -170,6 +178,15 @@ void LayerTreeHostMac::sizeDidChange(const IntSize& newSize)
[CATransaction synchronize];
}
+void LayerTreeHostMac::forceRepaint()
+{
+ scheduleLayerFlush();
+ flushPendingLayerChanges();
+
+ [CATransaction flush];
+ [CATransaction synchronize];
+}
+
void LayerTreeHostMac::didInstallPageOverlay()
{
createPageOverlayLayer();
@@ -242,6 +259,12 @@ void LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback()
ASSERT(m_flushPendingLayerChangesRunLoopObserver);
CFRunLoopObserverInvalidate(m_flushPendingLayerChangesRunLoopObserver.get());
m_flushPendingLayerChangesRunLoopObserver = 0;
+
+ if (m_notifyAfterScheduledLayerFlush) {
+ // Let the drawing area know that we've done a flush of the layer changes.
+ static_cast<DrawingAreaImpl*>(m_webPage->drawingArea())->layerHostDidFlushLayers();
+ m_notifyAfterScheduledLayerFlush = false;
+ }
}
bool LayerTreeHostMac::flushPendingLayerChanges()
diff --git a/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm b/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm
index 71bbf78..4cae5aa 100644
--- a/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm
+++ b/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm
@@ -42,6 +42,7 @@
#import <WebCore/KeyboardEvent.h>
#import <WebCore/Page.h>
#import <WebCore/PlatformKeyboardEvent.h>
+#import <WebCore/ResourceHandle.h>
#import <WebCore/ScrollView.h>
#import <WebCore/TextIterator.h>
#import <WebCore/WindowsKeyboardCodes.h>
@@ -163,29 +164,29 @@ void WebPage::getMarkedRange(uint64_t& location, uint64_t& length)
getLocationAndLengthFromRange(frame->editor()->compositionRange().get(), location, length);
}
-static Range *characterRangeAtPoint(Frame* frame, const IntPoint point)
+static PassRefPtr<Range> characterRangeAtPoint(Frame* frame, const IntPoint& point)
{
VisiblePosition position = frame->visiblePositionForPoint(point);
if (position.isNull())
- return NULL;
+ return 0;
VisiblePosition previous = position.previous();
if (previous.isNotNull()) {
- Range *previousCharacterRange = makeRange(previous, position).get();
- NSRect rect = frame->editor()->firstRectForRange(previousCharacterRange);
- if (NSPointInRect(point, rect))
- return previousCharacterRange;
+ RefPtr<Range> previousCharacterRange = makeRange(previous, position);
+ IntRect rect = frame->editor()->firstRectForRange(previousCharacterRange.get());
+ if (rect.contains(point))
+ return previousCharacterRange.release();
}
VisiblePosition next = position.next();
if (next.isNotNull()) {
- Range *nextCharacterRange = makeRange(position, next).get();
- NSRect rect = frame->editor()->firstRectForRange(nextCharacterRange);
- if (NSPointInRect(point, rect))
- return nextCharacterRange;
+ RefPtr<Range> nextCharacterRange = makeRange(position, next);
+ IntRect rect = frame->editor()->firstRectForRange(nextCharacterRange.get());
+ if (rect.contains(point))
+ return nextCharacterRange.release();
}
- return NULL;
+ return 0;
}
void WebPage::characterIndexForPoint(IntPoint point, uint64_t& index)
@@ -198,12 +199,12 @@ void WebPage::characterIndexForPoint(IntPoint point, uint64_t& index)
HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(point, false);
frame = result.innerNonSharedNode() ? result.innerNonSharedNode()->document()->frame() : m_page->focusController()->focusedOrMainFrame();
- Range *range = characterRangeAtPoint(frame, result.point());
+ RefPtr<Range> range = characterRangeAtPoint(frame, result.point());
if (!range)
return;
uint64_t length;
- getLocationAndLengthFromRange(range, index, length);
+ getLocationAndLengthFromRange(range.get(), index, length);
}
static PassRefPtr<Range> convertToRange(Frame* frame, NSRange nsrange)
@@ -241,6 +242,84 @@ void WebPage::firstRectForCharacterRange(uint64_t location, uint64_t length, Web
resultRect = frame->view()->contentsToWindow(rect);
}
+void WebPage::performDictionaryLookupAtLocation(const FloatPoint& floatPoint)
+{
+ Frame* frame = m_page->mainFrame();
+ if (!frame)
+ return;
+
+ // Find the frame the point is over.
+ IntPoint point = roundedIntPoint(floatPoint);
+
+ HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(point, false);
+ frame = result.innerNonSharedNode() ? result.innerNonSharedNode()->document()->frame() : m_page->focusController()->focusedOrMainFrame();
+
+ // Figure out if there are any characters under the point.
+ RefPtr<Range> characterRange = characterRangeAtPoint(frame, frame->view()->windowToContents(point));
+ if (!characterRange)
+ return;
+
+ // Grab the currently selected text.
+ RefPtr<Range> selectedRange = m_page->focusController()->focusedOrMainFrame()->selection()->selection().toNormalizedRange();
+
+ // Use the selected text if the point was anywhere in it. Assertain this by seeing if either character range
+ // the mouse is over is contained by the selection range.
+ if (characterRange && selectedRange) {
+ ExceptionCode ec = 0;
+ selectedRange->compareBoundaryPoints(Range::START_TO_START, characterRange.get(), ec);
+ if (!ec) {
+ if (selectedRange->isPointInRange(characterRange->startContainer(), characterRange->startOffset(), ec)) {
+ if (!ec)
+ characterRange = selectedRange;
+ }
+ }
+ }
+
+ if (!characterRange)
+ return;
+
+ // Ensure we have whole words.
+ VisibleSelection selection(characterRange.get());
+ selection.expandUsingGranularity(WordGranularity);
+
+ RefPtr<Range> finalRange = selection.toNormalizedRange();
+ if (!finalRange)
+ return;
+
+ performDictionaryLookupForRange(DictionaryPopupInfo::HotKey, frame, finalRange.get());
+}
+
+void WebPage::performDictionaryLookupForRange(DictionaryPopupInfo::Type type, Frame* frame, Range* range)
+{
+ String rangeText = range->text();
+ if (rangeText.stripWhiteSpace().isEmpty())
+ return;
+
+ RenderObject* renderer = range->startContainer()->renderer();
+ RenderStyle* style = renderer->style();
+ NSFont *font = style->font().primaryFont()->getNSFont();
+ if (!font)
+ return;
+
+ CFDictionaryRef fontDescriptorAttributes = (CFDictionaryRef)[[font fontDescriptor] fontAttributes];
+ if (!fontDescriptorAttributes)
+ return;
+
+ Vector<FloatQuad> quads;
+ range->textQuads(quads);
+ if (quads.isEmpty())
+ return;
+
+ IntRect rangeRect = frame->view()->contentsToWindow(quads[0].enclosingBoundingBox());
+
+ DictionaryPopupInfo dictionaryPopupInfo;
+ dictionaryPopupInfo.type = type;
+ dictionaryPopupInfo.origin = FloatPoint(rangeRect.x(), rangeRect.y());
+ dictionaryPopupInfo.fontInfo.fontAttributeDictionary = fontDescriptorAttributes;
+
+ send(Messages::WebPageProxy::DidPerformDictionaryLookup(rangeText, dictionaryPopupInfo));
+}
+
static inline void scroll(Page* page, ScrollDirection direction, ScrollGranularity granularity)
{
page->focusController()->focusedOrMainFrame()->eventHandler()->scrollRecursively(direction, granularity);
@@ -349,6 +428,13 @@ void WebPage::registerUIProcessAccessibilityTokens(const CoreIPC::DataReference&
#endif
}
+void WebPage::writeSelectionToPasteboard(const String& pasteboardName, const Vector<String>& pasteboardTypes, bool& result)
+{
+ Frame* frame = m_page->focusController()->focusedOrMainFrame();
+ frame->editor()->writeSelectionToPasteboard(pasteboardName, pasteboardTypes);
+ result = true;
+}
+
AccessibilityWebPageObject* WebPage::accessibilityRemoteObject()
{
return m_mockAccessibilityElement.get();
@@ -358,7 +444,13 @@ bool WebPage::platformHasLocalDataForURL(const WebCore::KURL& url)
{
NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setValue:(NSString*)userAgent() forHTTPHeaderField:@"User-Agent"];
- NSCachedURLResponse *cachedResponse = [[NSURLCache sharedURLCache] cachedResponseForRequest:request];
+ NSCachedURLResponse *cachedResponse;
+#if USE(CFURLSTORAGESESSIONS)
+ if (CFURLStorageSessionRef storageSession = ResourceHandle::privateBrowsingStorageSession())
+ cachedResponse = WKCachedResponseForRequest(storageSession, request);
+ else
+#endif
+ cachedResponse = [[NSURLCache sharedURLCache] cachedResponseForRequest:request];
[request release];
return cachedResponse;
@@ -368,7 +460,13 @@ String WebPage::cachedResponseMIMETypeForURL(const WebCore::KURL& url)
{
NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setValue:(NSString*)userAgent() forHTTPHeaderField:@"User-Agent"];
- NSCachedURLResponse *cachedResponse = [[NSURLCache sharedURLCache] cachedResponseForRequest:request];
+ NSCachedURLResponse *cachedResponse;
+#if USE(CFURLSTORAGESESSIONS)
+ if (CFURLStorageSessionRef storageSession = ResourceHandle::privateBrowsingStorageSession())
+ cachedResponse = WKCachedResponseForRequest(storageSession, request);
+ else
+#endif
+ cachedResponse = [[NSURLCache sharedURLCache] cachedResponseForRequest:request];
[request release];
return [[cachedResponse response] MIMEType];
diff --git a/Source/WebKit2/WebProcess/WebPage/qt/WebInspectorQt.cpp b/Source/WebKit2/WebProcess/WebPage/qt/WebInspectorQt.cpp
index 1675d77..1a3b598 100644
--- a/Source/WebKit2/WebProcess/WebPage/qt/WebInspectorQt.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/qt/WebInspectorQt.cpp
@@ -28,11 +28,9 @@
#if ENABLE(INSPECTOR)
+#include <WebCore/NotImplemented.h>
#include <wtf/text/WTFString.h>
-#define DISABLE_NOT_IMPLEMENTED_WARNINGS 1
-#include "NotImplemented.h"
-
namespace WebKit {
String WebInspector::localizedStringsURL() const
diff --git a/Source/WebKit2/WebProcess/WebPage/win/WebInspectorWin.cpp b/Source/WebKit2/WebProcess/WebPage/win/WebInspectorWin.cpp
index 3ae0dae..5ada45d 100644
--- a/Source/WebKit2/WebProcess/WebPage/win/WebInspectorWin.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/win/WebInspectorWin.cpp
@@ -28,6 +28,7 @@
#if ENABLE(INSPECTOR)
+#include "WebKitBundle.h"
#include <wtf/RetainPtr.h>
#include <wtf/text/WTFString.h>
@@ -35,7 +36,7 @@ namespace WebKit {
String WebInspector::localizedStringsURL() const
{
- RetainPtr<CFURLRef> localizedStringsURLRef(AdoptCF, CFBundleCopyResourceURL(CFBundleGetBundleWithIdentifier(CFSTR("com.apple.WebKit")), CFSTR("localizedStrings"), CFSTR("js"), 0));
+ RetainPtr<CFURLRef> localizedStringsURLRef(AdoptCF, CFBundleCopyResourceURL(webKitBundle(), CFSTR("localizedStrings"), CFSTR("js"), 0));
if (!localizedStringsURLRef)
return String();
diff --git a/Source/WebKit2/WebProcess/WebPage/win/WebPageWin.cpp b/Source/WebKit2/WebProcess/WebPage/win/WebPageWin.cpp
index e20af3a..73ba2b2 100644
--- a/Source/WebKit2/WebProcess/WebPage/win/WebPageWin.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/win/WebPageWin.cpp
@@ -36,6 +36,7 @@
#include <WebCore/KeyboardEvent.h>
#include <WebCore/Page.h>
#include <WebCore/PlatformKeyboardEvent.h>
+#include <WebCore/ResourceHandle.h>
#include <WebCore/Settings.h>
#if PLATFORM(CG)
#include <WebKitSystemInterface/WebKitSystemInterface.h>
@@ -253,7 +254,13 @@ bool WebPage::platformHasLocalDataForURL(const WebCore::KURL& url)
RetainPtr<CFStringRef> userAgent(AdoptCF, userAgent().createCFString());
CFURLRequestSetHTTPHeaderFieldValue(request.get(), CFSTR("User-Agent"), userAgent.get());
- RetainPtr<CFURLCacheRef> cache(AdoptCF, CFURLCacheCopySharedURLCache());
+ RetainPtr<CFURLCacheRef> cache;
+#if USE(CFURLSTORAGESESSIONS)
+ if (CFURLStorageSessionRef storageSession = ResourceHandle::privateBrowsingStorageSession())
+ cache.adoptCF(wkCopyURLCache(storageSession));
+ else
+#endif
+ cache.adoptCF(CFURLCacheCopySharedURLCache());
RetainPtr<CFCachedURLResponseRef> response(AdoptCF, CFURLCacheCopyResponseForRequest(cache.get(), request.get()));
return response;
@@ -271,7 +278,13 @@ String WebPage::cachedResponseMIMETypeForURL(const WebCore::KURL& url)
RetainPtr<CFStringRef> userAgent(AdoptCF, userAgent().createCFString());
CFURLRequestSetHTTPHeaderFieldValue(request.get(), CFSTR("User-Agent"), userAgent.get());
- RetainPtr<CFURLCacheRef> cache(AdoptCF, CFURLCacheCopySharedURLCache());
+ RetainPtr<CFURLCacheRef> cache;
+#if USE(CFURLSTORAGESESSIONS)
+ if (CFURLStorageSessionRef storageSession = ResourceHandle::privateBrowsingStorageSession())
+ cache.adoptCF(wkCopyURLCache(storageSession));
+ else
+#endif
+ cache.adoptCF(CFURLCacheCopySharedURLCache());
RetainPtr<CFCachedURLResponseRef> cachedResponse(AdoptCF, CFURLCacheCopyResponseForRequest(cache.get(), request.get()));
diff --git a/Source/WebKit2/WebProcess/WebProcess.cpp b/Source/WebKit2/WebProcess/WebProcess.cpp
index 97faec4..6de748f 100644
--- a/Source/WebKit2/WebProcess/WebProcess.cpp
+++ b/Source/WebKit2/WebProcess/WebProcess.cpp
@@ -33,11 +33,14 @@
#include "InjectedBundleUserMessageCoders.h"
#include "RunLoop.h"
#include "SandboxExtension.h"
+#include "WebApplicationCacheManager.h"
#include "WebContextMessages.h"
+#include "WebCookieManager.h"
#include "WebCoreArgumentCoders.h"
#include "WebDatabaseManager.h"
#include "WebFrame.h"
#include "WebGeolocationManagerMessages.h"
+#include "WebKeyValueStorageManager.h"
#include "WebMemorySampler.h"
#include "WebPage.h"
#include "WebPageCreationParameters.h"
@@ -46,12 +49,16 @@
#include "WebProcessCreationParameters.h"
#include "WebProcessMessages.h"
#include "WebProcessProxyMessages.h"
+#include "WebResourceCacheManager.h"
#include <WebCore/ApplicationCacheStorage.h>
#include <WebCore/CrossOriginPreflightResultCache.h>
#include <WebCore/Font.h>
#include <WebCore/Language.h>
+#include <WebCore/Logging.h>
+#include <WebCore/MemoryCache.h>
#include <WebCore/Page.h>
#include <WebCore/PageGroup.h>
+#include <WebCore/ResourceHandle.h>
#include <WebCore/SchemeRegistry.h>
#include <WebCore/SecurityOrigin.h>
#include <WebCore/Settings.h>
@@ -67,6 +74,10 @@
#include <unistd.h>
#endif
+#if !ENABLE(PLUGIN_PROCESS)
+#include "NetscapePluginModule.h"
+#endif
+
using namespace WebCore;
namespace WebKit {
@@ -120,6 +131,8 @@ WebProcess::WebProcess()
// Initialize our platform strategies.
WebPlatformStrategies::initialize();
#endif // USE(PLATFORM_STRATEGIES)
+
+ WebCore::InitializeLoggingChannelsIfNecessary();
}
void WebProcess::initialize(CoreIPC::Connection::Identifier serverIdentifier, RunLoop* runLoop)
@@ -184,6 +197,8 @@ void WebProcess::initializeWebProcess(const WebProcessCreationParameters& parame
for (size_t i = 0; i < parameters.urlSchemesForWhichDomainRelaxationIsForbidden.size(); ++i)
setDomainRelaxationForbiddenForURLScheme(parameters.urlSchemesForWhichDomainRelaxationIsForbidden[i]);
+ setDefaultRequestTimeoutInterval(parameters.defaultRequestTimeoutInterval);
+
for (size_t i = 0; i < parameters.mimeTypesWithCustomRepresentation.size(); ++i)
m_mimeTypesWithCustomRepresentations.add(parameters.mimeTypesWithCustomRepresentation[i]);
@@ -198,6 +213,10 @@ void WebProcess::initializeWebProcess(const WebProcessCreationParameters& parame
if (parameters.shouldAlwaysUseComplexTextCodePath)
setAlwaysUsesComplexTextCodePath(true);
+
+#if USE(CFURLSTORAGESESSIONS)
+ WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase(parameters.uiProcessBundleIdentifier);
+#endif
}
void WebProcess::setShouldTrackVisitedLinks(bool shouldTrackVisitedLinks)
@@ -220,9 +239,14 @@ void WebProcess::setDomainRelaxationForbiddenForURLScheme(const String& urlSchem
SecurityOrigin::setDomainRelaxationForbiddenForURLScheme(true, urlScheme);
}
+void WebProcess::setDefaultRequestTimeoutInterval(double timeoutInterval)
+{
+ ResourceRequest::setDefaultTimeoutInterval(timeoutInterval);
+}
+
void WebProcess::setAlwaysUsesComplexTextCodePath(bool alwaysUseComplexText)
{
- Font::setCodePath(alwaysUseComplexText ? Font::Complex : Font::Auto);
+ WebCore::Font::setCodePath(alwaysUseComplexText ? WebCore::Font::Complex : WebCore::Font::Auto);
}
void WebProcess::languageChanged(const String& language) const
@@ -267,6 +291,13 @@ void WebProcess::addVisitedLink(WebCore::LinkHash linkHash)
m_connection->send(Messages::WebContext::AddVisitedLinkHash(linkHash), 0);
}
+#if !PLATFORM(MAC)
+bool WebProcess::fullKeyboardAccessEnabled()
+{
+ return false;
+}
+#endif
+
void WebProcess::setCacheModel(uint32_t cm)
{
CacheModel cacheModel = static_cast<CacheModel>(cm);
@@ -443,8 +474,7 @@ void WebProcess::createWebPage(uint64_t pageID, const WebPageCreationParameters&
void WebProcess::removeWebPage(uint64_t pageID)
{
m_pageMap.remove(pageID);
-
- shutdownIfPossible();
+ terminateIfPossible();
}
bool WebProcess::isSeparateProcess() const
@@ -453,7 +483,7 @@ bool WebProcess::isSeparateProcess() const
return m_runLoop == RunLoop::main();
}
-void WebProcess::shutdownIfPossible()
+void WebProcess::terminateIfPossible()
{
if (!m_pageMap.isEmpty())
return;
@@ -468,7 +498,13 @@ void WebProcess::shutdownIfPossible()
if (!isSeparateProcess())
return;
- // Actually shut down the process.
+ // FIXME: the ShouldTerminate message should also send termination parameters, such as any session cookies that need to be preserved.
+ bool shouldTerminate = false;
+ if (m_connection->sendSync(Messages::WebProcessProxy::ShouldTerminate(), Messages::WebProcessProxy::ShouldTerminate::Reply(shouldTerminate), 0)
+ && !shouldTerminate)
+ return;
+
+ // Actually terminate the process.
#ifndef NDEBUG
gcController().garbageCollectNow();
@@ -479,8 +515,7 @@ void WebProcess::shutdownIfPossible()
m_connection->invalidate();
m_connection = nullptr;
- platformShutdown();
-
+ platformTerminate();
m_runLoop->stop();
}
@@ -510,6 +545,16 @@ void WebProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Mes
return;
}
+ if (messageID.is<CoreIPC::MessageClassWebApplicationCacheManager>()) {
+ WebApplicationCacheManager::shared().didReceiveMessage(connection, messageID, arguments);
+ return;
+ }
+
+ if (messageID.is<CoreIPC::MessageClassWebCookieManager>()) {
+ WebCookieManager::shared().didReceiveMessage(connection, messageID, arguments);
+ return;
+ }
+
if (messageID.is<CoreIPC::MessageClassWebDatabaseManager>()) {
WebDatabaseManager::shared().didReceiveMessage(connection, messageID, arguments);
return;
@@ -520,6 +565,16 @@ void WebProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Mes
return;
}
+ if (messageID.is<CoreIPC::MessageClassWebKeyValueStorageManager>()) {
+ WebKeyValueStorageManager::shared().didReceiveMessage(connection, messageID, arguments);
+ return;
+ }
+
+ if (messageID.is<CoreIPC::MessageClassWebResourceCacheManager>()) {
+ WebResourceCacheManager::shared().didReceiveMessage(connection, messageID, arguments);
+ return;
+ }
+
if (messageID.is<CoreIPC::MessageClassInjectedBundle>()) {
if (!m_injectedBundle)
return;
@@ -623,6 +678,8 @@ void WebProcess::clearResourceCaches()
setCacheModel(CacheModelDocumentViewer);
setCacheModel(cacheModel);
+ memoryCache()->evictResources();
+
// Empty the cross-origin preflight cache.
CrossOriginPreflightResultCache::shared().empty();
}
@@ -635,6 +692,50 @@ void WebProcess::clearApplicationCache()
#endif
}
+#if !ENABLE(PLUGIN_PROCESS)
+void WebProcess::getSitesWithPluginData(const Vector<String>& pluginPaths, uint64_t callbackID)
+{
+ HashSet<String> sitesSet;
+
+ for (size_t i = 0; i < pluginPaths.size(); ++i) {
+ RefPtr<NetscapePluginModule> netscapePluginModule = NetscapePluginModule::getOrCreate(pluginPaths[i]);
+ if (!netscapePluginModule)
+ continue;
+
+ Vector<String> sites = netscapePluginModule->sitesWithData();
+ for (size_t i = 0; i < sites.size(); ++i)
+ sitesSet.add(sites[i]);
+ }
+
+ Vector<String> sites;
+ copyToVector(sitesSet, sites);
+
+ m_connection->send(Messages::WebContext::DidGetSitesWithPluginData(sites, callbackID), 0);
+ terminateIfPossible();
+}
+
+void WebProcess::clearPluginSiteData(const Vector<String>& pluginPaths, const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID)
+{
+ for (size_t i = 0; i < pluginPaths.size(); ++i) {
+ RefPtr<NetscapePluginModule> netscapePluginModule = NetscapePluginModule::getOrCreate(pluginPaths[i]);
+ if (!netscapePluginModule)
+ continue;
+
+ if (sites.isEmpty()) {
+ // Clear everything.
+ netscapePluginModule->clearSiteData(String(), flags, maxAgeInSeconds);
+ continue;
+ }
+
+ for (size_t i = 0; i < sites.size(); ++i)
+ netscapePluginModule->clearSiteData(sites[i], flags, maxAgeInSeconds);
+ }
+
+ m_connection->send(Messages::WebContext::DidClearPluginSiteData(callbackID), 0);
+ terminateIfPossible();
+}
+#endif
+
void WebProcess::downloadRequest(uint64_t downloadID, uint64_t initiatingPageID, const ResourceRequest& request)
{
WebPage* initiatingPage = initiatingPageID ? webPage(initiatingPageID) : 0;
diff --git a/Source/WebKit2/WebProcess/WebProcess.h b/Source/WebKit2/WebProcess/WebProcess.h
index 993cf38..946bb69 100644
--- a/Source/WebKit2/WebProcess/WebProcess.h
+++ b/Source/WebKit2/WebProcess/WebProcess.h
@@ -88,6 +88,8 @@ public:
void addVisitedLink(WebCore::LinkHash);
bool isLinkVisited(WebCore::LinkHash) const;
+ bool fullKeyboardAccessEnabled();
+
WebFrame* webFrame(uint64_t) const;
void addWebFrame(uint64_t, WebFrame*);
void removeWebFrame(uint64_t);
@@ -103,8 +105,8 @@ public:
QNetworkAccessManager* networkAccessManager() { return m_networkAccessManager; }
#endif
- // Will shut down the web process if there are no live pages or downloads.
- void shutdownIfPossible();
+ // Will terminate the web process if there are no live pages or downloads.
+ void terminateIfPossible();
bool shouldUseCustomRepresentationForMIMEType(const String& mimeType) const { return m_mimeTypesWithCustomRepresentations.contains(mimeType); }
@@ -114,16 +116,19 @@ public:
// Geolocation
WebGeolocationManager& geolocationManager() { return m_geolocationManager; }
+ void clearResourceCaches();
+
private:
WebProcess();
void initializeWebProcess(const WebProcessCreationParameters&, CoreIPC::ArgumentDecoder*);
void platformInitializeWebProcess(const WebProcessCreationParameters&, CoreIPC::ArgumentDecoder*);
- void platformShutdown();
+ void platformTerminate();
void setShouldTrackVisitedLinks(bool);
void registerURLSchemeAsEmptyDocument(const String&);
void registerURLSchemeAsSecure(const String&) const;
void setDomainRelaxationForbiddenForURLScheme(const String&) const;
+ void setDefaultRequestTimeoutInterval(double);
void setAlwaysUsesComplexTextCodePath(bool);
void languageChanged(const String&) const;
#if PLATFORM(WIN)
@@ -139,10 +144,14 @@ private:
static void calculateCacheSizes(CacheModel cacheModel, uint64_t memorySize, uint64_t diskFreeSize,
unsigned& cacheTotalCapacity, unsigned& cacheMinDeadCapacity, unsigned& cacheMaxDeadCapacity, double& deadDecodedDataDeletionInterval,
unsigned& pageCacheCapacity, unsigned long& urlCacheMemoryCapacity, unsigned long& urlCacheDiskCapacity);
- void clearResourceCaches();
void platformClearResourceCaches();
void clearApplicationCache();
+#if !ENABLE(PLUGIN_PROCESS)
+ void getSitesWithPluginData(const Vector<String>& pluginPaths, uint64_t callbackID);
+ void clearPluginSiteData(const Vector<String>& pluginPaths, const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID);
+#endif
+
void startMemorySampler(const SandboxExtension::Handle&, const String&, const double);
void stopMemorySampler();
diff --git a/Source/WebKit2/WebProcess/WebProcess.messages.in b/Source/WebKit2/WebProcess/WebProcess.messages.in
index 2ea9237..e297179 100644
--- a/Source/WebKit2/WebProcess/WebProcess.messages.in
+++ b/Source/WebKit2/WebProcess/WebProcess.messages.in
@@ -38,12 +38,19 @@ messages -> WebProcess {
RegisterURLSchemeAsEmptyDocument(WTF::String scheme)
RegisterURLSchemeAsSecure(WTF::String scheme)
SetDomainRelaxationForbiddenForURLScheme(WTF::String scheme)
+ SetDefaultRequestTimeoutInterval(double timeoutInterval)
SetAlwaysUsesComplexTextCodePath(bool alwaysUseComplexText)
LanguageChanged(WTF::String language)
#if PLATFORM(WIN)
SetShouldPaintNativeControls(bool shouldPaintNativeControls)
#endif
+#if !ENABLE(PLUGIN_PROCESS)
+ # Plug-ins.
+ GetSitesWithPluginData(Vector<WTF::String> pluginPaths, uint64_t callbackID)
+ ClearPluginSiteData(Vector<WTF::String> pluginPaths, Vector<WTF::String> sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID)
+#endif
+
ClearResourceCaches();
ClearApplicationCache();
diff --git a/Source/WebKit2/WebProcess/com.apple.WebProcess.sb b/Source/WebKit2/WebProcess/com.apple.WebProcess.sb
index 5d81971..07c1f52 100644
--- a/Source/WebKit2/WebProcess/com.apple.WebProcess.sb
+++ b/Source/WebKit2/WebProcess/com.apple.WebProcess.sb
@@ -87,6 +87,7 @@
;; Various services required by AppKit and other frameworks
(allow mach-lookup
(global-name "com.apple.CoreServices.coreservicesd")
+ (global-name "com.apple.CFPasteboardClient")
(global-name "com.apple.DiskArbitration.diskarbitrationd")
(global-name "com.apple.FileCoordination")
(global-name "com.apple.FontObjectsServer")
diff --git a/Source/WebKit2/WebProcess/gtk/WebProcessGtk.cpp b/Source/WebKit2/WebProcess/gtk/WebProcessGtk.cpp
index 43e9776..0deed68 100644
--- a/Source/WebKit2/WebProcess/gtk/WebProcessGtk.cpp
+++ b/Source/WebKit2/WebProcess/gtk/WebProcessGtk.cpp
@@ -27,8 +27,8 @@
#include "config.h"
#include "WebProcess.h"
-#include "NotImplemented.h"
#include "WebProcessCreationParameters.h"
+#include <WebCore/NotImplemented.h>
namespace WebKit {
@@ -47,7 +47,7 @@ void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters
notImplemented();
}
-void WebProcess::platformShutdown()
+void WebProcess::platformTerminate()
{
}
diff --git a/Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.h b/Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.h
new file mode 100644
index 0000000..d6212b2
--- /dev/null
+++ b/Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.h
@@ -0,0 +1,40 @@
+/*
+ * 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 FullKeyboardAccessWatcher_h
+#define FullKeyboardAccessWatcher_h
+
+#import <Cocoa/Cocoa.h>
+
+@interface FullKeyboardAccessWatcher : NSObject {
+@private
+ BOOL fullKeyboardAccessEnabled;
+}
+
++ (BOOL)fullKeyboardAccessEnabled;
+
+@end;
+
+#endif // FullKeyboardAccessWatcher_h
diff --git a/Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.mm b/Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.mm
new file mode 100644
index 0000000..db19e95
--- /dev/null
+++ b/Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.mm
@@ -0,0 +1,70 @@
+/*
+ * 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.
+ */
+
+#import "config.h"
+#import "FullKeyboardAccessWatcher.h"
+
+NSString * const KeyboardUIModeDidChangeNotification = @"com.apple.KeyboardUIModeDidChange";
+const CFStringRef AppleKeyboardUIMode = CFSTR("AppleKeyboardUIMode");
+const CFStringRef UniversalAccessDomain = CFSTR("com.apple.universalaccess");
+
+@implementation FullKeyboardAccessWatcher
+
+- (void)retrieveKeyboardUIModeFromPreferences:(NSNotification *)notification
+{
+ CFPreferencesAppSynchronize(UniversalAccessDomain);
+
+ Boolean keyExistsAndHasValidFormat;
+ int mode = CFPreferencesGetAppIntegerValue(AppleKeyboardUIMode, UniversalAccessDomain, &keyExistsAndHasValidFormat);
+ if (keyExistsAndHasValidFormat) {
+ // The keyboard access mode is reported by two bits:
+ // Bit 0 is set if feature is on
+ // Bit 1 is set if full keyboard access works for any control, not just text boxes and lists.
+ fullKeyboardAccessEnabled = (mode & 0x2);
+ }
+}
+
+- (id)init
+{
+ self = [super init];
+ if (!self)
+ return nil;
+
+ [self retrieveKeyboardUIModeFromPreferences:nil];
+
+ [[NSDistributedNotificationCenter defaultCenter]
+ addObserver:self selector:@selector(retrieveKeyboardUIModeFromPreferences:)
+ name:KeyboardUIModeDidChangeNotification object:nil];
+
+ return self;
+}
+
++ (BOOL)fullKeyboardAccessEnabled
+{
+ static FullKeyboardAccessWatcher *watcher = [[FullKeyboardAccessWatcher alloc] init];
+ return watcher->fullKeyboardAccessEnabled;
+}
+
+@end
diff --git a/Source/WebKit2/WebProcess/mac/WebProcessMac.mm b/Source/WebKit2/WebProcess/mac/WebProcessMac.mm
index fc06d2c..92b36b8 100644
--- a/Source/WebKit2/WebProcess/mac/WebProcessMac.mm
+++ b/Source/WebKit2/WebProcess/mac/WebProcessMac.mm
@@ -26,6 +26,7 @@
#import "config.h"
#import "WebProcess.h"
+#import "FullKeyboardAccessWatcher.h"
#import "SandboxExtension.h"
#import "WebProcessCreationParameters.h"
#import <WebCore/MemoryCache.h>
@@ -110,6 +111,11 @@ void WebProcess::platformClearResourceCaches()
[[NSURLCache sharedURLCache] removeAllCachedResponses];
}
+bool WebProcess::fullKeyboardAccessEnabled()
+{
+ return [FullKeyboardAccessWatcher fullKeyboardAccessEnabled];
+}
+
#if ENABLE(WEB_PROCESS_SANDBOX)
static void appendSandboxParameterPath(Vector<const char*>& vector, const char* name, const char* path)
{
@@ -179,7 +185,7 @@ void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters
NSUInteger cacheMemoryCapacity = parameters.nsURLCacheMemoryCapacity;
NSUInteger cacheDiskCapacity = parameters.nsURLCacheDiskCapacity;
- NSString *nsCachePath = [[NSFileManager defaultManager] stringWithFileSystemRepresentation:parameters.nsURLCachePath.data() length:parameters.nsURLCachePath.length()];
+ NSString *nsCachePath = [[NSFileManager defaultManager] stringWithFileSystemRepresentation:parameters.nsURLCachePath.data() length:strlen(parameters.nsURLCachePath.data())];
RetainPtr<NSURLCache> parentProcessURLCache(AdoptNS, [[NSURLCache alloc] initWithMemoryCapacity:cacheMemoryCapacity diskCapacity:cacheDiskCapacity diskPath:nsCachePath]);
[NSURLCache setSharedURLCache:parentProcessURLCache.get()];
}
@@ -187,7 +193,7 @@ void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters
m_compositingRenderServerPort = parameters.acceleratedCompositingPort.port();
}
-void WebProcess::platformShutdown()
+void WebProcess::platformTerminate()
{
}
diff --git a/Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm b/Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm
index 846d7a1..6469df2 100644
--- a/Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm
+++ b/Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010, 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
@@ -72,6 +72,11 @@ int WebProcessMain(const CommandLine& commandLine)
return 2;
}
+ String localization = commandLine["localization"];
+ RetainPtr<CFStringRef> cfLocalization(AdoptCF, CFStringCreateWithCharacters(0, reinterpret_cast<const UniChar*>(localization.characters()), localization.length()));
+ if (cfLocalization)
+ WKSetDefaultLocalization(cfLocalization.get());
+
#if !SHOW_CRASH_REPORTER
// Installs signal handlers that exit on a crash so that CrashReporter does not show up.
signal(SIGILL, _exit);
diff --git a/Source/WebKit2/WebProcess/qt/WebProcessQt.cpp b/Source/WebKit2/WebProcess/qt/WebProcessQt.cpp
index c45ea32..459274c 100644
--- a/Source/WebKit2/WebProcess/qt/WebProcessQt.cpp
+++ b/Source/WebKit2/WebProcess/qt/WebProcessQt.cpp
@@ -55,7 +55,7 @@ void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters
#endif
}
-void WebProcess::platformShutdown()
+void WebProcess::platformTerminate()
{
delete m_networkAccessManager;
m_networkAccessManager = 0;
diff --git a/Source/WebKit2/WebProcess/win/WebProcessWin.cpp b/Source/WebKit2/WebProcess/win/WebProcessWin.cpp
index 97e2385..58230d3 100644
--- a/Source/WebKit2/WebProcess/win/WebProcessWin.cpp
+++ b/Source/WebKit2/WebProcess/win/WebProcessWin.cpp
@@ -108,9 +108,20 @@ void WebProcess::platformClearResourceCaches()
void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters& parameters, CoreIPC::ArgumentDecoder*)
{
setShouldPaintNativeControls(parameters.shouldPaintNativeControls);
+
+#if USE(CFNETWORK)
+ RetainPtr<CFStringRef> cachePath(AdoptCF, parameters.cfURLCachePath.createCFString());
+ if (!cachePath)
+ return;
+
+ CFIndex cacheDiskCapacity = parameters.cfURLCacheDiskCapacity;
+ CFIndex cacheMemoryCapacity = parameters.cfURLCacheMemoryCapacity;
+ RetainPtr<CFURLCacheRef> uiProcessCache(AdoptCF, CFURLCacheCreate(kCFAllocatorDefault, cacheMemoryCapacity, cacheDiskCapacity, cachePath.get()));
+ CFURLCacheSetSharedURLCache(uiProcessCache.get());
+#endif
}
-void WebProcess::platformShutdown()
+void WebProcess::platformTerminate()
{
}
diff --git a/Source/WebKit2/config.h b/Source/WebKit2/config.h
index 4f8d923..36fd989 100644
--- a/Source/WebKit2/config.h
+++ b/Source/WebKit2/config.h
@@ -69,10 +69,6 @@ static const type& name() \
#define JS_EXPORTDATA
#define JS_EXPORTCLASS
-// Disable notImplemented() warnings not to break layout tests.
-// FIXME: WebKit2 logging system should behave identical to WebKit1.
-#define DISABLE_NOT_IMPLEMENTED_WARNINGS 1
-
#elif defined(__APPLE__)
#ifdef __OBJC__
@@ -140,3 +136,12 @@ static const type& name() \
#endif /* defined(WIN32) || defined(_WIN32) */
+#if PLATFORM(MAC) || (OS(MAC_OS_X) && PLATFORM(QT))
+#define PLUGIN_ARCHITECTURE_MAC 1
+#elif PLATFORM(WIN) || (OS(WINDOWS) && PLATFORM(QT))
+#define PLUGIN_ARCHITECTURE_WIN 1
+#elif (PLATFORM(QT) && defined(Q_WS_X11)) || (PLATFORM(GTK) && OS(UNIX) && !OS(MAC_OS_X))
+#define PLUGIN_ARCHITECTURE_X11 1
+#endif
+
+#define PLUGIN_ARCHITECTURE(ARCH) (defined PLUGIN_ARCHITECTURE_##ARCH && PLUGIN_ARCHITECTURE_##ARCH)
diff --git a/Source/WebKit2/win/WebKit2.rc b/Source/WebKit2/win/WebKit2.rc
index 7a5176a..672ede7 100644
--- a/Source/WebKit2/win/WebKit2.rc
+++ b/Source/WebKit2/win/WebKit2.rc
@@ -11,44 +11,6 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
/////////////////////////////////////////////////////////////////////////////
//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION __VERSION_MAJOR__,__VERSION_MINOR__,__VERSION_TINY__,__VERSION_BUILD__
- PRODUCTVERSION __VERSION_MAJOR__,__VERSION_MINOR__,__VERSION_TINY__,__VERSION_BUILD__
- FILEFLAGSMASK 0x17L
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "FileDescription", "WebKit Dynamic Link Library"
- VALUE "FileVersion", __VERSION_TEXT__
- VALUE "CompanyName", "Apple Inc."
- VALUE "InternalName", "WebKit"
- VALUE "LegalCopyright", "Copyright Apple Inc. 2003-" __COPYRIGHT_YEAR_END_TEXT__
- VALUE "OriginalFilename", "WebKit.dll"
- VALUE "ProductName", "WebKit"
- VALUE "ProductVersion", __BUILD_NUMBER_SHORT__
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-/////////////////////////////////////////////////////////////////////////////
-//
// PNG
//
@@ -78,3 +40,13 @@ IDR_FS_VIDEO_AUDIO_VOLUME_LOW PNG "fsVideoAudioVolumeLow.
IDR_FS_VIDEO_EXIT_FULLSCREEN PNG "fsVideoExitFullscreen.png"
IDR_FS_VIDEO_PAUSE PNG "fsVideoPause.png"
IDR_FS_VIDEO_PLAY PNG "fsVideoPlay.png"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// STRINGTABLE
+//
+
+STRINGTABLE
+BEGIN
+ BUILD_NUMBER __BUILD_NUMBER_SHORT__
+END
diff --git a/Source/WebKit2/win/WebKit2.vcproj b/Source/WebKit2/win/WebKit2.vcproj
index 6d6ab21..ecd064d 100755
--- a/Source/WebKit2/win/WebKit2.vcproj
+++ b/Source/WebKit2/win/WebKit2.vcproj
@@ -419,10 +419,26 @@
>
</File>
<File
+ RelativePath="..\Shared\DictionaryPopupInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\DictionaryPopupInfo.h"
+ >
+ </File>
+ <File
RelativePath="..\Shared\DrawingAreaInfo.h"
>
</File>
<File
+ RelativePath="..\Shared\FontInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\FontInfo.h"
+ >
+ </File>
+ <File
RelativePath="..\Shared\FontSmoothingLevel.h"
>
</File>
@@ -467,10 +483,6 @@
>
</File>
<File
- RelativePath="..\Shared\NotImplemented.h"
- >
- </File>
- <File
RelativePath="..\Shared\OriginAndDatabases.cpp"
>
</File>
@@ -499,6 +511,14 @@
>
</File>
<File
+ RelativePath="..\Shared\SecurityOriginData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\SecurityOriginData.h"
+ >
+ </File>
+ <File
RelativePath="..\Shared\SelectionState.h"
>
</File>
@@ -575,6 +595,10 @@
>
</File>
<File
+ RelativePath="..\Shared\WebCoreArgumentCoders.cpp"
+ >
+ </File>
+ <File
RelativePath="..\Shared\WebCoreArgumentCoders.h"
>
</File>
@@ -1150,6 +1174,14 @@
>
</File>
<File
+ RelativePath="..\Shared\win\WebKitBundle.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\win\WebKitBundle.h"
+ >
+ </File>
+ <File
RelativePath="..\Shared\win\WebURLRequestWin.cpp"
>
<FileConfiguration
@@ -1213,6 +1245,26 @@
/>
</FileConfiguration>
</File>
+ <File
+ RelativePath="..\Shared\cg\WebCoreArgumentCodersCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
</Filter>
<Filter
Name="cairo"
@@ -1303,6 +1355,22 @@
>
</File>
<Filter
+ Name="ApplicationCache"
+ >
+ <File
+ RelativePath="..\WebProcess\ApplicationCache\WebApplicationCacheManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\ApplicationCache\WebApplicationCacheManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\ApplicationCache\WebApplicationCacheManager.messages.in"
+ >
+ </File>
+ </Filter>
+ <Filter
Name="Authentication"
>
<File
@@ -1343,6 +1411,62 @@
</File>
</Filter>
<Filter
+ Name="KeyValueStorage"
+ >
+ <File
+ RelativePath="..\WebProcess\KeyValueStorage\WebKeyValueStorageManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\KeyValueStorage\WebKeyValueStorageManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\KeyValueStorage\WebKeyValueStorageManager.messages.in"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="ResourceCache"
+ >
+ <File
+ RelativePath="..\WebProcess\ResourceCache\WebResourceCacheManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\ResourceCache\WebResourceCacheManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\ResourceCache\WebResourceCacheManager.messages.in"
+ >
+ </File>
+ <Filter
+ Name="cf"
+ >
+ <File
+ RelativePath="..\WebProcess\ResourceCache\cf\WebResourceCacheManagerCFNet.cpp"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Cookies"
+ >
+ <File
+ RelativePath="..\WebProcess\Cookies\WebCookieManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Cookies\WebCookieManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Cookies\WebCookieManager.messages.in"
+ >
+ </File>
+ </Filter>
+ <Filter
Name="WebCoreSupport"
>
<File
@@ -1453,19 +1577,19 @@
Name="win"
>
<File
- RelativePath="..\WebProcess\WebCoreSupport\win\WebDragClientWin.cpp"
+ RelativePath="..\WebProcess\WebCoreSupport\win\WebContextMenuClientWin.cpp"
>
</File>
<File
- RelativePath="..\WebProcess\WebCoreSupport\win\WebDragSource.cpp"
+ RelativePath="..\WebProcess\WebCoreSupport\win\WebDragClientWin.cpp"
>
</File>
<File
- RelativePath="..\WebProcess\WebCoreSupport\win\WebDragSource.h"
+ RelativePath="..\WebProcess\WebCoreSupport\win\WebDragSource.cpp"
>
</File>
<File
- RelativePath="..\WebProcess\WebCoreSupport\win\WebContextMenuClientWin.cpp"
+ RelativePath="..\WebProcess\WebCoreSupport\win\WebDragSource.h"
>
</File>
<File
@@ -1514,6 +1638,10 @@
>
</File>
<File
+ RelativePath="..\WebProcess\WebPage\DrawingArea.messages.in"
+ >
+ </File>
+ <File
RelativePath="..\WebProcess\WebPage\DrawingAreaImpl.cpp"
>
</File>
@@ -1538,14 +1666,6 @@
>
</File>
<File
- RelativePath="..\WebProcess\WebPage\LayerBackedDrawingArea.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\LayerBackedDrawingArea.h"
- >
- </File>
- <File
RelativePath="..\WebProcess\WebPage\LayerTreeHost.cpp"
>
</File>
@@ -1641,10 +1761,6 @@
>
</File>
<File
- RelativePath="..\WebProcess\WebPage\win\LayerBackedDrawingAreaWin.cpp"
- >
- </File>
- <File
RelativePath="..\WebProcess\WebPage\win\WebInspectorWin.cpp"
>
</File>
@@ -2171,6 +2287,10 @@
>
</File>
<File
+ RelativePath="..\UIProcess\DrawingAreaProxy.messages.in"
+ >
+ </File>
+ <File
RelativePath="..\UIProcess\DrawingAreaProxyImpl.cpp"
>
</File>
@@ -2207,14 +2327,6 @@
>
</File>
<File
- RelativePath="..\UIProcess\LayerBackedDrawingAreaProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\LayerBackedDrawingAreaProxy.h"
- >
- </File>
- <File
RelativePath="..\UIProcess\PageClient.h"
>
</File>
@@ -2243,6 +2355,18 @@
>
</File>
<File
+ RelativePath="..\UIProcess\WebApplicationCacheManagerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebApplicationCacheManagerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebApplicationCacheManagerProxy.messages.in"
+ >
+ </File>
+ <File
RelativePath="..\UIProcess\WebBackForwardList.cpp"
>
</File>
@@ -2283,6 +2407,26 @@
>
</File>
<File
+ RelativePath="..\UIProcess\WebCookieManagerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebCookieManagerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebCookieManagerProxy.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebCookieManagerProxyClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebCookieManagerProxyClient.h"
+ >
+ </File>
+ <File
RelativePath="..\UIProcess\WebDatabaseManagerProxy.cpp"
>
</File>
@@ -2403,6 +2547,18 @@
>
</File>
<File
+ RelativePath="..\UIProcess\WebKeyValueStorageManagerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebKeyValueStorageManagerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebKeyValueStorageManagerProxy.messages.in"
+ >
+ </File>
+ <File
RelativePath="..\UIProcess\WebLoaderClient.cpp"
>
</File>
@@ -2471,23 +2627,27 @@
>
</File>
<File
- RelativePath="..\UIProcess\WebProcessManager.cpp"
+ RelativePath="..\UIProcess\WebProcessProxy.cpp"
>
</File>
<File
- RelativePath="..\UIProcess\WebProcessManager.h"
+ RelativePath="..\UIProcess\WebProcessProxy.h"
>
</File>
<File
- RelativePath="..\UIProcess\WebProcessProxy.cpp"
+ RelativePath="..\UIProcess\WebProcessProxy.messages.in"
>
</File>
<File
- RelativePath="..\UIProcess\WebProcessProxy.h"
+ RelativePath="..\UIProcess\WebResourceCacheManagerProxy.cpp"
>
</File>
<File
- RelativePath="..\UIProcess\WebProcessProxy.messages.in"
+ RelativePath="..\UIProcess\WebResourceCacheManagerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebResourceCacheManagerProxy.messages.in"
>
</File>
<File
@@ -2521,6 +2681,14 @@
>
</File>
<File
+ RelativePath="..\UIProcess\API\C\WKApplicationCacheManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKApplicationCacheManager.h"
+ >
+ </File>
+ <File
RelativePath="..\UIProcess\API\C\WKAuthenticationChallenge.cpp"
>
</File>
@@ -2573,6 +2741,14 @@
>
</File>
<File
+ RelativePath="..\UIProcess\API\C\WKCookieManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKCookieManager.h"
+ >
+ </File>
+ <File
RelativePath="..\UIProcess\API\C\WKCredential.cpp"
>
</File>
@@ -2657,6 +2833,14 @@
>
</File>
<File
+ RelativePath="..\UIProcess\API\C\WKKeyValueStorageManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKKeyValueStorageManager.h"
+ >
+ </File>
+ <File
RelativePath="..\UIProcess\API\C\WKNativeEvent.h"
>
</File>
@@ -2705,6 +2889,14 @@
>
</File>
<File
+ RelativePath="..\UIProcess\API\C\WKPluginSiteDataManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKPluginSiteDataManager.h"
+ >
+ </File>
+ <File
RelativePath="..\UIProcess\API\C\WKPreferences.cpp"
>
</File>
@@ -2728,6 +2920,14 @@
RelativePath="..\UIProcess\API\C\WKProtectionSpaceTypes.h"
>
</File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKResourceCacheManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKResourceCacheManager.h"
+ >
+ </File>
<Filter
Name="win"
>
@@ -2878,10 +3078,6 @@
>
</File>
<File
- RelativePath="..\UIProcess\win\LayerBackedDrawingAreaProxyWin.cpp"
- >
- </File>
- <File
RelativePath="..\UIProcess\win\TextCheckerWin.cpp"
>
</File>
@@ -2933,6 +3129,14 @@
RelativePath="..\UIProcess\Plugins\PluginInfoStore.h"
>
</File>
+ <File
+ RelativePath="..\UIProcess\Plugins\WebPluginSiteDataManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Plugins\WebPluginSiteDataManager.h"
+ >
+ </File>
<Filter
Name="win"
>
@@ -3287,6 +3491,22 @@
>
</File>
<File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebApplicationCacheManagerMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebApplicationCacheManagerMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebApplicationCacheManagerProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebApplicationCacheManagerProxyMessages.h"
+ >
+ </File>
+ <File
RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebContextMessageReceiver.cpp"
>
</File>
@@ -3295,6 +3515,22 @@
>
</File>
<File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebCookieManagerMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebCookieManagerMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebCookieManagerProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebCookieManagerProxyMessages.h"
+ >
+ </File>
+ <File
RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebDatabaseManagerMessageReceiver.cpp"
>
</File>
@@ -3343,6 +3579,22 @@
>
</File>
<File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebKeyValueStorageManagerMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebKeyValueStorageManagerMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebKeyValueStorageManagerProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebKeyValueStorageManagerProxyMessages.h"
+ >
+ </File>
+ <File
RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebPageMessageReceiver.cpp"
>
</File>
@@ -3374,6 +3626,22 @@
RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebProcessProxyMessages.h"
>
</File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebResourceCacheManagerMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebResourceCacheManagerMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebResourceCacheManagerProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebResourceCacheManagerProxyMessages.h"
+ >
+ </File>
</Filter>
<Filter
Name="Scripts"
@@ -3404,6 +3672,10 @@
</Filter>
</Filter>
<File
+ RelativePath="..\config.h"
+ >
+ </File>
+ <File
RelativePath=".\WebKit2.def"
>
</File>
diff --git a/Source/WebKit2/win/WebKit2Common.vsprops b/Source/WebKit2/win/WebKit2Common.vsprops
index b29aa75..e093639 100755
--- a/Source/WebKit2/win/WebKit2Common.vsprops
+++ b/Source/WebKit2/win/WebKit2Common.vsprops
@@ -6,7 +6,7 @@
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ProjectDir)\..&quot;;&quot;$(ProjectDir)\..\Platform&quot;;&quot;$(ProjectDir)\..\Platform\cg&quot;;&quot;$(ProjectDir)\..\Platform\CoreIPC&quot;;&quot;$(ProjectDir)\..\PluginProcess&quot;;&quot;$(ProjectDir)\..\Shared&quot;;&quot;$(ProjectDir)\..\Shared\win&quot;;&quot;$(ProjectDir)\..\Shared\cf&quot;;&quot;$(ProjectDir)\..\Shared\API\c&quot;;&quot;$(ProjectDir)\..\Shared\API\c\cf&quot;;&quot;$(ProjectDir)\..\Shared\API\c\win&quot;;&quot;$(ProjectDir)\..\Shared\CoreIPCSupport&quot;;&quot;$(ProjectDir)\..\Shared\Plugins&quot;;&quot;$(ProjectDir)\..\Shared\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\UIProcess&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C\win&quot;;&quot;$(ProjectDir)\..\UIProcess\API\cpp&quot;;&quot;$(ProjectDir)\..\UIProcess\API\win&quot;;&quot;$(ProjectDir)\..\UIProcess\Authentication&quot;;&quot;$(ProjectDir)\..\UIProcess\Downloads&quot;;&quot;$(ProjectDir)\..\UIProcess\Launcher&quot;;&quot;$(ProjectDir)\..\UIProcess\Plugins&quot;;&quot;$(ProjectDir)\..\UIProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport\win&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage\win&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\API\c&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\DOM&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\win&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\WebProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess\Authentication&quot;;&quot;$(ProjectDir)\..\WebProcess\Downloads&quot;;&quot;$(ProjectDir)\..\WebProcess\Downloads\cf&quot;;&quot;$(ProjectDir)\..\WebProcess\Geolocation&quot;;&quot;$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources&quot;;&quot;$(ConfigurationBuildDir)\Include&quot;;&quot;$(ConfigurationBuildDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include&quot;;&quot;$(WebKitLibrariesDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include\pthreads&quot;;&quot;$(ConfigurationBuildDir)\Include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\private\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders&quot;"
+ AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)\..&quot;;&quot;$(ProjectDir)\..\Platform&quot;;&quot;$(ProjectDir)\..\Platform\cg&quot;;&quot;$(ProjectDir)\..\Platform\CoreIPC&quot;;&quot;$(ProjectDir)\..\PluginProcess&quot;;&quot;$(ProjectDir)\..\Shared&quot;;&quot;$(ProjectDir)\..\Shared\win&quot;;&quot;$(ProjectDir)\..\Shared\cf&quot;;&quot;$(ProjectDir)\..\Shared\API\c&quot;;&quot;$(ProjectDir)\..\Shared\API\c\cf&quot;;&quot;$(ProjectDir)\..\Shared\API\c\win&quot;;&quot;$(ProjectDir)\..\Shared\CoreIPCSupport&quot;;&quot;$(ProjectDir)\..\Shared\Plugins&quot;;&quot;$(ProjectDir)\..\Shared\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\UIProcess&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C\win&quot;;&quot;$(ProjectDir)\..\UIProcess\API\cpp&quot;;&quot;$(ProjectDir)\..\UIProcess\API\win&quot;;&quot;$(ProjectDir)\..\UIProcess\Authentication&quot;;&quot;$(ProjectDir)\..\UIProcess\Downloads&quot;;&quot;$(ProjectDir)\..\UIProcess\Launcher&quot;;&quot;$(ProjectDir)\..\UIProcess\Plugins&quot;;&quot;$(ProjectDir)\..\UIProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport\win&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage\win&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\API\c&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\DOM&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\win&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\WebProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess\ApplicationCache&quot;;&quot;$(ProjectDir)\..\WebProcess\Authentication&quot;;&quot;$(ProjectDir)\..\WebProcess\Cookies&quot;;&quot;$(ProjectDir)\..\WebProcess\Downloads&quot;;&quot;$(ProjectDir)\..\WebProcess\Downloads\cf&quot;;&quot;$(ProjectDir)\..\WebProcess\Geolocation&quot;;&quot;$(ProjectDir)\..\WebProcess\KeyValueStorage&quot;;&quot;$(ProjectDir)\..\WebProcess\ResourceCache&quot;;&quot;$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources&quot;;&quot;$(ConfigurationBuildDir)\Include&quot;;&quot;$(ConfigurationBuildDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include&quot;;&quot;$(WebKitLibrariesDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include\pthreads&quot;;&quot;$(ConfigurationBuildDir)\Include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\private\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders&quot;"
PreprocessorDefinitions="_USRDLL;WEBKIT_EXPORTS;FRAMEWORK_NAME=WebKit;BUILDING_WEBKIT"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="WebKit2Prefix.h"
diff --git a/Source/WebKit2/win/WebKit2Generated.make b/Source/WebKit2/win/WebKit2Generated.make
index 506e1ed..b5c2134 100644
--- a/Source/WebKit2/win/WebKit2Generated.make
+++ b/Source/WebKit2/win/WebKit2Generated.make
@@ -37,12 +37,14 @@ all:
xcopy /y /d "..\Shared\API\c\WKURLResponse.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\Shared\API\c\WKUserContentURLPattern.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WebKit2.h" "%ConfigurationBuildDir%\include\WebKit2"
+ xcopy /y /d "..\UIProcess\API\C\WKApplicationCacheManager.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKAuthenticationChallenge.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKAuthenticationDecisionListener.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKBackForwardList.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKBackForwardListItem.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKContext.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKContextPrivate.h" "%ConfigurationBuildDir%\include\WebKit2"
+ xcopy /y /d "..\UIProcess\API\C\WKCookieManager.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKCredential.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKCredentialTypes.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKDatabaseManager.h" "%ConfigurationBuildDir%\include\WebKit2"
@@ -53,17 +55,21 @@ all:
xcopy /y /d "..\UIProcess\API\C\WKGeolocationManager.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKGeolocationPermissionRequest.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKGeolocationPosition.h" "%ConfigurationBuildDir%\include\WebKit2"
- xcopy /y /d "..\UIProcess\API\c\WKInspector.h" "%ConfigurationBuildDir%\include\WebKit2"
+ xcopy /y /d "..\UIProcess\API\C\WKInspector.h" "%ConfigurationBuildDir%\include\WebKit2"
+ xcopy /y /d "..\UIProcess\API\C\WKKeyValueStorageManager.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKNativeEvent.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKNavigationData.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKOpenPanelParameters.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKOpenPanelResultListener.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKPage.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKPageGroup.h" "%ConfigurationBuildDir%\include\WebKit2"
+ xcopy /y /d "..\UIProcess\API\C\WKPagePrivate.h" "%ConfigurationBuildDir%\include\WebKit2"
+ xcopy /y /d "..\UIProcess\API\C\WKPluginSiteDataManager.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKPreferences.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKPreferencesPrivate.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKProtectionSpace.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKProtectionSpaceTypes.h" "%ConfigurationBuildDir%\include\WebKit2"
+ xcopy /y /d "..\UIProcess\API\C\WKResourceCacheManager.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\win\WKContextPrivateWin.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\win\WKView.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\win\WKViewPrivate.h" "%ConfigurationBuildDir%\include\WebKit2"
diff --git a/Source/WebKit2/win/WebKit2Generated.vcproj b/Source/WebKit2/win/WebKit2Generated.vcproj
index 555c24a..901e87d 100755
--- a/Source/WebKit2/win/WebKit2Generated.vcproj
+++ b/Source/WebKit2/win/WebKit2Generated.vcproj
@@ -73,6 +73,34 @@
<References>
</References>
<Files>
+ <Filter
+ Name="Scripts"
+ >
+ <File
+ RelativePath="..\Scripts\generate-message-receiver.py"
+ >
+ </File>
+ <File
+ RelativePath="..\Scripts\generate-messages-header.py"
+ >
+ </File>
+ <Filter
+ Name="webkit2"
+ >
+ <File
+ RelativePath="..\Scripts\webkit2\__init__.py"
+ >
+ </File>
+ <File
+ RelativePath="..\Scripts\webkit2\messages.py"
+ >
+ </File>
+ <File
+ RelativePath="..\Scripts\webkit2\messages_unittest.py"
+ >
+ </File>
+ </Filter>
+ </Filter>
<File
RelativePath=".\build-generated-files.sh"
>
diff --git a/Source/WebKit2/win/WebKit2WebProcess.rc b/Source/WebKit2/win/WebKit2WebProcess.rc
deleted file mode 100644
index 8e8e4b7..0000000
--- a/Source/WebKit2/win/WebKit2WebProcess.rc
+++ /dev/null
@@ -1,47 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "autoversion.h"
-#include "winresrc.h"
-
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION __VERSION_MAJOR__,__VERSION_MINOR__,__VERSION_TINY__,__VERSION_BUILD__
- PRODUCTVERSION __VERSION_MAJOR__,__VERSION_MINOR__,__VERSION_TINY__,__VERSION_BUILD__
- FILEFLAGSMASK 0x17L
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "FileDescription", "WebKit2WebProcess"
- VALUE "FileVersion", __VERSION_TEXT__
- VALUE "CompanyName", "Apple Inc."
- VALUE "InternalName", "WebKit2WebProcess"
- VALUE "LegalCopyright", "Copyright Apple Inc. 2003-" __COPYRIGHT_YEAR_END_TEXT__
- VALUE "OriginalFilename", "WebKit2WebProcess.exe"
- VALUE "ProductName", "WebKit2"
- VALUE "ProductVersion", __BUILD_NUMBER_SHORT__
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
diff --git a/Source/WebKit2/win/WebKit2WebProcess.vcproj b/Source/WebKit2/win/WebKit2WebProcess.vcproj
index a65ce04..ab34908 100755
--- a/Source/WebKit2/win/WebKit2WebProcess.vcproj
+++ b/Source/WebKit2/win/WebKit2WebProcess.vcproj
@@ -401,10 +401,6 @@
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
- <File
- RelativePath=".\WebKit2WebProcess.rc"
- >
- </File>
</Files>
<Globals>
</Globals>
diff --git a/Source/WebKit2/win/WebKit2WebProcessPostBuild.cmd b/Source/WebKit2/win/WebKit2WebProcessPostBuild.cmd
index 609f325..68b5cbd 100644
--- a/Source/WebKit2/win/WebKit2WebProcessPostBuild.cmd
+++ b/Source/WebKit2/win/WebKit2WebProcessPostBuild.cmd
@@ -1,4 +1,5 @@
mkdir 2>NUL "%OUTDIR%\..\bin\WebKit2WebProcess.resources"
xcopy /y /d "%PROJECTDIR%\WebKit2WebProcess.resources\*" "%OUTDIR%\..\bin\WebKit2WebProcess.resources"
+if exist "%WEBKITLIBRARIESDIR%\tools\VersionStamper\VersionStamper.exe" "%WEBKITLIBRARIESDIR%\tools\VersionStamper\VersionStamper.exe" --verbose "%TARGETPATH%"
if exist "%CONFIGURATIONBUILDDIR%\buildfailed" del "%CONFIGURATIONBUILDDIR%\buildfailed"
diff --git a/Source/WebKit2/win/WebKit2WebProcessPreBuild.cmd b/Source/WebKit2/win/WebKit2WebProcessPreBuild.cmd
index 42fbb71..a770776 100644
--- a/Source/WebKit2/win/WebKit2WebProcessPreBuild.cmd
+++ b/Source/WebKit2/win/WebKit2WebProcessPreBuild.cmd
@@ -4,5 +4,3 @@ cmd /c
if exist "%CONFIGURATIONBUILDDIR%\buildfailed" grep XX%PROJECTNAME%XX "%CONFIGURATIONBUILDDIR%\buildfailed"
if errorlevel 1 exit 1
echo XX%PROJECTNAME%XX > "%CONFIGURATIONBUILDDIR%\buildfailed"
-
-bash "%WEBKITLIBRARIESDIR%\tools\scripts\auto-version.sh" "%INTDIR%"
diff --git a/Source/WebKit2/win/WebKitPostBuild.cmd b/Source/WebKit2/win/WebKitPostBuild.cmd
index 26707ca..233c45c 100644
--- a/Source/WebKit2/win/WebKitPostBuild.cmd
+++ b/Source/WebKit2/win/WebKitPostBuild.cmd
@@ -1 +1,2 @@
+if exist "%WEBKITLIBRARIESDIR%\tools\VersionStamper\VersionStamper.exe" "%WEBKITLIBRARIESDIR%\tools\VersionStamper\VersionStamper.exe" --verbose "%TARGETPATH%"
if exist "%CONFIGURATIONBUILDDIR%\buildfailed" del "%CONFIGURATIONBUILDDIR%\buildfailed"