summaryrefslogtreecommitdiffstats
path: root/WebKit
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit')
-rw-r--r--WebKit/Android.mk1
-rw-r--r--WebKit/CMakeLists.txt4
-rw-r--r--WebKit/ChangeLog33
-rw-r--r--WebKit/WebKit.xcodeproj/project.pbxproj16
-rw-r--r--WebKit/android/RenderSkinAndroid.cpp13
-rw-r--r--WebKit/android/RenderSkinAndroid.h31
-rw-r--r--WebKit/android/RenderSkinButton.cpp73
-rw-r--r--WebKit/android/RenderSkinButton.h12
-rw-r--r--WebKit/android/RenderSkinMediaButton.cpp5
-rw-r--r--WebKit/android/RenderSkinNinePatch.cpp89
-rw-r--r--WebKit/android/RenderSkinNinePatch.h48
-rw-r--r--WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp11
-rw-r--r--WebKit/android/WebCoreSupport/ChromeClientAndroid.h4
-rw-r--r--WebKit/android/WebCoreSupport/EditorClientAndroid.cpp4
-rw-r--r--WebKit/android/WebCoreSupport/EditorClientAndroid.h3
-rw-r--r--WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp2
-rw-r--r--WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.h3
-rw-r--r--WebKit/android/WebCoreSupport/MediaPlayerPrivateAndroid.cpp18
-rw-r--r--WebKit/android/WebCoreSupport/UrlInterceptResponse.cpp9
-rw-r--r--WebKit/android/WebCoreSupport/autofill/FormManagerAndroid.cpp22
-rw-r--r--WebKit/android/jni/DeviceMotionClientImpl.h5
-rw-r--r--WebKit/android/jni/DeviceOrientationClientImpl.h5
-rw-r--r--WebKit/android/jni/JavaBridge.cpp23
-rw-r--r--WebKit/android/jni/WebCoreFrameBridge.cpp22
-rw-r--r--WebKit/android/jni/WebCoreFrameBridge.h4
-rw-r--r--WebKit/android/jni/WebSettings.cpp2
-rw-r--r--WebKit/android/jni/WebStorage.cpp8
-rw-r--r--WebKit/android/jni/WebViewCore.cpp31
-rw-r--r--WebKit/android/jni/WebViewCore.h58
-rw-r--r--WebKit/android/nav/CacheBuilder.cpp4
-rw-r--r--WebKit/android/nav/WebView.cpp26
-rw-r--r--WebKit/android/plugins/ANPSoundInterface.cpp16
-rw-r--r--WebKit/cf/ChangeLog12
-rw-r--r--WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp7
-rw-r--r--WebKit/chromium/ChangeLog871
-rw-r--r--WebKit/chromium/DEPS15
-rw-r--r--WebKit/chromium/README16
-rw-r--r--WebKit/chromium/WebKit.grd4
-rw-r--r--WebKit/chromium/WebKit.gyp100
-rw-r--r--WebKit/chromium/features.gypi1
-rw-r--r--WebKit/chromium/public/WebAccessibilityObject.h2
-rw-r--r--WebKit/chromium/public/WebAnimationController.h21
-rw-r--r--WebKit/chromium/public/WebAudioBus.h18
-rw-r--r--WebKit/chromium/public/WebAudioDevice.h55
-rw-r--r--WebKit/chromium/public/WebAutoFillClient.h90
-rw-r--r--WebKit/chromium/public/WebDevToolsAgent.h11
-rw-r--r--WebKit/chromium/public/WebFormControlElement.h2
-rw-r--r--WebKit/chromium/public/WebFormElement.h8
-rw-r--r--WebKit/chromium/public/WebFrameClient.h2
-rw-r--r--WebKit/chromium/public/WebGeolocationClient.h54
-rw-r--r--WebKit/chromium/public/WebGeolocationClientMock.h76
-rw-r--r--WebKit/chromium/public/WebGeolocationController.h65
-rw-r--r--WebKit/chromium/public/WebGeolocationError.h3
-rw-r--r--WebKit/chromium/public/WebGeolocationPermissionRequest.h63
-rw-r--r--WebKit/chromium/public/WebGeolocationPermissionRequestManager.h63
-rw-r--r--WebKit/chromium/public/WebGeolocationPosition.h3
-rw-r--r--WebKit/chromium/public/WebGraphicsContext3D.h4
-rw-r--r--WebKit/chromium/public/WebIDBCursor.h4
-rw-r--r--WebKit/chromium/public/WebIDBDatabase.h14
-rw-r--r--WebKit/chromium/public/WebIDBDatabaseError.h8
-rwxr-xr-xWebKit/chromium/public/WebIDBFactory.h9
-rw-r--r--WebKit/chromium/public/WebIDBKey.h14
-rw-r--r--WebKit/chromium/public/WebIDBKeyRange.h7
-rwxr-xr-xWebKit/chromium/public/WebIDBObjectStore.h4
-rw-r--r--WebKit/chromium/public/WebInputElement.h8
-rw-r--r--WebKit/chromium/public/WebKitClient.h13
-rw-r--r--WebKit/chromium/public/WebLabelElement.h8
-rw-r--r--WebKit/chromium/public/WebOptionElement.h8
-rw-r--r--WebKit/chromium/public/WebPerformance.h5
-rw-r--r--WebKit/chromium/public/WebSelectElement.h12
-rw-r--r--WebKit/chromium/public/WebView.h16
-rw-r--r--WebKit/chromium/public/WebViewClient.h5
-rw-r--r--WebKit/chromium/public/WebWidget.h9
-rw-r--r--WebKit/chromium/public/linux/WebThemeEngine.h7
-rw-r--r--WebKit/chromium/public/mac/WebThemeEngine.h (renamed from WebKit/gtk/webkit/webkitworkers.cpp)57
-rw-r--r--WebKit/chromium/src/ApplicationCacheHost.cpp6
-rw-r--r--WebKit/chromium/src/AssertMatchingEnums.cpp22
-rw-r--r--WebKit/chromium/src/AssociatedURLLoader.cpp50
-rw-r--r--WebKit/chromium/src/AssociatedURLLoader.h15
-rw-r--r--WebKit/chromium/src/AudioDestinationChromium.cpp125
-rw-r--r--WebKit/chromium/src/AudioDestinationChromium.h67
-rw-r--r--WebKit/chromium/src/AutoFillPopupMenuClient.cpp45
-rw-r--r--WebKit/chromium/src/AutoFillPopupMenuClient.h8
-rw-r--r--WebKit/chromium/src/ChromeClientImpl.cpp12
-rw-r--r--WebKit/chromium/src/ChromiumBridge.cpp38
-rw-r--r--WebKit/chromium/src/ContextMenuClientImpl.cpp6
-rw-r--r--WebKit/chromium/src/EditorClientImpl.cpp3
-rw-r--r--WebKit/chromium/src/EditorClientImpl.h2
-rw-r--r--WebKit/chromium/src/Extensions3DChromium.cpp9
-rw-r--r--WebKit/chromium/src/FrameLoaderClientImpl.cpp14
-rw-r--r--WebKit/chromium/src/FrameLoaderClientImpl.h2
-rw-r--r--WebKit/chromium/src/GeolocationClientProxy.cpp98
-rw-r--r--WebKit/chromium/src/GeolocationClientProxy.h61
-rw-r--r--WebKit/chromium/src/GraphicsContext3DChromium.cpp616
-rw-r--r--WebKit/chromium/src/GraphicsContext3DInternal.h317
-rw-r--r--WebKit/chromium/src/IDBCursorBackendProxy.cpp4
-rw-r--r--WebKit/chromium/src/IDBCursorBackendProxy.h2
-rw-r--r--WebKit/chromium/src/IDBDatabaseProxy.cpp5
-rw-r--r--WebKit/chromium/src/IDBDatabaseProxy.h1
-rw-r--r--WebKit/chromium/src/LocalizedStrings.cpp32
-rw-r--r--WebKit/chromium/src/StorageAreaProxy.cpp4
-rw-r--r--WebKit/chromium/src/WebAccessibilityObject.cpp11
-rw-r--r--WebKit/chromium/src/WebAudioBus.cpp18
-rw-r--r--WebKit/chromium/src/WebDevToolsAgentImpl.cpp11
-rw-r--r--WebKit/chromium/src/WebDevToolsAgentImpl.h1
-rw-r--r--WebKit/chromium/src/WebDevToolsFrontendImpl.cpp9
-rw-r--r--WebKit/chromium/src/WebFormElement.cpp9
-rw-r--r--WebKit/chromium/src/WebFrameImpl.cpp16
-rw-r--r--WebKit/chromium/src/WebGeolocationClientMock.cpp146
-rw-r--r--WebKit/chromium/src/WebGeolocationController.cpp52
-rw-r--r--WebKit/chromium/src/WebGeolocationPermissionRequest.cpp49
-rw-r--r--WebKit/chromium/src/WebGeolocationPermissionRequestManager.cpp95
-rw-r--r--WebKit/chromium/src/WebGeolocationServiceMock.cpp35
-rw-r--r--WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp72
-rw-r--r--WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.h3
-rw-r--r--WebKit/chromium/src/WebIDBCursorImpl.cpp4
-rw-r--r--WebKit/chromium/src/WebIDBCursorImpl.h2
-rw-r--r--WebKit/chromium/src/WebIDBDatabaseError.cpp2
-rw-r--r--WebKit/chromium/src/WebIDBKey.cpp41
-rw-r--r--WebKit/chromium/src/WebIDBKeyRange.cpp36
-rw-r--r--WebKit/chromium/src/WebImageDecoder.cpp4
-rw-r--r--WebKit/chromium/src/WebPasswordFormUtils.cpp10
-rw-r--r--WebKit/chromium/src/WebPerformance.cpp33
-rw-r--r--WebKit/chromium/src/WebPluginContainerImpl.cpp4
-rw-r--r--WebKit/chromium/src/WebPopupMenuImpl.cpp5
-rw-r--r--WebKit/chromium/src/WebPopupMenuImpl.h1
-rw-r--r--WebKit/chromium/src/WebSearchableFormData.cpp17
-rw-r--r--WebKit/chromium/src/WebViewImpl.cpp295
-rw-r--r--WebKit/chromium/src/WebViewImpl.h20
-rw-r--r--WebKit/chromium/src/js/DevTools.js2
-rw-r--r--WebKit/chromium/src/js/Tests.js6
-rw-r--r--WebKit/chromium/tests/PopupMenuTest.cpp1
-rw-r--r--WebKit/efl/CMakeListsEfl.txt1
-rw-r--r--WebKit/efl/ChangeLog277
-rw-r--r--WebKit/efl/WebCoreSupport/ChromeClientEfl.h4
-rw-r--r--WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp123
-rw-r--r--WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h62
-rw-r--r--WebKit/efl/WebCoreSupport/EditorClientEfl.cpp10
-rw-r--r--WebKit/efl/WebCoreSupport/EditorClientEfl.h3
-rw-r--r--WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp8
-rw-r--r--WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h3
-rw-r--r--WebKit/efl/ewk/ewk_contextmenu.cpp14
-rw-r--r--WebKit/efl/ewk/ewk_frame.cpp39
-rw-r--r--WebKit/efl/ewk/ewk_frame.h21
-rw-r--r--WebKit/efl/ewk/ewk_private.h6
-rw-r--r--WebKit/efl/ewk/ewk_settings.cpp44
-rw-r--r--WebKit/efl/ewk/ewk_tiled_backing_store.c247
-rw-r--r--WebKit/efl/ewk/ewk_tiled_backing_store.h1
-rw-r--r--WebKit/efl/ewk/ewk_tiled_matrix.c4
-rw-r--r--WebKit/efl/ewk/ewk_tiled_model.c4
-rw-r--r--WebKit/efl/ewk/ewk_view.cpp12
-rw-r--r--WebKit/efl/ewk/ewk_view.h2
-rw-r--r--WebKit/gtk/ChangeLog1335
-rw-r--r--WebKit/gtk/GNUmakefile.am98
-rw-r--r--WebKit/gtk/NEWS39
-rw-r--r--WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp104
-rw-r--r--WebKit/gtk/WebCoreSupport/ChromeClientGtk.h9
-rw-r--r--WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp15
-rw-r--r--WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp8
-rw-r--r--WebKit/gtk/WebCoreSupport/DragClientGtk.cpp5
-rw-r--r--WebKit/gtk/WebCoreSupport/DragClientGtk.h2
-rw-r--r--WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp456
-rw-r--r--WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h47
-rw-r--r--WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp66
-rw-r--r--WebKit/gtk/WebCoreSupport/EditorClientGtk.h5
-rw-r--r--WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp165
-rw-r--r--WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h3
-rw-r--r--WebKit/gtk/WebCoreSupport/FullscreenVideoController.cpp1
-rw-r--r--WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp17
-rw-r--r--WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp4
-rw-r--r--WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h2
-rw-r--r--WebKit/gtk/docs/GNUmakefile.am9
-rw-r--r--WebKit/gtk/docs/webkitgtk-docs.sgml6
-rw-r--r--WebKit/gtk/docs/webkitgtk-sections.txt65
-rw-r--r--WebKit/gtk/po/ChangeLog15
-rw-r--r--WebKit/gtk/po/ko.po1382
-rw-r--r--WebKit/gtk/tests/testatk.c152
-rw-r--r--WebKit/gtk/tests/testatkroles.c4
-rw-r--r--WebKit/gtk/tests/testdomdocument.c4
-rw-r--r--WebKit/gtk/tests/testdomdomwindow.c4
-rw-r--r--WebKit/gtk/tests/testdomnode.c4
-rw-r--r--WebKit/gtk/tests/testglobals.c4
-rw-r--r--WebKit/gtk/tests/testhttpbackend.c4
-rw-r--r--WebKit/gtk/tests/testloading.c4
-rw-r--r--WebKit/gtk/tests/testmimehandling.c4
-rw-r--r--WebKit/gtk/tests/testnetworkrequest.c4
-rw-r--r--WebKit/gtk/tests/testnetworkresponse.c4
-rw-r--r--WebKit/gtk/tests/testwebbackforwardlist.c4
-rw-r--r--WebKit/gtk/tests/testwebdatasource.c102
-rw-r--r--WebKit/gtk/tests/testwebframe.c4
-rw-r--r--WebKit/gtk/tests/testwebhistoryitem.c4
-rw-r--r--WebKit/gtk/tests/testwebplugindatabase.c89
-rw-r--r--WebKit/gtk/tests/testwebresource.c19
-rw-r--r--WebKit/gtk/tests/testwebsettings.c4
-rw-r--r--WebKit/gtk/tests/testwebview.c4
-rw-r--r--WebKit/gtk/tests/testwindow.c4
-rw-r--r--WebKit/gtk/webkit/webkit.h4
-rw-r--r--WebKit/gtk/webkit/webkitapplicationcache.cpp7
-rw-r--r--WebKit/gtk/webkit/webkitapplicationcacheprivate.h35
-rw-r--r--WebKit/gtk/webkit/webkitdefines.h9
-rw-r--r--WebKit/gtk/webkit/webkitdownload.cpp23
-rw-r--r--WebKit/gtk/webkit/webkitdownloadprivate.h36
-rw-r--r--WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp7
-rw-r--r--WebKit/gtk/webkit/webkitgeolocationpolicydecisionprivate.h34
-rw-r--r--WebKit/gtk/webkit/webkitglobals.cpp282
-rw-r--r--WebKit/gtk/webkit/webkitglobals.h64
-rw-r--r--WebKit/gtk/webkit/webkitglobalsprivate.h44
-rw-r--r--WebKit/gtk/webkit/webkithittestresult.cpp60
-rw-r--r--WebKit/gtk/webkit/webkithittestresultprivate.h35
-rw-r--r--WebKit/gtk/webkit/webkitnetworkrequest.cpp45
-rw-r--r--WebKit/gtk/webkit/webkitnetworkrequestprivate.h33
-rw-r--r--WebKit/gtk/webkit/webkitnetworkresponse.cpp38
-rw-r--r--WebKit/gtk/webkit/webkitnetworkresponseprivate.h35
-rw-r--r--WebKit/gtk/webkit/webkitprivate.cpp364
-rw-r--r--WebKit/gtk/webkit/webkitprivate.h439
-rw-r--r--WebKit/gtk/webkit/webkitsecurityorigin.cpp59
-rw-r--r--WebKit/gtk/webkit/webkitsecurityoriginprivate.h51
-rw-r--r--WebKit/gtk/webkit/webkitsoupauthdialog.h8
-rw-r--r--WebKit/gtk/webkit/webkitviewportattributes.cpp571
-rw-r--r--WebKit/gtk/webkit/webkitviewportattributes.h62
-rw-r--r--WebKit/gtk/webkit/webkitviewportattributesprivate.h54
-rw-r--r--WebKit/gtk/webkit/webkitwebbackforwardlist.cpp12
-rw-r--r--WebKit/gtk/webkit/webkitwebbackforwardlistprivate.h34
-rw-r--r--WebKit/gtk/webkit/webkitwebdatabase.cpp11
-rw-r--r--WebKit/gtk/webkit/webkitwebdatasource.cpp51
-rw-r--r--WebKit/gtk/webkit/webkitwebdatasourceprivate.h35
-rw-r--r--WebKit/gtk/webkit/webkitwebframe.cpp434
-rw-r--r--WebKit/gtk/webkit/webkitwebframeprivate.h59
-rw-r--r--WebKit/gtk/webkit/webkitwebhistoryitem.cpp15
-rw-r--r--WebKit/gtk/webkit/webkitwebhistoryitemprivate.h49
-rw-r--r--WebKit/gtk/webkit/webkitwebinspector.cpp49
-rw-r--r--WebKit/gtk/webkit/webkitwebinspectorprivate.h42
-rw-r--r--WebKit/gtk/webkit/webkitwebnavigationaction.cpp28
-rw-r--r--WebKit/gtk/webkit/webkitwebnavigationactionprivate.h35
-rw-r--r--WebKit/gtk/webkit/webkitwebplugin.cpp251
-rw-r--r--WebKit/gtk/webkit/webkitwebplugin.h87
-rw-r--r--WebKit/gtk/webkit/webkitwebplugindatabase.cpp151
-rw-r--r--WebKit/gtk/webkit/webkitwebplugindatabase.h64
-rw-r--r--WebKit/gtk/webkit/webkitwebplugindatabaseprivate.h40
-rw-r--r--WebKit/gtk/webkit/webkitwebpluginprivate.h46
-rw-r--r--WebKit/gtk/webkit/webkitwebpolicydecision.cpp9
-rw-r--r--WebKit/gtk/webkit/webkitwebpolicydecisionprivate.h36
-rw-r--r--WebKit/gtk/webkit/webkitwebresource.cpp12
-rw-r--r--WebKit/gtk/webkit/webkitwebresourceprivate.h48
-rw-r--r--WebKit/gtk/webkit/webkitwebsettings.cpp89
-rw-r--r--WebKit/gtk/webkit/webkitwebsettingsprivate.h38
-rw-r--r--WebKit/gtk/webkit/webkitwebview.cpp444
-rw-r--r--WebKit/gtk/webkit/webkitwebview.h17
-rw-r--r--WebKit/gtk/webkit/webkitwebviewprivate.h136
-rw-r--r--WebKit/gtk/webkit/webkitwebwindowfeatures.cpp70
-rw-r--r--WebKit/gtk/webkit/webkitwebwindowfeaturesprivate.h34
-rw-r--r--WebKit/haiku/ChangeLog53
-rw-r--r--WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp14
-rw-r--r--WebKit/haiku/WebCoreSupport/EditorClientHaiku.h3
-rw-r--r--WebKit/haiku/WebCoreSupport/FrameLoaderClientHaiku.cpp8
-rw-r--r--WebKit/haiku/WebCoreSupport/FrameLoaderClientHaiku.h3
-rw-r--r--WebKit/mac/ChangeLog814
-rw-r--r--WebKit/mac/Configurations/Version.xcconfig2
-rw-r--r--WebKit/mac/History/WebHistory.mm18
-rw-r--r--WebKit/mac/History/WebHistoryItem.mm2
-rw-r--r--WebKit/mac/Info.plist2
-rw-r--r--WebKit/mac/Misc/WebNSFileManagerExtras.m5
-rw-r--r--WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib567
-rw-r--r--WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nibbin9998 -> 10052 bytes
-rw-r--r--WebKit/mac/Panels/WebAuthenticationPanel.m2
-rw-r--r--WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm8
-rw-r--r--WebKit/mac/Plugins/WebBaseNetscapePluginView.h5
-rw-r--r--WebKit/mac/Plugins/WebBaseNetscapePluginView.mm19
-rw-r--r--WebKit/mac/Plugins/WebBasePluginPackage.mm31
-rw-r--r--WebKit/mac/Plugins/WebNetscapePluginView.mm14
-rw-r--r--WebKit/mac/Plugins/WebPluginController.mm20
-rw-r--r--WebKit/mac/WebCoreSupport/WebChromeClient.h5
-rw-r--r--WebKit/mac/WebCoreSupport/WebChromeClient.mm86
-rw-r--r--WebKit/mac/WebCoreSupport/WebContextMenuClient.mm6
-rw-r--r--WebKit/mac/WebCoreSupport/WebEditorClient.h9
-rw-r--r--WebKit/mac/WebCoreSupport/WebEditorClient.mm161
-rw-r--r--WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h7
-rw-r--r--WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm30
-rw-r--r--WebKit/mac/WebCoreSupport/WebGeolocationClient.h6
-rw-r--r--WebKit/mac/WebCoreSupport/WebGeolocationClient.mm59
-rw-r--r--WebKit/mac/WebCoreSupport/WebInspectorClient.mm30
-rw-r--r--WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm8
-rw-r--r--WebKit/mac/WebCoreSupport/WebSystemInterface.mm2
-rw-r--r--WebKit/mac/WebView/WebDocumentInternal.h10
-rw-r--r--WebKit/mac/WebView/WebDynamicScrollBarsView.mm84
-rw-r--r--WebKit/mac/WebView/WebFrame.mm61
-rw-r--r--WebKit/mac/WebView/WebFrameInternal.h4
-rw-r--r--WebKit/mac/WebView/WebFramePrivate.h3
-rw-r--r--WebKit/mac/WebView/WebFrameView.mm70
-rw-r--r--WebKit/mac/WebView/WebFullScreenController.h78
-rw-r--r--WebKit/mac/WebView/WebFullScreenController.mm923
-rw-r--r--WebKit/mac/WebView/WebHTMLRepresentation.mm10
-rw-r--r--WebKit/mac/WebView/WebHTMLView.mm117
-rw-r--r--WebKit/mac/WebView/WebPDFView.mm61
-rw-r--r--WebKit/mac/WebView/WebPreferenceKeysPrivate.h1
-rw-r--r--WebKit/mac/WebView/WebPreferences.mm15
-rw-r--r--WebKit/mac/WebView/WebPreferencesPrivate.h3
-rw-r--r--WebKit/mac/WebView/WebScriptDebugger.mm2
-rw-r--r--WebKit/mac/WebView/WebScriptWorld.mm2
-rw-r--r--WebKit/mac/WebView/WebTextCompletionController.mm4
-rw-r--r--WebKit/mac/WebView/WebVideoFullscreenController.mm12
-rw-r--r--WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.mm4
-rw-r--r--WebKit/mac/WebView/WebView.mm131
-rw-r--r--WebKit/mac/WebView/WebViewData.h7
-rw-r--r--WebKit/mac/WebView/WebViewInternal.h9
-rw-r--r--WebKit/mac/WebView/WebViewPrivate.h50
-rw-r--r--WebKit/qt/Api/qgraphicswebview.cpp16
-rw-r--r--WebKit/qt/Api/qwebframe.cpp64
-rw-r--r--WebKit/qt/Api/qwebframe.h3
-rw-r--r--WebKit/qt/Api/qwebframe_p.h8
-rw-r--r--WebKit/qt/Api/qwebkitglobal.h2
-rw-r--r--WebKit/qt/Api/qwebkitplatformplugin.h2
-rw-r--r--WebKit/qt/Api/qwebpage.cpp85
-rw-r--r--WebKit/qt/Api/qwebpage.h6
-rw-r--r--WebKit/qt/Api/qwebpage_p.h5
-rw-r--r--WebKit/qt/Api/qwebsecurityorigin.cpp13
-rw-r--r--WebKit/qt/Api/qwebsecurityorigin.h1
-rw-r--r--WebKit/qt/Api/qwebview.cpp41
-rw-r--r--WebKit/qt/Api/qwebview.h4
-rw-r--r--WebKit/qt/ChangeLog736
-rw-r--r--WebKit/qt/WebCoreSupport/ChromeClientQt.cpp17
-rw-r--r--WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.cpp88
-rw-r--r--WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.h61
-rw-r--r--WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp1
-rw-r--r--WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp16
-rw-r--r--WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h5
-rw-r--r--WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp85
-rw-r--r--WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h49
-rw-r--r--WebKit/qt/WebCoreSupport/EditorClientQt.cpp205
-rw-r--r--WebKit/qt/WebCoreSupport/EditorClientQt.h3
-rw-r--r--WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp41
-rw-r--r--WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h3
-rw-r--r--WebKit/qt/WebCoreSupport/InspectorServerQt.h2
-rw-r--r--WebKit/qt/WebCoreSupport/WebPlatformStrategies.cpp5
-rw-r--r--WebKit/qt/WebCoreSupport/WebPlatformStrategies.h1
-rw-r--r--WebKit/qt/WebKit_pch.h2
-rw-r--r--WebKit/qt/declarative/qdeclarativewebview.cpp2
-rw-r--r--WebKit/qt/docs/qtwebkit.qdoc2
-rw-r--r--WebKit/qt/docs/qtwebkit.qdocconf2
-rw-r--r--WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h8
-rw-r--r--WebKit/qt/tests/hybridPixmap/widget.h2
-rw-r--r--WebKit/qt/tests/qwebframe/tst_qwebframe.cpp189
-rw-r--r--WebKit/qt/tests/qwebpage/tst_qwebpage.cpp184
-rw-r--r--WebKit/qt/tests/qwebview/tst_qwebview.cpp8
-rw-r--r--WebKit/win/AccessibleBase.cpp2
-rw-r--r--WebKit/win/AccessibleDocument.cpp2
-rw-r--r--WebKit/win/ChangeLog396
-rw-r--r--WebKit/win/FullscreenVideoController.cpp45
-rw-r--r--WebKit/win/FullscreenVideoController.h10
-rw-r--r--WebKit/win/WebCoreSupport/WebChromeClient.cpp39
-rw-r--r--WebKit/win/WebCoreSupport/WebChromeClient.h4
-rw-r--r--WebKit/win/WebCoreSupport/WebContextMenuClient.cpp74
-rw-r--r--WebKit/win/WebCoreSupport/WebContextMenuClient.h4
-rw-r--r--WebKit/win/WebCoreSupport/WebEditorClient.cpp2
-rw-r--r--WebKit/win/WebCoreSupport/WebEditorClient.h3
-rw-r--r--WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp8
-rw-r--r--WebKit/win/WebCoreSupport/WebFrameLoaderClient.h3
-rw-r--r--WebKit/win/WebCoreSupport/WebGeolocationClient.cpp30
-rw-r--r--WebKit/win/WebCoreSupport/WebGeolocationClient.h6
-rw-r--r--WebKit/win/WebFrame.cpp15
-rw-r--r--WebKit/win/WebKit.vcproj/Interfaces.vcproj9365
-rw-r--r--WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops36
-rw-r--r--WebKit/win/WebKit.vcproj/InterfacesPostBuild.cmd7
-rw-r--r--WebKit/win/WebKit.vcproj/InterfacesPreBuild.cmd9
-rwxr-xr-xWebKit/win/WebKit.vcproj/WebKit.make15
-rw-r--r--WebKit/win/WebKit.vcproj/WebKit.sln830
-rw-r--r--WebKit/win/WebKit.vcproj/WebKit.submit.sln106
-rw-r--r--WebKit/win/WebKit.vcproj/WebKit.vcproj2639
-rw-r--r--WebKit/win/WebKit.vcproj/WebKitGUID.vcproj697
-rw-r--r--WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops46
-rw-r--r--WebKit/win/WebKit.vcproj/WebKitGUIDPostBuild.cmd1
-rw-r--r--WebKit/win/WebKit.vcproj/WebKitGUIDPreBuild.cmd6
-rw-r--r--WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops52
-rw-r--r--WebKit/win/WebKit.vcproj/WebKitLibPostBuild.cmd19
-rw-r--r--WebKit/win/WebKit.vcproj/WebKitLibPreBuild.cmd16
-rw-r--r--WebKit/win/WebPreferences.cpp4
-rw-r--r--WebKit/win/WebScriptWorld.cpp2
-rw-r--r--WebKit/win/WebView.cpp32
-rw-r--r--WebKit/win/WebView.h12
-rw-r--r--WebKit/wince/CMakeListsWinCE.txt25
-rw-r--r--WebKit/wince/ChangeLog110
-rw-r--r--WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp7
-rw-r--r--WebKit/wince/WebCoreSupport/ChromeClientWinCE.h13
-rw-r--r--WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.cpp4
-rw-r--r--WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.h2
-rw-r--r--WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp10
-rw-r--r--WebKit/wince/WebCoreSupport/EditorClientWinCE.h3
-rw-r--r--WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp8
-rw-r--r--WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h3
-rw-r--r--WebKit/wince/WebView.cpp454
-rw-r--r--WebKit/wince/WebView.h100
-rw-r--r--WebKit/wx/ChangeLog94
-rw-r--r--WebKit/wx/WebKitSupport/EditorClientWx.cpp6
-rw-r--r--WebKit/wx/WebKitSupport/EditorClientWx.h5
-rw-r--r--WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp8
-rw-r--r--WebKit/wx/WebKitSupport/FrameLoaderClientWx.h5
-rw-r--r--WebKit/wx/bindings/python/wscript6
-rw-r--r--WebKit/wx/wscript28
398 files changed, 24773 insertions, 11229 deletions
diff --git a/WebKit/Android.mk b/WebKit/Android.mk
index 88defda..5998227 100644
--- a/WebKit/Android.mk
+++ b/WebKit/Android.mk
@@ -53,6 +53,7 @@ LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
android/RenderSkinButton.cpp \
android/RenderSkinCombo.cpp \
android/RenderSkinMediaButton.cpp \
+ android/RenderSkinNinePatch.cpp \
android/RenderSkinRadio.cpp \
android/TimeCounter.cpp \
\
diff --git a/WebKit/CMakeLists.txt b/WebKit/CMakeLists.txt
index 57557e3..5de532d 100644
--- a/WebKit/CMakeLists.txt
+++ b/WebKit/CMakeLists.txt
@@ -73,5 +73,9 @@ IF (WebKit_LINK_FLAGS)
ADD_TARGET_PROPERTIES(${WebKit_LIBRARY_NAME} LINK_FLAGS "${WebKit_LINK_FLAGS}")
ENDIF ()
+IF (VERSION_SCRIPT)
+ ADD_TARGET_PROPERTIES(${WebKit_LIBRARY_NAME} LINK_FLAGS "${VERSION_SCRIPT}")
+ENDIF ()
+
SET_TARGET_PROPERTIES(${WebKit_LIBRARY_NAME} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
INSTALL(TARGETS ${WebKit_LIBRARY_NAME} DESTINATION lib)
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index b6eba21..a4bdeef 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,36 @@
+2010-12-31 Adam Barth <abarth@webkit.org>
+
+ Update SVN ignore property to hide two more external dependencies.
+
+ * chromium: Modified property svn:ignore.
+
+2010-12-22 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Mark Rowe.
+
+ Changed WebKitTools to Tools in script build phases.
+
+ * WebKit.xcodeproj/project.pbxproj:
+
+2010-12-14 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Reviewed by Eric Seidel.
+
+ [EFL] Add linker script to export less symbols
+ https://bugs.webkit.org/show_bug.cgi?id=44609
+
+ Filter the exported symbols by using a linker script. Only symbols
+ starting with "ewk_" are exported.
+
+ * CMakeLists.txt: Add link flags to webkit library when there's a
+ version script.
+
+2010-12-07 Simon Fraser <simon.fraser@apple.com>
+
+ Update Xcode project for newer Xcode.
+
+ * WebKit.xcodeproj/project.pbxproj:
+
2010-11-18 Darin Adler <darin@apple.com>
* StringsNotToBeLocalized.txt: Updated for recent changes.
diff --git a/WebKit/WebKit.xcodeproj/project.pbxproj b/WebKit/WebKit.xcodeproj/project.pbxproj
index 6878bb2..5856175 100644
--- a/WebKit/WebKit.xcodeproj/project.pbxproj
+++ b/WebKit/WebKit.xcodeproj/project.pbxproj
@@ -363,6 +363,8 @@
C0C5B3EE1177A4A0002B0AEF /* WebUserContentURLPattern.h in Headers */ = {isa = PBXBuildFile; fileRef = C0C5B3EC1177A4A0002B0AEF /* WebUserContentURLPattern.h */; settings = {ATTRIBUTES = (Private, ); }; };
C0C5B3EF1177A4A0002B0AEF /* WebUserContentURLPattern.mm in Sources */ = {isa = PBXBuildFile; fileRef = C0C5B3ED1177A4A0002B0AEF /* WebUserContentURLPattern.mm */; };
CD8EAC7311CAC9A300774075 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD8EAC7211CAC9A300774075 /* IOKit.framework */; };
+ CDA62AE2125F87C2007FD118 /* WebFullScreenController.h in Headers */ = {isa = PBXBuildFile; fileRef = CDA62AE0125F87C2007FD118 /* WebFullScreenController.h */; };
+ CDA62AE3125F87C2007FD118 /* WebFullScreenController.mm in Sources */ = {isa = PBXBuildFile; fileRef = CDA62AE1125F87C2007FD118 /* WebFullScreenController.mm */; };
DD7CDEE70A23BA9E00069928 /* WebTypesInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = DD7CDEE60A23BA9E00069928 /* WebTypesInternal.h */; };
DD89682009AA87240097E7F0 /* WebElementDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = DD89681E09AA87240097E7F0 /* WebElementDictionary.h */; };
DD89682109AA87240097E7F0 /* WebElementDictionary.mm in Sources */ = {isa = PBXBuildFile; fileRef = DD89681F09AA87240097E7F0 /* WebElementDictionary.mm */; };
@@ -685,6 +687,8 @@
C0C5B3EC1177A4A0002B0AEF /* WebUserContentURLPattern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebUserContentURLPattern.h; sourceTree = "<group>"; };
C0C5B3ED1177A4A0002B0AEF /* WebUserContentURLPattern.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebUserContentURLPattern.mm; sourceTree = "<group>"; };
CD8EAC7211CAC9A300774075 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
+ CDA62AE0125F87C2007FD118 /* WebFullScreenController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebFullScreenController.h; sourceTree = "<group>"; };
+ CDA62AE1125F87C2007FD118 /* WebFullScreenController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebFullScreenController.mm; sourceTree = "<group>"; };
DD7CDEE60A23BA9E00069928 /* WebTypesInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebTypesInternal.h; sourceTree = "<group>"; };
DD89681E09AA87240097E7F0 /* WebElementDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebElementDictionary.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
DD89681F09AA87240097E7F0 /* WebElementDictionary.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebElementDictionary.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
@@ -1187,6 +1191,8 @@
51A8B52F04282B5900CA2D3A /* WebFrameView.mm */,
51A8B53204282BD200CA2D3A /* WebFrameViewInternal.h */,
93C6F14507920B93002449CD /* WebFrameViewPrivate.h */,
+ CDA62AE0125F87C2007FD118 /* WebFullScreenController.h */,
+ CDA62AE1125F87C2007FD118 /* WebFullScreenController.mm */,
BC7F889C10C9D30C00D6133D /* WebGeolocationPosition.h */,
BC7F889D10C9D30C00D6133D /* WebGeolocationPosition.mm */,
BC7F88A410C9D88B00D6133D /* WebGeolocationPositionInternal.h */,
@@ -1625,6 +1631,7 @@
598AD92A1201CF3B00ABAE4E /* WebDeviceOrientationProviderMockInternal.h in Headers */,
598ADA461202275000ABAE4E /* WebDeviceOrientationProvider.h in Headers */,
93E2A1A4123B0B3C009FE12A /* WebDashboardRegion.h in Headers */,
+ CDA62AE2125F87C2007FD118 /* WebFullScreenController.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1748,7 +1755,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../WebKitTools/Scripts/check-for-weak-vtables-and-externals ]; then\n ../WebKitTools/Scripts/check-for-weak-vtables-and-externals || exit $?\nfi";
+ 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";
};
5D2F7DB70C687A5A00B5B72B /* Update Info.plist with version information */ = {
isa = PBXShellScriptBuildPhase;
@@ -1778,7 +1785,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../WebKitTools/Scripts/check-for-webkit-framework-include-consistency ]; then\n ../WebKitTools/Scripts/check-for-webkit-framework-include-consistency || exit $?\nfi\n";
+ 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";
};
5DE6D18C0FCF231B002DE28C /* Symlink WebKitPluginHost in to place */ = {
isa = PBXShellScriptBuildPhase;
@@ -1808,7 +1815,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../WebKitTools/Scripts/check-for-exit-time-destructors ]; then\n ../WebKitTools/Scripts/check-for-exit-time-destructors || exit $?\nfi";
+ 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";
};
939811300824BF01008DF038 /* Make Frameworks Symbolic Link */ = {
isa = PBXShellScriptBuildPhase;
@@ -1839,7 +1846,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../WebKitTools/Scripts/check-for-global-initializers ]; then\n ../WebKitTools/Scripts/check-for-global-initializers || exit $?\nfi";
+ 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";
};
/* End PBXShellScriptBuildPhase section */
@@ -1993,6 +2000,7 @@
598AD9221201CF1000ABAE4E /* WebDeviceOrientation.mm in Sources */,
598AD9281201CF3200ABAE4E /* WebDeviceOrientationProviderMock.mm in Sources */,
93E2A1A5123B0B3C009FE12A /* WebDashboardRegion.mm in Sources */,
+ CDA62AE3125F87C2007FD118 /* WebFullScreenController.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/WebKit/android/RenderSkinAndroid.cpp b/WebKit/android/RenderSkinAndroid.cpp
index 00f2b96..9383a9c 100644
--- a/WebKit/android/RenderSkinAndroid.cpp
+++ b/WebKit/android/RenderSkinAndroid.cpp
@@ -37,15 +37,14 @@
#include "utils/Asset.h"
namespace WebCore {
-
-RenderSkinAndroid::RenderSkinAndroid()
- : m_height(0)
- , m_width(0)
-{}
-void RenderSkinAndroid::Init(android::AssetManager* am, String drawableDirectory)
+RenderSkinAndroid::~RenderSkinAndroid()
{
- RenderSkinButton::Init(am, drawableDirectory);
+ delete m_button;
+}
+RenderSkinAndroid::RenderSkinAndroid(android::AssetManager* am, String drawableDirectory)
+{
+ m_button = new RenderSkinButton(am, drawableDirectory);
RenderSkinCombo::Init(am, drawableDirectory);
RenderSkinMediaButton::Init(am, drawableDirectory);
RenderSkinRadio::Init(am, drawableDirectory);
diff --git a/WebKit/android/RenderSkinAndroid.h b/WebKit/android/RenderSkinAndroid.h
index b877ff2..73773ea 100644
--- a/WebKit/android/RenderSkinAndroid.h
+++ b/WebKit/android/RenderSkinAndroid.h
@@ -36,17 +36,11 @@ class SkBitmap;
namespace WebCore {
class Node;
-class PlatformGraphicsContext;
+class RenderSkinButton;
-/* RenderSkinAndroid is the base class for all RenderSkins. Form elements each have a
- * subclass for drawing themselves.
- */
class RenderSkinAndroid
{
public:
- RenderSkinAndroid();
- virtual ~RenderSkinAndroid() {}
-
enum State {
kDisabled,
kNormal,
@@ -60,7 +54,8 @@ public:
* Initialize the Android skinning system. The AssetManager may be used to find resources used
* in rendering.
*/
- static void Init(android::AssetManager*, String drawableDirectory);
+ RenderSkinAndroid(android::AssetManager*, String drawableDirectory);
+ ~RenderSkinAndroid();
/* DecodeBitmap determines which file to use, with the given fileName of the form
* "images/bitmap.png", and uses the asset manager to select the exact one. It
@@ -68,24 +63,10 @@ public:
*/
static bool DecodeBitmap(android::AssetManager* am, const char* fileName, SkBitmap* bitmap);
- /* draw() tells the skin to draw itself, and returns true if the skin needs
- * a redraw to animations, false otherwise
- */
- virtual bool draw(PlatformGraphicsContext*) { return false; }
-
- /* notifyState() checks to see if the element is checked, focused, and enabled
- * it must be implemented in the subclass
- */
- virtual void notifyState(Node* element) { }
-
- /* setDim() tells the skin its width and height
- */
- virtual void setDim(int width, int height) { m_width = width; m_height = height; }
-
-protected:
- int m_height;
- int m_width;
+ const RenderSkinButton* renderSkinButton() const { return m_button; }
+private:
+ RenderSkinButton* m_button;
};
} // WebCore
diff --git a/WebKit/android/RenderSkinButton.cpp b/WebKit/android/RenderSkinButton.cpp
index 1dc6560..6a0ae54 100644
--- a/WebKit/android/RenderSkinButton.cpp
+++ b/WebKit/android/RenderSkinButton.cpp
@@ -31,47 +31,36 @@
#include "IntRect.h"
#include "Node.h"
#include "RenderSkinButton.h"
+#include "RenderSkinNinePatch.h"
#include "SkCanvas.h"
#include "SkNinePatch.h"
#include "SkRect.h"
+#include <utils/Asset.h>
+#include <utils/AssetManager.h>
#include <utils/Debug.h>
#include <utils/Log.h>
+#include <utils/ResourceTypes.h>
#include <wtf/text/CString.h>
-struct PatchData {
- const char* name;
- int8_t outset, margin;
-};
-
-static const PatchData gFiles[] =
- {
- { "btn_default_disabled_holo.9.png", 2, 7 },
- { "btn_default_normal_holo.9.png", 2, 7 },
- { "btn_default_focused_holo.9.png", 2, 7 },
- { "btn_default_pressed_holo.9.png", 2, 7 }
+static const char* gFiles[] = {
+ "btn_default_disabled_holo.9.png",
+ "btn_default_normal_holo.9.png",
+ "btn_default_focused_holo.9.png",
+ "btn_default_pressed_holo.9.png"
};
-static SkBitmap gButton[sizeof(gFiles)/sizeof(gFiles[0])];
-static bool gDecoded;
-static bool gHighRes;
-
namespace WebCore {
-void RenderSkinButton::Init(android::AssetManager* am, String drawableDirectory)
+RenderSkinButton::RenderSkinButton(android::AssetManager* am, String drawableDirectory)
{
- static bool gInited;
- if (gInited)
- return;
-
- gInited = true;
- gDecoded = true;
- gHighRes = drawableDirectory[drawableDirectory.length() - 5] == 'h';
- for (size_t i = 0; i < sizeof(gFiles)/sizeof(gFiles[0]); i++) {
- String path = drawableDirectory + gFiles[i].name;
- if (!RenderSkinAndroid::DecodeBitmap(am, path.utf8().data(), &gButton[i])) {
- gDecoded = false;
- LOGD("RenderSkinButton::Init: button assets failed to decode\n\tBrowser buttons will not draw");
- break;
+ m_decoded = true;
+ for (size_t i = 0; i < 4; i++) {
+ String path = String(drawableDirectory.impl());
+ path.append(String(gFiles[i]));
+ if (!RenderSkinNinePatch::decodeAsset(am, path.utf8().data(), &m_buttons[i])) {
+ m_decoded = false;
+ LOGE("RenderSkinButton::Init: button assets failed to decode\n\tBrowser buttons will not draw");
+ return;
}
}
@@ -82,11 +71,12 @@ void RenderSkinButton::Init(android::AssetManager* am, String drawableDirectory)
android::CompileTimeAssert<(RenderSkinAndroid::kPressed == 3)> a4;
}
-void RenderSkinButton::Draw(SkCanvas* canvas, const IntRect& r, RenderSkinAndroid::State newState)
+void RenderSkinButton::draw(SkCanvas* canvas, const IntRect& r,
+ RenderSkinAndroid::State newState) const
{
// If we failed to decode, do nothing. This way the browser still works,
// and webkit will still draw the label and layout space for us.
- if (!gDecoded) {
+ if (!m_decoded) {
return;
}
@@ -94,26 +84,7 @@ void RenderSkinButton::Draw(SkCanvas* canvas, const IntRect& r, RenderSkinAndroi
SkASSERT(static_cast<unsigned>(newState) <
static_cast<unsigned>(RenderSkinAndroid::kNumStates));
- // Set up the ninepatch information for drawing.
- SkRect bounds(r);
- const PatchData& pd = gFiles[newState];
- int marginValue = pd.margin + pd.outset;
-
- SkIRect margin;
-
- margin.set(marginValue, marginValue, marginValue, marginValue);
- if (gHighRes) {
- /* FIXME: it shoudn't be necessary to offset the button here,
- but gives the right results. */
- bounds.offset(0, SK_Scalar1 * 2);
- /* FIXME: This temporarily gets around the fact that the margin values and
- positioning were created for a low res asset, which was used on
- g1-like devices. A better fix would be to read the offset information
- out of the png. */
- margin.set(10, 9, 10, 14);
- }
- // Draw to the canvas.
- SkNinePatch::DrawNine(canvas, bounds, gButton[newState], margin);
+ RenderSkinNinePatch::DrawNinePatch(canvas, SkRect(r), m_buttons[newState]);
}
} //WebCore
diff --git a/WebKit/android/RenderSkinButton.h b/WebKit/android/RenderSkinButton.h
index e9cf0ec..e9db74c 100644
--- a/WebKit/android/RenderSkinButton.h
+++ b/WebKit/android/RenderSkinButton.h
@@ -27,24 +27,28 @@
#define RenderSkinButton_h
#include "RenderSkinAndroid.h"
+#include "RenderSkinNinePatch.h"
class SkCanvas;
namespace WebCore {
class IntRect;
-class RenderSkinButton
-{
+
+class RenderSkinButton {
public:
/**
* Initialize the class before use. Uses the AssetManager to initialize any
* bitmaps the class may use.
*/
- static void Init(android::AssetManager*, String drawableDirectory);
+ RenderSkinButton(android::AssetManager*, String drawableDirectory);
/**
* Draw the skin to the canvas, using the rectangle for its bounds and the
* State to determine which skin to use, i.e. focused or not focused.
*/
- static void Draw(SkCanvas* , const IntRect& , RenderSkinAndroid::State);
+ void draw(SkCanvas* , const IntRect& , RenderSkinAndroid::State) const;
+private:
+ bool m_decoded;
+ NinePatch m_buttons[4];
};
} // WebCore
diff --git a/WebKit/android/RenderSkinMediaButton.cpp b/WebKit/android/RenderSkinMediaButton.cpp
index 745fa88..090d55e 100644
--- a/WebKit/android/RenderSkinMediaButton.cpp
+++ b/WebKit/android/RenderSkinMediaButton.cpp
@@ -58,8 +58,8 @@ static const PatchData gFiles[] =
{ "spinner_76_inner_holo.png", 0, 0 }, // SPINNER_INNER
{ "ic_media_video_poster.png", 0, 0 }, // VIDEO
{ "btn_media_player_disabled.9.png", 0, 0 }, // BACKGROUND_SLIDER
- { "scrubber_track_holo_dark.9.png", 0, 0 }, // SLIDER_TRACK
- { "scrubber_control_holo.png", 0, 0 } // SLIDER_THUMB
+ { "scrubber_track_holo_dark.9.png", 0, 0 }, // SLIDER_TRACK
+ { "scrubber_control_holo.png", 0, 0 } // SLIDER_THUMB
};
static SkBitmap gButton[sizeof(gFiles)/sizeof(gFiles[0])];
@@ -112,6 +112,7 @@ void RenderSkinMediaButton::Draw(SkCanvas* canvas, const IntRect& r, int buttonT
alpha = 190;
SkColor backgroundColor = SkColorSetARGB(alpha, 34, 34, 34);
+ SkColor trackBackgroundColor = SkColorSetARGB(255, 100, 100, 100);
paint.setColor(backgroundColor);
paint.setFlags(SkPaint::kFilterBitmap_Flag);
diff --git a/WebKit/android/RenderSkinNinePatch.cpp b/WebKit/android/RenderSkinNinePatch.cpp
new file mode 100644
index 0000000..0c915c0
--- /dev/null
+++ b/WebKit/android/RenderSkinNinePatch.cpp
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "config.h"
+
+#include "RenderSkinNinePatch.h"
+#include "NinePatchPeeker.h"
+#include "SkCanvas.h"
+#include "SkImageDecoder.h"
+#include "SkRect.h"
+#include "SkStream.h"
+#include "SkTemplates.h"
+#include <utils/Asset.h>
+#include <utils/AssetManager.h>
+#include <utils/Log.h>
+#include <utils/ResourceTypes.h>
+
+class SkPaint;
+class SkRegion;
+
+using namespace android;
+
+extern void NinePatch_Draw(SkCanvas* canvas, const SkRect& bounds,
+ const SkBitmap& bitmap, const Res_png_9patch& chunk,
+ const SkPaint* paint, SkRegion** outRegion);
+
+bool RenderSkinNinePatch::decodeAsset(AssetManager* am, const char* filename, NinePatch* ninepatch) {
+ Asset* asset = am->open(filename, android::Asset::ACCESS_BUFFER);
+ if (!asset) {
+ asset = am->openNonAsset(filename, android::Asset::ACCESS_BUFFER);
+ if (!asset) {
+ return false;
+ }
+ }
+
+ SkImageDecoder::Mode mode = SkImageDecoder::kDecodePixels_Mode;
+ SkBitmap::Config prefConfig = SkBitmap::kNo_Config;
+ SkStream* stream = new SkMemoryStream(asset->getBuffer(false), asset->getLength());
+ SkImageDecoder* decoder = SkImageDecoder::Factory(stream);
+ if (!decoder) {
+ asset->close();
+ LOGE("RenderSkinNinePatch::Failed to create an image decoder");
+ return false;
+ }
+
+ decoder->setSampleSize(1);
+ decoder->setDitherImage(true);
+ decoder->setPreferQualityOverSpeed(false);
+
+ NinePatchPeeker peeker(decoder);
+
+ SkAutoTDelete<SkImageDecoder> add(decoder);
+
+ decoder->setPeeker(&peeker);
+ if (!decoder->decode(stream, &ninepatch->m_bitmap, prefConfig, mode, true)) {
+ asset->close();
+ LOGE("RenderSkinNinePatch::Failed to decode nine patch asset");
+ return false;
+ }
+
+ asset->close();
+ if (!peeker.fPatchIsValid) {
+ LOGE("RenderSkinNinePatch::Patch data not valid");
+ return false;
+ }
+ void** data = &ninepatch->m_serializedPatchData;
+ *data = malloc(peeker.fPatch->serializedSize());
+ peeker.fPatch->serialize(*data);
+ return true;
+}
+
+void RenderSkinNinePatch::DrawNinePatch(SkCanvas* canvas, const SkRect& bounds,
+ const NinePatch& patch) {
+ Res_png_9patch* data = Res_png_9patch::deserialize(patch.m_serializedPatchData);
+ NinePatch_Draw(canvas, bounds, patch.m_bitmap, *data, 0, 0);
+}
diff --git a/WebKit/android/RenderSkinNinePatch.h b/WebKit/android/RenderSkinNinePatch.h
new file mode 100644
index 0000000..e4db260
--- /dev/null
+++ b/WebKit/android/RenderSkinNinePatch.h
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef RenderSkinNinePatch_h
+#define RenderSkinNinePatch_h
+
+#include "SkBitmap.h"
+#include "utils/Asset.h"
+
+namespace android {
+ class AssetManager;
+}
+
+class SkCanvas;
+class SkRect;
+
+struct NinePatch {
+ SkBitmap m_bitmap;
+ void* m_serializedPatchData;
+ NinePatch() {
+ m_serializedPatchData = 0;
+ }
+ ~NinePatch() {
+ if (m_serializedPatchData)
+ free(m_serializedPatchData);
+ }
+};
+
+class RenderSkinNinePatch {
+public:
+ static bool decodeAsset(android::AssetManager*, const char* fileName, NinePatch*);
+ static void DrawNinePatch(SkCanvas*, const SkRect&, const NinePatch&);
+};
+
+#endif // RenderSkinNinePatch_h
diff --git a/WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp b/WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp
index 5cfa1b5..6f872b8 100644
--- a/WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp
+++ b/WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp
@@ -581,6 +581,7 @@ void ChromeClientAndroid::enterFullscreenForNode(Node* node)
FrameView* frameView = m_webFrame->page()->mainFrame()->view();
android::WebViewCore* core = android::WebViewCore::getWebViewCore(frameView);
+ m_webFrame->page()->mainFrame()->document()->webkitWillEnterFullScreenForElement(videoElement);
if (core)
core->enterFullscreenForVideoLayer(layer->uniqueId(), url);
}
@@ -590,5 +591,15 @@ void ChromeClientAndroid::exitFullscreenForNode(Node* node)
}
#endif
+#if ENABLE(FULLSCREEN_API)
+void ChromeClientAndroid::exitFullScreenForElement(Element* element)
+{
+ if (!element)
+ return;
+
+ HTMLMediaElement* videoElement = static_cast<HTMLMediaElement*>(element);
+ videoElement->exitFullscreen();
+}
+#endif
}
diff --git a/WebKit/android/WebCoreSupport/ChromeClientAndroid.h b/WebKit/android/WebCoreSupport/ChromeClientAndroid.h
index 2b6f68a..d49cec8 100644
--- a/WebKit/android/WebCoreSupport/ChromeClientAndroid.h
+++ b/WebKit/android/WebCoreSupport/ChromeClientAndroid.h
@@ -187,6 +187,10 @@ namespace android {
virtual void webAppCanBeInstalled();
#endif
+#if ENABLE(FULLSCREEN_API)
+ virtual void exitFullScreenForElement(Element*);
+#endif
+
#if ENABLE(VIDEO)
virtual bool supportsFullscreenForNode(const WebCore::Node*);
virtual void enterFullscreenForNode(WebCore::Node*);
diff --git a/WebKit/android/WebCoreSupport/EditorClientAndroid.cpp b/WebKit/android/WebCoreSupport/EditorClientAndroid.cpp
index 3c5243e..250fdbf 100644
--- a/WebKit/android/WebCoreSupport/EditorClientAndroid.cpp
+++ b/WebKit/android/WebCoreSupport/EditorClientAndroid.cpp
@@ -220,7 +220,7 @@ void EditorClientAndroid::redo() {}
// functions new to Jun-07 tip of tree merge:
void EditorClientAndroid::showSpellingUI(bool) {}
-void EditorClientAndroid::getGuessesForWord(String const&, WTF::Vector<String>&) {}
+void EditorClientAndroid::getGuessesForWord(String const&, const String&, WTF::Vector<String>&) {}
bool EditorClientAndroid::spellingUIIsShowing() { return false; }
void EditorClientAndroid::checkGrammarOfString(unsigned short const*, int, WTF::Vector<GrammarDetail>&, int*, int*) {}
void EditorClientAndroid::checkSpellingOfString(unsigned short const*, int, int*, int*) {}
@@ -265,6 +265,8 @@ void EditorClientAndroid::willSetInputMethodState()
notImplemented();
}
+void EditorClientAndroid::requestCheckingOfString(SpellChecker*, int, const String&) {}
+
#if ENABLE(WEB_AUTOFILL)
WebAutoFill* EditorClientAndroid::getAutoFill()
{
diff --git a/WebKit/android/WebCoreSupport/EditorClientAndroid.h b/WebKit/android/WebCoreSupport/EditorClientAndroid.h
index 9aed88c..94a6518 100644
--- a/WebKit/android/WebCoreSupport/EditorClientAndroid.h
+++ b/WebKit/android/WebCoreSupport/EditorClientAndroid.h
@@ -109,9 +109,10 @@ public:
virtual void updateSpellingUIWithMisspelledWord(const String&);
virtual void showSpellingUI(bool show);
virtual bool spellingUIIsShowing();
- virtual void getGuessesForWord(const String&, WTF::Vector<String>& guesses);
+ virtual void getGuessesForWord(const String&, const String& context, WTF::Vector<String>& guesses);
virtual void willSetInputMethodState();
virtual void setInputMethodState(bool);
+ virtual void requestCheckingOfString(SpellChecker*, int, const String&);
// Android specific:
void setPage(Page* page) { m_page = page; }
diff --git a/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp b/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp
index 535c0da..946a4a7 100644
--- a/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp
+++ b/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp
@@ -1120,7 +1120,7 @@ public:
for (; it != end; ++it) {
Widget* widget = (*it)->widget();
// PluginWidget is used only with PluginToggleWidget
- if (widget->isPluginViewBase()) {
+ if (widget && widget->isPluginViewBase()) {
PluginToggleWidget* ptw =
static_cast<PluginToggleWidget*>(widget);
ptw->swapPlugin(*it);
diff --git a/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.h b/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.h
index 034333e..25561a8 100644
--- a/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.h
+++ b/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.h
@@ -224,6 +224,9 @@ namespace android {
void dispatchDidChangeIcons();
void dispatchWillSendSubmitEvent(HTMLFormElement*);
+
+ virtual void didSaveToPageCache() { }
+ virtual void didRestoreFromPageCache() { }
private:
CacheBuilder m_cacheBuilder;
Frame* m_frame;
diff --git a/WebKit/android/WebCoreSupport/MediaPlayerPrivateAndroid.cpp b/WebKit/android/WebCoreSupport/MediaPlayerPrivateAndroid.cpp
index 982e384..e6a2710 100644
--- a/WebKit/android/WebCoreSupport/MediaPlayerPrivateAndroid.cpp
+++ b/WebKit/android/WebCoreSupport/MediaPlayerPrivateAndroid.cpp
@@ -180,6 +180,14 @@ void MediaPlayerPrivate::onTimeupdate(int position)
m_player->timeChanged();
}
+void MediaPlayerPrivate::onStopFullscreen()
+{
+ if (m_player && m_player->mediaPlayerClient()
+ && m_player->mediaPlayerClient()->mediaPlayerOwningDocument()) {
+ m_player->mediaPlayerClient()->mediaPlayerOwningDocument()->webkitCancelFullScreen();
+ }
+}
+
class MediaPlayerVideoPrivate : public MediaPlayerPrivate {
public:
void load(const String& url)
@@ -590,6 +598,14 @@ static bool SendSurfaceTexture(JNIEnv* env, jobject obj, jobject surfTex,
return true;
}
+static void OnStopFullscreen(JNIEnv* env, jobject obj, int pointer)
+{
+ if (pointer) {
+ WebCore::MediaPlayerPrivate* player =
+ reinterpret_cast<WebCore::MediaPlayerPrivate*>(pointer);
+ player->onStopFullscreen();
+ }
+}
/*
* JNI registration
@@ -599,6 +615,8 @@ static JNINativeMethod g_MediaPlayerMethods[] = {
(void*) OnPrepared },
{ "nativeOnEnded", "(I)V",
(void*) OnEnded },
+ { "nativeOnStopFullscreen", "(I)V",
+ (void*) OnStopFullscreen },
{ "nativeOnPaused", "(I)V",
(void*) OnPaused },
{ "nativeOnPosterFetched", "(Landroid/graphics/Bitmap;I)V",
diff --git a/WebKit/android/WebCoreSupport/UrlInterceptResponse.cpp b/WebKit/android/WebCoreSupport/UrlInterceptResponse.cpp
index 875b222..3779ba8 100644
--- a/WebKit/android/WebCoreSupport/UrlInterceptResponse.cpp
+++ b/WebKit/android/WebCoreSupport/UrlInterceptResponse.cpp
@@ -40,11 +40,11 @@ public:
: m_inputStream(env->NewGlobalRef(inputStream))
, m_buffer(0) {
LOG_ALWAYS_FATAL_IF(!inputStream);
- m_inputStreamClass = env->FindClass("java/io/InputStream");
- LOG_ALWAYS_FATAL_IF(!m_inputStreamClass);
- m_read = env->GetMethodID(m_inputStreamClass, "read", "([B)I");
+ jclass inputStreamClass = env->FindClass("java/io/InputStream");
+ LOG_ALWAYS_FATAL_IF(!inputStreamClass);
+ m_read = env->GetMethodID(inputStreamClass, "read", "([B)I");
LOG_ALWAYS_FATAL_IF(!m_read);
- m_close = env->GetMethodID(m_inputStreamClass, "close", "()V");
+ m_close = env->GetMethodID(inputStreamClass, "close", "()V");
LOG_ALWAYS_FATAL_IF(!m_close);
}
@@ -76,7 +76,6 @@ public:
private:
jobject m_inputStream;
jbyteArray m_buffer;
- jclass m_inputStreamClass;
jmethodID m_read;
jmethodID m_close;
};
diff --git a/WebKit/android/WebCoreSupport/autofill/FormManagerAndroid.cpp b/WebKit/android/WebCoreSupport/autofill/FormManagerAndroid.cpp
index 669eb19..9652794 100644
--- a/WebKit/android/WebCoreSupport/autofill/FormManagerAndroid.cpp
+++ b/WebKit/android/WebCoreSupport/autofill/FormManagerAndroid.cpp
@@ -42,6 +42,7 @@
#include "Node.h"
#include "NodeList.h"
#include "HTMLCollection.h"
+#include "FormAssociatedElement.h"
#include "FormFieldAndroid.h"
#include "QualifiedName.h"
#include "StringUtils.h"
@@ -53,7 +54,9 @@
using webkit_glue::FormData;
using webkit_glue::FormField;
using WebCore::Element;
+using WebCore::FormAssociatedElement;
using WebCore::HTMLCollection;
+using WebCore::HTMLElement;
using WebCore::HTMLFormControlElement;
using WebCore::HTMLFormElement;
using WebCore::HTMLInputElement;
@@ -408,14 +411,17 @@ bool FormManager::HTMLFormElementToFormData(HTMLFormElement* element, Requiremen
// |name_map|.
ScopedVector<FormField> form_fields;
- WTF::Vector<HTMLFormControlElement*> control_elements = element->associatedElements();
+ WTF::Vector<WebCore::FormAssociatedElement*> control_elements = element->associatedElements();
// A vector of bools that indicate whether each field in the form meets the
// requirements and thus will be in the resulting |form|.
std::vector<bool> fields_extracted(control_elements.size(), false);
for (size_t i = 0; i < control_elements.size(); ++i) {
- HTMLFormControlElement* control_element = control_elements[i];
+ if (!control_elements[i]->isFormControlElement())
+ continue;
+
+ HTMLFormControlElement* control_element = static_cast<HTMLFormControlElement*>(control_elements[i]);
if (!(control_element->hasTagName(inputTag) || control_element->hasTagName(selectTag)))
continue;
@@ -472,7 +478,10 @@ bool FormManager::HTMLFormElementToFormData(HTMLFormElement* element, Requiremen
if (!fields_extracted[i])
continue;
- const HTMLFormControlElement* control_element = control_elements[i];
+ if (!control_elements[i]->isFormControlElement())
+ continue;
+
+ const HTMLFormControlElement* control_element = static_cast<HTMLFormControlElement*>(control_elements[i]);
if (form_fields[field_idx]->label().empty())
form_fields[field_idx]->set_label(FormManager::InferLabelForElement(*control_element));
@@ -497,9 +506,12 @@ void FormManager::ExtractForms(Frame* frame) {
HTMLFormElement* html_form_element = static_cast<HTMLFormElement*>(web_forms->item(i));
form_element->form_element = html_form_element;
- WTF::Vector<HTMLFormControlElement*> control_elements = html_form_element->associatedElements();
+ WTF::Vector<FormAssociatedElement*> control_elements = html_form_element->associatedElements();
for (size_t j = 0; j < control_elements.size(); ++j) {
- HTMLFormControlElement* element = control_elements[j];
+ if (!control_elements[j]->isFormControlElement())
+ continue;
+
+ HTMLFormControlElement* element = static_cast<HTMLFormControlElement*>(control_elements[j]);
form_element->control_elements.push_back(element);
// Save original values of "select-one" inputs so we can restore them
diff --git a/WebKit/android/jni/DeviceMotionClientImpl.h b/WebKit/android/jni/DeviceMotionClientImpl.h
index 04d3a67..c979098 100644
--- a/WebKit/android/jni/DeviceMotionClientImpl.h
+++ b/WebKit/android/jni/DeviceMotionClientImpl.h
@@ -42,6 +42,7 @@ class WebViewCore;
class DeviceMotionClientImpl : public DeviceMotionClient {
public:
DeviceMotionClientImpl(WebViewCore*);
+ virtual ~DeviceMotionClientImpl();
void onMotionChange(PassRefPtr<DeviceMotionData>);
void suspend();
@@ -54,9 +55,7 @@ public:
virtual void setController(DeviceMotionController* controller) { m_controller = controller; }
virtual void deviceMotionControllerDestroyed() { }
-protected:
- virtual ~DeviceMotionClientImpl();
-
+private:
jobject getJavaInstance();
void releaseJavaInstance();
diff --git a/WebKit/android/jni/DeviceOrientationClientImpl.h b/WebKit/android/jni/DeviceOrientationClientImpl.h
index ba86083..0e3f6b3 100644
--- a/WebKit/android/jni/DeviceOrientationClientImpl.h
+++ b/WebKit/android/jni/DeviceOrientationClientImpl.h
@@ -42,6 +42,7 @@ class WebViewCore;
class DeviceOrientationClientImpl : public DeviceOrientationClient {
public:
DeviceOrientationClientImpl(WebViewCore*);
+ virtual ~DeviceOrientationClientImpl();
void onOrientationChange(PassRefPtr<DeviceOrientation>);
void suspend();
@@ -54,9 +55,7 @@ public:
virtual void setController(DeviceOrientationController* controller) { m_controller = controller; }
virtual void deviceOrientationControllerDestroyed() { }
-protected:
- virtual ~DeviceOrientationClientImpl();
-
+private:
jobject getJavaInstance();
void releaseJavaInstance();
diff --git a/WebKit/android/jni/JavaBridge.cpp b/WebKit/android/jni/JavaBridge.cpp
index d27dbc7..2fa12fc 100644
--- a/WebKit/android/jni/JavaBridge.cpp
+++ b/WebKit/android/jni/JavaBridge.cpp
@@ -125,6 +125,7 @@ private:
jmethodID mGetKeyStrengthList;
jmethodID mGetSignedPublicKey;
jmethodID mResolveFilePathForContentUri;
+ AutoJObject javaObject(JNIEnv* env) { return getRealObject(env, mJavaObject); }
};
static void (*sSharedTimerFiredCallback)();
@@ -183,7 +184,7 @@ void
JavaBridge::setSharedTimer(long long timemillis)
{
JNIEnv* env = JSC::Bindings::getJNIEnv();
- AutoJObject obj = getRealObject(env, mJavaObject);
+ AutoJObject obj = javaObject(env);
env->CallVoidMethod(obj.get(), mSetSharedTimer, timemillis);
}
@@ -191,7 +192,7 @@ void
JavaBridge::stopSharedTimer()
{
JNIEnv* env = JSC::Bindings::getJNIEnv();
- AutoJObject obj = getRealObject(env, mJavaObject);
+ AutoJObject obj = javaObject(env);
env->CallVoidMethod(obj.get(), mStopSharedTimer);
}
@@ -203,7 +204,7 @@ JavaBridge::setCookies(WebCore::KURL const& url, WTF::String const& value)
jstring jUrlStr = wtfStringToJstring(env, urlStr);
jstring jValueStr = wtfStringToJstring(env, value);
- AutoJObject obj = getRealObject(env, mJavaObject);
+ AutoJObject obj = javaObject(env);
env->CallVoidMethod(obj.get(), mSetCookies, jUrlStr, jValueStr);
env->DeleteLocalRef(jUrlStr);
env->DeleteLocalRef(jValueStr);
@@ -216,7 +217,7 @@ JavaBridge::cookies(WebCore::KURL const& url)
const WTF::String& urlStr = url.string();
jstring jUrlStr = wtfStringToJstring(env, urlStr);
- AutoJObject obj = getRealObject(env, mJavaObject);
+ AutoJObject obj = javaObject(env);
jstring string = (jstring)(env->CallObjectMethod(obj.get(), mCookies, jUrlStr));
WTF::String ret = jstringToWtfString(env, string);
@@ -229,7 +230,7 @@ bool
JavaBridge::cookiesEnabled()
{
JNIEnv* env = JSC::Bindings::getJNIEnv();
- AutoJObject obj = getRealObject(env, mJavaObject);
+ AutoJObject obj = javaObject(env);
jboolean ret = env->CallBooleanMethod(obj.get(), mCookiesEnabled);
return (ret != 0);
}
@@ -239,7 +240,7 @@ JavaBridge::getPluginDirectories()
{
WTF::Vector<WTF::String> directories;
JNIEnv* env = JSC::Bindings::getJNIEnv();
- AutoJObject obj = getRealObject(env, mJavaObject);
+ AutoJObject obj = javaObject(env);
jobjectArray array = (jobjectArray)
env->CallObjectMethod(obj.get(), mGetPluginDirectories);
int count = env->GetArrayLength(array);
@@ -257,7 +258,7 @@ WTF::String
JavaBridge::getPluginSharedDataDirectory()
{
JNIEnv* env = JSC::Bindings::getJNIEnv();
- AutoJObject obj = getRealObject(env, mJavaObject);
+ AutoJObject obj = javaObject(env);
jstring ret = (jstring)env->CallObjectMethod(obj.get(), mGetPluginSharedDataDirectory);
WTF::String path = jstringToWtfString(env, ret);
checkException(env);
@@ -279,14 +280,14 @@ void JavaBridge::signalServiceFuncPtrQueue()
// is the only usage on most threads, so we need to ensure a JNI
// environment is setup.
JNIEnv* env = JSC::Bindings::getJNIEnv();
- AutoJObject obj = getRealObject(env, mJavaObject);
+ AutoJObject obj = javaObject(env);
env->CallVoidMethod(obj.get(), mSignalFuncPtrQueue);
}
WTF::Vector<WTF::String>JavaBridge::getSupportedKeyStrengthList() {
WTF::Vector<WTF::String> list;
JNIEnv* env = JSC::Bindings::getJNIEnv();
- AutoJObject obj = getRealObject(env, mJavaObject);
+ AutoJObject obj = javaObject(env);
jobjectArray array = (jobjectArray) env->CallObjectMethod(obj.get(),
mGetKeyStrengthList);
int count = env->GetArrayLength(array);
@@ -306,7 +307,7 @@ WTF::String JavaBridge::getSignedPublicKeyAndChallengeString(unsigned index,
jstring jChallenge = wtfStringToJstring(env, challenge);
const WTF::String& urlStr = url.string();
jstring jUrl = wtfStringToJstring(env, urlStr);
- AutoJObject obj = getRealObject(env, mJavaObject);
+ AutoJObject obj = javaObject(env);
jstring key = (jstring) env->CallObjectMethod(obj.get(),
mGetSignedPublicKey, index, jChallenge, jUrl);
WTF::String ret = jstringToWtfString(env, key);
@@ -319,7 +320,7 @@ WTF::String JavaBridge::getSignedPublicKeyAndChallengeString(unsigned index,
WTF::String JavaBridge::resolveFilePathForContentUri(const WTF::String& uri) {
JNIEnv* env = JSC::Bindings::getJNIEnv();
jstring jUri = wtfStringToJstring(env, uri);
- AutoJObject obj = getRealObject(env, mJavaObject);
+ AutoJObject obj = javaObject(env);
jstring path = static_cast<jstring>(env->CallObjectMethod(obj.get(), mResolveFilePathForContentUri, jUri));
WTF::String ret = jstringToWtfString(env, path);
env->DeleteLocalRef(jUri);
diff --git a/WebKit/android/jni/WebCoreFrameBridge.cpp b/WebKit/android/jni/WebCoreFrameBridge.cpp
index 7d1adb0..15b6d20 100644
--- a/WebKit/android/jni/WebCoreFrameBridge.cpp
+++ b/WebKit/android/jni/WebCoreFrameBridge.cpp
@@ -334,6 +334,7 @@ WebFrame::WebFrame(JNIEnv* env, jobject obj, jobject historyList, WebCore::Page*
mUserAgent = WTF::String();
mUserInitiatedAction = false;
mBlockNetworkLoads = false;
+ m_renderSkins = 0;
}
WebFrame::~WebFrame()
@@ -345,6 +346,7 @@ WebFrame::~WebFrame()
mJavaFrame->mObj = 0;
}
delete mJavaFrame;
+ delete m_renderSkins;
}
WebFrame* WebFrame::getWebFrame(const WebCore::Frame* frame)
@@ -1064,11 +1066,11 @@ bool WebFrame::getUsernamePasswordFromDom(WebCore::Frame* frame, WTF::String& us
WebCore::Node* node = form->firstItem();
while (node && !found && !node->namespaceURI().isNull() &&
!node->namespaceURI().isEmpty()) {
- const WTF::Vector<WebCore::HTMLFormControlElement*>& elements =
+ const WTF::Vector<WebCore::FormAssociatedElement*>& elements =
((WebCore::HTMLFormElement*)node)->associatedElements();
size_t size = elements.size();
for (size_t i = 0; i< size && !found; i++) {
- WebCore::HTMLFormControlElement* e = elements[i];
+ WebCore::HTMLElement* e = toHTMLElement(elements[i]);
if (e->hasLocalName(WebCore::HTMLNames::inputTag)) {
WebCore::HTMLInputElement* input = (WebCore::HTMLInputElement*)e;
if (input->autoComplete() == false)
@@ -1261,7 +1263,7 @@ static void CreateFrame(JNIEnv* env, jobject obj, jobject javaview, jobject jAss
// Setup the asset manager.
AssetManager* am = assetManagerForJavaObject(env, jAssetManager);
// Initialize our skinning classes
- WebCore::RenderSkinAndroid::Init(am, directory);
+ webFrame->setRenderSkins(new WebCore::RenderSkinAndroid(am, directory));
}
for (int i = WebCore::PlatformBridge::FileUploadLabel;
i <= WebCore::PlatformBridge::FileUploadNoFileChosenLabel; i++)
@@ -1375,7 +1377,7 @@ static void PostUrl(JNIEnv *env, jobject obj, jstring url, jbyteArray postData)
}
LOGV("PostUrl %s", kurl.string().latin1().data());
- WebCore::FrameLoadRequest frameRequest(request);
+ WebCore::FrameLoadRequest frameRequest(pFrame->document()->securityOrigin(), request);
pFrame->loader()->loadFrameRequest(frameRequest, false, false, 0, 0, WebCore::SendReferrer);
}
@@ -1864,11 +1866,11 @@ static jboolean HasPasswordField(JNIEnv *env, jobject obj)
// class, but just normal Element class.
while (node && !found && !node->namespaceURI().isNull() &&
!node->namespaceURI().isEmpty()) {
- const WTF::Vector<WebCore::HTMLFormControlElement*>& elements =
+ const WTF::Vector<WebCore::FormAssociatedElement*>& elements =
((WebCore::HTMLFormElement*)node)->associatedElements();
size_t size = elements.size();
for (size_t i = 0; i< size && !found; i++) {
- WebCore::HTMLFormControlElement* e = elements[i];
+ WebCore::HTMLElement* e = toHTMLElement(elements[i]);
if (e->hasLocalName(WebCore::HTMLNames::inputTag)) {
if (static_cast<WebCore::HTMLInputElement*>(e)->isPasswordField())
found = true;
@@ -1915,11 +1917,11 @@ static void SetUsernamePassword(JNIEnv *env, jobject obj,
WebCore::Node* node = form->firstItem();
while (node && !found && !node->namespaceURI().isNull() &&
!node->namespaceURI().isEmpty()) {
- const WTF::Vector<WebCore::HTMLFormControlElement*>& elements =
+ const WTF::Vector<WebCore::FormAssociatedElement*>& elements =
((WebCore::HTMLFormElement*)node)->associatedElements();
size_t size = elements.size();
for (size_t i = 0; i< size && !found; i++) {
- WebCore::HTMLFormControlElement* e = elements[i];
+ WebCore::HTMLElement* e = toHTMLElement(elements[i]);
if (e->hasLocalName(WebCore::HTMLNames::inputTag)) {
WebCore::HTMLInputElement* input = (WebCore::HTMLInputElement*)e;
if (input->autoComplete() == false)
@@ -1954,10 +1956,10 @@ WebFrame::saveFormData(HTMLFormElement* form)
jmethodID put = env->GetMethodID(mapClass, "put",
"(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
LOG_ASSERT(put, "Could not find put method on HashMap");
- WTF::Vector<WebCore::HTMLFormControlElement*> elements = form->associatedElements();
+ WTF::Vector<WebCore::FormAssociatedElement*> elements = form->associatedElements();
size_t size = elements.size();
for (size_t i = 0; i < size; i++) {
- WebCore::HTMLFormControlElement* e = elements[i];
+ WebCore::HTMLElement* e = toHTMLElement(elements[i]);
if (e->hasTagName(WebCore::HTMLNames::inputTag)) {
WebCore::HTMLInputElement* input = static_cast<WebCore::HTMLInputElement*>(e);
if (input->isTextField() && !input->isPasswordField()
diff --git a/WebKit/android/jni/WebCoreFrameBridge.h b/WebKit/android/jni/WebCoreFrameBridge.h
index 25232e4..6522a5f 100644
--- a/WebKit/android/jni/WebCoreFrameBridge.h
+++ b/WebKit/android/jni/WebCoreFrameBridge.h
@@ -43,6 +43,7 @@ namespace WebCore {
class Image;
class Page;
class RenderPart;
+ class RenderSkinAndroid;
class ResourceHandle;
class ResourceLoaderAndroid;
class ResourceRequest;
@@ -155,6 +156,8 @@ class WebFrame : public WebCoreRefObject {
bool shouldSaveFormData();
void saveFormData(WebCore::HTMLFormElement*);
+ const WebCore::RenderSkinAndroid* renderSkins() const { return m_renderSkins; }
+ void setRenderSkins(const WebCore::RenderSkinAndroid* skins) { m_renderSkins = skins; }
private:
struct JavaBrowserFrame;
JavaBrowserFrame* mJavaFrame;
@@ -162,6 +165,7 @@ private:
WTF::String mUserAgent;
bool mBlockNetworkLoads;
bool mUserInitiatedAction;
+ const WebCore::RenderSkinAndroid* m_renderSkins;
};
} // namespace android
diff --git a/WebKit/android/jni/WebSettings.cpp b/WebKit/android/jni/WebSettings.cpp
index 4dd183b..468e7b0 100644
--- a/WebKit/android/jni/WebSettings.cpp
+++ b/WebKit/android/jni/WebSettings.cpp
@@ -525,7 +525,7 @@ public:
if (str) {
String path = jstringToWtfString(env, str);
GeolocationPermissions::setDatabasePath(path);
- GeolocationPositionCache::setDatabasePath(path);
+ GeolocationPositionCache::instance()->setDatabasePath(path);
// This database is created when the first Geolocation object is
// instantiated. If the file doesn't exist, we create it and set its
// permissions. The filename must match that in
diff --git a/WebKit/android/jni/WebStorage.cpp b/WebKit/android/jni/WebStorage.cpp
index ca3ccc6..9ce207d 100644
--- a/WebKit/android/jni/WebStorage.cpp
+++ b/WebKit/android/jni/WebStorage.cpp
@@ -27,16 +27,16 @@
#if ENABLE(DATABASE)
+#include "ApplicationCacheStorage.h"
+#include "DatabaseTracker.h"
+#include "JNIUtility.h"
#include "JavaSharedClient.h"
#include "KURL.h"
#include "PageGroup.h"
+#include "SecurityOrigin.h"
#include "WebCoreJni.h"
#include <JNIHelp.h>
-#include <JNIUtility.h>
-#include <WebCore/loader/appcache/ApplicationCacheStorage.h>
-#include <WebCore/page/SecurityOrigin.h>
-#include <WebCore/storage/DatabaseTracker.h>
namespace android {
diff --git a/WebKit/android/jni/WebViewCore.cpp b/WebKit/android/jni/WebViewCore.cpp
index 1d9c26b..f2680b5 100644
--- a/WebKit/android/jni/WebViewCore.cpp
+++ b/WebKit/android/jni/WebViewCore.cpp
@@ -491,7 +491,7 @@ void WebViewCore::reset(bool fromConstructor)
m_scrollOffsetY = 0;
m_screenWidth = 0;
m_screenHeight = 0;
- m_groupForVisitedLinks = NULL;
+ m_groupForVisitedLinks = 0;
m_currentNodeDomNavigationAxis = 0;
}
@@ -1259,7 +1259,7 @@ void WebViewCore::setSizeScreenWidthAndScale(int width, int height,
// in the html. If it is the HitTestResult, it may have zero
// width and height. In this case, use its parent node.
if (bounds.width() == 0) {
- node = node->parent();
+ node = node->parentOrHostNode();
if (node) {
bounds = node->getRect();
DBG_NAV_LOGD("found a zero width node and use its parent, whose ob:(x=%d,y=%d,w=%d,h=%d)",
@@ -1596,7 +1596,7 @@ static IntRect getAbsoluteBoundingBox(Node* node) {
IntRect rect;
RenderObject* render = node->renderer();
if (render->isRenderInline())
- rect = toRenderInline(render)->linesVisibleOverflowBoundingBox();
+ rect = toRenderInline(render)->linesVisualOverflowBoundingBox();
else if (render->isBox())
rect = toRenderBox(render)->visualOverflowRect();
else if (render->isText())
@@ -1976,7 +1976,7 @@ PluginWidgetAndroid* WebViewCore::getPluginWidget(NPP npp)
return (*iter);
}
}
- return NULL;
+ return 0;
}
static PluginView* nodeIsPlugin(Node* node) {
@@ -2042,7 +2042,7 @@ void WebViewCore::moveMouse(WebCore::Frame* frame, int x, int y)
{
DBG_NAV_LOGD("frame=%p x=%d y=%d scrollOffset=(%d,%d)", frame,
x, y, m_scrollOffsetX, m_scrollOffsetY);
- if (!frame || CacheBuilder::validNode(m_mainFrame, frame, NULL) == false)
+ if (!frame || !CacheBuilder::validNode(m_mainFrame, frame, 0))
frame = m_mainFrame;
// mouse event expects the position in the window coordinate
m_mousePos = WebCore::IntPoint(x - m_scrollOffsetX, y - m_scrollOffsetY);
@@ -3094,7 +3094,7 @@ bool WebViewCore::handleTouchEvent(int action, Vector<int>& ids, Vector<IntPoint
return 0;
}
- for (unsigned c = 0; c < points.size(); c++) {
+ for (int c = 0; c < static_cast<int>(points.size()); c++) {
points[c].setX(points[c].x() - m_scrollOffsetX);
points[c].setY(points[c].y() - m_scrollOffsetY);
@@ -3172,8 +3172,7 @@ static bool shouldSuppressKeyboard(const WebCore::Node* node) {
// in which case, 'fake' is set to true
bool WebViewCore::handleMouseClick(WebCore::Frame* framePtr, WebCore::Node* nodePtr, bool fake)
{
- bool valid = framePtr == NULL
- || CacheBuilder::validNode(m_mainFrame, framePtr, nodePtr);
+ bool valid = !framePtr || CacheBuilder::validNode(m_mainFrame, framePtr, nodePtr);
WebFrame* webFrame = WebFrame::getWebFrame(m_mainFrame);
if (valid && nodePtr) {
// Need to special case area tags because an image map could have an area element in the middle
@@ -3258,7 +3257,7 @@ void WebViewCore::popupReply(const int* array, int count)
if (m_popupReply) {
m_popupReply->replyIntArray(array, count);
Release(m_popupReply);
- m_popupReply = NULL;
+ m_popupReply = 0;
}
}
@@ -3433,7 +3432,7 @@ bool WebViewCore::jsInterrupt()
AutoJObject
WebViewCore::getJavaObject()
{
- return getRealObject(JSC::Bindings::getJNIEnv(), m_javaGlue->m_obj);
+ return m_javaGlue->object(JSC::Bindings::getJNIEnv());
}
jobject
@@ -4008,10 +4007,8 @@ static jstring FindAddress(JNIEnv *env, jobject obj, jstring addr,
bool success = CacheBuilder::FindAddress(addrChars, length,
&start, &end, caseInsensitive) == CacheBuilder::FOUND_COMPLETE;
jstring ret = 0;
- if (success) {
+ if (success)
ret = env->NewString(addrChars + start, end - start);
- env->DeleteLocalRef(ret);
- }
env->ReleaseStringChars(addr, addrChars);
return ret;
}
@@ -4333,7 +4330,7 @@ static void ProvideVisitedHistory(JNIEnv *env, jobject obj, jobject hist)
jsize len = env->GetArrayLength(array);
for (jsize i = 0; i < len; i++) {
jstring item = static_cast<jstring>(env->GetObjectArrayElement(array, i));
- const UChar* str = static_cast<const UChar*>(env->GetStringChars(item, NULL));
+ const UChar* str = static_cast<const UChar*>(env->GetStringChars(item, 0));
jsize len = env->GetStringLength(item);
viewImpl->addVisitedLink(str, len);
env->ReleaseStringChars(item, str);
@@ -4370,10 +4367,10 @@ static jobject GetTouchHighlightRects(JNIEnv* env, jobject obj, jint x, jint y,
{
WebViewCore* viewImpl = GET_NATIVE_VIEW(env, obj);
if (!viewImpl)
- return NULL;
+ return 0;
Vector<IntRect> rects = viewImpl->getTouchHighlightRects(x, y, slop);
if (rects.isEmpty())
- return NULL;
+ return 0;
jclass arrayClass = env->FindClass("java/util/ArrayList");
LOG_ASSERT(arrayClass, "Could not find java/util/ArrayList");
@@ -4589,7 +4586,7 @@ int registerWebViewCore(JNIEnv* env)
gWebViewCoreStaticMethods.m_isSupportedMediaMimeType =
env->GetStaticMethodID(widget, "isSupportedMediaMimeType", "(Ljava/lang/String;)Z");
- LOG_FATAL_IF(gWebViewCoreStaticMethods.m_isSupportedMediaMimeType == NULL,
+ LOG_FATAL_IF(!gWebViewCoreStaticMethods.m_isSupportedMediaMimeType,
"Could not find static method isSupportedMediaMimeType from WebViewCore");
env->DeleteLocalRef(widget);
diff --git a/WebKit/android/jni/WebViewCore.h b/WebKit/android/jni/WebViewCore.h
index 136ea79..8d8f303 100644
--- a/WebKit/android/jni/WebViewCore.h
+++ b/WebKit/android/jni/WebViewCore.h
@@ -294,9 +294,6 @@ namespace android {
// Create a single picture to represent the drawn DOM (used by navcache)
void recordPicture(SkPicture* picture);
- // Create a set of pictures to represent the drawn DOM, driven by
- // the invalidated region and the time required to draw (used to draw)
- void recordPictureSet(PictureSet* master);
void moveFocus(WebCore::Frame* frame, WebCore::Node* node);
void moveMouse(WebCore::Frame* frame, int x, int y);
void moveMouseIfLatest(int moveGeneration,
@@ -509,8 +506,6 @@ namespace android {
// return a list of rects matching the touch point (x, y) with the slop
Vector<IntRect> getTouchHighlightRects(int x, int y, int slop);
- // other public functions
- public:
// Open a file chooser for selecting a file to upload
void openFileChooser(PassRefPtr<WebCore::FileChooser> );
@@ -553,6 +548,28 @@ namespace android {
bool multiple, const int selected[], size_t selectedCountOrSelection);
bool shouldPaintCaret() { return m_shouldPaintCaret; }
void setShouldPaintCaret(bool should) { m_shouldPaintCaret = should; }
+ bool isPaused() const { return m_isPaused; }
+ void setIsPaused(bool isPaused) { m_isPaused = isPaused; }
+ bool drawIsPaused() const;
+ // The actual content (without title bar) size in doc coordinate
+ int screenWidth() const { return m_screenWidth; }
+ int screenHeight() const { return m_screenHeight; }
+#if USE(CHROME_NETWORK_STACK)
+ void setWebRequestContextUserAgent();
+ void setWebRequestContextCacheMode(int mode);
+ WebRequestContext* webRequestContext();
+#endif
+ // Attempts to scroll the layer to the x,y coordinates of rect. The
+ // layer is the id of the LayerAndroid.
+ void scrollRenderLayer(int layer, const SkRect& rect);
+ // call only from webkit thread (like add/remove), return true if inst
+ // is still alive
+ static bool isInstance(WebViewCore*);
+ // if there exists at least one WebViewCore instance then we return the
+ // application context, otherwise NULL is returned.
+ static jobject getApplicationContext();
+ // Check whether a media mimeType is supported in Android media framework.
+ static bool isSupportedMediaMimeType(const WTF::String& mimeType);
// these members are shared with webview.cpp
static Mutex gFrameCacheMutex;
@@ -575,22 +592,6 @@ namespace android {
// field safely from our respective threads
static Mutex gButtonMutex;
WTF::Vector<Container> m_buttons;
- bool isPaused() const { return m_isPaused; }
- void setIsPaused(bool isPaused) { m_isPaused = isPaused; }
- bool drawIsPaused() const;
- // The actual content (without title bar) size in doc coordinate
- int screenWidth() const { return m_screenWidth; }
- int screenHeight() const { return m_screenHeight; }
-#if USE(CHROME_NETWORK_STACK)
- void setWebRequestContextUserAgent();
- void setWebRequestContextCacheMode(int mode);
- WebRequestContext* webRequestContext();
-#endif
-
- // Attempts to scroll the layer to the x,y coordinates of rect. The
- // layer is the id of the LayerAndroid.
- void scrollRenderLayer(int layer, const SkRect& rect);
-
// end of shared members
// internal functions
@@ -602,6 +603,9 @@ namespace android {
// Then check the old buttons to see if any are no longer needed.
void updateButtonList(WTF::Vector<Container>* buttons);
void reset(bool fromConstructor);
+ // Create a set of pictures to represent the drawn DOM, driven by
+ // the invalidated region and the time required to draw (used to draw)
+ void recordPictureSet(PictureSet* master);
friend class ListBoxReply;
struct JavaGlue;
@@ -699,22 +703,10 @@ namespace android {
scoped_refptr<WebRequestContext> m_webRequestContext;
#endif
- private:
// called from constructor, to add this to a global list
static void addInstance(WebViewCore*);
// called from destructor, to remove this from a global list
static void removeInstance(WebViewCore*);
- public:
- // call only from webkit thread (like add/remove), return true if inst
- // is still alive
- static bool isInstance(WebViewCore*);
-
- // if there exists at least on WebViewCore instance then we return the
- // application context, otherwise NULL is returned.
- static jobject getApplicationContext();
-
- // Check whether a media mimeType is supported in Android media framework.
- static bool isSupportedMediaMimeType(const WTF::String& mimeType);
};
} // namespace android
diff --git a/WebKit/android/nav/CacheBuilder.cpp b/WebKit/android/nav/CacheBuilder.cpp
index f45572a..dc10f21 100644
--- a/WebKit/android/nav/CacheBuilder.cpp
+++ b/WebKit/android/nav/CacheBuilder.cpp
@@ -1171,7 +1171,7 @@ void CacheBuilder::BuildFrame(Frame* root, Frame* frame,
goto keepNode;
}
// Only use the root contentEditable element
- if (node->isContentEditable() && !node->parent()->isContentEditable()) {
+ if (node->isContentEditable() && !node->parentOrHostNode()->isContentEditable()) {
bounds = absBounds;
takesFocus = true;
type = CONTENT_EDITABLE_CACHEDNODETYPE;
@@ -1196,7 +1196,7 @@ void CacheBuilder::BuildFrame(Frame* root, Frame* frame,
clip.mHasClip = hasClip;
clip.mDirection = direction;
if (columnInfo != NULL) {
- const IntRect& oRect = ((RenderBox*)nodeRenderer)->visibleOverflowRect();
+ const IntRect& oRect = ((RenderBox*)nodeRenderer)->visualOverflowRect();
clip.mBounds.move(oRect.x(), oRect.y());
}
}
diff --git a/WebKit/android/nav/WebView.cpp b/WebKit/android/nav/WebView.cpp
index f29d218..ff5d73d 100644
--- a/WebKit/android/nav/WebView.cpp
+++ b/WebKit/android/nav/WebView.cpp
@@ -71,7 +71,9 @@
#include <JNIUtility.h>
#include <JNIHelp.h>
#include <jni.h>
+#include <android_runtime/android_util_AssetManager.h>
#include <ui/KeycodeLabels.h>
+#include <utils/AssetManager.h>
#include <wtf/text/AtomicString.h>
#include <wtf/text/CString.h>
@@ -138,7 +140,7 @@ struct JavaGlue {
}
} m_javaGlue;
-WebView(JNIEnv* env, jobject javaWebView, int viewImpl) :
+WebView(JNIEnv* env, jobject javaWebView, int viewImpl, WTF::String drawableDir, AssetManager* am) :
m_ring((WebViewCore*) viewImpl)
{
jclass clazz = env->FindClass("android/webkit/WebView");
@@ -190,6 +192,10 @@ WebView(JNIEnv* env, jobject javaWebView, int viewImpl) :
m_ringAnimationEnd = 0;
m_baseLayer = 0;
m_glDrawFunctor = 0;
+ if (drawableDir.isEmpty())
+ m_buttonSkin = 0;
+ else
+ m_buttonSkin = new RenderSkinButton(am, drawableDir);
#if USE(ACCELERATED_COMPOSITING)
m_glWebViewState = 0;
#endif
@@ -213,6 +219,7 @@ WebView(JNIEnv* env, jobject javaWebView, int viewImpl) :
delete m_navPictureUI;
SkSafeUnref(m_baseLayer);
delete m_glDrawFunctor;
+ delete m_buttonSkin;
}
void stopGL()
@@ -279,7 +286,7 @@ void nativeRecordButtons(bool hasFocus, bool pressed, bool invalidate)
const CachedNode* cachedCursor = 0;
// Lock the mutex, since we now share with the WebCore thread.
m_viewImpl->gButtonMutex.lock();
- if (m_viewImpl->m_buttons.size()) {
+ if (m_viewImpl->m_buttons.size() && m_buttonSkin) {
// FIXME: In a future change, we should keep track of whether the selection
// has changed to short circuit (note that we would still need to update
// if we received new buttons from the WebCore thread).
@@ -308,7 +315,7 @@ void nativeRecordButtons(bool hasFocus, bool pressed, bool invalidate)
state = RenderSkinAndroid::kFocused;
}
}
- ptr->updateFocusState(state);
+ ptr->updateFocusState(state, m_buttonSkin);
}
}
m_viewImpl->gButtonMutex.unlock();
@@ -935,6 +942,7 @@ void selectBestAt(const WebCore::IntRect& rect)
const CachedNode* node = findAt(root, rect, &frame, &rx, &ry);
if (!node) {
DBG_NAV_LOGD("no nodes found root=%p", root);
+ root->rootHistory()->setMouseBounds(rect);
m_viewImpl->m_hasCursorBounds = false;
root->setCursor(0, 0);
viewInvalidate();
@@ -948,8 +956,6 @@ void selectBestAt(const WebCore::IntRect& rect)
const_cast<CachedNode*>(node));
}
sendMoveMouseIfLatest(false, false);
- if (!node)
- return;
}
const CachedNode* m_cacheHitNode;
@@ -1462,6 +1468,7 @@ private: // local state for WebView
#if USE(ACCELERATED_COMPOSITING)
GLWebViewState* m_glWebViewState;
#endif
+ const RenderSkinButton* m_buttonSkin;
}; // end of WebView class
@@ -1573,9 +1580,12 @@ static void nativeClearCursor(JNIEnv *env, jobject obj)
view->clearCursor();
}
-static void nativeCreate(JNIEnv *env, jobject obj, int viewImpl)
+static void nativeCreate(JNIEnv *env, jobject obj, int viewImpl, jstring drawableDir,
+ jobject jAssetManager)
{
- WebView* webview = new WebView(env, obj, viewImpl);
+ AssetManager* am = assetManagerForJavaObject(env, jAssetManager);
+ WTF::String dir = jstringToWtfString(env, drawableDir);
+ WebView* webview = new WebView(env, obj, viewImpl, dir, am);
// NEED THIS OR SOMETHING LIKE IT!
//Release(obj);
}
@@ -2481,7 +2491,7 @@ static JNINativeMethod gJavaWebViewMethods[] = {
(void*) nativeCacheHitNodePointer },
{ "nativeClearCursor", "()V",
(void*) nativeClearCursor },
- { "nativeCreate", "(I)V",
+ { "nativeCreate", "(ILjava/lang/String;Landroid/content/res/AssetManager;)V",
(void*) nativeCreate },
{ "nativeCursorFramePointer", "()I",
(void*) nativeCursorFramePointer },
diff --git a/WebKit/android/plugins/ANPSoundInterface.cpp b/WebKit/android/plugins/ANPSoundInterface.cpp
index 91778e3..c238872 100644
--- a/WebKit/android/plugins/ANPSoundInterface.cpp
+++ b/WebKit/android/plugins/ANPSoundInterface.cpp
@@ -30,6 +30,8 @@
#include "SkTypes.h"
#include "media/AudioTrack.h"
+#include <system/audio.h>
+
struct ANPAudioTrack {
void* mUser;
ANPAudioCallbackProc mProc;
@@ -38,9 +40,9 @@ struct ANPAudioTrack {
static ANPSampleFormat toANPFormat(int fm) {
switch (fm) {
- case android::AudioSystem::PCM_16_BIT:
+ case AUDIO_FORMAT_PCM_16_BIT:
return kPCM16Bit_ANPSampleFormat;
- case android::AudioSystem::PCM_8_BIT:
+ case AUDIO_FORMAT_PCM_8_BIT:
return kPCM8Bit_ANPSampleFormat;
default:
return kUnknown_ANPSamleFormat;
@@ -50,11 +52,11 @@ static ANPSampleFormat toANPFormat(int fm) {
static int fromANPFormat(ANPSampleFormat fm) {
switch (fm) {
case kPCM16Bit_ANPSampleFormat:
- return android::AudioSystem::PCM_16_BIT;
+ return AUDIO_FORMAT_PCM_16_BIT;
case kPCM8Bit_ANPSampleFormat:
- return android::AudioSystem::PCM_8_BIT;
+ return AUDIO_FORMAT_PCM_8_BIT;
default:
- return android::AudioSystem::INVALID_FORMAT;
+ return AUDIO_FORMAT_INVALID;
}
}
@@ -95,10 +97,10 @@ static ANPAudioTrack* ANPCreateTrack(uint32_t sampleRate,
track->mUser = user;
track->mProc = proc;
- track->mTrack = new android::AudioTrack(android::AudioSystem::MUSIC,
+ track->mTrack = new android::AudioTrack(AUDIO_STREAM_MUSIC,
sampleRate,
fromANPFormat(format),
- (channelCount > 1) ? android::AudioSystem::CHANNEL_OUT_STEREO : android::AudioSystem::CHANNEL_OUT_MONO,
+ (channelCount > 1) ? AUDIO_CHANNEL_OUT_STEREO : AUDIO_CHANNEL_OUT_MONO,
0, // frameCount
0, // flags
callbackProc,
diff --git a/WebKit/cf/ChangeLog b/WebKit/cf/ChangeLog
index 1efdd4d..f712c97 100644
--- a/WebKit/cf/ChangeLog
+++ b/WebKit/cf/ChangeLog
@@ -1,3 +1,15 @@
+2011-01-03 Pratik Solanki <psolanki@apple.com>
+
+ Mac build fix. Define WTF_USE_CFNETWORK for Windows build only.
+
+ * WebCoreSupport/WebInspectorClientCF.cpp:
+
+2011-01-03 Brian Weinstein <bweinstein@apple.com>
+
+ Windows build fix. Define WTF_USE_CFNETWORK in WebInspectorClientCF.
+
+ * WebCoreSupport/WebInspectorClientCF.cpp:
+
2010-10-18 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Simon Fraser.
diff --git a/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp b/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp
index 62fdd4d..9183fa4 100644
--- a/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp
+++ b/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp
@@ -27,8 +27,8 @@
// before including any other files. Failing to include config.h will leave
// WTF_PLATFORM_CF and WTF_USE_JSC undefined, causing build failures in this
// file. But Mac doesn't have a config.h for WebKit, so we can't include the
-// Windows one here. For now we can just define WTF_PLATFORM_CF and WTF_USE_JSC
-// manually, but we need a better long-term solution.
+// Windows one here. For now we can just define WTF_PLATFORM_CF, WTF_USE_JSC, and
+// WTF_USE_CFNETWORK manually, but we need a better long-term solution.
#ifndef WTF_PLATFORM_CF
#define WTF_PLATFORM_CF 1
#endif
@@ -38,6 +38,9 @@
#endif
#if defined(WIN32) || defined(_WIN32)
+#ifndef WTF_USE_CFNETWORK
+#define WTF_USE_CFNETWORK 1
+#endif
#if defined(BUILDING_JavaScriptCore) || defined(BUILDING_WTF)
#define JS_EXPORTDATA __declspec(dllexport)
#else
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 3d8a0e0..54ca8ce 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,874 @@
+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
+
+ Update references to WebCore.
+
+ * WebKit.grd:
+ * WebKit.gyp:
+
+2011-01-07 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Scrollbar code cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=52073
+
+ Scrollbar code cleanup:
+ - Fix typo in Linux scrollbar enum name
+
+ * public/linux/WebThemeEngine.h:
+ * src/ChromiumBridge.cpp:
+ (WebCore::WebThemePart):
+ (WebCore::GetWebThemeExtraParams):
+
+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.
+
+ * public/WebWidget.h:
+ * src/WebPopupMenuImpl.cpp:
+ * src/WebPopupMenuImpl.h:
+ * src/WebViewImpl.cpp:
+ * src/WebViewImpl.h:
+
+2011-01-05 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Define GC3D types to match GL types and use them in GraphicsContext3D
+ https://bugs.webkit.org/show_bug.cgi?id=45557
+
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::GraphicsContext3DInternal::bindAttribLocation):
+ (WebCore::GraphicsContext3DInternal::bufferData):
+ (WebCore::GraphicsContext3DInternal::bufferSubData):
+ (WebCore::GraphicsContext3DInternal::getActiveAttrib):
+ (WebCore::GraphicsContext3DInternal::getActiveUniform):
+ (WebCore::GraphicsContext3DInternal::getAttribLocation):
+ (WebCore::GraphicsContext3DInternal::getString):
+ (WebCore::GraphicsContext3DInternal::getUniformLocation):
+ (WebCore::GraphicsContext3DInternal::texImage2D):
+ (WebCore::GraphicsContext3DInternal::texSubImage2D):
+ (WebCore::GraphicsContext3DInternal::uniform1fv):
+ (WebCore::GraphicsContext3DInternal::uniform1iv):
+ (WebCore::GraphicsContext3DInternal::uniform2fv):
+ (WebCore::GraphicsContext3DInternal::uniform2iv):
+ (WebCore::GraphicsContext3DInternal::uniform3fv):
+ (WebCore::GraphicsContext3DInternal::uniform3iv):
+ (WebCore::GraphicsContext3DInternal::uniform4fv):
+ (WebCore::GraphicsContext3DInternal::uniform4iv):
+ (WebCore::GraphicsContext3DInternal::uniformMatrix2fv):
+ (WebCore::GraphicsContext3DInternal::uniformMatrix3fv):
+ (WebCore::GraphicsContext3DInternal::uniformMatrix4fv):
+ * src/GraphicsContext3DInternal.h:
+
+2011-01-06 James Simonsen <simonjam@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Web Timing] Remove vendor prefix
+ https://bugs.webkit.org/show_bug.cgi?id=48922
+
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::performance): Rename to performance.
+
+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
+
+ WebKit API support for webkitAnimationTime.
+
+ * public/WebWidget.h:
+ * src/WebPopupMenuImpl.cpp:
+ (WebKit::WebPopupMenuImpl::clearCurrentAnimationTime):
+ * src/WebPopupMenuImpl.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::clearCurrentAnimationTime):
+ * src/WebViewImpl.h:
+
+2010-12-29 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] Add a WebAutoFillClient interface that moves some functions from WebViewClient
+ https://bugs.webkit.org/show_bug.cgi?id=51710
+
+ * WebKit.gyp:
+ * public/WebAutoFillClient.h: Added.
+ (WebKit::WebAutoFillClient::didAcceptAutoFillSuggestion):
+ (WebKit::WebAutoFillClient::didSelectAutoFillSuggestion):
+ (WebKit::WebAutoFillClient::didClearAutoFillSelection):
+ (WebKit::WebAutoFillClient::removeAutocompleteSugestion):
+ (WebKit::WebAutoFillClient::didAcceptAutocompleteSuggestion):
+ (WebKit::WebAutoFillClient::textFieldDidBeginEditing):
+ (WebKit::WebAutoFillClient::textFieldDidEndEditing):
+ (WebKit::WebAutoFillClient::textFieldDidChange):
+ (WebKit::WebAutoFillClient::textFieldDidReceiveKeyDown):
+ (WebKit::WebAutoFillClient::~WebAutoFillClient):
+
+2011-01-05 Chris Rogers <crogers@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Add WebKitClient::createAudioDevice() for Chromium port of web audio API
+ https://bugs.webkit.org/show_bug.cgi?id=51424
+
+ * WebKit.gyp:
+ * public/WebAudioDevice.h: Added.
+ (WebKit::WebAudioDevice::RenderCallback::~RenderCallback):
+ (WebKit::WebAudioDevice::~WebAudioDevice):
+ * public/WebKitClient.h:
+ (WebKit::WebKitClient::createAudioDevice):
+ * src/AudioDestinationChromium.cpp: Added.
+ (WebCore::AudioDestination::create):
+ (WebCore::AudioDestinationChromium::AudioDestinationChromium):
+ (WebCore::AudioDestinationChromium::~AudioDestinationChromium):
+ (WebCore::AudioDestinationChromium::start):
+ (WebCore::AudioDestinationChromium::stop):
+ (WebCore::AudioDestination::hardwareSampleRate):
+ (WebCore::AudioDestinationChromium::render):
+ * src/AudioDestinationChromium.h: Added.
+ (WebCore::AudioDestinationChromium::isPlaying):
+ (WebCore::AudioDestinationChromium::sampleRate):
+
+2011-01-05 David Levin <levin@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] WEBKIT_API and styling fixes for the chromium api.
+ https://bugs.webkit.org/show_bug.cgi?id=51863
+
+ Removed some incorrect uses of WEBKIT_API.
+ Fixed some abbreviations by making them whole words.
+
+ * public/WebAnimationController.h: Removed WEBKIT_API from virtual functions.
+ * public/WebFormElement.h: Removed WEBKIT_API from inline functions
+ and fixed some abbreviations.
+ (WebKit::WebFormElement::WebFormElement):
+ (WebKit::WebFormElement::operator=):
+ (WebKit::WebFormElement::assign):
+ * public/WebIDBDatabaseError.h: Ditto.
+ (WebKit::WebIDBDatabaseError::WebIDBDatabaseError):
+ (WebKit::WebIDBDatabaseError::operator=):
+ * public/WebInputElement.h: Ditto.
+ (WebKit::WebInputElement::WebInputElement):
+ (WebKit::WebInputElement::operator=):
+ (WebKit::WebInputElement::assign):
+ * public/WebLabelElement.h: Ditto.
+ (WebKit::WebLabelElement::WebLabelElement):
+ (WebKit::WebLabelElement::operator=):
+ (WebKit::WebLabelElement::assign):
+ * public/WebOptionElement.h: Ditto.
+ (WebKit::WebOptionElement::WebOptionElement):
+ (WebKit::WebOptionElement::operator=):
+ (WebKit::WebOptionElement::assign):
+ * public/WebSelectElement.h: Ditto (and minor spacing cleanup).
+ (WebKit::WebSelectElement::WebSelectElement):
+ (WebKit::WebSelectElement::operator=):
+ (WebKit::WebSelectElement::assign):
+
+2011-01-05 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by David Levin.
+
+ [Chromium] WebIDBKey clean-up
+ https://bugs.webkit.org/show_bug.cgi?id=51925
+
+ Remove constructors that are no longer used since the
+ Chromium side has been updated.
+
+ * public/WebIDBKey.h:
+
+2011-01-04 Darin Fisher <darin@chromium.org>
+
+ Reviewed by David Levin.
+
+ Update README file with a description of the WEBKIT_API macro and
+ guidelines for its usage. Also document the various WEBKIT_USING_*
+ macros.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51880
+
+ * README:
+
+2011-01-04 Evan Martin <evan@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [chromium] depend on harfbuzz explicitly
+ https://bugs.webkit.org/show_bug.cgi?id=51895
+
+ Update Chromium DEPS to pick up newer Chromium version
+ that simplifies expressing the Harfbuzz dependency.
+
+ * DEPS:
+
+2011-01-04 Zhe Su <suzhe@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ Changes:
+ 1. Add WebKit::WebWidget::confirmComposition(const WebString& text)
+ This new method corresponds to Editor::confirmComposition(text) and
+ Editor::insertText(text). It'll be used by both DumpRenderTree's
+ TextInputController and chromium browser.
+ 2. Fix WebFrameImpl::insertText
+ It should call Editor::confirmComposition(text) rather than
+ Editor::insertText(text) if there is an ongoing composition.
+ It matches the behavior of WebKit Mac port.
+ 3. Fix WebFrameImpl::setMarkedText
+ Editor::confirmComposition(text) shouldn't be called in this
+ method, which incorrectly inserts the text.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51693
+
+ * public/WebWidget.h:
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::insertText):
+ (WebKit::WebFrameImpl::setMarkedText):
+ * src/WebPopupMenuImpl.cpp:
+ (WebKit::WebPopupMenuImpl::confirmComposition):
+ * src/WebPopupMenuImpl.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::confirmComposition):
+ * src/WebViewImpl.h:
+ * tests/PopupMenuTest.cpp:
+ (WebKit::TestWebWidget::confirmComposition):
+
+2011-01-03 Daniel Bates <dbates@rim.com>
+
+ Attempt to fix the Chromium Linux Release build after changeset 74895 <http://trac.webkit.org/changeset/74895>.
+
+ The portion of the patch in <https://bugs.webkit.org/show_bug.cgi?id=51791> that modified the
+ file src/WebSearchableFormData.cpp was not landed (why?). Although the change log entry
+ associated with this change was landed.
+
+ * src/WebSearchableFormData.cpp:
+ (HTMLNames::IsInDefaultState):
+
+2011-01-02 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Clarify ImageBuffer and ImageData relationship
+ https://bugs.webkit.org/show_bug.cgi?id=51297
+
+ Use ByteArray instead of ImageData.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::doPixelReadbackToCanvas):
+
+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
+
+ * WebKit.gyp:
+ - Point to JavaScriptCore in its new location.
+
+2010-12-30 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ [Chromium] Add WebThemeEngineDRTMac so that Chromium DRT scrollbar rendering can match the Mac port's
+ https://bugs.webkit.org/show_bug.cgi?id=51728
+
+ Roll DEPS to pick up WebThemeEngine changes.
+
+ * DEPS:
+
+2010-12-29 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r74735.
+ http://trac.webkit.org/changeset/74735
+ https://bugs.webkit.org/show_bug.cgi?id=51715
+
+ assert failures on fast/forms/input-maxlength-ime-
+ completed.html (Requested by mihaip on #webkit).
+
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::setMarkedText):
+
+2010-12-29 Zhe Su <suzhe@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix editing/input/ime-composition-clearpreedit.html test in chromium
+ by removing the line "editor->confirmComposition(text);" from
+ WebFrameImpl::setMarkedText() method, because that line will insert the
+ text into the focused node, which is apparently wrong.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51693
+
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::setMarkedText):
+
+2010-12-23 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Initialize to 0 for undefined values in CopyTexImage2D
+ https://bugs.webkit.org/show_bug.cgi?id=51421
+
+ * src/GraphicsContext3DChromium.cpp: Implement getInternalFramebufferSize().
+ (WebCore::GraphicsContext3DInternal::getInternalFramebufferSize):
+ * src/GraphicsContext3DInternal.h:
+
+2010-12-23 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r74561.
+ http://trac.webkit.org/changeset/74561
+ https://bugs.webkit.org/show_bug.cgi?id=51565
+
+ "Broke Chromium UI tests on Vista" (Requested by kbr_google on
+ #webkit).
+
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::GraphicsContext3DInternal::paintRenderingResultsToCanvas):
+
+2010-12-23 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ [Chromium] Add WebThemeEngine for Mac to allow scrollbar rendering to be overridden for the DRT
+ https://bugs.webkit.org/show_bug.cgi?id=51507
+
+ Adds WebThemeEngine for the Mac (it already has parallel definitions for
+ Windows and Linux) so that scrollbar thumb rendering can be overridden
+ for the DRT (to be consistent with the NSScroller-based rendering
+ used by the Mac port).
+
+ * public/mac/WebThemeEngine.h: Added.
+ (WebKit::WebThemeEngine::paintScrollbarThumb):
+ * src/AssertMatchingEnums.cpp:
+ * src/ChromiumBridge.cpp:
+ (WebCore::ChromiumBridge::paintScrollbarThumb):
+
+2010-12-23 Sam Weinig <sam@webkit.org>
+
+ Fix build.
+
+ * src/FrameLoaderClientImpl.cpp:
+ (WebKit::FrameLoaderClientImpl::didSaveToPageCache):
+ (WebKit::FrameLoaderClientImpl::didRestoreFromPageCache):
+
+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
+
+ - Add client functions to notify that a frame has been added or
+ removed from the page cache.
+
+ * src/FrameLoaderClientImpl.cpp:
+ (WebKit::WebFrameLoaderClientImpl::didSaveToPageCache):
+ (WebKit::WebFrameLoaderClientImpl::didRestoreFromPageCache):
+ * src/FrameLoaderClientImpl.h:
+
+2010-12-20 Adrienne Walker <enne@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Tile root layer of the compositor.
+ https://bugs.webkit.org/show_bug.cgi?id=49947
+
+ Refactor root layer logic out of WebViewImpl and into
+ LayerTilerChromium. The painting is now done through an interface
+ rather than directly in WebViewImpl.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::scrollRootLayerRect):
+ (WebKit::WebViewImpl::invalidateRootLayerRect):
+ (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
+ (WebKit::WebViewImplTilePaintInterface::WebViewImplTilePaintInterface):
+ (WebKit::WebViewImplTilePaintInterface::paint):
+ (WebKit::WebViewImplScrollbarPaintInterface::WebViewImplScrollbarPaintInterface):
+ (WebKit::WebViewImplScrollbarPaintInterface::paint):
+ (WebKit::WebViewImpl::doComposite):
+ * src/WebViewImpl.h:
+
+2010-12-22 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Editor.h doesn't need to include SelectionController.h
+ https://bugs.webkit.org/show_bug.cgi?id=51441
+
+ Renamed SelectionController::EDirection to SelectionDirection.
+
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::executeCommand):
+
+2010-12-23 W. James MacLean <wjmaclean@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
+ https://bugs.webkit.org/show_bug.cgi?id=51186
+
+ Add asserts to detect if assumptions (about contiguous pixels in Skia bitmaps) are violated.
+
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::GraphicsContext3DInternal::paintRenderingResultsToCanvas):
+
+2010-12-22 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r74503.
+ http://trac.webkit.org/changeset/74503
+ https://bugs.webkit.org/show_bug.cgi?id=51513
+
+ breaks chromium mac debug compile (Requested by tonyg-cr on
+ #webkit).
+
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::GraphicsContext3DInternal::paintRenderingResultsToCanvas):
+
+2010-12-22 W. James MacLean <wjmaclean@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
+ https://bugs.webkit.org/show_bug.cgi?id=51186
+
+ Add asserts to detect if assumptions (about contiguous pixels in Skia bitmaps) are violated.
+
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::GraphicsContext3DInternal::paintRenderingResultsToCanvas):
+
+2010-12-21 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ WebGLRenderingContext needs to zero textures and renderbuffers
+ https://bugs.webkit.org/show_bug.cgi?id=49355
+
+ * src/WebGraphicsContext3DDefaultImpl.cpp:
+ (WebKit::WebGraphicsContext3DDefaultImpl::texImage2D): Generate an INVALID_VALUE if pixels==null is passed in.
+
+2010-12-20 Andrei Popescu <andreip@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ IDBCursor::delete is not implemented.
+ https://bugs.webkit.org/show_bug.cgi?id=51110
+
+ * public/WebIDBCursor.h:
+ (WebKit::WebIDBCursor::remove):
+ (WebKit::WebIDBCursor::deleteFunction):
+ * src/IDBCursorBackendProxy.cpp:
+ (WebCore::IDBCursorBackendProxy::deleteFunction):
+ * src/IDBCursorBackendProxy.h:
+ * src/WebIDBCursorImpl.cpp:
+ (WebKit::WebIDBCursorImpl::deleteFunction):
+ * src/WebIDBCursorImpl.h:
+
+2010-12-18 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Laszlo Gombos.
+
+ [Web Timing] Rename domContentLoaded{Start,End}->domContentLoadedEvent{Start,End}
+ https://bugs.webkit.org/show_bug.cgi?id=50943
+
+ Exposes all dom* times to the chromium port. I'm particularly interested in
+ domContentLoadedEventEnd as it compares to the FinishDoc metric.
+
+ * public/WebPerformance.h:
+ * src/WebPerformance.cpp:
+ (WebKit::WebPerformance::domLoading):
+ (WebKit::WebPerformance::domInteractive):
+ (WebKit::WebPerformance::domContentLoadedEventStart):
+ (WebKit::WebPerformance::domContentLoadedEventEnd):
+ (WebKit::WebPerformance::domComplete):
+
+2010-12-17 Tony Gentilcore <tonyg@chromium.org>
+
+ Unreviewed, build fix.
+
+ Add WebKitTools -> Tools rename that got missed.
+
+ * WebKit.gyp:
+
+2010-12-17 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, build fix.
+
+ Add WebKitTools -> Tools rename that got missed.
+
+ * WebKit.gyp:
+
+2010-12-17 John Knottenbelt <jknotten@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Fix test failures where NULL GeolocationClient is provided
+ https://bugs.webkit.org/show_bug.cgi?id=51256
+
+ * src/GeolocationClientProxy.cpp:
+ (WebKit::GeolocationClientProxy::geolocationDestroyed):
+
+2010-12-17 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ IndexedDB: Support Date objects as keys.
+ https://bugs.webkit.org/show_bug.cgi?id=51193
+
+ Update to match the underlying WebCore IDBKey class:
+ add the DateType, add create() functions for each type,
+ deprecate the public constructors (will be removed once
+ Chromium side is updated).
+
+ * public/WebIDBKey.h:
+ (WebKit::WebIDBKey::WebIDBKey):
+ * src/AssertMatchingEnums.cpp:
+ * src/WebIDBKey.cpp:
+ (WebKit::WebIDBKey::createString):
+ (WebKit::WebIDBKey::createDate):
+ (WebKit::WebIDBKey::createNumber):
+ (WebKit::WebIDBKey::assignNull):
+ (WebKit::WebIDBKey::assignString):
+ (WebKit::WebIDBKey::assignDate):
+ (WebKit::WebIDBKey::assignNumber):
+ (WebKit::WebIDBKey::date):
+
+2010-12-17 James Simonsen <simonjam@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Web Timing] Navigation type enums should begin with TYPE_
+ https://bugs.webkit.org/show_bug.cgi?id=51200
+
+ * src/WebPerformance.cpp:
+ (WebKit::WebPerformance::navigationType): Added TYPE_ to navigation types.
+
+2010-12-16 John Knottenbelt <jknotten@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Enable client-based geolocation in Chromium
+ https://bugs.webkit.org/show_bug.cgi?id=50562
+
+ * features.gypi:
+
+2010-12-16 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ IndexedDB: Fix IDBDatabaseError code offset bug
+ https://bugs.webkit.org/show_bug.cgi?id=51177
+
+ WebIDBDatabaseError must use the
+ IDBDatabaseError::createWithoutOffset() function.
+
+ * src/WebIDBDatabaseError.cpp:
+ (WebKit::WebIDBDatabaseError::assign):
+
+2010-12-15 Chris Guillory <chris.guillory@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Expose AccessibilityObject::url() to Chromium
+ https://bugs.webkit.org/show_bug.cgi?id=51046
+
+ * public/WebAccessibilityObject.h:
+ * src/WebAccessibilityObject.cpp:
+ (WebKit::WebAccessibilityObject::url):
+
+2010-12-14 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [chromium] AssociatedURLLoader leaks m_realLoader to its WebURLLoaderClient.
+ https://bugs.webkit.org/show_bug.cgi?id=51062
+
+ * src/AssociatedURLLoader.cpp: Intercept WebURLLoaderClient methods and
+ forward |this| as the WebURLLoader parameter.
+ (WebKit::AssociatedURLLoader::AssociatedURLLoader):
+ (WebKit::AssociatedURLLoader::loadSynchronously):
+ (WebKit::AssociatedURLLoader::loadAsynchronously):
+ (WebKit::AssociatedURLLoader::willSendRequest):
+ (WebKit::AssociatedURLLoader::didSendData):
+ (WebKit::AssociatedURLLoader::didReceiveResponse):
+ (WebKit::AssociatedURLLoader::didDownloadData):
+ (WebKit::AssociatedURLLoader::didReceiveData):
+ (WebKit::AssociatedURLLoader::didReceiveCachedMetadata):
+ (WebKit::AssociatedURLLoader::didFinishLoading):
+ (WebKit::AssociatedURLLoader::didFail):
+ * src/AssociatedURLLoader.h:
+
+2010-12-14 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Move asynchronous event dispatching out of Document
+ https://bugs.webkit.org/show_bug.cgi?id=49785
+
+ Change enqueueEvent callsite.
+
+ * src/StorageAreaProxy.cpp:
+ (WebCore::StorageAreaProxy::storageEvent):
+
+2010-12-13 Mike Lawther <mikelawther@chromium.org>
+
+ Reviewed by James Robinson.
+
+ Update chromium DEPS to pull in latest Skia
+ https://bugs.webkit.org/show_bug.cgi?id=50984
+
+ Roll to revision that pulled in Skia r632 (http://src.chromium.org/viewvc/chrome?view=rev&revision=68558)
+
+ * DEPS:
+
+2010-12-13 David Holloway <dhollowa@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [chromium] Removes deprecated logic following the consolidation of AutoFill and
+ Autocomplete popup menu handling (https://bugs.webkit.org/show_bug.cgi?id=41236).
+ Filling of the form fields is now handled completely on the Chromium side, for
+ both AutoFill and Autocomplete.
+
+ https://bugs.webkit.org/show_bug.cgi?id=41822
+
+ * public/WebView.h:
+ * src/AutoFillPopupMenuClient.cpp:
+ (WebKit::AutoFillPopupMenuClient::AutoFillPopupMenuClient):
+ (WebKit::AutoFillPopupMenuClient::valueChanged):
+ * src/AutoFillPopupMenuClient.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::applyAutoFillSuggestions):
+ * src/WebViewImpl.h:
+
+2010-12-13 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed. Rollout 73914, 73915, 73917, 73920 and 73921.
+
+ REGRESSION(r73914): "Chromium page_cycler_morejs fails" (Requested by yurys on #webkit).
+ https://bugs.webkit.org/show_bug.cgi?id=50950
+
+ * src/WebWorkerClientImpl.cpp:
+ (WebKit::WebWorkerClientImpl::postExceptionToWorkerObject):
+ (WebKit::WebWorkerClientImpl::postConsoleMessageToWorkerObject):
+ (WebKit::WebWorkerClientImpl::postExceptionToWorkerObjectTask):
+ (WebKit::WebWorkerClientImpl::postConsoleMessageToWorkerObjectTask):
+
+2010-12-13 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.
+
+ Debugger and Resources related notification functions of Inspector.idl were
+ marked as such with help of "domain" attribute. The other changes in js files
+ are reflecting this change. Some wrappers in WebInspector namespace were dropped,
+ the others were moved to DebuggerModel class.
+
+ https://bugs.webkit.org/show_bug.cgi?id=50906
+
+ * src/js/Tests.js:
+ (.TestSuite.prototype._waitForScriptPause):
+ (.TestSuite.prototype._waitUntilScriptsAreParsed.waitForAllScripts):
+ (.TestSuite.prototype._waitUntilScriptsAreParsed):
+
+2010-12-13 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
+ https://bugs.webkit.org/show_bug.cgi?id=8519
+
+ Uncaught exceptions are propagated to window.onerror hander if one is present.
+ The handler is expected to be a function accepting three arguments: error message,
+ resource url and line number where the exception occured.
+
+ * src/WebWorkerClientImpl.cpp:
+ (WebKit::WebWorkerClientImpl::postExceptionToWorkerObject):
+ (WebKit::WebWorkerClientImpl::postExceptionToWorkerObjectTask):
+
+2010-12-13 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r73898.
+ http://trac.webkit.org/changeset/73898
+ https://bugs.webkit.org/show_bug.cgi?id=50919
+
+ FileSystem and Database API's were broken (Requested by loislo
+ on #webkit).
+
+ * src/js/Tests.js:
+ (.TestSuite.prototype._waitForScriptPause):
+
+2010-12-13 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.
+
+ Debugger and Resources related notification functions of Inspector.idl were
+ marked as such with help of "domain" attribute. The other changes in js files
+ are reflecting this change. Some wrappers in WebInspector namespace were dropped,
+ the others were moved to DebuggerModel class.
+
+ https://bugs.webkit.org/show_bug.cgi?id=50906
+
+ * src/js/Tests.js:
+ (.TestSuite.prototype._waitForScriptPause):
+
+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.
+
+ * src/EditorClientImpl.h:
+ (WebKit::EditorClientImpl::requestCheckingOfString):
+
+2010-12-10 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ AX: refactor AccessibilityRenderObject::doAccessibilityHitTest
+ https://bugs.webkit.org/show_bug.cgi?id=50574
+
+ * src/WebAccessibilityObject.cpp:
+ (WebKit::WebAccessibilityObject::hitTest):
+
+2010-12-10 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Adam Barth.
+
+ Use enums instead of booleans in ImageSource/ImageDecoder constructors
+ https://bugs.webkit.org/show_bug.cgi?id=50818
+
+ * src/WebImageDecoder.cpp:
+ (WebKit::WebImageDecoder::init): Use enums instead of boolean in ImageDecoder constructor.
+
+2010-12-10 Kenneth Russell <kbr@google.com>
+
+ Reviewed by James Robinson.
+
+ Implement extension entry points and remove EXTENSIONS enum
+ https://bugs.webkit.org/show_bug.cgi?id=40316
+
+ Added support for ensuring that a particular OpenGL extension is
+ enabled.
+
+ * public/WebGraphicsContext3D.h:
+ * src/Extensions3DChromium.cpp:
+ (WebCore::Extensions3DChromium::ensureEnabled):
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::GraphicsContext3DInternal::initializeExtensions):
+ (WebCore::GraphicsContext3DInternal::supportsExtension):
+ (WebCore::GraphicsContext3DInternal::ensureExtensionEnabled):
+ * src/GraphicsContext3DInternal.h:
+ * src/WebGraphicsContext3DDefaultImpl.cpp:
+ (WebKit::WebGraphicsContext3DDefaultImpl::getRequestableExtensionsCHROMIUM):
+ (WebKit::WebGraphicsContext3DDefaultImpl::requestExtensionCHROMIUM):
+ * src/WebGraphicsContext3DDefaultImpl.h:
+
+2010-12-10 John Knottenbelt <jknotten@chromium.org>
+
+ Reviewed by Steve Block.
+
+ [Chromium] Implement mocks for client-based geolocation
+ https://bugs.webkit.org/show_bug.cgi?id=46895
+
+ * WebKit.gyp:
+ * public/WebGeolocationClientMock.h: Added.
+ (WebKit::WebGeolocationClientMock::~WebGeolocationClientMock):
+ (WebKit::WebGeolocationClientMock::WebGeolocationClientMock):
+ * src/WebGeolocationClientMock.cpp: Added.
+ (WebKit::WebGeolocationClientMock::create):
+ (WebKit::WebGeolocationClientMock::initialize):
+ (WebKit::WebGeolocationClientMock::reset):
+ (WebKit::WebGeolocationClientMock::setMockGeolocationPosition):
+ (WebKit::WebGeolocationClientMock::setMockGeolocationError):
+ (WebKit::WebGeolocationClientMock::setMockGeolocationPermission):
+ (WebKit::WebGeolocationClientMock::resetMock):
+ (WebKit::WebGeolocationClientMock::startUpdating):
+ (WebKit::WebGeolocationClientMock::stopUpdating):
+ (WebKit::WebGeolocationClientMock::setEnableHighAccuracy):
+ (WebKit::WebGeolocationClientMock::geolocationDestroyed):
+ (WebKit::WebGeolocationClientMock::setController):
+ (WebKit::WebGeolocationClientMock::lastPosition):
+ (WebKit::WebGeolocationClientMock::requestPermission):
+ (WebKit::WebGeolocationClientMock::cancelPermissionRequest):
+ * src/WebGeolocationServiceMock.cpp:
+
+2010-12-10 John Knottenbelt <jknotten@chromium.org>
+
+ Reviewed by Steve Block.
+
+ [chromium] Implement client based geolocation bindings
+ https://bugs.webkit.org/show_bug.cgi?id=45752
+
+ Implements the necessary plumbing to expose client-based geolocation in Chromium
+ webkit. The plan is to remove the non-client-based geolocation code (GeolocationService*)
+ in the future.
+
+ * WebKit.gyp:
+ * public/WebGeolocationClient.h: Added.
+ (WebKit::WebGeolocationClient::~WebGeolocationClient):
+ * public/WebGeolocationController.h: Added.
+ (WebKit::WebGeolocationController::WebGeolocationController):
+ (WebKit::WebGeolocationController::reset):
+ * public/WebGeolocationError.h:
+ * public/WebGeolocationPermissionRequest.h: Added.
+ (WebKit::WebGeolocationPermissionRequest::WebGeolocationPermissionRequest):
+ (WebKit::WebGeolocationPermissionRequest::geolocation):
+ * public/WebGeolocationPermissionRequestManager.h: Added.
+ (WebKit::WebGeolocationPermissionRequestManager::WebGeolocationPermissionRequestManager):
+ (WebKit::WebGeolocationPermissionRequestManager::~WebGeolocationPermissionRequestManager):
+ * public/WebGeolocationPosition.h:
+ * public/WebViewClient.h:
+ (WebKit::WebViewClient::geolocationClient):
+ * src/ChromeClientImpl.cpp:
+ (WebKit::ChromeClientImpl::requestGeolocationPermissionForFrame):
+ (WebKit::ChromeClientImpl::cancelGeolocationPermissionRequestForFrame):
+ * src/GeolocationClientProxy.cpp: Added.
+ (WebKit::GeolocationClientProxy::GeolocationClientProxy):
+ (WebKit::GeolocationClientProxy::~GeolocationClientProxy):
+ (WebKit::GeolocationClientProxy::setController):
+ (WebKit::GeolocationClientProxy::geolocationDestroyed):
+ (WebKit::GeolocationClientProxy::startUpdating):
+ (WebKit::GeolocationClientProxy::stopUpdating):
+ (WebKit::GeolocationClientProxy::setEnableHighAccuracy):
+ (WebKit::GeolocationClientProxy::lastPosition):
+ (WebKit::GeolocationClientProxy::requestPermission):
+ (WebKit::GeolocationClientProxy::cancelPermissionRequest):
+ * src/GeolocationClientProxy.h: Added.
+ * src/WebGeolocationController.cpp: Added.
+ (WebKit::WebGeolocationController::positionChanged):
+ (WebKit::WebGeolocationController::errorOccurred):
+ (WebKit::WebGeolocationController::controller):
+ * src/WebGeolocationPermissionRequest.cpp: Added.
+ (WebKit::WebGeolocationPermissionRequest::securityOrigin):
+ (WebKit::WebGeolocationPermissionRequest::setIsAllowed):
+ * src/WebGeolocationPermissionRequestManager.cpp: Added.
+ (WebGeolocationPermissionRequestManager::add):
+ (WebGeolocationPermissionRequestManager::remove):
+ (WebGeolocationPermissionRequestManager::init):
+ (WebGeolocationPermissionRequestManager::reset):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::WebViewImpl):
+ * src/WebViewImpl.h:
+
2010-12-10 Hans Wennborg <hans@chromium.org>
Reviewed by Jeremy Orlow.
diff --git a/WebKit/chromium/DEPS b/WebKit/chromium/DEPS
index 32c01f0..7fbcbcd 100644
--- a/WebKit/chromium/DEPS
+++ b/WebKit/chromium/DEPS
@@ -32,7 +32,7 @@
vars = {
'chromium_svn': 'http://src.chromium.org/svn/trunk/src',
- 'chromium_rev': '67532'
+ 'chromium_rev': '70840'
}
deps = {
@@ -109,20 +109,20 @@ deps = {
Var('chromium_svn')+'/tools/generate_stubs@'+Var('chromium_rev'),
# other third party
- 'third_party':
- Var('chromium_svn')+'/third_party@'+Var('chromium_rev'),
'third_party/icu':
From('chromium_deps', 'src/third_party/icu'),
'third_party/ots':
From('chromium_deps', 'src/third_party/ots'),
+ 'third_party/yasm/source/patched-yasm':
+ From('chromium_deps', 'src/third_party/yasm/source/patched-yasm'),
+ 'third_party':
+ Var('chromium_svn')+'/third_party@'+Var('chromium_rev'),
}
deps_os = {
'win': {
'third_party/cygwin':
From('chromium_deps', 'src/third_party/cygwin'),
- 'third_party/python_24':
- From('chromium_deps', 'src/third_party/python_24'),
'third_party/ffmpeg/binaries/chromium/win/ia32':
From('chromium_deps', 'src/third_party/ffmpeg/binaries/chromium/win/ia32'),
'third_party/lighttpd':
@@ -131,9 +131,6 @@ deps_os = {
From('chromium_deps', 'src/third_party/nss'),
},
'mac': {
- # needed by ffmpeg
- 'third_party/yasm/source/patched-yasm':
- From('chromium_deps', 'src/third_party/yasm/source/patched-yasm'),
'third_party/nss':
From('chromium_deps', 'src/third_party/nss'),
},
@@ -141,8 +138,6 @@ deps_os = {
# Linux, actually.
'tools/xdisplaycheck':
Var('chromium_svn')+'/tools/xdisplaycheck@'+Var('chromium_rev'),
- 'third_party/yasm/source/patched-yasm':
- From('chromium_deps', 'src/third_party/yasm/source/patched-yasm'),
'third_party/openssl':
From('chromium_deps', 'src/third_party/openssl'),
},
diff --git a/WebKit/chromium/README b/WebKit/chromium/README
index 9173454..ecac503 100644
--- a/WebKit/chromium/README
+++ b/WebKit/chromium/README
@@ -27,6 +27,22 @@ DEFINES
defined when building the 'src' directory, and it should also be defined by
the consumer to ensure proper linkage to the shared library.
+ WEBKIT_API is defined for platforms (e.g., Windows) that require additional
+ annotations on functions and methods, which should be exported from WebKit
+ when it is built as a DLL. In general, this includes all public methods
+ unless the methods are defined inline, marked pure virtual, or contained
+ within a WEBKIT_IMPLEMENTATION section. Also, any private method called by a
+ public inline-defined method should be annotated with WEBKIT_API. WEBKIT_API
+ is not used to export whole classes.
+
+ WEBKIT_USING_SKIA is defined when using Skia as the graphics library.
+
+ WEBKIT_USING_CG is defined when using CG as the graphics library.
+
+ WEBKIT_USING_V8 is defined when using V8 as the JavaScript library.
+
+ WEBKIT_USING_JSC is defined when using JSC as the JavaScript library.
+
BASIC TYPES
diff --git a/WebKit/chromium/WebKit.grd b/WebKit/chromium/WebKit.grd
index 3b7209a..ab89640 100644
--- a/WebKit/chromium/WebKit.grd
+++ b/WebKit/chromium/WebKit.grd
@@ -9,8 +9,8 @@
</outputs>
<release seq="1">
<includes>
- <include name="IDR_DEVTOOLS_DEBUGGER_SCRIPT_JS" file="..\..\WebCore\bindings\v8\DebuggerScript.js" type="BINDATA"/>
- <include name="IDR_DEVTOOLS_INJECT_WEBKIT_JS" file="..\..\WebCore\inspector\front-end\InjectedScript.js" type="BINDATA"/>
+ <include name="IDR_DEVTOOLS_DEBUGGER_SCRIPT_JS" file="..\..\Source\WebCore\bindings\v8\DebuggerScript.js" type="BINDATA"/>
+ <include name="IDR_DEVTOOLS_INJECT_WEBKIT_JS" file="..\..\Source\WebCore\inspector\front-end\InjectedScript.js" type="BINDATA"/>
</includes>
</release>
</grit>
diff --git a/WebKit/chromium/WebKit.gyp b/WebKit/chromium/WebKit.gyp
index 01bb092..9385778 100644
--- a/WebKit/chromium/WebKit.gyp
+++ b/WebKit/chromium/WebKit.gyp
@@ -30,8 +30,8 @@
{
'includes': [
- '../../WebCore/WebCore.gypi',
- '../../WebKitTools/DumpRenderTree/DumpRenderTree.gypi',
+ '../../Source/WebCore/WebCore.gypi',
+ '../../Tools/DumpRenderTree/DumpRenderTree.gypi',
'WebKit.gypi',
'features.gypi',
],
@@ -62,7 +62,7 @@
],
}],
],
- 'ahem_path': '../../WebKitTools/DumpRenderTree/qt/fonts/AHEM____.TTF',
+ 'ahem_path': '../../Tools/DumpRenderTree/qt/fonts/AHEM____.TTF',
# If debug_devtools is set to 1, JavaScript files for DevTools are
# stored as is. Otherwise, a concatenated file is stored.
@@ -73,7 +73,7 @@
'target_name': 'webkit',
'msvs_guid': '5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65',
'dependencies': [
- '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
+ '../../Source/WebCore/WebCore.gyp/WebCore.gyp:webcore',
'<(chromium_src_dir)/app/app.gyp:app_base', # For GLContext
'<(chromium_src_dir)/skia/skia.gyp:skia',
'<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
@@ -101,6 +101,7 @@
'public/mac/WebInputEventFactory.h',
'public/mac/WebSandboxSupport.h',
'public/mac/WebScreenInfoFactory.h',
+ 'public/mac/WebThemeEngine.h',
'public/WebAccessibilityCache.h',
'public/WebAccessibilityNotification.h',
'public/WebAccessibilityObject.h',
@@ -110,6 +111,8 @@
'public/WebApplicationCacheHostClient.h',
'public/WebAttribute.h',
'public/WebAudioBus.h',
+ 'public/WebAudioDevice.h',
+ 'public/WebAutoFillClient.h',
'public/WebBindings.h',
'public/WebBlobData.h',
'public/WebBlobRegistry.h',
@@ -173,7 +176,12 @@
'public/WebFontCache.h',
'public/WebFormControlElement.h',
'public/WebFormElement.h',
+ 'public/WebGeolocationClient.h',
+ 'public/WebGeolocationClientMock.h',
+ 'public/WebGeolocationController.h',
'public/WebGeolocationError.h',
+ 'public/WebGeolocationPermissionRequest.h',
+ 'public/WebGeolocationPermissionRequestManager.h',
'public/WebGeolocationPosition.h',
'public/WebGeolocationService.h',
'public/WebGeolocationServiceBridge.h',
@@ -298,6 +306,8 @@
'src/AsyncFileSystemChromium.h',
'src/AsyncFileWriterChromium.cpp',
'src/AsyncFileWriterChromium.h',
+ 'src/AudioDestinationChromium.cpp',
+ 'src/AudioDestinationChromium.h',
'src/AutoFillPopupMenuClient.cpp',
'src/AutoFillPopupMenuClient.h',
'src/BackForwardListClientImpl.cpp',
@@ -339,6 +349,8 @@
'src/FrameLoaderClientImpl.cpp',
'src/FrameLoaderClientImpl.h',
'src/FrameNetworkingContextImpl.h',
+ 'src/GeolocationClientProxy.cpp',
+ 'src/GeolocationClientProxy.h',
'src/GraphicsContext3DChromium.cpp',
'src/GraphicsContext3DInternal.h',
'src/gtk/WebFontInfo.cpp',
@@ -444,7 +456,11 @@
'src/WebFormElement.cpp',
'src/WebFrameImpl.cpp',
'src/WebFrameImpl.h',
+ 'src/WebGeolocationController.cpp',
+ 'src/WebGeolocationClientMock.cpp',
'src/WebGeolocationError.cpp',
+ 'src/WebGeolocationPermissionRequest.cpp',
+ 'src/WebGeolocationPermissionRequestManager.cpp',
'src/WebGeolocationPosition.cpp',
'src/WebGeolocationServiceBridgeImpl.cpp',
'src/WebGeolocationServiceBridgeImpl.h',
@@ -575,7 +591,7 @@
'WEBKIT_DLL',
],
'dependencies': [
- '../../WebCore/WebCore.gyp/WebCore.gyp:webcore_bindings',
+ '../../Source/WebCore/WebCore.gyp/WebCore.gyp:webcore_bindings',
'<(chromium_src_dir)/base/base.gyp:test_support_base',
'<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
'<(chromium_src_dir)/testing/gtest.gyp:gtest',
@@ -667,11 +683,14 @@
['"ENABLE_CLIENT_BASED_GEOLOCATION=1" in feature_defines', {
'sources/': [
['exclude', 'WebGeolocationService.*$'],
- ['include', 'WebGeolocationServiceMock.*'],
],
}, {
'sources/': [
+ ['exclude', 'GeolocationClientProxy.*'],
+ ['exclude', 'WebGeolocationClient.*'],
+ ['exclude', 'WebGeolocationController.*'],
['exclude', 'WebGeolocationError.*'],
+ ['exclude', 'WebGeolocationPermissionRequest.*'],
['exclude', 'WebGeolocationPosition.*'],
],
}]
@@ -683,7 +702,7 @@
'type': 'none',
'dependencies': [
'devtools_html',
- '../../WebCore/WebCore.gyp/WebCore.gyp:inspector_protocol_sources',
+ '../../Source/WebCore/WebCore.gyp/WebCore.gyp:inspector_protocol_sources',
],
'conditions': [
['debug_devtools==0', {
@@ -724,7 +743,7 @@
'scripts/generate_devtools_html.py',
# See issue 29695: WebKit.gypi is a source file for devtools.html.
'WebKit.gypi',
- '../../WebCore/inspector/front-end/inspector.html',
+ '../../Source/WebCore/inspector/front-end/inspector.html',
],
'outputs': ['<(PRODUCT_DIR)/resources/inspector/devtools.html'],
'action': ['python', '<@(_inputs)', '<@(_outputs)', '<@(debug_devtools)', '<@(devtools_files)'],
@@ -735,13 +754,13 @@
'type': 'none',
'dependencies': [
'devtools_html',
- '../../WebCore/WebCore.gyp/WebCore.gyp:inspector_protocol_sources'
+ '../../Source/WebCore/WebCore.gyp/WebCore.gyp:inspector_protocol_sources'
],
'sources': ['<(PRODUCT_DIR)/resources/inspector/DevTools.js'],
'actions': [{
'action_name': 'concatenate_devtools_js',
'script_name': 'scripts/concatenate_js_files.py',
- 'input_page': '../../WebCore/inspector/front-end/inspector.html',
+ 'input_page': '../../Source/WebCore/inspector/front-end/inspector.html',
'inputs': [
'<@(_script_name)',
'<@(_input_page)',
@@ -750,7 +769,7 @@
'<(SHARED_INTERMEDIATE_DIR)/webcore/InspectorBackendStub.js'
],
'search_path': [
- '../../WebCore/inspector/front-end',
+ '../../Source/WebCore/inspector/front-end',
'src/js',
'<(SHARED_INTERMEDIATE_DIR)/webcore',
],
@@ -768,7 +787,7 @@
'actions': [{
'action_name': 'concatenate_devtools_css',
'script_name': 'scripts/concatenate_css_files.py',
- 'input_page': '../../WebCore/inspector/front-end/inspector.html',
+ 'input_page': '../../Source/WebCore/inspector/front-end/inspector.html',
'inputs': [
'<@(_script_name)',
'<@(_input_page)',
@@ -776,7 +795,7 @@
'<@(devtools_files)'
],
'search_path': [
- '../../WebCore/inspector/front-end',
+ '../../Source/WebCore/inspector/front-end',
'src/js',
],
'outputs': ['<(PRODUCT_DIR)/resources/inspector/devTools.css'],
@@ -789,7 +808,7 @@
'msvs_guid': '7CEFE800-8403-418A-AD6A-2D52C6FC3EAD',
'dependencies': [
'webkit',
- '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
+ '../../Source/WebCore/WebCore.gyp/WebCore.gyp:webcore',
'<(chromium_src_dir)/testing/gtest.gyp:gtest',
'<(chromium_src_dir)/base/base.gyp:base',
'<(chromium_src_dir)/base/base.gyp:base_i18n',
@@ -853,6 +872,11 @@
},
},
}],
+ ['"ENABLE_CLIENT_BASED_GEOLOCATION=1" in feature_defines', {
+ 'sources/': [
+ ['exclude', 'WebGeolocationService.*$'],
+ ],
+ }]
],
},
{
@@ -860,15 +884,15 @@
'type': 'executable',
'dependencies': [
'webkit',
- '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf',
+ '../../Source/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf',
'<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
],
'include_dirs': [
- '../../JavaScriptCore',
+ '../../Source/JavaScriptCore',
'<(DEPTH)',
],
'sources': [
- '../../WebKitTools/DumpRenderTree/chromium/ImageDiff.cpp',
+ '../../Tools/DumpRenderTree/chromium/ImageDiff.cpp',
],
},
{
@@ -881,7 +905,7 @@
'TestNetscapePlugIn',
'copy_TestNetscapePlugIn',
'webkit',
- '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf_config',
+ '../../Source/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf_config',
'<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
'<(chromium_src_dir)/third_party/mesa/mesa.gyp:osmesa',
'<(chromium_src_dir)/webkit/support/webkit_support.gyp:blob',
@@ -890,8 +914,8 @@
'include_dirs': [
'<(chromium_src_dir)',
'public',
- '../../JavaScriptCore',
- '../../JavaScriptCore/wtf', # wtf/text/*.h refers headers in wtf/ without wtf/.
+ '../../Source/JavaScriptCore',
+ '../../Source/JavaScriptCore/wtf', # wtf/text/*.h refers headers in wtf/ without wtf/.
'<(DEPTH)',
],
'defines': [
@@ -923,7 +947,7 @@
'public',
],
'dependencies': [
- '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf',
+ '../../Source/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf',
],
}],
['inside_chromium_build==1', {
@@ -976,15 +1000,15 @@
],
'mac_bundle_resources': [
'<(ahem_path)',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher100.ttf',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher200.ttf',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher300.ttf',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher400.ttf',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher500.ttf',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher600.ttf',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher700.ttf',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher800.ttf',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher900.ttf',
+ '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher100.ttf',
+ '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher200.ttf',
+ '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher300.ttf',
+ '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher400.ttf',
+ '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher500.ttf',
+ '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher600.ttf',
+ '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher700.ttf',
+ '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher800.ttf',
+ '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher900.ttf',
'<(SHARED_INTERMEDIATE_DIR)/webkit/textAreaResizeCorner.png',
],
},{ # OS!="mac"
@@ -1005,7 +1029,7 @@
'destination': '<(PRODUCT_DIR)',
'files': [
'<(ahem_path)',
- '../../WebKitTools/DumpRenderTree/chromium/fonts.conf',
+ '../../Tools/DumpRenderTree/chromium/fonts.conf',
'<(INTERMEDIATE_DIR)/repack/DumpRenderTree.pak',
]
}],
@@ -1034,8 +1058,8 @@
],
'include_dirs': [
'<(chromium_src_dir)',
- '../../WebKitTools/DumpRenderTree/TestNetscapePlugIn',
- '../../WebKitTools/DumpRenderTree/chromium/TestNetscapePlugIn/ForwardingHeaders',
+ '../../Tools/DumpRenderTree/TestNetscapePlugIn',
+ '../../Tools/DumpRenderTree/chromium/TestNetscapePlugIn/ForwardingHeaders',
],
'conditions': [
['OS=="mac"', {
@@ -1059,7 +1083,7 @@
# we get rid of our forked plugin in the
# chromium repo, we can share the same
# Info.plist.
- 'INFOPLIST_FILE': '../../WebKitTools/DumpRenderTree/chromium/TestNetscapePlugIn/Info.plist',
+ 'INFOPLIST_FILE': '../../Tools/DumpRenderTree/chromium/TestNetscapePlugIn/Info.plist',
},
}],
['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
@@ -1073,8 +1097,8 @@
'snprintf=_snprintf',
],
'sources': [
- '../../WebKitTools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.def',
- '../../WebKitTools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc',
+ '../../Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.def',
+ '../../Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc',
],
# The .rc file requires that the name of the dll is npTestNetscapePlugin.dll.
# This adds the 'np' to the dll name.
@@ -1115,7 +1139,7 @@
'targets': [{
'target_name': 'LayoutTestHelper',
'type': 'executable',
- 'sources': ['../../WebKitTools/DumpRenderTree/chromium/LayoutTestHelperWin.cpp'],
+ 'sources': ['../../Tools/DumpRenderTree/chromium/LayoutTestHelperWin.cpp'],
}],
}],
['OS=="mac"', {
@@ -1123,7 +1147,7 @@
{
'target_name': 'LayoutTestHelper',
'type': 'executable',
- 'sources': ['../../WebKitTools/DumpRenderTree/chromium/LayoutTestHelper.mm'],
+ 'sources': ['../../Tools/DumpRenderTree/chromium/LayoutTestHelper.mm'],
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
diff --git a/WebKit/chromium/features.gypi b/WebKit/chromium/features.gypi
index 03e6ce4..372cc5c 100644
--- a/WebKit/chromium/features.gypi
+++ b/WebKit/chromium/features.gypi
@@ -45,6 +45,7 @@
'ENABLE_BLOB=1',
'ENABLE_BLOB_SLICE=1',
'ENABLE_CHANNEL_MESSAGING=1',
+ 'ENABLE_CLIENT_BASED_GEOLOCATION=1',
'ENABLE_DASHBOARD_SUPPORT=0',
'ENABLE_DATABASE=1',
'ENABLE_DATAGRID=0',
diff --git a/WebKit/chromium/public/WebAccessibilityObject.h b/WebKit/chromium/public/WebAccessibilityObject.h
index f7c93f2..182d124 100644
--- a/WebKit/chromium/public/WebAccessibilityObject.h
+++ b/WebKit/chromium/public/WebAccessibilityObject.h
@@ -45,6 +45,7 @@ class WebAccessibilityObjectPrivate;
class WebNode;
class WebDocument;
class WebString;
+class WebURL;
struct WebPoint;
struct WebRect;
@@ -110,6 +111,7 @@ public:
WEBKIT_API void setFocused(bool) const;
WEBKIT_API WebString stringValue() const;
WEBKIT_API WebString title() const;
+ WEBKIT_API WebURL url() const;
WEBKIT_API WebNode node() const;
WEBKIT_API WebDocument document() const;
diff --git a/WebKit/chromium/public/WebAnimationController.h b/WebKit/chromium/public/WebAnimationController.h
index 0d3fcf5..c61e531 100644
--- a/WebKit/chromium/public/WebAnimationController.h
+++ b/WebKit/chromium/public/WebAnimationController.h
@@ -43,16 +43,17 @@ class WebURL;
// owned by a WebFrame and its life span is bound to that WebFrame.
class WebAnimationController {
public:
- WEBKIT_API virtual bool pauseAnimationAtTime(WebElement&,
- const WebString& animationName,
- double time) = 0;
- WEBKIT_API virtual bool pauseTransitionAtTime(WebElement&,
- const WebString& propertyName,
- double time) = 0;
-
- WEBKIT_API virtual unsigned numberOfActiveAnimations() const = 0;
- WEBKIT_API virtual void suspendAnimations() const = 0;
- WEBKIT_API virtual void resumeAnimations() const = 0;
+ virtual bool pauseAnimationAtTime(WebElement&,
+ const WebString& animationName,
+ double time) = 0;
+ virtual bool pauseTransitionAtTime(WebElement&,
+ const WebString& propertyName,
+ double time) = 0;
+
+ virtual unsigned numberOfActiveAnimations() const = 0;
+ virtual void suspendAnimations() const = 0;
+ virtual void resumeAnimations() const = 0;
+
protected:
~WebAnimationController() { }
};
diff --git a/WebKit/chromium/public/WebAudioBus.h b/WebKit/chromium/public/WebAudioBus.h
index 94ef74d..b7f8d74 100644
--- a/WebKit/chromium/public/WebAudioBus.h
+++ b/WebKit/chromium/public/WebAudioBus.h
@@ -27,8 +27,9 @@
#include "WebCommon.h"
-#if WEBKIT_IMPLEMENTATION
namespace WebCore { class AudioBus; }
+
+#if WEBKIT_IMPLEMENTATION
namespace WTF { template <typename T> class PassOwnPtr; }
#endif
@@ -43,11 +44,14 @@ class WebAudioBusPrivate;
class WebAudioBus {
public:
WebAudioBus() : m_private(0) { }
- ~WebAudioBus();
+ ~WebAudioBus() { reset(); }
// initialize() allocates memory of the given length for the given number of channels.
- void initialize(unsigned numberOfChannels, size_t length, double sampleRate);
+ WEBKIT_API void initialize(unsigned numberOfChannels, size_t length, double sampleRate);
+ // reset() releases the memory allocated from initialize().
+ WEBKIT_API void reset();
+
WEBKIT_API unsigned numberOfChannels() const;
WEBKIT_API size_t length() const;
WEBKIT_API double sampleRate() const;
@@ -59,9 +63,11 @@ public:
#endif
private:
- // Noncopyable
- WebAudioBus(const WebAudioBus& d) : m_private(0) { }
- WebAudioBusPrivate* m_private;
+ // Disallow copy and assign.
+ WebAudioBus(const WebAudioBus&);
+ void operator=(const WebAudioBus&);
+
+ WebCore::AudioBus* m_private;
};
} // namespace WebKit
diff --git a/WebKit/chromium/public/WebAudioDevice.h b/WebKit/chromium/public/WebAudioDevice.h
new file mode 100644
index 0000000..a9f5a1c
--- /dev/null
+++ b/WebKit/chromium/public/WebAudioDevice.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2010 Google 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.
+ * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE 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 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 WebAudioDevice_h
+#define WebAudioDevice_h
+
+#include "WebVector.h"
+
+namespace WebKit {
+
+// Abstract interface to the Chromium audio system.
+
+class WebAudioDevice {
+public:
+ class RenderCallback {
+ public:
+ virtual void render(const WebVector<float*>& audioData, size_t numberOfFrames) = 0;
+ protected:
+ virtual ~RenderCallback() { }
+ };
+
+ virtual ~WebAudioDevice() { }
+
+ virtual void start() = 0;
+ virtual void stop() = 0;
+};
+
+} // namespace WebKit
+
+#endif // WebAudioDevice_h
diff --git a/WebKit/chromium/public/WebAutoFillClient.h b/WebKit/chromium/public/WebAutoFillClient.h
new file mode 100644
index 0000000..4e73be0
--- /dev/null
+++ b/WebKit/chromium/public/WebAutoFillClient.h
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2010 Google 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:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * 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.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
+ * OWNER OR 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 WebAutoFillClient_h
+#define WebAutoFillClient_h
+
+namespace WebKit {
+
+class WebInputElement;
+class WebKeyboardEvent;
+class WebNode;
+class WebString;
+
+class WebAutoFillClient {
+public:
+ // Informs the browser that the user has accepted an AutoFill suggestion for
+ // a WebNode. |uniqueID| is used as a key into the set of AutoFill profiles,
+ // and should never be negative. If it is 0, then the suggestion is an
+ // Autocomplete suggestion; and |value| stores the suggested text. |index|
+ // is an index of the selected suggestion in the list of suggestions provided
+ // by the client.
+ virtual void didAcceptAutoFillSuggestion(const WebNode&,
+ const WebString& value,
+ const WebString& label,
+ int uniqueID,
+ unsigned index) { }
+
+ // Informs the browser that the user has selected an AutoFill suggestion for
+ // a WebNode. This happens when the user hovers over a suggestion or uses
+ // the arrow keys to navigate to a suggestion.
+ virtual void didSelectAutoFillSuggestion(const WebNode&,
+ const WebString& name,
+ const WebString& label,
+ int uniqueID) { }
+
+ // Informs the browser that the user has cleared the selection from the
+ // AutoFill suggestions popup. This happens when a user uses the arrow
+ // keys to navigate outside the range of possible selections.
+ virtual void didClearAutoFillSelection(const WebNode&) { }
+
+ // Instructs the browser to remove the Autocomplete entry specified from
+ // its DB.
+ virtual void removeAutocompleteSuggestion(const WebString& name,
+ const WebString& value) { }
+
+ // Informs the browser that the user has selected an autocomplete (password
+ // or field) suggestion from the drop-down. The input element text has
+ // already been set to the selected suggestion.
+ virtual void didAcceptAutocompleteSuggestion(const WebInputElement&) { }
+
+ // These methods are called when the users edits a text-field.
+ virtual void textFieldDidBeginEditing(const WebInputElement&) { }
+ virtual void textFieldDidEndEditing(const WebInputElement&) { }
+ virtual void textFieldDidChange(const WebInputElement&) { }
+ virtual void textFieldDidReceiveKeyDown(const WebInputElement&, const WebKeyboardEvent&) { }
+
+protected:
+ ~WebAutoFillClient() { }
+};
+
+} // namespace WebKit
+
+#endif
diff --git a/WebKit/chromium/public/WebDevToolsAgent.h b/WebKit/chromium/public/WebDevToolsAgent.h
index 6b4d237..d6a7bcd 100644
--- a/WebKit/chromium/public/WebDevToolsAgent.h
+++ b/WebKit/chromium/public/WebDevToolsAgent.h
@@ -33,6 +33,13 @@
#include "WebCommon.h"
+#if WEBKIT_USING_V8
+namespace v8 {
+class Value;
+template <class T> class Handle;
+}
+#endif
+
namespace WebKit {
class WebDevToolsAgentClient;
class WebDevToolsMessageTransport;
@@ -58,7 +65,9 @@ public:
virtual void dispatchOnInspectorBackend(const WebString& message) = 0;
virtual void inspectElementAt(const WebPoint&) = 0;
-
+#if WEBKIT_USING_V8
+ virtual void inspectNode(v8::Handle<v8::Value>) = 0;
+#endif
virtual void setRuntimeProperty(const WebString& name, const WebString& value) = 0;
// Exposed for LayoutTestController.
diff --git a/WebKit/chromium/public/WebFormControlElement.h b/WebKit/chromium/public/WebFormControlElement.h
index ee0783d..56a02dd 100644
--- a/WebKit/chromium/public/WebFormControlElement.h
+++ b/WebKit/chromium/public/WebFormControlElement.h
@@ -51,7 +51,7 @@ public:
WebElement::assign(e);
return *this;
}
- WEBKIT_API void assign(const WebFormControlElement& e) { WebElement::assign(e); }
+ void assign(const WebFormControlElement& e) { WebElement::assign(e); }
WEBKIT_API bool isEnabled() const;
WEBKIT_API WebString formControlName() const;
diff --git a/WebKit/chromium/public/WebFormElement.h b/WebKit/chromium/public/WebFormElement.h
index 2b4ee53..53554d7 100644
--- a/WebKit/chromium/public/WebFormElement.h
+++ b/WebKit/chromium/public/WebFormElement.h
@@ -50,14 +50,14 @@ namespace WebKit {
~WebFormElement() { reset(); }
WebFormElement() : WebElement() { }
- WebFormElement(const WebFormElement& e) : WebElement(e) { }
+ WebFormElement(const WebFormElement& element) : WebElement(element) { }
- WebFormElement& operator=(const WebFormElement& e)
+ WebFormElement& operator=(const WebFormElement& element)
{
- WebElement::assign(e);
+ WebElement::assign(element);
return *this;
}
- WEBKIT_API void assign(const WebFormElement& e) { WebElement::assign(e); }
+ void assign(const WebFormElement& element) { WebElement::assign(element); }
WEBKIT_API bool autoComplete() const;
WEBKIT_API WebString action() const;
diff --git a/WebKit/chromium/public/WebFrameClient.h b/WebKit/chromium/public/WebFrameClient.h
index 9063350..1c6fd04 100644
--- a/WebKit/chromium/public/WebFrameClient.h
+++ b/WebKit/chromium/public/WebFrameClient.h
@@ -86,7 +86,7 @@ public:
// A frame specific cookie jar. May return null, in which case
// WebKitClient::cookieJar() will be called to access cookies.
- virtual WebCookieJar* cookieJar() { return 0; }
+ virtual WebCookieJar* cookieJar(WebFrame*) { return 0; }
// General notifications -----------------------------------------------
diff --git a/WebKit/chromium/public/WebGeolocationClient.h b/WebKit/chromium/public/WebGeolocationClient.h
new file mode 100644
index 0000000..1dfb0cd
--- /dev/null
+++ b/WebKit/chromium/public/WebGeolocationClient.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2010 Google 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 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 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 WebGeolocationClient_h
+#define WebGeolocationClient_h
+
+namespace WebKit {
+class WebGeolocationController;
+class WebGeolocationPermissionRequest;
+class WebGeolocationPosition;
+
+class WebGeolocationClient {
+public:
+ virtual ~WebGeolocationClient() {}
+
+ virtual void startUpdating() = 0;
+ virtual void stopUpdating() = 0;
+ virtual void setEnableHighAccuracy(bool) = 0;
+ virtual void geolocationDestroyed() = 0;
+ virtual bool lastPosition(WebGeolocationPosition&) = 0;
+
+ virtual void requestPermission(const WebGeolocationPermissionRequest&) = 0;
+ virtual void cancelPermissionRequest(const WebGeolocationPermissionRequest&) = 0;
+
+ // The controller is valid until geolocationDestroyed() is invoked.
+ // Ownership of the WebGeolocationController is transferred to the client.
+ virtual void setController(WebGeolocationController*) = 0;
+};
+
+} // namespace WebKit
+
+#endif // WebGeolocationClient_h
diff --git a/WebKit/chromium/public/WebGeolocationClientMock.h b/WebKit/chromium/public/WebGeolocationClientMock.h
new file mode 100644
index 0000000..08a85e2
--- /dev/null
+++ b/WebKit/chromium/public/WebGeolocationClientMock.h
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2010, Google 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:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * 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.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
+ * OWNER OR 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 WebGeolocationClientMock_h
+#define WebGeolocationClientMock_h
+
+#include "WebCommon.h"
+#include "WebGeolocationClient.h"
+#include "WebPrivateOwnPtr.h"
+
+namespace WebCore {
+class GeolocationClientMock;
+}
+
+namespace WebKit {
+class WebGeolocationPosition;
+class WebString;
+
+class WebGeolocationClientMock : public WebGeolocationClient {
+public:
+ WEBKIT_API static WebGeolocationClientMock* create();
+ ~WebGeolocationClientMock() { reset(); }
+
+ WEBKIT_API void setPosition(double latitude, double longitude, double accuracy);
+ WEBKIT_API void setError(int errorCode, const WebString& message);
+ WEBKIT_API void setPermission(bool);
+ WEBKIT_API void resetMock();
+
+ virtual void startUpdating();
+ virtual void stopUpdating();
+ virtual void setEnableHighAccuracy(bool);
+
+ virtual void geolocationDestroyed();
+ virtual void setController(WebGeolocationController*);
+
+ virtual void requestPermission(const WebGeolocationPermissionRequest&);
+ virtual void cancelPermissionRequest(const WebGeolocationPermissionRequest&);
+
+ virtual bool lastPosition(WebGeolocationPosition& webPosition);
+
+private:
+ WebGeolocationClientMock();
+ WEBKIT_API void reset();
+
+ WebPrivateOwnPtr<WebCore::GeolocationClientMock> m_clientMock;
+};
+}
+
+#endif // WebGeolocationClientMock_h
diff --git a/WebKit/chromium/public/WebGeolocationController.h b/WebKit/chromium/public/WebGeolocationController.h
new file mode 100644
index 0000000..3cddd0f
--- /dev/null
+++ b/WebKit/chromium/public/WebGeolocationController.h
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2010 Google 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 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 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 WebGeolocationController_h
+#define WebGeolocationController_h
+
+#include "WebCommon.h"
+#include "WebNonCopyable.h"
+
+namespace WebCore { class GeolocationController; }
+
+namespace WebKit {
+
+class WebGeolocationPosition;
+class WebGeolocationError;
+
+// Note that the WebGeolocationController is invalid after the
+// WebGeolocationClient::geolocationDestroyed() has been received.
+class WebGeolocationController : public WebNonCopyable {
+public:
+ WEBKIT_API void positionChanged(const WebGeolocationPosition&);
+ WEBKIT_API void errorOccurred(const WebGeolocationError&);
+
+#if WEBKIT_IMPLEMENTATION
+ WebGeolocationController(WebCore::GeolocationController* c)
+ : m_private(c)
+ {
+ }
+
+ WebCore::GeolocationController* controller() const { return m_private; }
+#endif
+
+private:
+ // No implementation for the default constructor. Declared private to ensure that no instances
+ // can be created by the consumers of Chromium WebKit.
+ WebGeolocationController();
+
+ WebCore::GeolocationController* m_private;
+};
+
+} // namespace WebKit
+
+#endif // WebGeolocationController_h
diff --git a/WebKit/chromium/public/WebGeolocationError.h b/WebKit/chromium/public/WebGeolocationError.h
index e9354d3..ecb758c 100644
--- a/WebKit/chromium/public/WebGeolocationError.h
+++ b/WebKit/chromium/public/WebGeolocationError.h
@@ -31,9 +31,10 @@
#if WEBKIT_IMPLEMENTATION
#include <wtf/PassRefPtr.h>
-namespace WebCore { class GeolocationError; }
#endif
+namespace WebCore { class GeolocationError; }
+
namespace WebKit {
class WebString;
diff --git a/WebKit/chromium/public/WebGeolocationPermissionRequest.h b/WebKit/chromium/public/WebGeolocationPermissionRequest.h
new file mode 100644
index 0000000..8b2f69e
--- /dev/null
+++ b/WebKit/chromium/public/WebGeolocationPermissionRequest.h
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2010 Google 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 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 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 WebGeolocationPermissionRequest_h
+#define WebGeolocationPermissionRequest_h
+
+#include "WebCommon.h"
+#include "WebPrivatePtr.h"
+
+namespace WebCore {
+class Geolocation;
+}
+
+namespace WebKit {
+class WebSecurityOrigin;
+
+// WebGeolocationPermissionRequest encapsulates a WebCore Geolocation object and represents
+// a request from WebCore for permission to be determined for that Geolocation object.
+// The underlying Geolocation object is guaranteed to be valid until the invocation of
+// either WebGeolocationPermissionRequest::setIsAllowed (request complete) or
+// WebGeolocationClient::cancelPermissionRequest (request cancelled).
+class WebGeolocationPermissionRequest {
+public:
+ WEBKIT_API WebSecurityOrigin securityOrigin() const;
+ WEBKIT_API void setIsAllowed(bool);
+
+#if WEBKIT_IMPLEMENTATION
+ WebGeolocationPermissionRequest(WebCore::Geolocation* geolocation)
+ : m_private(geolocation)
+ {
+ }
+
+ WebCore::Geolocation* geolocation() const { return m_private; }
+#endif
+
+private:
+ WebCore::Geolocation* m_private;
+};
+}
+
+#endif // WebGeolocationPermissionRequest_h
diff --git a/WebKit/chromium/public/WebGeolocationPermissionRequestManager.h b/WebKit/chromium/public/WebGeolocationPermissionRequestManager.h
new file mode 100644
index 0000000..dfa1642
--- /dev/null
+++ b/WebKit/chromium/public/WebGeolocationPermissionRequestManager.h
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2010 Google 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 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 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 WebGeolocationPermissionRequestManager_h
+#define WebGeolocationPermissionRequestManager_h
+
+#include "WebNonCopyable.h"
+#include "WebPrivateOwnPtr.h"
+
+namespace WebKit {
+
+class WebGeolocationPermissionRequest;
+class WebGeolocationPermissionRequestManagerPrivate;
+
+// This class is used to map between integer identifiers and WebGeolocationPermissionRequest
+// instances. The intended usage is that on WebGeolocationClient::requestPermission(),
+// the implementer can call add() to associate an id with the WebGeolocationPermissionRequest object.
+// Once the permission request has been decided, the second remove() method can be used to
+// find the request. On WebGeolocationClient::cancelPermissionRequest, the first remove() method will
+// remove the association with the id.
+class WebGeolocationPermissionRequestManager : public WebNonCopyable {
+public:
+ WebGeolocationPermissionRequestManager() { init(); }
+ ~WebGeolocationPermissionRequestManager() { reset(); }
+
+ WEBKIT_API int add(const WebKit::WebGeolocationPermissionRequest&);
+ WEBKIT_API bool remove(const WebKit::WebGeolocationPermissionRequest&, int&);
+ WEBKIT_API bool remove(int, WebKit::WebGeolocationPermissionRequest&);
+
+private:
+ WEBKIT_API void init();
+ WEBKIT_API void reset();
+
+ WebPrivateOwnPtr<WebGeolocationPermissionRequestManagerPrivate> m_private;
+ int m_lastId;
+};
+
+}
+
+#endif // WebGeolocationPermissionRequestManager_h
+
diff --git a/WebKit/chromium/public/WebGeolocationPosition.h b/WebKit/chromium/public/WebGeolocationPosition.h
index de73431..57ba314 100644
--- a/WebKit/chromium/public/WebGeolocationPosition.h
+++ b/WebKit/chromium/public/WebGeolocationPosition.h
@@ -31,9 +31,10 @@
#if WEBKIT_IMPLEMENTATION
#include <wtf/PassRefPtr.h>
-namespace WebCore { class GeolocationPosition; }
#endif
+namespace WebCore { class GeolocationPosition; }
+
namespace WebKit {
class WebGeolocationPosition {
diff --git a/WebKit/chromium/public/WebGraphicsContext3D.h b/WebKit/chromium/public/WebGraphicsContext3D.h
index 05c164a..035b140 100644
--- a/WebKit/chromium/public/WebGraphicsContext3D.h
+++ b/WebKit/chromium/public/WebGraphicsContext3D.h
@@ -140,6 +140,10 @@ public:
// GL_CHROMIUM_copy_texture_to_parent_texture
virtual void copyTextureToParentTextureCHROMIUM(unsigned texture, unsigned parentTexture) = 0;
+ // GL_CHROMIUM_request_extension
+ virtual WebString getRequestableExtensionsCHROMIUM() = 0;
+ virtual void requestExtensionCHROMIUM(const char*) = 0;
+
// The entry points below map directly to the OpenGL ES 2.0 API.
// See: http://www.khronos.org/registry/gles/
// and: http://www.khronos.org/opengles/sdk/docs/man/
diff --git a/WebKit/chromium/public/WebIDBCursor.h b/WebKit/chromium/public/WebIDBCursor.h
index 88b8b22..98b2b97 100644
--- a/WebKit/chromium/public/WebIDBCursor.h
+++ b/WebKit/chromium/public/WebIDBCursor.h
@@ -55,7 +55,9 @@ public:
virtual void update(const WebSerializedScriptValue&, WebIDBCallbacks*, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
virtual void continueFunction(const WebIDBKey&, WebIDBCallbacks*, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
- virtual void remove(WebIDBCallbacks*, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
+ // FIXME: Remove after WK roll.
+ virtual void remove(WebIDBCallbacks* callbacks, WebExceptionCode& ec) { deleteFunction(callbacks, ec); }
+ virtual void deleteFunction(WebIDBCallbacks* callbacks, WebExceptionCode& ec) { remove(callbacks, ec); }
protected:
WebIDBCursor() { }
diff --git a/WebKit/chromium/public/WebIDBDatabase.h b/WebKit/chromium/public/WebIDBDatabase.h
index 1588e23..5ed8052 100644
--- a/WebKit/chromium/public/WebIDBDatabase.h
+++ b/WebKit/chromium/public/WebIDBDatabase.h
@@ -47,26 +47,22 @@ public:
WEBKIT_ASSERT_NOT_REACHED();
return WebString();
}
- // FIXME: remove after roll.
- virtual WebString description() const
+ virtual WebString version() const
{
+ WEBKIT_ASSERT_NOT_REACHED();
return WebString();
}
- virtual WebString version() const
+ virtual WebDOMStringList objectStoreNames() const
{
WEBKIT_ASSERT_NOT_REACHED();
- return WebString();
+ return WebDOMStringList();
}
- virtual WebDOMStringList objectStores() const { return objectStoreNames(); } // FIXME: Remove after roll.
- virtual WebDOMStringList objectStoreNames() const { return objectStores(); } // FIXME: Assert not reached after roll.
virtual WebIDBObjectStore* createObjectStore(const WebString& name, const WebString& keyPath, bool autoIncrement, const WebIDBTransaction&, WebExceptionCode&)
{
WEBKIT_ASSERT_NOT_REACHED();
return 0;
}
- virtual void deleteObjectStore(const WebString& name, const WebIDBTransaction& transaction, WebExceptionCode& ec) { removeObjectStore(name, transaction, ec); }
- // FIXME: remove after roll.
- virtual void removeObjectStore(const WebString& name, const WebIDBTransaction& transaction, WebExceptionCode& ec) { deleteObjectStore(name, transaction, ec); }
+ virtual void deleteObjectStore(const WebString& name, const WebIDBTransaction& transaction, WebExceptionCode& ec) { WEBKIT_ASSERT_NOT_REACHED(); }
virtual void setVersion(const WebString& version, WebIDBCallbacks* callbacks, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
// Transfers ownership of the WebIDBTransaction to the caller.
virtual WebIDBTransaction* transaction(const WebDOMStringList& names, unsigned short mode, unsigned long timeout, WebExceptionCode&)
diff --git a/WebKit/chromium/public/WebIDBDatabaseError.h b/WebKit/chromium/public/WebIDBDatabaseError.h
index c181f78..f247b36 100644
--- a/WebKit/chromium/public/WebIDBDatabaseError.h
+++ b/WebKit/chromium/public/WebIDBDatabaseError.h
@@ -42,11 +42,11 @@ class WebIDBDatabaseError {
public:
~WebIDBDatabaseError() { reset(); }
- WEBKIT_API WebIDBDatabaseError(unsigned short code, const WebString& message) { assign(code, message); }
- WEBKIT_API WebIDBDatabaseError(const WebIDBDatabaseError& e) { assign(e); }
- WEBKIT_API WebIDBDatabaseError& operator=(const WebIDBDatabaseError& e)
+ WebIDBDatabaseError(unsigned short code, const WebString& message) { assign(code, message); }
+ WebIDBDatabaseError(const WebIDBDatabaseError& error) { assign(error); }
+ WebIDBDatabaseError& operator=(const WebIDBDatabaseError& error)
{
- assign(e);
+ assign(error);
return *this;
}
diff --git a/WebKit/chromium/public/WebIDBFactory.h b/WebKit/chromium/public/WebIDBFactory.h
index 5e3337e..10a134a 100755
--- a/WebKit/chromium/public/WebIDBFactory.h
+++ b/WebKit/chromium/public/WebIDBFactory.h
@@ -51,17 +51,10 @@ public:
virtual ~WebIDBFactory() { }
- // FIXME: Remove after roll.
- virtual void open(const WebString& name, const WebString& description, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* webFrame, const WebString& dataDir, unsigned long long maximumSize)
- {
- open(name, callbacks, origin, webFrame, dataDir, maximumSize);
- }
-
// The WebKit implementation of open ignores the WebFrame* parameter.
virtual void open(const WebString& name, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* webFrame, const WebString& dataDir, unsigned long long maximumSize)
{
- // WEBKIT_ASSERT_NOT_REACHED();
- open(name, "", callbacks, origin, webFrame, dataDir, maximumSize);
+ WEBKIT_ASSERT_NOT_REACHED();
}
};
diff --git a/WebKit/chromium/public/WebIDBKey.h b/WebKit/chromium/public/WebIDBKey.h
index c77a5b7..376d1c5 100644
--- a/WebKit/chromium/public/WebIDBKey.h
+++ b/WebKit/chromium/public/WebIDBKey.h
@@ -44,11 +44,12 @@ public:
~WebIDBKey() { reset(); }
WEBKIT_API static WebIDBKey createNull();
+ WEBKIT_API static WebIDBKey createString(const WebString&);
+ WEBKIT_API static WebIDBKey createDate(double);
+ WEBKIT_API static WebIDBKey createNumber(double);
WEBKIT_API static WebIDBKey createInvalid();
WEBKIT_API static WebIDBKey createFromValueAndKeyPath(const WebSerializedScriptValue&, const WebIDBKeyPath&);
- WebIDBKey(const WebString& string) { assign(string); }
- WebIDBKey(double number) { assign(number); }
WebIDBKey(const WebIDBKey& e) { assign(e); }
WebIDBKey& operator=(const WebIDBKey& e)
{
@@ -58,14 +59,16 @@ public:
WEBKIT_API void assign(const WebIDBKey&);
WEBKIT_API void assignNull();
- WEBKIT_API void assign(const WebString&);
- WEBKIT_API void assign(double);
+ WEBKIT_API void assignString(const WebString&);
+ WEBKIT_API void assignDate(double);
+ WEBKIT_API void assignNumber(double);
WEBKIT_API void assignInvalid();
WEBKIT_API void reset();
enum Type {
NullType = 0,
StringType,
+ DateType,
NumberType,
// Types not in WebCore::IDBKey:
InvalidType
@@ -73,7 +76,8 @@ public:
WEBKIT_API Type type() const;
WEBKIT_API WebString string() const; // Only valid for StringType.
- WEBKIT_API double number() const; // Only valid for numberType.
+ WEBKIT_API double date() const; // Only valid for DateType.
+ WEBKIT_API double number() const; // Only valid for NumberType.
#if WEBKIT_IMPLEMENTATION
WebIDBKey(const WTF::PassRefPtr<WebCore::IDBKey>&);
diff --git a/WebKit/chromium/public/WebIDBKeyRange.h b/WebKit/chromium/public/WebIDBKeyRange.h
index 6a9c6da..922d4ed 100644
--- a/WebKit/chromium/public/WebIDBKeyRange.h
+++ b/WebKit/chromium/public/WebIDBKeyRange.h
@@ -43,13 +43,6 @@ public:
WebIDBKeyRange(const WebIDBKeyRange& keyRange) { assign(keyRange); }
WebIDBKeyRange(const WebIDBKey& lower, const WebIDBKey& upper, bool lowerOpen, bool upperOpen) { assign(lower, upper, lowerOpen, upperOpen); }
- // FIXME: Remove next 3 methods after next roll.
- WebIDBKeyRange(const WebIDBKey& lower, const WebIDBKey& upper, unsigned short flags) { assign(lower, upper, flags); }
- WEBKIT_API void assign(const WebIDBKey& lower, const WebIDBKey& upper, unsigned short flags);
- WEBKIT_API unsigned short flags() const;
- WEBKIT_API WebIDBKey left() const;
- WEBKIT_API WebIDBKey right() const;
-
WEBKIT_API WebIDBKey lower() const;
WEBKIT_API WebIDBKey upper() const;
WEBKIT_API bool lowerOpen() const;
diff --git a/WebKit/chromium/public/WebIDBObjectStore.h b/WebKit/chromium/public/WebIDBObjectStore.h
index 17562ca..8f2247f 100755
--- a/WebKit/chromium/public/WebIDBObjectStore.h
+++ b/WebKit/chromium/public/WebIDBObjectStore.h
@@ -61,9 +61,7 @@ public:
virtual void get(const WebIDBKey&, WebIDBCallbacks*, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
virtual void put(const WebSerializedScriptValue&, const WebIDBKey&, bool addOnly, WebIDBCallbacks*, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
- // FIXME: Remove after roll.
- virtual void remove(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction, WebExceptionCode& ec) { deleteFunction(key, callbacks, transaction, ec); }
- virtual void deleteFunction(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction, WebExceptionCode& ec) { remove(key, callbacks, transaction, ec); }
+ virtual void deleteFunction(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction, WebExceptionCode& ec) { WEBKIT_ASSERT_NOT_REACHED(); }
virtual WebIDBIndex* createIndex(const WebString& name, const WebString& keyPath, bool unique, const WebIDBTransaction&, WebExceptionCode&)
{
WEBKIT_ASSERT_NOT_REACHED();
diff --git a/WebKit/chromium/public/WebInputElement.h b/WebKit/chromium/public/WebInputElement.h
index 3dd7e40..be8623c 100644
--- a/WebKit/chromium/public/WebInputElement.h
+++ b/WebKit/chromium/public/WebInputElement.h
@@ -43,14 +43,14 @@ namespace WebKit {
class WebInputElement : public WebFormControlElement {
public:
WebInputElement() : WebFormControlElement() { }
- WebInputElement(const WebInputElement& e) : WebFormControlElement(e) { }
+ WebInputElement(const WebInputElement& element) : WebFormControlElement(element) { }
- WebInputElement& operator=(const WebInputElement& e)
+ WebInputElement& operator=(const WebInputElement& element)
{
- WebFormControlElement::assign(e);
+ WebFormControlElement::assign(element);
return *this;
}
- WEBKIT_API void assign(const WebInputElement& e) { WebFormControlElement::assign(e); }
+ void assign(const WebInputElement& element) { WebFormControlElement::assign(element); }
// This returns true for all of textfield-looking types such as text,
// password, search, email, url, and number.
diff --git a/WebKit/chromium/public/WebKitClient.h b/WebKit/chromium/public/WebKitClient.h
index de801f5..ae7892d 100644
--- a/WebKit/chromium/public/WebKitClient.h
+++ b/WebKit/chromium/public/WebKitClient.h
@@ -32,6 +32,7 @@
#define WebKitClient_h
#include "WebAudioBus.h"
+#include "WebAudioDevice.h"
#include "WebCommon.h"
#include "WebData.h"
#include "WebLocalizedString.h"
@@ -225,12 +226,12 @@ public:
// Decodes the in-memory audio file data and returns the linear PCM audio data in the destinationBus.
// A sample-rate conversion to sampleRate will occur if the file data is at a different sample-rate.
// Returns true on success.
- virtual bool decodeAudioFileData(WebAudioBus* destinationBus, const char* audioFileData, size_t dataSize, double sampleRate) { return false; }
+ virtual bool loadAudioResource(WebAudioBus* destinationBus, const char* audioFileData, size_t dataSize, double sampleRate) { return false; }
- // Returns a localized string resource (with an optional numeric
- // parameter value).
+ // Returns a localized string resource (with substitution parameters).
virtual WebString queryLocalizedString(WebLocalizedString::Name) { return WebString(); }
- virtual WebString queryLocalizedString(WebLocalizedString::Name, int numericValue) { return WebString(); }
+ virtual WebString queryLocalizedString(WebLocalizedString::Name, const WebString& parameter) { return WebString(); }
+ virtual WebString queryLocalizedString(WebLocalizedString::Name, const WebString& parameter1, const WebString& parameter2) { return WebString(); }
// Sandbox ------------------------------------------------------------
@@ -277,6 +278,10 @@ public:
// Returns newly allocated WebGraphicsContext3D instance.
virtual WebGraphicsContext3D* createGraphicsContext3D() { return 0; }
+ // Audio --------------------------------------------------------------
+
+ virtual WebAudioDevice* createAudioDevice(size_t bufferSize, unsigned numberOfChannels, double sampleRate, WebAudioDevice::RenderCallback*) { return 0; }
+
// FileSystem ----------------------------------------------------------
// Must return non-null.
diff --git a/WebKit/chromium/public/WebLabelElement.h b/WebKit/chromium/public/WebLabelElement.h
index 3e97c39..eb9b06d 100644
--- a/WebKit/chromium/public/WebLabelElement.h
+++ b/WebKit/chromium/public/WebLabelElement.h
@@ -44,15 +44,15 @@ namespace WebKit {
class WebLabelElement : public WebElement {
public:
WebLabelElement() : WebElement() { }
- WebLabelElement(const WebLabelElement& e) : WebElement(e) { }
+ WebLabelElement(const WebLabelElement& element) : WebElement(element) { }
- WebLabelElement& operator=(const WebLabelElement& e)
+ WebLabelElement& operator=(const WebLabelElement& element)
{
- WebElement::assign(e);
+ WebElement::assign(element);
return *this;
}
- WEBKIT_API void assign(const WebLabelElement& e) { WebElement::assign(e); }
+ void assign(const WebLabelElement& element) { WebElement::assign(element); }
WEBKIT_API WebElement correspondingControl();
diff --git a/WebKit/chromium/public/WebOptionElement.h b/WebKit/chromium/public/WebOptionElement.h
index 1689a57..24a6eaa 100644
--- a/WebKit/chromium/public/WebOptionElement.h
+++ b/WebKit/chromium/public/WebOptionElement.h
@@ -44,14 +44,14 @@ namespace WebKit {
class WebOptionElement : public WebFormControlElement {
public:
WebOptionElement() : WebFormControlElement() { }
- WebOptionElement(const WebOptionElement& e) : WebFormControlElement(e) { }
+ WebOptionElement(const WebOptionElement& element) : WebFormControlElement(element) { }
- WebOptionElement& operator=(const WebOptionElement& e)
+ WebOptionElement& operator=(const WebOptionElement& element)
{
- WebFormControlElement::assign(e);
+ WebFormControlElement::assign(element);
return *this;
}
- WEBKIT_API void assign(const WebOptionElement& e) { WebFormControlElement::assign(e); }
+ void assign(const WebOptionElement& element) { WebFormControlElement::assign(element); }
WEBKIT_API void setValue(const WebString&);
WEBKIT_API WebString value() const;
diff --git a/WebKit/chromium/public/WebPerformance.h b/WebKit/chromium/public/WebPerformance.h
index f096ac6..c7a728e 100644
--- a/WebKit/chromium/public/WebPerformance.h
+++ b/WebKit/chromium/public/WebPerformance.h
@@ -73,6 +73,11 @@ public:
WEBKIT_API double requestStart() const;
WEBKIT_API double responseStart() const;
WEBKIT_API double responseEnd() const;
+ WEBKIT_API double domLoading() const;
+ WEBKIT_API double domInteractive() const;
+ WEBKIT_API double domContentLoadedEventStart() const;
+ WEBKIT_API double domContentLoadedEventEnd() const;
+ WEBKIT_API double domComplete() const;
WEBKIT_API double loadEventStart() const;
WEBKIT_API double loadEventEnd() const;
diff --git a/WebKit/chromium/public/WebSelectElement.h b/WebKit/chromium/public/WebSelectElement.h
index 3e7f5e2..97d3a78 100644
--- a/WebKit/chromium/public/WebSelectElement.h
+++ b/WebKit/chromium/public/WebSelectElement.h
@@ -45,14 +45,14 @@ namespace WebKit {
class WebSelectElement : public WebFormControlElement {
public:
WebSelectElement() : WebFormControlElement() { }
- WebSelectElement(const WebSelectElement& e) : WebFormControlElement(e) { }
+ WebSelectElement(const WebSelectElement& element) : WebFormControlElement(element) { }
- WebSelectElement& operator=(const WebSelectElement& e)
- {
- WebFormControlElement::assign(e);
- return *this;
+ WebSelectElement& operator=(const WebSelectElement& element)
+ {
+ WebFormControlElement::assign(element);
+ return *this;
}
- WEBKIT_API void assign(const WebSelectElement& e) { WebFormControlElement::assign(e); }
+ void assign(const WebSelectElement& element) { WebFormControlElement::assign(element); }
WEBKIT_API void setValue(const WebString&);
WEBKIT_API WebString value();
diff --git a/WebKit/chromium/public/WebView.h b/WebKit/chromium/public/WebView.h
index d9d72c7..a18a64e 100644
--- a/WebKit/chromium/public/WebView.h
+++ b/WebKit/chromium/public/WebView.h
@@ -279,14 +279,6 @@ public:
// AutoFill -----------------------------------------------------------
- // DEPRECATED.
- virtual void applyAutoFillSuggestions(
- const WebNode&,
- const WebVector<WebString>& names,
- const WebVector<WebString>& labels,
- const WebVector<int>& uniqueIDs,
- int separatorIndex) = 0;
-
// Notifies the WebView that AutoFill suggestions are available for a node.
// |uniqueIDs| is a vector of IDs that represent the unique ID of each
// AutoFill profile in the suggestions popup. If a unique ID is 0, then the
@@ -302,14 +294,6 @@ public:
const WebVector<int>& uniqueIDs,
int separatorIndex) = 0;
- // Notifies the WebView that Autocomplete suggestions are available for a
- // node.
- // DEPRECATED: merging with applyAutoFillSuggestions.
- virtual void applyAutocompleteSuggestions(
- const WebNode&,
- const WebVector<WebString>& suggestions,
- int defaultSuggestionIndex) = 0;
-
// Hides any popup (suggestions, selects...) that might be showing.
virtual void hidePopups() = 0;
diff --git a/WebKit/chromium/public/WebViewClient.h b/WebKit/chromium/public/WebViewClient.h
index 7ce1483..033e120 100644
--- a/WebKit/chromium/public/WebViewClient.h
+++ b/WebKit/chromium/public/WebViewClient.h
@@ -52,6 +52,7 @@ class WebExternalPopupMenu;
class WebExternalPopupMenuClient;
class WebFileChooserCompletion;
class WebFrame;
+class WebGeolocationClient;
class WebGeolocationService;
class WebImage;
class WebInputElement;
@@ -340,7 +341,9 @@ public:
// Geolocation ---------------------------------------------------------
- // Access the embedder API for geolocation services.
+ // Access the embedder API for (client-based) geolocation client .
+ virtual WebGeolocationClient* geolocationClient() { return 0; }
+ // Access the embedder API for (non-client-based) geolocation services.
virtual WebGeolocationService* geolocationService() { return 0; }
// Speech --------------------------------------------------------------
diff --git a/WebKit/chromium/public/WebWidget.h b/WebKit/chromium/public/WebWidget.h
index d010270..ccad134 100644
--- a/WebKit/chromium/public/WebWidget.h
+++ b/WebKit/chromium/public/WebWidget.h
@@ -103,9 +103,18 @@ public:
int selectionEnd) = 0;
// Called to inform the WebWidget to confirm an ongoing composition.
+ // This method is same as confirmComposition(WebString());
// Returns true if there is an ongoing composition.
virtual bool confirmComposition() = 0;
+ // Called to inform the WebWidget to confirm an ongoing composition with a
+ // new composition text. If the text is empty then the current composition
+ // text is confirmed. If there is no ongoing composition, then deletes the
+ // current selection and inserts the text. This method has no effect if
+ // there is no ongoing composition and the text is empty.
+ // Returns true if there is an ongoing composition or the text is inserted.
+ virtual bool confirmComposition(const WebString& text) = 0;
+
// Returns the current text input type of this WebWidget.
virtual WebTextInputType textInputType() = 0;
diff --git a/WebKit/chromium/public/linux/WebThemeEngine.h b/WebKit/chromium/public/linux/WebThemeEngine.h
index fd72cf7..6f8cdc7 100644
--- a/WebKit/chromium/public/linux/WebThemeEngine.h
+++ b/WebKit/chromium/public/linux/WebThemeEngine.h
@@ -39,6 +39,9 @@ namespace WebKit {
struct WebRect;
+// FIXME: Remove once webkit/glue/webthemeengine_impl_linux.c has been updated to use the correct spelling.
+#define PartScrollbarHoriztonalTrack PartScrollbarHorizontalTrack
+
class WebThemeEngine {
public:
// The UI part which is being accessed.
@@ -49,7 +52,7 @@ public:
PartScrollbarUpArrow,
PartScrollbarHorizontalThumb,
PartScrollbarVerticalThumb,
- PartScrollbarHoriztonalTrack,
+ PartScrollbarHorizontalTrack,
PartScrollbarVerticalTrack
};
@@ -61,7 +64,7 @@ public:
StatePressed,
};
- // Extra parameters for drawing the PartScrollbarHoriztonalTrack and
+ // Extra parameters for drawing the PartScrollbarHorizontalTrack and
// PartScrollbarVerticalTrack.
struct ScrollbarTrackExtraParams {
// The bounds of the entire track, as opposed to the part being painted.
diff --git a/WebKit/gtk/webkit/webkitworkers.cpp b/WebKit/chromium/public/mac/WebThemeEngine.h
index 255863c..8938816 100644
--- a/WebKit/gtk/webkit/webkitworkers.cpp
+++ b/WebKit/chromium/public/mac/WebThemeEngine.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2010 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -28,18 +28,51 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "config.h"
-#include "webkitprivate.h"
+#ifndef WebThemeEngine_h
+#define WebThemeEngine_h
-#include "WorkerThread.h"
+#include "../WebCanvas.h"
-unsigned int webkit_worker_thread_count(void)
-{
-#if ENABLE(WORKERS)
- return WebCore::WorkerThread::workerThreadCount();
-#else
- return 0;
-#endif
-}
+namespace WebKit {
+
+struct WebRect;
+
+class WebThemeEngine {
+public:
+ enum State {
+ StateDisabled,
+ StateInactive,
+ StateActive,
+ StatePressed,
+ };
+
+ enum Size {
+ SizeRegular,
+ SizeSmall,
+ };
+
+ enum ScrollbarOrientation {
+ ScrollbarOrientationHorizontal,
+ ScrollbarOrientationVertical,
+ };
+ enum ScrollbarParent {
+ ScrollbarParentScrollView,
+ ScrollbarParentRenderLayer,
+ };
+ struct ScrollbarInfo {
+ ScrollbarOrientation orientation;
+ ScrollbarParent parent;
+ int maxValue;
+ int currentValue;
+ int visibleSize;
+ int totalSize;
+ };
+
+ virtual void paintScrollbarThumb(WebCanvas*, State, Size, const WebRect&, const ScrollbarInfo&) {}
+};
+
+} // namespace WebKit
+
+#endif
diff --git a/WebKit/chromium/src/ApplicationCacheHost.cpp b/WebKit/chromium/src/ApplicationCacheHost.cpp
index a6e66c6..85dfd20 100644
--- a/WebKit/chromium/src/ApplicationCacheHost.cpp
+++ b/WebKit/chromium/src/ApplicationCacheHost.cpp
@@ -106,9 +106,9 @@ void ApplicationCacheHost::selectCacheWithManifest(const KURL& manifestURL)
// same resource being loaded, because "foreign" entries are never picked
// during navigation.
// see WebCore::ApplicationCacheGroup::selectCache()
- const KURL& docURL = m_documentLoader->frame()->document()->url();
- String referrer = m_documentLoader->frameLoader()->referrer();
- m_documentLoader->frame()->navigationScheduler()->scheduleLocationChange(docURL, referrer);
+ Frame* frame = m_documentLoader->frame();
+ frame->navigationScheduler()->scheduleLocationChange(frame->document()->securityOrigin(),
+ frame->document()->url(), frame->loader()->referrer());
}
}
}
diff --git a/WebKit/chromium/src/AssertMatchingEnums.cpp b/WebKit/chromium/src/AssertMatchingEnums.cpp
index ceeed8d..936b8db 100644
--- a/WebKit/chromium/src/AssertMatchingEnums.cpp
+++ b/WebKit/chromium/src/AssertMatchingEnums.cpp
@@ -79,6 +79,11 @@
#include <wtf/Assertions.h>
#include <wtf/text/StringImpl.h>
+#if OS(DARWIN)
+#include "ChromiumBridge.h"
+#include "mac/WebThemeEngine.h"
+#endif
+
#define COMPILE_ASSERT_MATCHING_ENUM(webkit_name, webcore_name) \
COMPILE_ASSERT(int(WebKit::webkit_name) == int(WebCore::webcore_name), mismatching_enums)
@@ -365,6 +370,7 @@ COMPILE_ASSERT_MATCHING_ENUM(WebView::UserStyleInjectInSubsequentDocuments, Inje
COMPILE_ASSERT_MATCHING_ENUM(WebIDBKey::NullType, IDBKey::NullType);
COMPILE_ASSERT_MATCHING_ENUM(WebIDBKey::StringType, IDBKey::StringType);
+COMPILE_ASSERT_MATCHING_ENUM(WebIDBKey::DateType, IDBKey::DateType);
COMPILE_ASSERT_MATCHING_ENUM(WebIDBKey::NumberType, IDBKey::NumberType);
#if ENABLE(FILE_SYSTEM)
@@ -392,3 +398,19 @@ COMPILE_ASSERT_MATCHING_ENUM(WebFileErrorPathExists, FileError::PATH_EXISTS_ERR)
COMPILE_ASSERT_MATCHING_ENUM(WebGeolocationError::ErrorPermissionDenied, GeolocationError::PermissionDenied);
COMPILE_ASSERT_MATCHING_ENUM(WebGeolocationError::ErrorPositionUnavailable, GeolocationError::PositionUnavailable);
#endif
+
+#if OS(DARWIN)
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::StateDisabled, ChromiumBridge::StateDisabled);
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::StateInactive, ChromiumBridge::StateInactive);
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::StateActive, ChromiumBridge::StateActive);
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::StatePressed, ChromiumBridge::StatePressed);
+
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::SizeRegular, ChromiumBridge::SizeRegular);
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::SizeSmall, ChromiumBridge::SizeSmall);
+
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::ScrollbarOrientationHorizontal, ChromiumBridge::ScrollbarOrientationHorizontal);
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::ScrollbarOrientationVertical, ChromiumBridge::ScrollbarOrientationVertical);
+
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::ScrollbarParentScrollView, ChromiumBridge::ScrollbarParentScrollView);
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::ScrollbarParentRenderLayer, ChromiumBridge::ScrollbarParentRenderLayer);
+#endif
diff --git a/WebKit/chromium/src/AssociatedURLLoader.cpp b/WebKit/chromium/src/AssociatedURLLoader.cpp
index f494a0e..34a4055 100644
--- a/WebKit/chromium/src/AssociatedURLLoader.cpp
+++ b/WebKit/chromium/src/AssociatedURLLoader.cpp
@@ -42,7 +42,8 @@ namespace WebKit {
AssociatedURLLoader::AssociatedURLLoader(PassRefPtr<WebFrameImpl> frameImpl)
: m_frameImpl(frameImpl),
- m_realLoader(webKitClient()->createURLLoader())
+ m_realLoader(webKitClient()->createURLLoader()),
+ m_realClient(0)
{
}
@@ -52,6 +53,8 @@ AssociatedURLLoader::~AssociatedURLLoader()
void AssociatedURLLoader::loadSynchronously(const WebURLRequest& request, WebURLResponse& response, WebURLError& error, WebData& data)
{
+ ASSERT(!m_realClient);
+
WebURLRequest requestCopy(request);
prepareRequest(requestCopy);
@@ -60,10 +63,13 @@ void AssociatedURLLoader::loadSynchronously(const WebURLRequest& request, WebURL
void AssociatedURLLoader::loadAsynchronously(const WebURLRequest& request, WebURLLoaderClient* client)
{
+ ASSERT(!m_realClient);
+
WebURLRequest requestCopy(request);
prepareRequest(requestCopy);
- m_realLoader->loadAsynchronously(requestCopy, client);
+ m_realClient = client;
+ m_realLoader->loadAsynchronously(requestCopy, this);
}
void AssociatedURLLoader::cancel()
@@ -84,4 +90,44 @@ void AssociatedURLLoader::prepareRequest(WebURLRequest& request)
m_frameImpl->dispatchWillSendRequest(request);
}
+void AssociatedURLLoader::willSendRequest(WebURLLoader*, WebURLRequest& newRequest, const WebURLResponse& redirectResponse)
+{
+ m_realClient->willSendRequest(this, newRequest, redirectResponse);
+}
+
+void AssociatedURLLoader::didSendData(WebURLLoader*, unsigned long long bytesSent, unsigned long long totalBytesToBeSent)
+{
+ m_realClient->didSendData(this, bytesSent, totalBytesToBeSent);
+}
+
+void AssociatedURLLoader::didReceiveResponse(WebURLLoader*, const WebURLResponse& response)
+{
+ m_realClient->didReceiveResponse(this, response);
+}
+
+void AssociatedURLLoader::didDownloadData(WebURLLoader*, int dataLength)
+{
+ m_realClient->didDownloadData(this, dataLength);
+}
+
+void AssociatedURLLoader::didReceiveData(WebURLLoader*, const char* data, int dataLength)
+{
+ m_realClient->didReceiveData(this, data, dataLength);
+}
+
+void AssociatedURLLoader::didReceiveCachedMetadata(WebURLLoader*, const char* data, int dataLength)
+{
+ m_realClient->didReceiveCachedMetadata(this, data, dataLength);
+}
+
+void AssociatedURLLoader::didFinishLoading(WebURLLoader*, double finishTime)
+{
+ m_realClient->didFinishLoading(this, finishTime);
+}
+
+void AssociatedURLLoader::didFail(WebURLLoader*, const WebURLError& error)
+{
+ m_realClient->didFail(this, error);
+}
+
} // namespace WebKit
diff --git a/WebKit/chromium/src/AssociatedURLLoader.h b/WebKit/chromium/src/AssociatedURLLoader.h
index 4c9f54e..91cb0bf 100644
--- a/WebKit/chromium/src/AssociatedURLLoader.h
+++ b/WebKit/chromium/src/AssociatedURLLoader.h
@@ -32,6 +32,7 @@
#define AssociatedURLLoader_h
#include "WebURLLoader.h"
+#include "WebURLLoaderClient.h"
#include <wtf/OwnPtr.h>
#include <wtf/RefPtr.h>
@@ -41,7 +42,8 @@ class WebFrameImpl;
// This class is used to implement WebFrame::createAssociatedURLLoader.
// FIXME: Implement in terms of WebCore::SubresourceLoader.
-class AssociatedURLLoader : public WebURLLoader {
+class AssociatedURLLoader : public WebURLLoader,
+ public WebURLLoaderClient {
public:
AssociatedURLLoader(PassRefPtr<WebFrameImpl>);
~AssociatedURLLoader();
@@ -52,11 +54,22 @@ public:
virtual void cancel();
virtual void setDefersLoading(bool);
+ // WebURLLoaderClient methods:
+ virtual void willSendRequest(WebURLLoader*, WebURLRequest& newRequest, const WebURLResponse& redirectResponse);
+ virtual void didSendData(WebURLLoader*, unsigned long long bytesSent, unsigned long long totalBytesToBeSent);
+ virtual void didReceiveResponse(WebURLLoader*, const WebURLResponse&);
+ virtual void didDownloadData(WebURLLoader*, int dataLength);
+ virtual void didReceiveData(WebURLLoader*, const char* data, int dataLength);
+ virtual void didReceiveCachedMetadata(WebURLLoader*, const char* data, int dataLength);
+ virtual void didFinishLoading(WebURLLoader*, double finishTime);
+ virtual void didFail(WebURLLoader*, const WebURLError&);
+
private:
void prepareRequest(WebURLRequest&);
RefPtr<WebFrameImpl> m_frameImpl;
OwnPtr<WebURLLoader> m_realLoader;
+ WebURLLoaderClient* m_realClient;
};
} // namespace WebKit
diff --git a/WebKit/chromium/src/AudioDestinationChromium.cpp b/WebKit/chromium/src/AudioDestinationChromium.cpp
new file mode 100644
index 0000000..bed2562
--- /dev/null
+++ b/WebKit/chromium/src/AudioDestinationChromium.cpp
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2010 Google 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.
+ * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE 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 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"
+
+#if ENABLE(WEB_AUDIO)
+
+#include "AudioDestinationChromium.h"
+
+#include "AudioSourceProvider.h"
+#include "WebKit.h"
+#include "WebKitClient.h"
+
+using namespace WebKit;
+
+namespace WebCore {
+
+// Buffer size that the Chromium audio system will call us back with.
+// This value may need to be tuned based on the OS.
+// FIXME: It may be possible to reduce this value once real-time threads
+// and other Chromium audio improvements are made.
+const unsigned callbackBufferSize = 2048;
+
+// Buffer size at which the web audio engine will render.
+const unsigned renderBufferSize = 128;
+
+const unsigned renderCountPerCallback = callbackBufferSize / renderBufferSize;
+
+// FIXME: add support for multi-channel.
+const unsigned numberOfChannels = 2;
+
+// Factory method: Chromium-implementation
+PassOwnPtr<AudioDestination> AudioDestination::create(AudioSourceProvider& provider, double sampleRate)
+{
+ return adoptPtr(new AudioDestinationChromium(provider, sampleRate));
+}
+
+AudioDestinationChromium::AudioDestinationChromium(AudioSourceProvider& provider, double sampleRate)
+ : m_provider(provider)
+ , m_renderBus(numberOfChannels, renderBufferSize, false)
+ , m_sampleRate(sampleRate)
+ , m_isPlaying(false)
+{
+ m_audioDevice = adoptPtr(webKitClient()->createAudioDevice(callbackBufferSize, numberOfChannels, sampleRate, this));
+ ASSERT(m_audioDevice.get());
+}
+
+AudioDestinationChromium::~AudioDestinationChromium()
+{
+ stop();
+}
+
+void AudioDestinationChromium::start()
+{
+ if (!m_isPlaying && m_audioDevice.get()) {
+ m_audioDevice->start();
+ m_isPlaying = true;
+ }
+}
+
+void AudioDestinationChromium::stop()
+{
+ if (m_isPlaying && m_audioDevice.get()) {
+ m_audioDevice->stop();
+ m_isPlaying = false;
+ }
+}
+
+double AudioDestination::hardwareSampleRate()
+{
+ // FIXME: implement this properly for Chromium.
+ return 44100.0;
+}
+
+// Pulls on our provider to get the rendered audio stream.
+void AudioDestinationChromium::render(const WebVector<float*>& audioData, size_t numberOfFrames)
+{
+ bool isNumberOfChannelsGood = audioData.size() == numberOfChannels;
+ if (!isNumberOfChannelsGood) {
+ ASSERT_NOT_REACHED();
+ return;
+ }
+
+ bool isBufferSizeGood = numberOfFrames == callbackBufferSize;
+ if (!isBufferSizeGood) {
+ ASSERT_NOT_REACHED();
+ return;
+ }
+
+ // Split up the callback buffer into smaller chunks which we'll render one after the other.
+ for (unsigned i = 0; i < renderCountPerCallback; ++i) {
+ m_renderBus.setChannelMemory(0, audioData[0] + i * renderBufferSize, renderBufferSize);
+ m_renderBus.setChannelMemory(1, audioData[1] + i * renderBufferSize, renderBufferSize);
+ m_provider.provideInput(&m_renderBus, renderBufferSize);
+ }
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_AUDIO)
diff --git a/WebKit/chromium/src/AudioDestinationChromium.h b/WebKit/chromium/src/AudioDestinationChromium.h
new file mode 100644
index 0000000..a2a2b58
--- /dev/null
+++ b/WebKit/chromium/src/AudioDestinationChromium.h
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2010 Google 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.
+ * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE 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 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 AudioDestinationChromium_h
+#define AudioDestinationChromium_h
+
+#include "AudioBus.h"
+#include "AudioDestination.h"
+#include "WebAudioDevice.h"
+#include "WebVector.h"
+
+namespace WebKit { class WebAudioDevice; }
+
+namespace WebCore {
+
+// An AudioDestination using Chromium's audio system
+
+class AudioDestinationChromium : public AudioDestination, public WebKit::WebAudioDevice::RenderCallback {
+public:
+ AudioDestinationChromium(AudioSourceProvider&, double sampleRate);
+ virtual ~AudioDestinationChromium();
+
+ virtual void start();
+ virtual void stop();
+ bool isPlaying() { return m_isPlaying; }
+
+ double sampleRate() const { return m_sampleRate; }
+
+ // WebKit::WebAudioDevice::RenderCallback
+ virtual void render(const WebKit::WebVector<float*>& audioData, size_t numberOfFrames);
+
+private:
+ AudioSourceProvider& m_provider;
+ AudioBus m_renderBus;
+ double m_sampleRate;
+ bool m_isPlaying;
+ OwnPtr<WebKit::WebAudioDevice> m_audioDevice;
+};
+
+} // namespace WebCore
+
+#endif // AudioDestinationChromium_h
diff --git a/WebKit/chromium/src/AutoFillPopupMenuClient.cpp b/WebKit/chromium/src/AutoFillPopupMenuClient.cpp
index 32abd6f..704ba69 100644
--- a/WebKit/chromium/src/AutoFillPopupMenuClient.cpp
+++ b/WebKit/chromium/src/AutoFillPopupMenuClient.cpp
@@ -51,7 +51,6 @@ AutoFillPopupMenuClient::AutoFillPopupMenuClient()
: m_separatorIndex(-1)
, m_selectedIndex(-1)
, m_textField(0)
- , m_AutocompleteModeEnabled(false)
{
}
@@ -123,36 +122,20 @@ bool AutoFillPopupMenuClient::canRemoveSuggestionAtIndex(unsigned listIndex)
void AutoFillPopupMenuClient::valueChanged(unsigned listIndex, bool fireEvents)
{
- // DEPRECATED: Will be removed once AutoFill and Autocomplete merge is
- // completed.
- if (m_AutocompleteModeEnabled) {
- m_textField->setValue(getSuggestion(listIndex));
-
- WebViewImpl* webView = getWebView();
- if (!webView)
- return;
-
- EditorClientImpl* editor =
- static_cast<EditorClientImpl*>(webView->page()->editorClient());
- ASSERT(editor);
- editor->onAutocompleteSuggestionAccepted(
- static_cast<HTMLInputElement*>(m_textField.get()));
- } else {
- WebViewImpl* webView = getWebView();
- if (!webView)
- return;
-
- if (m_separatorIndex != -1 && listIndex > static_cast<unsigned>(m_separatorIndex))
- --listIndex;
-
- ASSERT(listIndex < m_names.size());
-
- webView->client()->didAcceptAutoFillSuggestion(WebNode(getTextField()),
- m_names[listIndex],
- m_labels[listIndex],
- m_uniqueIDs[listIndex],
- listIndex);
- }
+ WebViewImpl* webView = getWebView();
+ if (!webView)
+ return;
+
+ if (m_separatorIndex != -1 && listIndex > static_cast<unsigned>(m_separatorIndex))
+ --listIndex;
+
+ ASSERT(listIndex < m_names.size());
+
+ webView->client()->didAcceptAutoFillSuggestion(WebNode(getTextField()),
+ m_names[listIndex],
+ m_labels[listIndex],
+ m_uniqueIDs[listIndex],
+ listIndex);
}
void AutoFillPopupMenuClient::selectionChanged(unsigned listIndex, bool fireEvents)
diff --git a/WebKit/chromium/src/AutoFillPopupMenuClient.h b/WebKit/chromium/src/AutoFillPopupMenuClient.h
index e3edfd3..0129a81 100644
--- a/WebKit/chromium/src/AutoFillPopupMenuClient.h
+++ b/WebKit/chromium/src/AutoFillPopupMenuClient.h
@@ -114,10 +114,6 @@ public:
const WebVector<int>& uniqueIDs,
int separatorIndex);
- // DEPRECATED: Will be removed once Autocomplete and AutoFill merge is
- // complete.
- void setAutocompleteMode(bool enabled) { m_AutocompleteModeEnabled = enabled; }
-
private:
// Convert the specified index from an index into the visible list (which might
// include a separator entry) to an index to |m_names| and |m_labels|.
@@ -147,10 +143,6 @@ private:
RefPtr<WebCore::HTMLInputElement> m_textField;
OwnPtr<WebCore::PopupMenuStyle> m_regularStyle;
OwnPtr<WebCore::PopupMenuStyle> m_warningStyle;
-
- // DEPRECATED: Will be removed once Autocomplete and AutoFill merge is
- // complete.
- bool m_AutocompleteModeEnabled;
};
} // namespace WebKit
diff --git a/WebKit/chromium/src/ChromeClientImpl.cpp b/WebKit/chromium/src/ChromeClientImpl.cpp
index 7b67ede..28d78d0 100644
--- a/WebKit/chromium/src/ChromeClientImpl.cpp
+++ b/WebKit/chromium/src/ChromeClientImpl.cpp
@@ -776,11 +776,13 @@ NotificationPresenter* ChromeClientImpl::notificationPresenter() const
}
#endif
+// FIXME: Remove ChromeClientImpl::requestGeolocationPermissionForFrame and ChromeClientImpl::cancelGeolocationPermissionRequestForFrame
+// once all ports have moved to client-based geolocation (see https://bugs.webkit.org/show_bug.cgi?id=40373 ).
+// For client-based geolocation, these methods are now implemented as WebGeolocationClient::requestPermission and WebGeolocationClient::cancelPermissionRequest.
+// (see https://bugs.webkit.org/show_bug.cgi?id=50061 ).
void ChromeClientImpl::requestGeolocationPermissionForFrame(Frame* frame, Geolocation* geolocation)
{
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
- // FIXME: Implement Client-based Geolocation Permissions
-#else
+#if !ENABLE(CLIENT_BASED_GEOLOCATION)
GeolocationServiceChromium* geolocationService = static_cast<GeolocationServiceChromium*>(geolocation->getGeolocationService());
geolocationService->geolocationServiceBridge()->attachBridgeIfNeeded();
m_webView->client()->geolocationService()->requestPermissionForFrame(geolocationService->geolocationServiceBridge()->getBridgeId(), frame->document()->url());
@@ -789,9 +791,7 @@ void ChromeClientImpl::requestGeolocationPermissionForFrame(Frame* frame, Geoloc
void ChromeClientImpl::cancelGeolocationPermissionRequestForFrame(Frame* frame, Geolocation* geolocation)
{
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
- // FIXME: Implement Client-based Geolocation Permissions
-#else
+#if !ENABLE(CLIENT_BASED_GEOLOCATION)
GeolocationServiceChromium* geolocationService = static_cast<GeolocationServiceChromium*>(geolocation->getGeolocationService());
m_webView->client()->geolocationService()->cancelPermissionRequestForFrame(geolocationService->geolocationServiceBridge()->getBridgeId(), frame->document()->url());
#endif
diff --git a/WebKit/chromium/src/ChromiumBridge.cpp b/WebKit/chromium/src/ChromiumBridge.cpp
index e9d1da6..38a3f1d 100644
--- a/WebKit/chromium/src/ChromiumBridge.cpp
+++ b/WebKit/chromium/src/ChromiumBridge.cpp
@@ -62,6 +62,10 @@
#include "WebViewImpl.h"
#include "WebWorkerClientImpl.h"
+#if PLATFORM(CG)
+#include <CoreGraphics/CGContext.h>
+#endif
+
#if OS(WINDOWS)
#include "WebRect.h"
#include "win/WebThemeEngine.h"
@@ -73,6 +77,10 @@
#include "WebFontRenderStyle.h"
#endif
+#if OS(DARWIN)
+#include "mac/WebThemeEngine.h"
+#endif
+
#if WEBKIT_USING_SKIA
#include "NativeImageSkia.h"
#endif
@@ -134,7 +142,7 @@ static WebCookieJar* getCookieJar(const Document* document)
WebFrameImpl* frameImpl = WebFrameImpl::fromFrame(document->frame());
if (!frameImpl || !frameImpl->client())
return 0;
- WebCookieJar* cookieJar = frameImpl->client()->cookieJar();
+ WebCookieJar* cookieJar = frameImpl->client()->cookieJar(frameImpl);
if (!cookieJar)
cookieJar = webKitClient()->cookieJar();
return cookieJar;
@@ -636,7 +644,7 @@ PassOwnPtr<AudioBus> ChromiumBridge::loadPlatformAudioResource(const char* name,
PassOwnPtr<AudioBus> ChromiumBridge::decodeAudioFileData(const char* data, size_t size, double sampleRate)
{
WebAudioBus webAudioBus;
- if (webKitClient()->decodeAudioFileData(&webAudioBus, data, size, sampleRate))
+ if (webKitClient()->loadAudioResource(&webAudioBus, data, size, sampleRate))
return webAudioBus.release();
return 0;
}
@@ -795,7 +803,7 @@ static WebThemeEngine::Part WebThemePart(ChromiumBridge::ThemePart part)
case ChromiumBridge::PartScrollbarUpArrow: return WebThemeEngine::PartScrollbarUpArrow;
case ChromiumBridge::PartScrollbarHorizontalThumb: return WebThemeEngine::PartScrollbarHorizontalThumb;
case ChromiumBridge::PartScrollbarVerticalThumb: return WebThemeEngine::PartScrollbarVerticalThumb;
- case ChromiumBridge::PartScrollbarHoriztonalTrack: return WebThemeEngine::PartScrollbarHoriztonalTrack;
+ case ChromiumBridge::PartScrollbarHorizontalTrack: return WebThemeEngine::PartScrollbarHorizontalTrack;
case ChromiumBridge::PartScrollbarVerticalTrack: return WebThemeEngine::PartScrollbarVerticalTrack;
}
ASSERT_NOT_REACHED();
@@ -816,7 +824,7 @@ static WebThemeEngine::State WebThemeState(ChromiumBridge::ThemePaintState state
static void GetWebThemeExtraParams(ChromiumBridge::ThemePart part, ChromiumBridge::ThemePaintState state, const ChromiumBridge::ThemePaintExtraParams* extraParams, WebThemeEngine::ExtraParams* webThemeExtraParams)
{
- if (part == ChromiumBridge::PartScrollbarHoriztonalTrack || part == ChromiumBridge::PartScrollbarVerticalTrack) {
+ if (part == ChromiumBridge::PartScrollbarHorizontalTrack || part == ChromiumBridge::PartScrollbarVerticalTrack) {
webThemeExtraParams->scrollbarTrack.trackX = extraParams->scrollbarTrack.trackX;
webThemeExtraParams->scrollbarTrack.trackY = extraParams->scrollbarTrack.trackY;
webThemeExtraParams->scrollbarTrack.trackWidth = extraParams->scrollbarTrack.trackWidth;
@@ -838,6 +846,28 @@ void ChromiumBridge::paintThemePart(
gc->platformContext()->canvas(), WebThemePart(part), WebThemeState(state), rect, &webThemeExtraParams);
}
+#elif OS(DARWIN)
+
+void ChromiumBridge::paintScrollbarThumb(
+ GraphicsContext* gc, ThemePaintState state, ThemePaintSize size, const IntRect& rect, const ThemePaintScrollbarInfo& scrollbarInfo)
+{
+ WebThemeEngine::ScrollbarInfo webThemeScrollbarInfo;
+
+ webThemeScrollbarInfo.orientation = static_cast<WebThemeEngine::ScrollbarOrientation>(scrollbarInfo.orientation);
+ webThemeScrollbarInfo.parent = static_cast<WebThemeEngine::ScrollbarParent>(scrollbarInfo.parent);
+ webThemeScrollbarInfo.maxValue = scrollbarInfo.maxValue;
+ webThemeScrollbarInfo.currentValue = scrollbarInfo.currentValue;
+ webThemeScrollbarInfo.visibleSize = scrollbarInfo.visibleSize;
+ webThemeScrollbarInfo.totalSize = scrollbarInfo.totalSize;
+
+ webKitClient()->themeEngine()->paintScrollbarThumb(
+ gc->platformContext(),
+ static_cast<WebThemeEngine::State>(state),
+ static_cast<WebThemeEngine::Size>(size),
+ rect,
+ webThemeScrollbarInfo);
+}
+
#endif
// Trace Event ----------------------------------------------------------------
diff --git a/WebKit/chromium/src/ContextMenuClientImpl.cpp b/WebKit/chromium/src/ContextMenuClientImpl.cpp
index d33a06b..7bd1a2b 100644
--- a/WebKit/chromium/src/ContextMenuClientImpl.cpp
+++ b/WebKit/chromium/src/ContextMenuClientImpl.cpp
@@ -34,6 +34,7 @@
#include "CSSPropertyNames.h"
#include "CSSStyleDeclaration.h"
#include "ContextMenu.h"
+#include "ContextMenuController.h"
#include "Document.h"
#include "DocumentLoader.h"
#include "Editor.h"
@@ -45,6 +46,7 @@
#include "HTMLNames.h"
#include "KURL.h"
#include "MediaError.h"
+#include "Page.h"
#include "PlatformString.h"
#include "RenderWidget.h"
#include "TextBreakIterator.h"
@@ -110,7 +112,7 @@ static String selectMisspelledWord(const ContextMenu* defaultMenu, Frame* select
// Selection is empty, so change the selection to the word under the cursor.
HitTestResult hitTestResult = selectedFrame->eventHandler()->
- hitTestResultAtPoint(defaultMenu->hitTestResult().point(), true);
+ hitTestResultAtPoint(selectedFrame->page()->contextMenuController()->hitTestResult().point(), true);
Node* innerNode = hitTestResult.innerNode();
VisiblePosition pos(innerNode->renderer()->positionForPoint(
hitTestResult.localPoint()));
@@ -144,7 +146,7 @@ PlatformMenuDescription ContextMenuClientImpl::getCustomMenuFromDefaultItems(
if (!m_webView->contextMenuAllowed())
return 0;
- HitTestResult r = defaultMenu->hitTestResult();
+ HitTestResult r = m_webView->page()->contextMenuController()->hitTestResult();
Frame* selectedFrame = r.innerNonSharedNode()->document()->frame();
WebContextMenuData data;
diff --git a/WebKit/chromium/src/EditorClientImpl.cpp b/WebKit/chromium/src/EditorClientImpl.cpp
index bc1d206..6f1739f 100644
--- a/WebKit/chromium/src/EditorClientImpl.cpp
+++ b/WebKit/chromium/src/EditorClientImpl.cpp
@@ -929,7 +929,8 @@ bool EditorClientImpl::spellingUIIsShowing()
return false;
}
-void EditorClientImpl::getGuessesForWord(const String&,
+void EditorClientImpl::getGuessesForWord(const String& word,
+ const String& context,
WTF::Vector<String>& guesses)
{
notImplemented();
diff --git a/WebKit/chromium/src/EditorClientImpl.h b/WebKit/chromium/src/EditorClientImpl.h
index b05a592..9dbd6af 100644
--- a/WebKit/chromium/src/EditorClientImpl.h
+++ b/WebKit/chromium/src/EditorClientImpl.h
@@ -107,9 +107,11 @@ public:
virtual void showSpellingUI(bool show);
virtual bool spellingUIIsShowing();
virtual void getGuessesForWord(const WTF::String& word,
+ const WTF::String& context,
WTF::Vector<WTF::String>& guesses);
virtual void willSetInputMethodState();
virtual void setInputMethodState(bool enabled);
+ virtual void requestCheckingOfString(WebCore::SpellChecker*, int, const WTF::String&) {}
// Shows the form autofill popup for |node| if it is an HTMLInputElement and
// it is empty. This is called when you press the up or down arrow in a
diff --git a/WebKit/chromium/src/Extensions3DChromium.cpp b/WebKit/chromium/src/Extensions3DChromium.cpp
index fe04986..ca2215e 100644
--- a/WebKit/chromium/src/Extensions3DChromium.cpp
+++ b/WebKit/chromium/src/Extensions3DChromium.cpp
@@ -48,6 +48,15 @@ bool Extensions3DChromium::supports(const String& name)
return m_internal->supportsExtension(name);
}
+void Extensions3DChromium::ensureEnabled(const String& name)
+{
+#ifndef NDEBUG
+ bool result =
+#endif
+ m_internal->ensureExtensionEnabled(name);
+ ASSERT(result);
+}
+
int Extensions3DChromium::getGraphicsResetStatusARB()
{
return m_internal->isContextLost() ? static_cast<int>(Extensions3D::UNKNOWN_CONTEXT_RESET_ARB) : static_cast<int>(GraphicsContext3D::NO_ERROR);
diff --git a/WebKit/chromium/src/FrameLoaderClientImpl.cpp b/WebKit/chromium/src/FrameLoaderClientImpl.cpp
index 9d79599..c84889e 100644
--- a/WebKit/chromium/src/FrameLoaderClientImpl.cpp
+++ b/WebKit/chromium/src/FrameLoaderClientImpl.cpp
@@ -817,7 +817,8 @@ Frame* FrameLoaderClientImpl::dispatchCreatePage(const NavigationAction& action)
{
struct WindowFeatures features;
Page* newPage = m_webFrame->frame()->page()->chrome()->createWindow(
- m_webFrame->frame(), FrameLoadRequest(), features, action);
+ m_webFrame->frame(), FrameLoadRequest(m_webFrame->frame()->document()->securityOrigin()),
+ features, action);
// Make sure that we have a valid disposition. This should have been set in
// the preceeding call to dispatchDecidePolicyForNewWindowAction.
@@ -1348,6 +1349,14 @@ void FrameLoaderClientImpl::transitionToCommittedForNewPage()
makeDocumentView();
}
+void FrameLoaderClientImpl::didSaveToPageCache()
+{
+}
+
+void FrameLoaderClientImpl::didRestoreFromPageCache()
+{
+}
+
void FrameLoaderClientImpl::dispatchDidBecomeFrameset(bool)
{
}
@@ -1378,7 +1387,8 @@ PassRefPtr<Frame> FrameLoaderClientImpl::createFrame(
int marginWidth,
int marginHeight)
{
- FrameLoadRequest frameRequest(ResourceRequest(url, referrer), name);
+ FrameLoadRequest frameRequest(m_webFrame->frame()->document()->securityOrigin(),
+ ResourceRequest(url, referrer), name);
return m_webFrame->createChildFrame(frameRequest, ownerElement);
}
diff --git a/WebKit/chromium/src/FrameLoaderClientImpl.h b/WebKit/chromium/src/FrameLoaderClientImpl.h
index ef00ed3..1d7a741 100644
--- a/WebKit/chromium/src/FrameLoaderClientImpl.h
+++ b/WebKit/chromium/src/FrameLoaderClientImpl.h
@@ -169,6 +169,8 @@ public:
virtual void savePlatformDataToCachedFrame(WebCore::CachedFrame*);
virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*);
virtual void transitionToCommittedForNewPage();
+ virtual void didSaveToPageCache();
+ virtual void didRestoreFromPageCache();
virtual void dispatchDidBecomeFrameset(bool);
virtual bool canCachePage() const;
virtual void download(
diff --git a/WebKit/chromium/src/GeolocationClientProxy.cpp b/WebKit/chromium/src/GeolocationClientProxy.cpp
new file mode 100644
index 0000000..b2536dd
--- /dev/null
+++ b/WebKit/chromium/src/GeolocationClientProxy.cpp
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2010 Google 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 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 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 "GeolocationClientProxy.h"
+
+#include "Geolocation.h"
+#include "GeolocationPosition.h"
+#include "WebGeolocationClient.h"
+#include "WebGeolocationController.h"
+#include "WebGeolocationPermissionRequest.h"
+#include "WebGeolocationPosition.h"
+
+namespace WebKit {
+
+GeolocationClientProxy::GeolocationClientProxy(WebGeolocationClient* client)
+ : m_client(client)
+{
+}
+
+GeolocationClientProxy::~GeolocationClientProxy()
+{
+}
+
+void GeolocationClientProxy::setController(WebCore::GeolocationController* controller)
+{
+ // We support there not being a client, provided we don't do any Geolocation.
+ if (m_client) {
+ // Ownership of the WebGeolocationController is transferred to the client.
+ m_client->setController(new WebGeolocationController(controller));
+ }
+}
+
+void GeolocationClientProxy::geolocationDestroyed()
+{
+ if (m_client)
+ m_client->geolocationDestroyed();
+}
+
+void GeolocationClientProxy::startUpdating()
+{
+ m_client->startUpdating();
+}
+
+void GeolocationClientProxy::stopUpdating()
+{
+ m_client->stopUpdating();
+}
+
+void GeolocationClientProxy::setEnableHighAccuracy(bool highAccuracy)
+{
+ m_client->setEnableHighAccuracy(highAccuracy);
+}
+
+WebCore::GeolocationPosition* GeolocationClientProxy::lastPosition()
+{
+ WebGeolocationPosition webPosition;
+ if (m_client->lastPosition(webPosition))
+ m_lastPosition = webPosition;
+ else
+ m_lastPosition.clear();
+
+ return m_lastPosition.get();
+}
+
+void GeolocationClientProxy::requestPermission(WebCore::Geolocation* geolocation)
+{
+ m_client->requestPermission(WebGeolocationPermissionRequest(geolocation));
+}
+
+void GeolocationClientProxy::cancelPermissionRequest(WebCore::Geolocation* geolocation)
+{
+ m_client->cancelPermissionRequest(WebGeolocationPermissionRequest(geolocation));
+}
+
+}
diff --git a/WebKit/chromium/src/GeolocationClientProxy.h b/WebKit/chromium/src/GeolocationClientProxy.h
new file mode 100644
index 0000000..ee175dc
--- /dev/null
+++ b/WebKit/chromium/src/GeolocationClientProxy.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2010 Google 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 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 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 GeolocationClientProxy_h
+#define GeolocationClientProxy_h
+
+#include "GeolocationClient.h"
+#include "WebGeolocationController.h"
+#include <wtf/RefPtr.h>
+
+namespace WebCore {
+class GeolocationPosition;
+}
+
+namespace WebKit {
+class WebGeolocationClient;
+
+class GeolocationClientProxy : public WebCore::GeolocationClient {
+public:
+ GeolocationClientProxy(WebGeolocationClient* client);
+ ~GeolocationClientProxy();
+ void setController(WebCore::GeolocationController *controller);
+ virtual void geolocationDestroyed();
+ virtual void startUpdating();
+ virtual void stopUpdating();
+ virtual void setEnableHighAccuracy(bool);
+ virtual WebCore::GeolocationPosition* lastPosition();
+
+ virtual void requestPermission(WebCore::Geolocation*);
+ virtual void cancelPermissionRequest(WebCore::Geolocation*);
+
+private:
+ WebGeolocationClient* m_client;
+ RefPtr<WebCore::GeolocationPosition> m_lastPosition;
+};
+
+} // namespace WebKit
+
+#endif // GeolocationClientProxy_h
diff --git a/WebKit/chromium/src/GraphicsContext3DChromium.cpp b/WebKit/chromium/src/GraphicsContext3DChromium.cpp
index cc0c5bc..686d01c 100644
--- a/WebKit/chromium/src/GraphicsContext3DChromium.cpp
+++ b/WebKit/chromium/src/GraphicsContext3DChromium.cpp
@@ -246,6 +246,11 @@ void GraphicsContext3DInternal::reshape(int width, int height)
#endif // PLATFORM(CG)
}
+IntSize GraphicsContext3DInternal::getInternalFramebufferSize()
+{
+ return IntSize(m_impl->width(), m_impl->height());
+}
+
bool GraphicsContext3DInternal::isContextLost()
{
return m_impl->isContextLost();
@@ -363,76 +368,76 @@ rt GraphicsContext3DInternal::name(t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6, t7
}
DELEGATE_TO_IMPL_R(makeContextCurrent, bool)
-DELEGATE_TO_IMPL_1R(sizeInBytes, int, int)
+DELEGATE_TO_IMPL_1R(sizeInBytes, GC3Denum, unsigned int)
bool GraphicsContext3DInternal::isGLES2Compliant() const
{
return m_impl->isGLES2Compliant();
}
-DELEGATE_TO_IMPL_1(activeTexture, unsigned long)
+DELEGATE_TO_IMPL_1(activeTexture, GC3Denum)
DELEGATE_TO_IMPL_2(attachShader, Platform3DObject, Platform3DObject)
-void GraphicsContext3DInternal::bindAttribLocation(Platform3DObject program, unsigned long index, const String& name)
+void GraphicsContext3DInternal::bindAttribLocation(Platform3DObject program, GC3Duint index, const String& name)
{
m_impl->bindAttribLocation(program, index, name.utf8().data());
}
-DELEGATE_TO_IMPL_2(bindBuffer, unsigned long, Platform3DObject)
-DELEGATE_TO_IMPL_2(bindFramebuffer, unsigned long, Platform3DObject)
-DELEGATE_TO_IMPL_2(bindRenderbuffer, unsigned long, Platform3DObject)
-DELEGATE_TO_IMPL_2(bindTexture, unsigned long, Platform3DObject)
-DELEGATE_TO_IMPL_4(blendColor, double, double, double, double)
-DELEGATE_TO_IMPL_1(blendEquation, unsigned long)
-DELEGATE_TO_IMPL_2(blendEquationSeparate, unsigned long, unsigned long)
-DELEGATE_TO_IMPL_2(blendFunc, unsigned long, unsigned long)
-DELEGATE_TO_IMPL_4(blendFuncSeparate, unsigned long, unsigned long, unsigned long, unsigned long)
+DELEGATE_TO_IMPL_2(bindBuffer, GC3Denum, Platform3DObject)
+DELEGATE_TO_IMPL_2(bindFramebuffer, GC3Denum, Platform3DObject)
+DELEGATE_TO_IMPL_2(bindRenderbuffer, GC3Denum, Platform3DObject)
+DELEGATE_TO_IMPL_2(bindTexture, GC3Denum, Platform3DObject)
+DELEGATE_TO_IMPL_4(blendColor, GC3Dclampf, GC3Dclampf, GC3Dclampf, GC3Dclampf)
+DELEGATE_TO_IMPL_1(blendEquation, GC3Denum)
+DELEGATE_TO_IMPL_2(blendEquationSeparate, GC3Denum, GC3Denum)
+DELEGATE_TO_IMPL_2(blendFunc, GC3Denum, GC3Denum)
+DELEGATE_TO_IMPL_4(blendFuncSeparate, GC3Denum, GC3Denum, GC3Denum, GC3Denum)
-void GraphicsContext3DInternal::bufferData(unsigned long target, int size, unsigned long usage)
+void GraphicsContext3DInternal::bufferData(GC3Denum target, GC3Dsizeiptr size, GC3Denum usage)
{
m_impl->bufferData(target, size, 0, usage);
}
-void GraphicsContext3DInternal::bufferData(unsigned long target, int size, const void* data, unsigned long usage)
+void GraphicsContext3DInternal::bufferData(GC3Denum target, GC3Dsizeiptr size, const void* data, GC3Denum usage)
{
m_impl->bufferData(target, size, data, usage);
}
-void GraphicsContext3DInternal::bufferSubData(unsigned long target, long offset, int size, const void* data)
+void GraphicsContext3DInternal::bufferSubData(GC3Denum target, GC3Dintptr offset, GC3Dsizeiptr size, const void* data)
{
m_impl->bufferSubData(target, offset, size, data);
}
-DELEGATE_TO_IMPL_1R(checkFramebufferStatus, unsigned long, unsigned long)
-DELEGATE_TO_IMPL_1(clear, unsigned long)
-DELEGATE_TO_IMPL_4(clearColor, double, double, double, double)
-DELEGATE_TO_IMPL_1(clearDepth, double)
-DELEGATE_TO_IMPL_1(clearStencil, long)
-DELEGATE_TO_IMPL_4(colorMask, bool, bool, bool, bool)
+DELEGATE_TO_IMPL_1R(checkFramebufferStatus, GC3Denum, GC3Denum)
+DELEGATE_TO_IMPL_1(clear, GC3Dbitfield)
+DELEGATE_TO_IMPL_4(clearColor, GC3Dclampf, GC3Dclampf, GC3Dclampf, GC3Dclampf)
+DELEGATE_TO_IMPL_1(clearDepth, GC3Dclampf)
+DELEGATE_TO_IMPL_1(clearStencil, GC3Dint)
+DELEGATE_TO_IMPL_4(colorMask, GC3Dboolean, GC3Dboolean, GC3Dboolean, GC3Dboolean)
DELEGATE_TO_IMPL_1(compileShader, Platform3DObject)
-DELEGATE_TO_IMPL_8(copyTexImage2D, unsigned long, long, unsigned long, long, long, unsigned long, unsigned long, long)
-DELEGATE_TO_IMPL_8(copyTexSubImage2D, unsigned long, long, long, long, long, long, unsigned long, unsigned long)
-DELEGATE_TO_IMPL_1(cullFace, unsigned long)
-DELEGATE_TO_IMPL_1(depthFunc, unsigned long)
-DELEGATE_TO_IMPL_1(depthMask, bool)
-DELEGATE_TO_IMPL_2(depthRange, double, double)
+DELEGATE_TO_IMPL_8(copyTexImage2D, GC3Denum, GC3Dint, GC3Denum, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei, GC3Dint)
+DELEGATE_TO_IMPL_8(copyTexSubImage2D, GC3Denum, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei)
+DELEGATE_TO_IMPL_1(cullFace, GC3Denum)
+DELEGATE_TO_IMPL_1(depthFunc, GC3Denum)
+DELEGATE_TO_IMPL_1(depthMask, GC3Dboolean)
+DELEGATE_TO_IMPL_2(depthRange, GC3Dclampf, GC3Dclampf)
DELEGATE_TO_IMPL_2(detachShader, Platform3DObject, Platform3DObject)
-DELEGATE_TO_IMPL_1(disable, unsigned long)
-DELEGATE_TO_IMPL_1(disableVertexAttribArray, unsigned long)
-DELEGATE_TO_IMPL_3(drawArrays, unsigned long, long, long)
-DELEGATE_TO_IMPL_4(drawElements, unsigned long, unsigned long, unsigned long, long)
+DELEGATE_TO_IMPL_1(disable, GC3Denum)
+DELEGATE_TO_IMPL_1(disableVertexAttribArray, GC3Duint)
+DELEGATE_TO_IMPL_3(drawArrays, GC3Denum, GC3Dint, GC3Dsizei)
+DELEGATE_TO_IMPL_4(drawElements, GC3Denum, GC3Dsizei, GC3Denum, GC3Dsizeiptr)
-DELEGATE_TO_IMPL_1(enable, unsigned long)
-DELEGATE_TO_IMPL_1(enableVertexAttribArray, unsigned long)
+DELEGATE_TO_IMPL_1(enable, GC3Denum)
+DELEGATE_TO_IMPL_1(enableVertexAttribArray, GC3Duint)
DELEGATE_TO_IMPL(finish)
DELEGATE_TO_IMPL(flush)
-DELEGATE_TO_IMPL_4(framebufferRenderbuffer, unsigned long, unsigned long, unsigned long, Platform3DObject)
-DELEGATE_TO_IMPL_5(framebufferTexture2D, unsigned long, unsigned long, unsigned long, Platform3DObject, long)
-DELEGATE_TO_IMPL_1(frontFace, unsigned long)
-DELEGATE_TO_IMPL_1(generateMipmap, unsigned long)
+DELEGATE_TO_IMPL_4(framebufferRenderbuffer, GC3Denum, GC3Denum, GC3Denum, Platform3DObject)
+DELEGATE_TO_IMPL_5(framebufferTexture2D, GC3Denum, GC3Denum, GC3Denum, Platform3DObject, GC3Dint)
+DELEGATE_TO_IMPL_1(frontFace, GC3Denum)
+DELEGATE_TO_IMPL_1(generateMipmap, GC3Denum)
-bool GraphicsContext3DInternal::getActiveAttrib(Platform3DObject program, unsigned long index, ActiveInfo& info)
+bool GraphicsContext3DInternal::getActiveAttrib(Platform3DObject program, GC3Duint index, ActiveInfo& info)
{
WebKit::WebGraphicsContext3D::ActiveInfo webInfo;
if (!m_impl->getActiveAttrib(program, index, webInfo))
@@ -443,7 +448,7 @@ bool GraphicsContext3DInternal::getActiveAttrib(Platform3DObject program, unsign
return true;
}
-bool GraphicsContext3DInternal::getActiveUniform(Platform3DObject program, unsigned long index, ActiveInfo& info)
+bool GraphicsContext3DInternal::getActiveUniform(Platform3DObject program, GC3Duint index, ActiveInfo& info)
{
WebKit::WebGraphicsContext3D::ActiveInfo webInfo;
if (!m_impl->getActiveUniform(program, index, webInfo))
@@ -454,16 +459,16 @@ bool GraphicsContext3DInternal::getActiveUniform(Platform3DObject program, unsig
return true;
}
-DELEGATE_TO_IMPL_4(getAttachedShaders, Platform3DObject, int, int*, unsigned int*)
+DELEGATE_TO_IMPL_4(getAttachedShaders, Platform3DObject, GC3Dsizei, GC3Dsizei*, Platform3DObject*)
-int GraphicsContext3DInternal::getAttribLocation(Platform3DObject program, const String& name)
+GC3Dint GraphicsContext3DInternal::getAttribLocation(Platform3DObject program, const String& name)
{
return m_impl->getAttribLocation(program, name.utf8().data());
}
-DELEGATE_TO_IMPL_2(getBooleanv, unsigned long, unsigned char*)
+DELEGATE_TO_IMPL_2(getBooleanv, GC3Denum, GC3Dboolean*)
-DELEGATE_TO_IMPL_3(getBufferParameteriv, unsigned long, unsigned long, int*)
+DELEGATE_TO_IMPL_3(getBufferParameteriv, GC3Denum, GC3Denum, GC3Dint*)
GraphicsContext3D::Attributes GraphicsContext3DInternal::getContextAttributes()
{
@@ -477,24 +482,24 @@ GraphicsContext3D::Attributes GraphicsContext3DInternal::getContextAttributes()
return attributes;
}
-DELEGATE_TO_IMPL_R(getError, unsigned long)
+DELEGATE_TO_IMPL_R(getError, GC3Denum)
-DELEGATE_TO_IMPL_2(getFloatv, unsigned long, float*)
+DELEGATE_TO_IMPL_2(getFloatv, GC3Denum, GC3Dfloat*)
-DELEGATE_TO_IMPL_4(getFramebufferAttachmentParameteriv, unsigned long, unsigned long, unsigned long, int*)
+DELEGATE_TO_IMPL_4(getFramebufferAttachmentParameteriv, GC3Denum, GC3Denum, GC3Denum, GC3Dint*)
-DELEGATE_TO_IMPL_2(getIntegerv, unsigned long, int*)
+DELEGATE_TO_IMPL_2(getIntegerv, GC3Denum, GC3Dint*)
-DELEGATE_TO_IMPL_3(getProgramiv, Platform3DObject, unsigned long, int*)
+DELEGATE_TO_IMPL_3(getProgramiv, Platform3DObject, GC3Denum, GC3Dint*)
String GraphicsContext3DInternal::getProgramInfoLog(Platform3DObject program)
{
return m_impl->getProgramInfoLog(program);
}
-DELEGATE_TO_IMPL_3(getRenderbufferParameteriv, unsigned long, unsigned long, int*)
+DELEGATE_TO_IMPL_3(getRenderbufferParameteriv, GC3Denum, GC3Denum, GC3Dint*)
-DELEGATE_TO_IMPL_3(getShaderiv, Platform3DObject, unsigned long, int*)
+DELEGATE_TO_IMPL_3(getShaderiv, Platform3DObject, GC3Denum, GC3Dint*)
String GraphicsContext3DInternal::getShaderInfoLog(Platform3DObject shader)
{
@@ -506,139 +511,138 @@ String GraphicsContext3DInternal::getShaderSource(Platform3DObject shader)
return m_impl->getShaderSource(shader);
}
-String GraphicsContext3DInternal::getString(unsigned long name)
+String GraphicsContext3DInternal::getString(GC3Denum name)
{
return m_impl->getString(name);
}
-DELEGATE_TO_IMPL_3(getTexParameterfv, unsigned long, unsigned long, float*)
-DELEGATE_TO_IMPL_3(getTexParameteriv, unsigned long, unsigned long, int*)
+DELEGATE_TO_IMPL_3(getTexParameterfv, GC3Denum, GC3Denum, GC3Dfloat*)
+DELEGATE_TO_IMPL_3(getTexParameteriv, GC3Denum, GC3Denum, GC3Dint*)
-DELEGATE_TO_IMPL_3(getUniformfv, Platform3DObject, long, float*)
-DELEGATE_TO_IMPL_3(getUniformiv, Platform3DObject, long, int*)
+DELEGATE_TO_IMPL_3(getUniformfv, Platform3DObject, GC3Dint, GC3Dfloat*)
+DELEGATE_TO_IMPL_3(getUniformiv, Platform3DObject, GC3Dint, GC3Dint*)
-long GraphicsContext3DInternal::getUniformLocation(Platform3DObject program, const String& name)
+GC3Dint GraphicsContext3DInternal::getUniformLocation(Platform3DObject program, const String& name)
{
return m_impl->getUniformLocation(program, name.utf8().data());
}
-DELEGATE_TO_IMPL_3(getVertexAttribfv, unsigned long, unsigned long, float*)
-DELEGATE_TO_IMPL_3(getVertexAttribiv, unsigned long, unsigned long, int*)
+DELEGATE_TO_IMPL_3(getVertexAttribfv, GC3Duint, GC3Denum, GC3Dfloat*)
+DELEGATE_TO_IMPL_3(getVertexAttribiv, GC3Duint, GC3Denum, GC3Dint*)
-DELEGATE_TO_IMPL_2R(getVertexAttribOffset, unsigned long, unsigned long, long)
+DELEGATE_TO_IMPL_2R(getVertexAttribOffset, GC3Duint, GC3Denum, GC3Dsizeiptr)
-DELEGATE_TO_IMPL_2(hint, unsigned long, unsigned long)
-DELEGATE_TO_IMPL_1R(isBuffer, Platform3DObject, bool)
-DELEGATE_TO_IMPL_1R(isEnabled, unsigned long, bool)
-DELEGATE_TO_IMPL_1R(isFramebuffer, Platform3DObject, bool)
-DELEGATE_TO_IMPL_1R(isProgram, Platform3DObject, bool)
-DELEGATE_TO_IMPL_1R(isRenderbuffer, Platform3DObject, bool)
-DELEGATE_TO_IMPL_1R(isShader, Platform3DObject, bool)
-DELEGATE_TO_IMPL_1R(isTexture, Platform3DObject, bool)
-DELEGATE_TO_IMPL_1(lineWidth, double)
+DELEGATE_TO_IMPL_2(hint, GC3Denum, GC3Denum)
+DELEGATE_TO_IMPL_1R(isBuffer, Platform3DObject, GC3Dboolean)
+DELEGATE_TO_IMPL_1R(isEnabled, GC3Denum, GC3Dboolean)
+DELEGATE_TO_IMPL_1R(isFramebuffer, Platform3DObject, GC3Dboolean)
+DELEGATE_TO_IMPL_1R(isProgram, Platform3DObject, GC3Dboolean)
+DELEGATE_TO_IMPL_1R(isRenderbuffer, Platform3DObject, GC3Dboolean)
+DELEGATE_TO_IMPL_1R(isShader, Platform3DObject, GC3Dboolean)
+DELEGATE_TO_IMPL_1R(isTexture, Platform3DObject, GC3Dboolean)
+DELEGATE_TO_IMPL_1(lineWidth, GC3Dfloat)
DELEGATE_TO_IMPL_1(linkProgram, Platform3DObject)
-DELEGATE_TO_IMPL_2(pixelStorei, unsigned long, long)
-DELEGATE_TO_IMPL_2(polygonOffset, double, double)
-DELEGATE_TO_IMPL_7(readPixels, long, long, unsigned long, unsigned long, unsigned long, unsigned long, void*)
+DELEGATE_TO_IMPL_2(pixelStorei, GC3Denum, GC3Dint)
+DELEGATE_TO_IMPL_2(polygonOffset, GC3Dfloat, GC3Dfloat)
+DELEGATE_TO_IMPL_7(readPixels, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei, GC3Denum, GC3Denum, void*)
DELEGATE_TO_IMPL(releaseShaderCompiler)
-DELEGATE_TO_IMPL_4(renderbufferStorage, unsigned long, unsigned long, unsigned long, unsigned long)
-DELEGATE_TO_IMPL_2(sampleCoverage, double, bool)
-DELEGATE_TO_IMPL_4(scissor, long, long, unsigned long, unsigned long)
+DELEGATE_TO_IMPL_4(renderbufferStorage, GC3Denum, GC3Denum, GC3Dsizei, GC3Dsizei)
+DELEGATE_TO_IMPL_2(sampleCoverage, GC3Dclampf, GC3Dboolean)
+DELEGATE_TO_IMPL_4(scissor, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei)
void GraphicsContext3DInternal::shaderSource(Platform3DObject shader, const String& string)
{
m_impl->shaderSource(shader, string.utf8().data());
}
-DELEGATE_TO_IMPL_3(stencilFunc, unsigned long, long, unsigned long)
-DELEGATE_TO_IMPL_4(stencilFuncSeparate, unsigned long, unsigned long, long, unsigned long)
-DELEGATE_TO_IMPL_1(stencilMask, unsigned long)
-DELEGATE_TO_IMPL_2(stencilMaskSeparate, unsigned long, unsigned long)
-DELEGATE_TO_IMPL_3(stencilOp, unsigned long, unsigned long, unsigned long)
-DELEGATE_TO_IMPL_4(stencilOpSeparate, unsigned long, unsigned long, unsigned long, unsigned long)
+DELEGATE_TO_IMPL_3(stencilFunc, GC3Denum, GC3Dint, GC3Duint)
+DELEGATE_TO_IMPL_4(stencilFuncSeparate, GC3Denum, GC3Denum, GC3Dint, GC3Duint)
+DELEGATE_TO_IMPL_1(stencilMask, GC3Duint)
+DELEGATE_TO_IMPL_2(stencilMaskSeparate, GC3Denum, GC3Duint)
+DELEGATE_TO_IMPL_3(stencilOp, GC3Denum, GC3Denum, GC3Denum)
+DELEGATE_TO_IMPL_4(stencilOpSeparate, GC3Denum, GC3Denum, GC3Denum, GC3Denum)
-int GraphicsContext3DInternal::texImage2D(unsigned target, unsigned level, unsigned internalformat, unsigned width, unsigned height, unsigned border, unsigned format, unsigned type, void* pixels)
+bool GraphicsContext3DInternal::texImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dint border, GC3Denum format, GC3Denum type, const void* pixels)
{
m_impl->texImage2D(target, level, internalformat, width, height, border, format, type, pixels);
- return 0;
+ return true;
}
-DELEGATE_TO_IMPL_3(texParameterf, unsigned, unsigned, float)
-DELEGATE_TO_IMPL_3(texParameteri, unsigned, unsigned, int)
+DELEGATE_TO_IMPL_3(texParameterf, GC3Denum, GC3Denum, GC3Dfloat)
+DELEGATE_TO_IMPL_3(texParameteri, GC3Denum, GC3Denum, GC3Dint)
-int GraphicsContext3DInternal::texSubImage2D(unsigned target, unsigned level, unsigned xoffset, unsigned yoffset, unsigned width, unsigned height, unsigned format, unsigned type, void* pixels)
+void GraphicsContext3DInternal::texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, const void* pixels)
{
m_impl->texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
- return 0;
}
-DELEGATE_TO_IMPL_2(uniform1f, long, float)
+DELEGATE_TO_IMPL_2(uniform1f, GC3Dint, GC3Dfloat)
-void GraphicsContext3DInternal::uniform1fv(long location, float* v, int size)
+void GraphicsContext3DInternal::uniform1fv(GC3Dint location, GC3Dfloat* v, GC3Dsizei size)
{
m_impl->uniform1fv(location, size, v);
}
-DELEGATE_TO_IMPL_2(uniform1i, long, int)
+DELEGATE_TO_IMPL_2(uniform1i, GC3Dint, GC3Dint)
-void GraphicsContext3DInternal::uniform1iv(long location, int* v, int size)
+void GraphicsContext3DInternal::uniform1iv(GC3Dint location, GC3Dint* v, GC3Dsizei size)
{
m_impl->uniform1iv(location, size, v);
}
-DELEGATE_TO_IMPL_3(uniform2f, long, float, float)
+DELEGATE_TO_IMPL_3(uniform2f, GC3Dint, GC3Dfloat, GC3Dfloat)
-void GraphicsContext3DInternal::uniform2fv(long location, float* v, int size)
+void GraphicsContext3DInternal::uniform2fv(GC3Dint location, GC3Dfloat* v, GC3Dsizei size)
{
m_impl->uniform2fv(location, size, v);
}
-DELEGATE_TO_IMPL_3(uniform2i, long, int, int)
+DELEGATE_TO_IMPL_3(uniform2i, GC3Dint, GC3Dint, GC3Dint)
-void GraphicsContext3DInternal::uniform2iv(long location, int* v, int size)
+void GraphicsContext3DInternal::uniform2iv(GC3Dint location, GC3Dint* v, GC3Dsizei size)
{
m_impl->uniform2iv(location, size, v);
}
-DELEGATE_TO_IMPL_4(uniform3f, long, float, float, float)
+DELEGATE_TO_IMPL_4(uniform3f, GC3Dint, GC3Dfloat, GC3Dfloat, GC3Dfloat)
-void GraphicsContext3DInternal::uniform3fv(long location, float* v, int size)
+void GraphicsContext3DInternal::uniform3fv(GC3Dint location, GC3Dfloat* v, GC3Dsizei size)
{
m_impl->uniform3fv(location, size, v);
}
-DELEGATE_TO_IMPL_4(uniform3i, long, int, int, int)
+DELEGATE_TO_IMPL_4(uniform3i, GC3Dint, GC3Dint, GC3Dint, GC3Dint)
-void GraphicsContext3DInternal::uniform3iv(long location, int* v, int size)
+void GraphicsContext3DInternal::uniform3iv(GC3Dint location, GC3Dint* v, GC3Dsizei size)
{
m_impl->uniform3iv(location, size, v);
}
-DELEGATE_TO_IMPL_5(uniform4f, long, float, float, float, float)
+DELEGATE_TO_IMPL_5(uniform4f, GC3Dint, GC3Dfloat, GC3Dfloat, GC3Dfloat, GC3Dfloat)
-void GraphicsContext3DInternal::uniform4fv(long location, float* v, int size)
+void GraphicsContext3DInternal::uniform4fv(GC3Dint location, GC3Dfloat* v, GC3Dsizei size)
{
m_impl->uniform4fv(location, size, v);
}
-DELEGATE_TO_IMPL_5(uniform4i, long, int, int, int, int)
+DELEGATE_TO_IMPL_5(uniform4i, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dint)
-void GraphicsContext3DInternal::uniform4iv(long location, int* v, int size)
+void GraphicsContext3DInternal::uniform4iv(GC3Dint location, GC3Dint* v, GC3Dsizei size)
{
m_impl->uniform4iv(location, size, v);
}
-void GraphicsContext3DInternal::uniformMatrix2fv(long location, bool transpose, float* value, int size)
+void GraphicsContext3DInternal::uniformMatrix2fv(GC3Dint location, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei size)
{
m_impl->uniformMatrix2fv(location, size, transpose, value);
}
-void GraphicsContext3DInternal::uniformMatrix3fv(long location, bool transpose, float* value, int size)
+void GraphicsContext3DInternal::uniformMatrix3fv(GC3Dint location, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei size)
{
m_impl->uniformMatrix3fv(location, size, transpose, value);
}
-void GraphicsContext3DInternal::uniformMatrix4fv(long location, bool transpose, float* value, int size)
+void GraphicsContext3DInternal::uniformMatrix4fv(GC3Dint location, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei size)
{
m_impl->uniformMatrix4fv(location, size, transpose, value);
}
@@ -646,33 +650,33 @@ void GraphicsContext3DInternal::uniformMatrix4fv(long location, bool transpose,
DELEGATE_TO_IMPL_1(useProgram, Platform3DObject)
DELEGATE_TO_IMPL_1(validateProgram, Platform3DObject)
-DELEGATE_TO_IMPL_2(vertexAttrib1f, unsigned long, float)
-DELEGATE_TO_IMPL_2(vertexAttrib1fv, unsigned long, float*)
-DELEGATE_TO_IMPL_3(vertexAttrib2f, unsigned long, float, float)
-DELEGATE_TO_IMPL_2(vertexAttrib2fv, unsigned long, float*)
-DELEGATE_TO_IMPL_4(vertexAttrib3f, unsigned long, float, float, float)
-DELEGATE_TO_IMPL_2(vertexAttrib3fv, unsigned long, float*)
-DELEGATE_TO_IMPL_5(vertexAttrib4f, unsigned long, float, float, float, float)
-DELEGATE_TO_IMPL_2(vertexAttrib4fv, unsigned long, float*)
-DELEGATE_TO_IMPL_6(vertexAttribPointer, unsigned long, int, int, bool, unsigned long, unsigned long)
-
-DELEGATE_TO_IMPL_4(viewport, long, long, unsigned long, unsigned long)
-
-DELEGATE_TO_IMPL_R(createBuffer, unsigned)
-DELEGATE_TO_IMPL_R(createFramebuffer, unsigned)
-DELEGATE_TO_IMPL_R(createProgram, unsigned)
-DELEGATE_TO_IMPL_R(createRenderbuffer, unsigned)
-DELEGATE_TO_IMPL_1R(createShader, unsigned long, unsigned)
-DELEGATE_TO_IMPL_R(createTexture, unsigned)
-
-DELEGATE_TO_IMPL_1(deleteBuffer, unsigned)
-DELEGATE_TO_IMPL_1(deleteFramebuffer, unsigned)
-DELEGATE_TO_IMPL_1(deleteProgram, unsigned)
-DELEGATE_TO_IMPL_1(deleteRenderbuffer, unsigned)
-DELEGATE_TO_IMPL_1(deleteShader, unsigned)
-DELEGATE_TO_IMPL_1(deleteTexture, unsigned)
-
-DELEGATE_TO_IMPL_1(synthesizeGLError, unsigned long)
+DELEGATE_TO_IMPL_2(vertexAttrib1f, GC3Duint, GC3Dfloat)
+DELEGATE_TO_IMPL_2(vertexAttrib1fv, GC3Duint, GC3Dfloat*)
+DELEGATE_TO_IMPL_3(vertexAttrib2f, GC3Duint, GC3Dfloat, GC3Dfloat)
+DELEGATE_TO_IMPL_2(vertexAttrib2fv, GC3Duint, GC3Dfloat*)
+DELEGATE_TO_IMPL_4(vertexAttrib3f, GC3Duint, GC3Dfloat, GC3Dfloat, GC3Dfloat)
+DELEGATE_TO_IMPL_2(vertexAttrib3fv, GC3Duint, GC3Dfloat*)
+DELEGATE_TO_IMPL_5(vertexAttrib4f, GC3Duint, GC3Dfloat, GC3Dfloat, GC3Dfloat, GC3Dfloat)
+DELEGATE_TO_IMPL_2(vertexAttrib4fv, GC3Duint, GC3Dfloat*)
+DELEGATE_TO_IMPL_6(vertexAttribPointer, GC3Duint, GC3Dint, GC3Denum, GC3Dboolean, GC3Dsizei, GC3Dsizeiptr)
+
+DELEGATE_TO_IMPL_4(viewport, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei)
+
+DELEGATE_TO_IMPL_R(createBuffer, Platform3DObject)
+DELEGATE_TO_IMPL_R(createFramebuffer, Platform3DObject)
+DELEGATE_TO_IMPL_R(createProgram, Platform3DObject)
+DELEGATE_TO_IMPL_R(createRenderbuffer, Platform3DObject)
+DELEGATE_TO_IMPL_1R(createShader, GC3Denum, Platform3DObject)
+DELEGATE_TO_IMPL_R(createTexture, Platform3DObject)
+
+DELEGATE_TO_IMPL_1(deleteBuffer, Platform3DObject)
+DELEGATE_TO_IMPL_1(deleteFramebuffer, Platform3DObject)
+DELEGATE_TO_IMPL_1(deleteProgram, Platform3DObject)
+DELEGATE_TO_IMPL_1(deleteRenderbuffer, Platform3DObject)
+DELEGATE_TO_IMPL_1(deleteShader, Platform3DObject)
+DELEGATE_TO_IMPL_1(deleteTexture, Platform3DObject)
+
+DELEGATE_TO_IMPL_1(synthesizeGLError, GC3Denum)
Extensions3D* GraphicsContext3DInternal::getExtensions()
{
@@ -681,24 +685,61 @@ Extensions3D* GraphicsContext3DInternal::getExtensions()
return m_extensions.get();
}
-bool GraphicsContext3DInternal::supportsExtension(const String& name)
+namespace {
+
+void splitStringHelper(const String& str, HashSet<String>& set)
+{
+ Vector<String> substrings;
+ str.split(" ", substrings);
+ for (size_t i = 0; i < substrings.size(); ++i)
+ set.add(substrings[i]);
+}
+
+} // anonymous namespace
+
+void GraphicsContext3DInternal::initializeExtensions()
{
if (!m_initializedAvailableExtensions) {
String extensionsString = getString(GraphicsContext3D::EXTENSIONS);
- Vector<String> availableExtensions;
- extensionsString.split(" ", availableExtensions);
- for (size_t i = 0; i < availableExtensions.size(); ++i)
- m_availableExtensions.add(availableExtensions[i]);
+ splitStringHelper(extensionsString, m_enabledExtensions);
+
+ String requestableExtensionsString = m_impl->getRequestableExtensionsCHROMIUM();
+ splitStringHelper(requestableExtensionsString, m_requestableExtensions);
+
m_initializedAvailableExtensions = true;
}
- return m_availableExtensions.contains(name);
}
-DELEGATE_TO_IMPL_4R(mapBufferSubDataCHROMIUM, unsigned, int, int, unsigned, void*)
+
+bool GraphicsContext3DInternal::supportsExtension(const String& name)
+{
+ initializeExtensions();
+ return m_enabledExtensions.contains(name) || m_requestableExtensions.contains(name);
+}
+
+bool GraphicsContext3DInternal::ensureExtensionEnabled(const String& name)
+{
+ initializeExtensions();
+
+ if (m_enabledExtensions.contains(name))
+ return true;
+
+ if (m_requestableExtensions.contains(name)) {
+ m_impl->requestExtensionCHROMIUM(name.ascii().data());
+ m_enabledExtensions.clear();
+ m_requestableExtensions.clear();
+ m_initializedAvailableExtensions = false;
+ }
+
+ initializeExtensions();
+ return m_enabledExtensions.contains(name);
+}
+
+DELEGATE_TO_IMPL_4R(mapBufferSubDataCHROMIUM, GC3Denum, GC3Dsizeiptr, GC3Dsizei, GC3Denum, void*)
DELEGATE_TO_IMPL_1(unmapBufferSubDataCHROMIUM, const void*)
-DELEGATE_TO_IMPL_9R(mapTexSubImage2DCHROMIUM, unsigned, int, int, int, int, int, unsigned, unsigned, unsigned, void*)
+DELEGATE_TO_IMPL_9R(mapTexSubImage2DCHROMIUM, GC3Denum, GC3Dint, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei, GC3Denum, GC3Denum, GC3Denum, void*)
DELEGATE_TO_IMPL_1(unmapTexSubImage2DCHROMIUM, const void*)
-DELEGATE_TO_IMPL_2(copyTextureToParentTextureCHROMIUM, unsigned, unsigned)
+DELEGATE_TO_IMPL_2(copyTextureToParentTextureCHROMIUM, Platform3DObject, Platform3DObject)
//----------------------------------------------------------------------
// GraphicsContext3D
@@ -803,6 +844,12 @@ void GraphicsContext3D::name(t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6, t7 a7, t8
m_internal->name(a1, a2, a3, a4, a5, a6, a7, a8); \
}
+#define DELEGATE_TO_INTERNAL_9(name, t1, t2, t3, t4, t5, t6, t7, t8, t9) \
+void GraphicsContext3D::name(t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6, t7 a7, t8 a8, t9 a9) \
+{ \
+ m_internal->name(a1, a2, a3, a4, a5, a6, a7, a8, a9); \
+}
+
#define DELEGATE_TO_INTERNAL_9R(name, t1, t2, t3, t4, t5, t6, t7, t8, t9, rt) \
rt GraphicsContext3D::name(t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6, t7 a7, t8 a8, t9 a9) \
{ \
@@ -853,169 +900,150 @@ PlatformLayer* GraphicsContext3D::platformLayer() const
#endif
DELEGATE_TO_INTERNAL(makeContextCurrent)
-DELEGATE_TO_INTERNAL_1R(sizeInBytes, int, int)
+DELEGATE_TO_INTERNAL_1R(sizeInBytes, GC3Denum, unsigned int)
DELEGATE_TO_INTERNAL_2(reshape, int, int)
+DELEGATE_TO_INTERNAL_R(getInternalFramebufferSize, IntSize)
-DELEGATE_TO_INTERNAL_1(activeTexture, unsigned long)
+DELEGATE_TO_INTERNAL_1(activeTexture, GC3Denum)
DELEGATE_TO_INTERNAL_2(attachShader, Platform3DObject, Platform3DObject)
-DELEGATE_TO_INTERNAL_3(bindAttribLocation, Platform3DObject, unsigned long, const String&)
-
-DELEGATE_TO_INTERNAL_2(bindBuffer, unsigned long, Platform3DObject)
-DELEGATE_TO_INTERNAL_2(bindFramebuffer, unsigned long, Platform3DObject)
-DELEGATE_TO_INTERNAL_2(bindRenderbuffer, unsigned long, Platform3DObject)
-DELEGATE_TO_INTERNAL_2(bindTexture, unsigned long, Platform3DObject)
-DELEGATE_TO_INTERNAL_4(blendColor, double, double, double, double)
-DELEGATE_TO_INTERNAL_1(blendEquation, unsigned long)
-DELEGATE_TO_INTERNAL_2(blendEquationSeparate, unsigned long, unsigned long)
-DELEGATE_TO_INTERNAL_2(blendFunc, unsigned long, unsigned long)
-DELEGATE_TO_INTERNAL_4(blendFuncSeparate, unsigned long, unsigned long, unsigned long, unsigned long)
-
-DELEGATE_TO_INTERNAL_3(bufferData, unsigned long, int, unsigned long)
-DELEGATE_TO_INTERNAL_4(bufferData, unsigned long, int, const void*, unsigned long)
-DELEGATE_TO_INTERNAL_4(bufferSubData, unsigned long, long, int, const void*)
-
-DELEGATE_TO_INTERNAL_1R(checkFramebufferStatus, unsigned long, unsigned long)
-DELEGATE_TO_INTERNAL_1(clear, unsigned long)
-DELEGATE_TO_INTERNAL_4(clearColor, double, double, double, double)
-DELEGATE_TO_INTERNAL_1(clearDepth, double)
-DELEGATE_TO_INTERNAL_1(clearStencil, long)
-DELEGATE_TO_INTERNAL_4(colorMask, bool, bool, bool, bool)
+DELEGATE_TO_INTERNAL_3(bindAttribLocation, Platform3DObject, GC3Duint, const String&)
+
+DELEGATE_TO_INTERNAL_2(bindBuffer, GC3Denum, Platform3DObject)
+DELEGATE_TO_INTERNAL_2(bindFramebuffer, GC3Denum, Platform3DObject)
+DELEGATE_TO_INTERNAL_2(bindRenderbuffer, GC3Denum, Platform3DObject)
+DELEGATE_TO_INTERNAL_2(bindTexture, GC3Denum, Platform3DObject)
+DELEGATE_TO_INTERNAL_4(blendColor, GC3Dclampf, GC3Dclampf, GC3Dclampf, GC3Dclampf)
+DELEGATE_TO_INTERNAL_1(blendEquation, GC3Denum)
+DELEGATE_TO_INTERNAL_2(blendEquationSeparate, GC3Denum, GC3Denum)
+DELEGATE_TO_INTERNAL_2(blendFunc, GC3Denum, GC3Denum)
+DELEGATE_TO_INTERNAL_4(blendFuncSeparate, GC3Denum, GC3Denum, GC3Denum, GC3Denum)
+
+DELEGATE_TO_INTERNAL_3(bufferData, GC3Denum, GC3Dsizeiptr, GC3Denum)
+DELEGATE_TO_INTERNAL_4(bufferData, GC3Denum, GC3Dsizeiptr, const void*, GC3Denum)
+DELEGATE_TO_INTERNAL_4(bufferSubData, GC3Denum, GC3Dintptr, GC3Dsizeiptr, const void*)
+
+DELEGATE_TO_INTERNAL_1R(checkFramebufferStatus, GC3Denum, GC3Denum)
+DELEGATE_TO_INTERNAL_1(clear, GC3Dbitfield)
+DELEGATE_TO_INTERNAL_4(clearColor, GC3Dclampf, GC3Dclampf, GC3Dclampf, GC3Dclampf)
+DELEGATE_TO_INTERNAL_1(clearDepth, GC3Dclampf)
+DELEGATE_TO_INTERNAL_1(clearStencil, GC3Dint)
+DELEGATE_TO_INTERNAL_4(colorMask, GC3Dboolean, GC3Dboolean, GC3Dboolean, GC3Dboolean)
DELEGATE_TO_INTERNAL_1(compileShader, Platform3DObject)
-DELEGATE_TO_INTERNAL_8(copyTexImage2D, unsigned long, long, unsigned long, long, long, unsigned long, unsigned long, long)
-DELEGATE_TO_INTERNAL_8(copyTexSubImage2D, unsigned long, long, long, long, long, long, unsigned long, unsigned long)
-DELEGATE_TO_INTERNAL_1(cullFace, unsigned long)
-DELEGATE_TO_INTERNAL_1(depthFunc, unsigned long)
-DELEGATE_TO_INTERNAL_1(depthMask, bool)
-DELEGATE_TO_INTERNAL_2(depthRange, double, double)
+DELEGATE_TO_INTERNAL_8(copyTexImage2D, GC3Denum, GC3Dint, GC3Denum, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei, GC3Dint)
+DELEGATE_TO_INTERNAL_8(copyTexSubImage2D, GC3Denum, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei)
+DELEGATE_TO_INTERNAL_1(cullFace, GC3Denum)
+DELEGATE_TO_INTERNAL_1(depthFunc, GC3Denum)
+DELEGATE_TO_INTERNAL_1(depthMask, GC3Dboolean)
+DELEGATE_TO_INTERNAL_2(depthRange, GC3Dclampf, GC3Dclampf)
DELEGATE_TO_INTERNAL_2(detachShader, Platform3DObject, Platform3DObject)
-DELEGATE_TO_INTERNAL_1(disable, unsigned long)
-DELEGATE_TO_INTERNAL_1(disableVertexAttribArray, unsigned long)
-DELEGATE_TO_INTERNAL_3(drawArrays, unsigned long, long, long)
-DELEGATE_TO_INTERNAL_4(drawElements, unsigned long, unsigned long, unsigned long, long)
+DELEGATE_TO_INTERNAL_1(disable, GC3Denum)
+DELEGATE_TO_INTERNAL_1(disableVertexAttribArray, GC3Duint)
+DELEGATE_TO_INTERNAL_3(drawArrays, GC3Denum, GC3Dint, GC3Dsizei)
+DELEGATE_TO_INTERNAL_4(drawElements, GC3Denum, GC3Dsizei, GC3Denum, GC3Dintptr)
-DELEGATE_TO_INTERNAL_1(enable, unsigned long)
-DELEGATE_TO_INTERNAL_1(enableVertexAttribArray, unsigned long)
+DELEGATE_TO_INTERNAL_1(enable, GC3Denum)
+DELEGATE_TO_INTERNAL_1(enableVertexAttribArray, GC3Duint)
DELEGATE_TO_INTERNAL(finish)
DELEGATE_TO_INTERNAL(flush)
-DELEGATE_TO_INTERNAL_4(framebufferRenderbuffer, unsigned long, unsigned long, unsigned long, Platform3DObject)
-DELEGATE_TO_INTERNAL_5(framebufferTexture2D, unsigned long, unsigned long, unsigned long, Platform3DObject, long)
-DELEGATE_TO_INTERNAL_1(frontFace, unsigned long)
-DELEGATE_TO_INTERNAL_1(generateMipmap, unsigned long)
-
-DELEGATE_TO_INTERNAL_3R(getActiveAttrib, Platform3DObject, unsigned long, ActiveInfo&, bool)
-DELEGATE_TO_INTERNAL_3R(getActiveUniform, Platform3DObject, unsigned long, ActiveInfo&, bool)
-
-DELEGATE_TO_INTERNAL_4(getAttachedShaders, Platform3DObject, int, int*, unsigned int*)
-
-DELEGATE_TO_INTERNAL_2R(getAttribLocation, Platform3DObject, const String&, int)
-
-DELEGATE_TO_INTERNAL_2(getBooleanv, unsigned long, unsigned char*)
-
-DELEGATE_TO_INTERNAL_3(getBufferParameteriv, unsigned long, unsigned long, int*)
-
+DELEGATE_TO_INTERNAL_4(framebufferRenderbuffer, GC3Denum, GC3Denum, GC3Denum, Platform3DObject)
+DELEGATE_TO_INTERNAL_5(framebufferTexture2D, GC3Denum, GC3Denum, GC3Denum, Platform3DObject, GC3Dint)
+DELEGATE_TO_INTERNAL_1(frontFace, GC3Denum)
+DELEGATE_TO_INTERNAL_1(generateMipmap, GC3Denum)
+
+DELEGATE_TO_INTERNAL_3R(getActiveAttrib, Platform3DObject, GC3Duint, ActiveInfo&, bool)
+DELEGATE_TO_INTERNAL_3R(getActiveUniform, Platform3DObject, GC3Duint, ActiveInfo&, bool)
+DELEGATE_TO_INTERNAL_4(getAttachedShaders, Platform3DObject, GC3Dsizei, GC3Dsizei*, Platform3DObject*)
+DELEGATE_TO_INTERNAL_2R(getAttribLocation, Platform3DObject, const String&, GC3Dint)
+DELEGATE_TO_INTERNAL_2(getBooleanv, GC3Denum, GC3Dboolean*)
+DELEGATE_TO_INTERNAL_3(getBufferParameteriv, GC3Denum, GC3Denum, GC3Dint*)
DELEGATE_TO_INTERNAL_R(getContextAttributes, GraphicsContext3D::Attributes)
-
-DELEGATE_TO_INTERNAL_R(getError, unsigned long)
-
-DELEGATE_TO_INTERNAL_2(getFloatv, unsigned long, float*)
-
-DELEGATE_TO_INTERNAL_4(getFramebufferAttachmentParameteriv, unsigned long, unsigned long, unsigned long, int*)
-
-DELEGATE_TO_INTERNAL_2(getIntegerv, unsigned long, int*)
-
-DELEGATE_TO_INTERNAL_3(getProgramiv, Platform3DObject, unsigned long, int*)
-
+DELEGATE_TO_INTERNAL_R(getError, GC3Denum)
+DELEGATE_TO_INTERNAL_2(getFloatv, GC3Denum, GC3Dfloat*)
+DELEGATE_TO_INTERNAL_4(getFramebufferAttachmentParameteriv, GC3Denum, GC3Denum, GC3Denum, GC3Dint*)
+DELEGATE_TO_INTERNAL_2(getIntegerv, GC3Denum, GC3Dint*)
+DELEGATE_TO_INTERNAL_3(getProgramiv, Platform3DObject, GC3Denum, GC3Dint*)
DELEGATE_TO_INTERNAL_1R(getProgramInfoLog, Platform3DObject, String)
-
-DELEGATE_TO_INTERNAL_3(getRenderbufferParameteriv, unsigned long, unsigned long, int*)
-
-DELEGATE_TO_INTERNAL_3(getShaderiv, Platform3DObject, unsigned long, int*)
-
+DELEGATE_TO_INTERNAL_3(getRenderbufferParameteriv, GC3Denum, GC3Denum, GC3Dint*)
+DELEGATE_TO_INTERNAL_3(getShaderiv, Platform3DObject, GC3Denum, GC3Dint*)
DELEGATE_TO_INTERNAL_1R(getShaderInfoLog, Platform3DObject, String)
-
DELEGATE_TO_INTERNAL_1R(getShaderSource, Platform3DObject, String)
-DELEGATE_TO_INTERNAL_1R(getString, unsigned long, String)
-
-DELEGATE_TO_INTERNAL_3(getTexParameterfv, unsigned long, unsigned long, float*)
-DELEGATE_TO_INTERNAL_3(getTexParameteriv, unsigned long, unsigned long, int*)
-
-DELEGATE_TO_INTERNAL_3(getUniformfv, Platform3DObject, long, float*)
-DELEGATE_TO_INTERNAL_3(getUniformiv, Platform3DObject, long, int*)
-
-DELEGATE_TO_INTERNAL_2R(getUniformLocation, Platform3DObject, const String&, long)
-
-DELEGATE_TO_INTERNAL_3(getVertexAttribfv, unsigned long, unsigned long, float*)
-DELEGATE_TO_INTERNAL_3(getVertexAttribiv, unsigned long, unsigned long, int*)
-
-DELEGATE_TO_INTERNAL_2R(getVertexAttribOffset, unsigned long, unsigned long, long)
-
-DELEGATE_TO_INTERNAL_2(hint, unsigned long, unsigned long)
-DELEGATE_TO_INTERNAL_1R(isBuffer, Platform3DObject, bool)
-DELEGATE_TO_INTERNAL_1R(isEnabled, unsigned long, bool)
-DELEGATE_TO_INTERNAL_1R(isFramebuffer, Platform3DObject, bool)
-DELEGATE_TO_INTERNAL_1R(isProgram, Platform3DObject, bool)
-DELEGATE_TO_INTERNAL_1R(isRenderbuffer, Platform3DObject, bool)
-DELEGATE_TO_INTERNAL_1R(isShader, Platform3DObject, bool)
-DELEGATE_TO_INTERNAL_1R(isTexture, Platform3DObject, bool)
-DELEGATE_TO_INTERNAL_1(lineWidth, double)
+DELEGATE_TO_INTERNAL_1R(getString, GC3Denum, String)
+DELEGATE_TO_INTERNAL_3(getTexParameterfv, GC3Denum, GC3Denum, GC3Dfloat*)
+DELEGATE_TO_INTERNAL_3(getTexParameteriv, GC3Denum, GC3Denum, GC3Dint*)
+DELEGATE_TO_INTERNAL_3(getUniformfv, Platform3DObject, GC3Dint, GC3Dfloat*)
+DELEGATE_TO_INTERNAL_3(getUniformiv, Platform3DObject, GC3Dint, GC3Dint*)
+DELEGATE_TO_INTERNAL_2R(getUniformLocation, Platform3DObject, const String&, GC3Dint)
+DELEGATE_TO_INTERNAL_3(getVertexAttribfv, GC3Duint, GC3Denum, GC3Dfloat*)
+DELEGATE_TO_INTERNAL_3(getVertexAttribiv, GC3Duint, GC3Denum, GC3Dint*)
+DELEGATE_TO_INTERNAL_2R(getVertexAttribOffset, GC3Duint, GC3Denum, GC3Dsizeiptr)
+
+DELEGATE_TO_INTERNAL_2(hint, GC3Denum, GC3Denum)
+DELEGATE_TO_INTERNAL_1R(isBuffer, Platform3DObject, GC3Dboolean)
+DELEGATE_TO_INTERNAL_1R(isEnabled, GC3Denum, GC3Dboolean)
+DELEGATE_TO_INTERNAL_1R(isFramebuffer, Platform3DObject, GC3Dboolean)
+DELEGATE_TO_INTERNAL_1R(isProgram, Platform3DObject, GC3Dboolean)
+DELEGATE_TO_INTERNAL_1R(isRenderbuffer, Platform3DObject, GC3Dboolean)
+DELEGATE_TO_INTERNAL_1R(isShader, Platform3DObject, GC3Dboolean)
+DELEGATE_TO_INTERNAL_1R(isTexture, Platform3DObject, GC3Dboolean)
+DELEGATE_TO_INTERNAL_1(lineWidth, GC3Dfloat)
DELEGATE_TO_INTERNAL_1(linkProgram, Platform3DObject)
-DELEGATE_TO_INTERNAL_2(pixelStorei, unsigned long, long)
-DELEGATE_TO_INTERNAL_2(polygonOffset, double, double)
+DELEGATE_TO_INTERNAL_2(pixelStorei, GC3Denum, GC3Dint)
+DELEGATE_TO_INTERNAL_2(polygonOffset, GC3Dfloat, GC3Dfloat)
-DELEGATE_TO_INTERNAL_7(readPixels, long, long, unsigned long, unsigned long, unsigned long, unsigned long, void*)
+DELEGATE_TO_INTERNAL_7(readPixels, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei, GC3Denum, GC3Denum, void*)
DELEGATE_TO_INTERNAL(releaseShaderCompiler)
-DELEGATE_TO_INTERNAL_4(renderbufferStorage, unsigned long, unsigned long, unsigned long, unsigned long)
-DELEGATE_TO_INTERNAL_2(sampleCoverage, double, bool)
-DELEGATE_TO_INTERNAL_4(scissor, long, long, unsigned long, unsigned long)
+DELEGATE_TO_INTERNAL_4(renderbufferStorage, GC3Denum, GC3Denum, GC3Dsizei, GC3Dsizei)
+DELEGATE_TO_INTERNAL_2(sampleCoverage, GC3Dclampf, GC3Dboolean)
+DELEGATE_TO_INTERNAL_4(scissor, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei)
DELEGATE_TO_INTERNAL_2(shaderSource, Platform3DObject, const String&)
-DELEGATE_TO_INTERNAL_3(stencilFunc, unsigned long, long, unsigned long)
-DELEGATE_TO_INTERNAL_4(stencilFuncSeparate, unsigned long, unsigned long, long, unsigned long)
-DELEGATE_TO_INTERNAL_1(stencilMask, unsigned long)
-DELEGATE_TO_INTERNAL_2(stencilMaskSeparate, unsigned long, unsigned long)
-DELEGATE_TO_INTERNAL_3(stencilOp, unsigned long, unsigned long, unsigned long)
-DELEGATE_TO_INTERNAL_4(stencilOpSeparate, unsigned long, unsigned long, unsigned long, unsigned long)
-
-DELEGATE_TO_INTERNAL_9R(texImage2D, unsigned, unsigned, unsigned, unsigned, unsigned, unsigned, unsigned, unsigned, void*, int)
-DELEGATE_TO_INTERNAL_3(texParameterf, unsigned, unsigned, float)
-DELEGATE_TO_INTERNAL_3(texParameteri, unsigned, unsigned, int)
-DELEGATE_TO_INTERNAL_9R(texSubImage2D, unsigned, unsigned, unsigned, unsigned, unsigned, unsigned, unsigned, unsigned, void*, int)
-
-DELEGATE_TO_INTERNAL_2(uniform1f, long, float)
-DELEGATE_TO_INTERNAL_3(uniform1fv, long, float*, int)
-DELEGATE_TO_INTERNAL_2(uniform1i, long, int)
-DELEGATE_TO_INTERNAL_3(uniform1iv, long, int*, int)
-DELEGATE_TO_INTERNAL_3(uniform2f, long, float, float)
-DELEGATE_TO_INTERNAL_3(uniform2fv, long, float*, int)
-DELEGATE_TO_INTERNAL_3(uniform2i, long, int, int)
-DELEGATE_TO_INTERNAL_3(uniform2iv, long, int*, int)
-DELEGATE_TO_INTERNAL_4(uniform3f, long, float, float, float)
-DELEGATE_TO_INTERNAL_3(uniform3fv, long, float*, int)
-DELEGATE_TO_INTERNAL_4(uniform3i, long, int, int, int)
-DELEGATE_TO_INTERNAL_3(uniform3iv, long, int*, int)
-DELEGATE_TO_INTERNAL_5(uniform4f, long, float, float, float, float)
-DELEGATE_TO_INTERNAL_3(uniform4fv, long, float*, int)
-DELEGATE_TO_INTERNAL_5(uniform4i, long, int, int, int, int)
-DELEGATE_TO_INTERNAL_3(uniform4iv, long, int*, int)
-DELEGATE_TO_INTERNAL_4(uniformMatrix2fv, long, bool, float*, int)
-DELEGATE_TO_INTERNAL_4(uniformMatrix3fv, long, bool, float*, int)
-DELEGATE_TO_INTERNAL_4(uniformMatrix4fv, long, bool, float*, int)
+DELEGATE_TO_INTERNAL_3(stencilFunc, GC3Denum, GC3Dint, GC3Duint)
+DELEGATE_TO_INTERNAL_4(stencilFuncSeparate, GC3Denum, GC3Denum, GC3Dint, GC3Duint)
+DELEGATE_TO_INTERNAL_1(stencilMask, GC3Duint)
+DELEGATE_TO_INTERNAL_2(stencilMaskSeparate, GC3Denum, GC3Duint)
+DELEGATE_TO_INTERNAL_3(stencilOp, GC3Denum, GC3Denum, GC3Denum)
+DELEGATE_TO_INTERNAL_4(stencilOpSeparate, GC3Denum, GC3Denum, GC3Denum, GC3Denum)
+
+DELEGATE_TO_INTERNAL_9R(texImage2D, GC3Denum, GC3Dint, GC3Denum, GC3Dsizei, GC3Dsizei, GC3Dint, GC3Denum, GC3Denum, const void*, bool)
+DELEGATE_TO_INTERNAL_3(texParameterf, GC3Denum, GC3Denum, GC3Dfloat)
+DELEGATE_TO_INTERNAL_3(texParameteri, GC3Denum, GC3Denum, GC3Dint)
+DELEGATE_TO_INTERNAL_9(texSubImage2D, GC3Denum, GC3Dint, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei, GC3Denum, GC3Denum, const void*)
+
+DELEGATE_TO_INTERNAL_2(uniform1f, GC3Dint, GC3Dfloat)
+DELEGATE_TO_INTERNAL_3(uniform1fv, GC3Dint, GC3Dfloat*, GC3Dsizei)
+DELEGATE_TO_INTERNAL_2(uniform1i, GC3Dint, GC3Dint)
+DELEGATE_TO_INTERNAL_3(uniform1iv, GC3Dint, GC3Dint*, GC3Dsizei)
+DELEGATE_TO_INTERNAL_3(uniform2f, GC3Dint, GC3Dfloat, GC3Dfloat)
+DELEGATE_TO_INTERNAL_3(uniform2fv, GC3Dint, GC3Dfloat*, GC3Dsizei)
+DELEGATE_TO_INTERNAL_3(uniform2i, GC3Dint, GC3Dint, GC3Dint)
+DELEGATE_TO_INTERNAL_3(uniform2iv, GC3Dint, GC3Dint*, GC3Dsizei)
+DELEGATE_TO_INTERNAL_4(uniform3f, GC3Dint, GC3Dfloat, GC3Dfloat, GC3Dfloat)
+DELEGATE_TO_INTERNAL_3(uniform3fv, GC3Dint, GC3Dfloat*, GC3Dsizei)
+DELEGATE_TO_INTERNAL_4(uniform3i, GC3Dint, GC3Dint, GC3Dint, GC3Dint)
+DELEGATE_TO_INTERNAL_3(uniform3iv, GC3Dint, GC3Dint*, GC3Dsizei)
+DELEGATE_TO_INTERNAL_5(uniform4f, GC3Dint, GC3Dfloat, GC3Dfloat, GC3Dfloat, GC3Dfloat)
+DELEGATE_TO_INTERNAL_3(uniform4fv, GC3Dint, GC3Dfloat*, GC3Dsizei)
+DELEGATE_TO_INTERNAL_5(uniform4i, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dint)
+DELEGATE_TO_INTERNAL_3(uniform4iv, GC3Dint, GC3Dint*, GC3Dsizei)
+DELEGATE_TO_INTERNAL_4(uniformMatrix2fv, GC3Dint, GC3Dboolean, GC3Dfloat*, GC3Dsizei)
+DELEGATE_TO_INTERNAL_4(uniformMatrix3fv, GC3Dint, GC3Dboolean, GC3Dfloat*, GC3Dsizei)
+DELEGATE_TO_INTERNAL_4(uniformMatrix4fv, GC3Dint, GC3Dboolean, GC3Dfloat*, GC3Dsizei)
DELEGATE_TO_INTERNAL_1(useProgram, Platform3DObject)
DELEGATE_TO_INTERNAL_1(validateProgram, Platform3DObject)
-DELEGATE_TO_INTERNAL_2(vertexAttrib1f, unsigned long, float)
-DELEGATE_TO_INTERNAL_2(vertexAttrib1fv, unsigned long, float*)
-DELEGATE_TO_INTERNAL_3(vertexAttrib2f, unsigned long, float, float)
-DELEGATE_TO_INTERNAL_2(vertexAttrib2fv, unsigned long, float*)
-DELEGATE_TO_INTERNAL_4(vertexAttrib3f, unsigned long, float, float, float)
-DELEGATE_TO_INTERNAL_2(vertexAttrib3fv, unsigned long, float*)
-DELEGATE_TO_INTERNAL_5(vertexAttrib4f, unsigned long, float, float, float, float)
-DELEGATE_TO_INTERNAL_2(vertexAttrib4fv, unsigned long, float*)
-DELEGATE_TO_INTERNAL_6(vertexAttribPointer, unsigned long, int, int, bool, unsigned long, unsigned long)
+DELEGATE_TO_INTERNAL_2(vertexAttrib1f, GC3Duint, GC3Dfloat)
+DELEGATE_TO_INTERNAL_2(vertexAttrib1fv, GC3Duint, GC3Dfloat*)
+DELEGATE_TO_INTERNAL_3(vertexAttrib2f, GC3Duint, GC3Dfloat, GC3Dfloat)
+DELEGATE_TO_INTERNAL_2(vertexAttrib2fv, GC3Duint, GC3Dfloat*)
+DELEGATE_TO_INTERNAL_4(vertexAttrib3f, GC3Duint, GC3Dfloat, GC3Dfloat, GC3Dfloat)
+DELEGATE_TO_INTERNAL_2(vertexAttrib3fv, GC3Duint, GC3Dfloat*)
+DELEGATE_TO_INTERNAL_5(vertexAttrib4f, GC3Duint, GC3Dfloat, GC3Dfloat, GC3Dfloat, GC3Dfloat)
+DELEGATE_TO_INTERNAL_2(vertexAttrib4fv, GC3Duint, GC3Dfloat*)
+DELEGATE_TO_INTERNAL_6(vertexAttribPointer, GC3Duint, GC3Dint, GC3Denum, GC3Dboolean, GC3Dsizei, GC3Dintptr)
-DELEGATE_TO_INTERNAL_4(viewport, long, long, unsigned long, unsigned long)
+DELEGATE_TO_INTERNAL_4(viewport, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei)
DELEGATE_TO_INTERNAL_1(paintRenderingResultsToCanvas, CanvasRenderingContext*)
@@ -1024,21 +1052,21 @@ bool GraphicsContext3D::paintsIntoCanvasBuffer() const
return m_internal->paintsIntoCanvasBuffer();
}
-DELEGATE_TO_INTERNAL_R(createBuffer, unsigned)
-DELEGATE_TO_INTERNAL_R(createFramebuffer, unsigned)
-DELEGATE_TO_INTERNAL_R(createProgram, unsigned)
-DELEGATE_TO_INTERNAL_R(createRenderbuffer, unsigned)
-DELEGATE_TO_INTERNAL_1R(createShader, unsigned long, unsigned)
-DELEGATE_TO_INTERNAL_R(createTexture, unsigned)
+DELEGATE_TO_INTERNAL_R(createBuffer, Platform3DObject)
+DELEGATE_TO_INTERNAL_R(createFramebuffer, Platform3DObject)
+DELEGATE_TO_INTERNAL_R(createProgram, Platform3DObject)
+DELEGATE_TO_INTERNAL_R(createRenderbuffer, Platform3DObject)
+DELEGATE_TO_INTERNAL_1R(createShader, GC3Denum, Platform3DObject)
+DELEGATE_TO_INTERNAL_R(createTexture, Platform3DObject)
-DELEGATE_TO_INTERNAL_1(deleteBuffer, unsigned)
-DELEGATE_TO_INTERNAL_1(deleteFramebuffer, unsigned)
-DELEGATE_TO_INTERNAL_1(deleteProgram, unsigned)
-DELEGATE_TO_INTERNAL_1(deleteRenderbuffer, unsigned)
-DELEGATE_TO_INTERNAL_1(deleteShader, unsigned)
-DELEGATE_TO_INTERNAL_1(deleteTexture, unsigned)
+DELEGATE_TO_INTERNAL_1(deleteBuffer, Platform3DObject)
+DELEGATE_TO_INTERNAL_1(deleteFramebuffer, Platform3DObject)
+DELEGATE_TO_INTERNAL_1(deleteProgram, Platform3DObject)
+DELEGATE_TO_INTERNAL_1(deleteRenderbuffer, Platform3DObject)
+DELEGATE_TO_INTERNAL_1(deleteShader, Platform3DObject)
+DELEGATE_TO_INTERNAL_1(deleteTexture, Platform3DObject)
-DELEGATE_TO_INTERNAL_1(synthesizeGLError, unsigned long)
+DELEGATE_TO_INTERNAL_1(synthesizeGLError, GC3Denum)
DELEGATE_TO_INTERNAL_R(getExtensions, Extensions3D*)
bool GraphicsContext3D::isGLES2Compliant() const
diff --git a/WebKit/chromium/src/GraphicsContext3DInternal.h b/WebKit/chromium/src/GraphicsContext3DInternal.h
index 220cbb8..30a8e57 100644
--- a/WebKit/chromium/src/GraphicsContext3DInternal.h
+++ b/WebKit/chromium/src/GraphicsContext3DInternal.h
@@ -62,9 +62,10 @@ public:
bool makeContextCurrent();
- int sizeInBytes(int type);
+ unsigned int sizeInBytes(GC3Denum type);
void reshape(int width, int height);
+ IntSize getInternalFramebufferSize();
void paintRenderingResultsToCanvas(CanvasRenderingContext*);
bool paintsIntoCanvasBuffer() const;
@@ -76,216 +77,196 @@ public:
#endif
bool isGLES2Compliant() const;
+ void releaseShaderCompiler();
+ bool isContextLost();
+
//----------------------------------------------------------------------
// Entry points for WebGL.
//
- void activeTexture(unsigned long texture);
+ void activeTexture(GC3Denum texture);
void attachShader(Platform3DObject program, Platform3DObject shader);
- void bindAttribLocation(Platform3DObject, unsigned long index, const String& name);
- void bindBuffer(unsigned long target, Platform3DObject);
- void bindFramebuffer(unsigned long target, Platform3DObject);
- void bindRenderbuffer(unsigned long target, Platform3DObject);
- void bindTexture(unsigned long target, Platform3DObject texture);
- void blendColor(double red, double green, double blue, double alpha);
- void blendEquation(unsigned long mode);
- void blendEquationSeparate(unsigned long modeRGB, unsigned long modeAlpha);
- void blendFunc(unsigned long sfactor, unsigned long dfactor);
- void blendFuncSeparate(unsigned long srcRGB, unsigned long dstRGB, unsigned long srcAlpha, unsigned long dstAlpha);
-
- void bufferData(unsigned long target, int size, unsigned long usage);
- void bufferData(unsigned long target, int size, const void* data, unsigned long usage);
- void bufferSubData(unsigned long target, long offset, int size, const void* data);
-
- unsigned long checkFramebufferStatus(unsigned long target);
- void clear(unsigned long mask);
- void clearColor(double red, double green, double blue, double alpha);
- void clearDepth(double depth);
- void clearStencil(long s);
- void colorMask(bool red, bool green, bool blue, bool alpha);
+ void bindAttribLocation(Platform3DObject, GC3Duint index, const String& name);
+ void bindBuffer(GC3Denum target, Platform3DObject);
+ void bindFramebuffer(GC3Denum target, Platform3DObject);
+ void bindRenderbuffer(GC3Denum target, Platform3DObject);
+ void bindTexture(GC3Denum target, Platform3DObject);
+ void blendColor(GC3Dclampf red, GC3Dclampf green, GC3Dclampf blue, GC3Dclampf alpha);
+ void blendEquation(GC3Denum mode);
+ void blendEquationSeparate(GC3Denum modeRGB, GC3Denum modeAlpha);
+ void blendFunc(GC3Denum sfactor, GC3Denum dfactor);
+ void blendFuncSeparate(GC3Denum srcRGB, GC3Denum dstRGB, GC3Denum srcAlpha, GC3Denum dstAlpha);
+
+ void bufferData(GC3Denum target, GC3Dsizeiptr size, GC3Denum usage);
+ void bufferData(GC3Denum target, GC3Dsizeiptr size, const void* data, GC3Denum usage);
+ void bufferSubData(GC3Denum target, GC3Dintptr offset, GC3Dsizeiptr size, const void* data);
+
+ GC3Denum checkFramebufferStatus(GC3Denum target);
+ void clear(GC3Dbitfield mask);
+ void clearColor(GC3Dclampf red, GC3Dclampf green, GC3Dclampf blue, GC3Dclampf alpha);
+ void clearDepth(GC3Dclampf depth);
+ void clearStencil(GC3Dint s);
+ void colorMask(GC3Dboolean red, GC3Dboolean green, GC3Dboolean blue, GC3Dboolean alpha);
void compileShader(Platform3DObject);
- void copyTexImage2D(unsigned long target, long level, unsigned long internalformat, long x, long y, unsigned long width, unsigned long height, long border);
- void copyTexSubImage2D(unsigned long target, long level, long xoffset, long yoffset, long x, long y, unsigned long width, unsigned long height);
- void cullFace(unsigned long mode);
- void depthFunc(unsigned long func);
- void depthMask(bool flag);
- void depthRange(double zNear, double zFar);
+ void copyTexImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height, GC3Dint border);
+ void copyTexSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height);
+ void cullFace(GC3Denum mode);
+ void depthFunc(GC3Denum func);
+ void depthMask(GC3Dboolean flag);
+ void depthRange(GC3Dclampf zNear, GC3Dclampf zFar);
void detachShader(Platform3DObject, Platform3DObject);
- void disable(unsigned long cap);
- void disableVertexAttribArray(unsigned long index);
- void drawArrays(unsigned long mode, long first, long count);
- void drawElements(unsigned long mode, unsigned long count, unsigned long type, long offset);
+ void disable(GC3Denum cap);
+ void disableVertexAttribArray(GC3Duint index);
+ void drawArrays(GC3Denum mode, GC3Dint first, GC3Dsizei count);
+ void drawElements(GC3Denum mode, GC3Dsizei count, GC3Denum type, GC3Dintptr offset);
- void enable(unsigned long cap);
- void enableVertexAttribArray(unsigned long index);
+ void enable(GC3Denum cap);
+ void enableVertexAttribArray(GC3Duint index);
void finish();
void flush();
- void framebufferRenderbuffer(unsigned long target, unsigned long attachment, unsigned long renderbuffertarget, Platform3DObject);
- void framebufferTexture2D(unsigned long target, unsigned long attachment, unsigned long textarget, Platform3DObject, long level);
- void frontFace(unsigned long mode);
- void generateMipmap(unsigned long target);
-
- bool getActiveAttrib(Platform3DObject program, unsigned long index, ActiveInfo&);
- bool getActiveUniform(Platform3DObject program, unsigned long index, ActiveInfo&);
-
- void getAttachedShaders(Platform3DObject program, int maxCount, int* count, unsigned int* shaders);
-
- int getAttribLocation(Platform3DObject, const String& name);
-
- void getBooleanv(unsigned long pname, unsigned char* value);
-
- void getBufferParameteriv(unsigned long target, unsigned long pname, int* value);
-
+ void framebufferRenderbuffer(GC3Denum target, GC3Denum attachment, GC3Denum renderbuffertarget, Platform3DObject);
+ void framebufferTexture2D(GC3Denum target, GC3Denum attachment, GC3Denum textarget, Platform3DObject, GC3Dint level);
+ void frontFace(GC3Denum mode);
+ void generateMipmap(GC3Denum target);
+
+ bool getActiveAttrib(Platform3DObject program, GC3Duint index, ActiveInfo&);
+ bool getActiveUniform(Platform3DObject program, GC3Duint index, ActiveInfo&);
+ void getAttachedShaders(Platform3DObject program, GC3Dsizei maxCount, GC3Dsizei* count, Platform3DObject* shaders);
+ GC3Dint getAttribLocation(Platform3DObject, const String& name);
+ void getBooleanv(GC3Denum pname, GC3Dboolean* value);
+ void getBufferParameteriv(GC3Denum target, GC3Denum pname, GC3Dint* value);
GraphicsContext3D::Attributes getContextAttributes();
-
- unsigned long getError();
-
- bool isContextLost();
-
- void getFloatv(unsigned long pname, float* value);
-
- void getFramebufferAttachmentParameteriv(unsigned long target, unsigned long attachment, unsigned long pname, int* value);
-
- void getIntegerv(unsigned long pname, int* value);
-
- void getProgramiv(Platform3DObject program, unsigned long pname, int* value);
-
+ GC3Denum getError();
+ void getFloatv(GC3Denum pname, GC3Dfloat* value);
+ void getFramebufferAttachmentParameteriv(GC3Denum target, GC3Denum attachment, GC3Denum pname, GC3Dint* value);
+ void getIntegerv(GC3Denum pname, GC3Dint* value);
+ void getProgramiv(Platform3DObject program, GC3Denum pname, GC3Dint* value);
String getProgramInfoLog(Platform3DObject);
-
- void getRenderbufferParameteriv(unsigned long target, unsigned long pname, int* value);
-
- void getShaderiv(Platform3DObject, unsigned long pname, int* value);
-
+ void getRenderbufferParameteriv(GC3Denum target, GC3Denum pname, GC3Dint* value);
+ void getShaderiv(Platform3DObject, GC3Denum pname, GC3Dint* value);
String getShaderInfoLog(Platform3DObject);
String getShaderSource(Platform3DObject);
- String getString(unsigned long name);
-
- void getTexParameterfv(unsigned long target, unsigned long pname, float* value);
- void getTexParameteriv(unsigned long target, unsigned long pname, int* value);
-
- void getUniformfv(Platform3DObject program, long location, float* value);
- void getUniformiv(Platform3DObject program, long location, int* value);
-
- long getUniformLocation(Platform3DObject, const String& name);
-
- void getVertexAttribfv(unsigned long index, unsigned long pname, float* value);
- void getVertexAttribiv(unsigned long index, unsigned long pname, int* value);
-
- long getVertexAttribOffset(unsigned long index, unsigned long pname);
-
- void hint(unsigned long target, unsigned long mode);
- bool isBuffer(Platform3DObject);
- bool isEnabled(unsigned long cap);
- bool isFramebuffer(Platform3DObject);
- bool isProgram(Platform3DObject);
- bool isRenderbuffer(Platform3DObject);
- bool isShader(Platform3DObject);
- bool isTexture(Platform3DObject);
- void lineWidth(double);
+ String getString(GC3Denum name);
+ void getTexParameterfv(GC3Denum target, GC3Denum pname, GC3Dfloat* value);
+ void getTexParameteriv(GC3Denum target, GC3Denum pname, GC3Dint* value);
+ void getUniformfv(Platform3DObject program, GC3Dint location, GC3Dfloat* value);
+ void getUniformiv(Platform3DObject program, GC3Dint location, GC3Dint* value);
+ GC3Dint getUniformLocation(Platform3DObject, const String& name);
+ void getVertexAttribfv(GC3Duint index, GC3Denum pname, GC3Dfloat* value);
+ void getVertexAttribiv(GC3Duint index, GC3Denum pname, GC3Dint* value);
+ GC3Dsizeiptr getVertexAttribOffset(GC3Duint index, GC3Denum pname);
+
+ void hint(GC3Denum target, GC3Denum mode);
+ GC3Dboolean isBuffer(Platform3DObject);
+ GC3Dboolean isEnabled(GC3Denum cap);
+ GC3Dboolean isFramebuffer(Platform3DObject);
+ GC3Dboolean isProgram(Platform3DObject);
+ GC3Dboolean isRenderbuffer(Platform3DObject);
+ GC3Dboolean isShader(Platform3DObject);
+ GC3Dboolean isTexture(Platform3DObject);
+ void lineWidth(GC3Dfloat);
void linkProgram(Platform3DObject);
- void pixelStorei(unsigned long pname, long param);
- void polygonOffset(double factor, double units);
+ void pixelStorei(GC3Denum pname, GC3Dint param);
+ void polygonOffset(GC3Dfloat factor, GC3Dfloat units);
- void readPixels(long x, long y, unsigned long width, unsigned long height, unsigned long format, unsigned long type, void* data);
+ void readPixels(GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, void* data);
- void releaseShaderCompiler();
- void renderbufferStorage(unsigned long target, unsigned long internalformat, unsigned long width, unsigned long height);
- void sampleCoverage(double value, bool invert);
- void scissor(long x, long y, unsigned long width, unsigned long height);
+ void renderbufferStorage(GC3Denum target, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height);
+ void sampleCoverage(GC3Dclampf value, GC3Dboolean invert);
+ void scissor(GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height);
void shaderSource(Platform3DObject, const String& string);
- void stencilFunc(unsigned long func, long ref, unsigned long mask);
- void stencilFuncSeparate(unsigned long face, unsigned long func, long ref, unsigned long mask);
- void stencilMask(unsigned long mask);
- void stencilMaskSeparate(unsigned long face, unsigned long mask);
- void stencilOp(unsigned long fail, unsigned long zfail, unsigned long zpass);
- void stencilOpSeparate(unsigned long face, unsigned long fail, unsigned long zfail, unsigned long zpass);
-
- // These next several functions return an error code (0 if no errors) rather than using an ExceptionCode.
- // Currently they return -1 on any error.
- int texImage2D(unsigned target, unsigned level, unsigned internalformat, unsigned width, unsigned height, unsigned border, unsigned format, unsigned type, void* pixels);
-
- void texParameterf(unsigned target, unsigned pname, float param);
- void texParameteri(unsigned target, unsigned pname, int param);
-
- int texSubImage2D(unsigned target, unsigned level, unsigned xoffset, unsigned yoffset, unsigned width, unsigned height, unsigned format, unsigned type, void* pixels);
-
- void uniform1f(long location, float x);
- void uniform1fv(long location, float* v, int size);
- void uniform1i(long location, int x);
- void uniform1iv(long location, int* v, int size);
- void uniform2f(long location, float x, float y);
- void uniform2fv(long location, float* v, int size);
- void uniform2i(long location, int x, int y);
- void uniform2iv(long location, int* v, int size);
- void uniform3f(long location, float x, float y, float z);
- void uniform3fv(long location, float* v, int size);
- void uniform3i(long location, int x, int y, int z);
- void uniform3iv(long location, int* v, int size);
- void uniform4f(long location, float x, float y, float z, float w);
- void uniform4fv(long location, float* v, int size);
- void uniform4i(long location, int x, int y, int z, int w);
- void uniform4iv(long location, int* v, int size);
- void uniformMatrix2fv(long location, bool transpose, float* value, int size);
- void uniformMatrix3fv(long location, bool transpose, float* value, int size);
- void uniformMatrix4fv(long location, bool transpose, float* value, int size);
+ void stencilFunc(GC3Denum func, GC3Dint ref, GC3Duint mask);
+ void stencilFuncSeparate(GC3Denum face, GC3Denum func, GC3Dint ref, GC3Duint mask);
+ void stencilMask(GC3Duint mask);
+ void stencilMaskSeparate(GC3Denum face, GC3Duint mask);
+ void stencilOp(GC3Denum fail, GC3Denum zfail, GC3Denum zpass);
+ void stencilOpSeparate(GC3Denum face, GC3Denum fail, GC3Denum zfail, GC3Denum zpass);
+
+ // texImage2D return false on any error rather than using an ExceptionCode.
+ bool texImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dint border, GC3Denum format, GC3Denum type, const void* pixels);
+ void texParameterf(GC3Denum target, GC3Denum pname, GC3Dfloat param);
+ void texParameteri(GC3Denum target, GC3Denum pname, GC3Dint param);
+ void texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, const void* pixels);
+
+ void uniform1f(GC3Dint location, GC3Dfloat x);
+ void uniform1fv(GC3Dint location, GC3Dfloat* v, GC3Dsizei size);
+ void uniform1i(GC3Dint location, GC3Dint x);
+ void uniform1iv(GC3Dint location, GC3Dint* v, GC3Dsizei size);
+ void uniform2f(GC3Dint location, GC3Dfloat x, float y);
+ void uniform2fv(GC3Dint location, GC3Dfloat* v, GC3Dsizei size);
+ void uniform2i(GC3Dint location, GC3Dint x, GC3Dint y);
+ void uniform2iv(GC3Dint location, GC3Dint* v, GC3Dsizei size);
+ void uniform3f(GC3Dint location, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z);
+ void uniform3fv(GC3Dint location, GC3Dfloat* v, GC3Dsizei size);
+ void uniform3i(GC3Dint location, GC3Dint x, GC3Dint y, GC3Dint z);
+ void uniform3iv(GC3Dint location, GC3Dint* v, GC3Dsizei size);
+ void uniform4f(GC3Dint location, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z, GC3Dfloat w);
+ void uniform4fv(GC3Dint location, GC3Dfloat* v, GC3Dsizei size);
+ void uniform4i(GC3Dint location, GC3Dint x, GC3Dint y, GC3Dint z, GC3Dint w);
+ void uniform4iv(GC3Dint location, GC3Dint* v, GC3Dsizei size);
+ void uniformMatrix2fv(GC3Dint location, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei size);
+ void uniformMatrix3fv(GC3Dint location, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei size);
+ void uniformMatrix4fv(GC3Dint location, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei size);
void useProgram(Platform3DObject);
void validateProgram(Platform3DObject);
- void vertexAttrib1f(unsigned long indx, float x);
- void vertexAttrib1fv(unsigned long indx, float* values);
- void vertexAttrib2f(unsigned long indx, float x, float y);
- void vertexAttrib2fv(unsigned long indx, float* values);
- void vertexAttrib3f(unsigned long indx, float x, float y, float z);
- void vertexAttrib3fv(unsigned long indx, float* values);
- void vertexAttrib4f(unsigned long indx, float x, float y, float z, float w);
- void vertexAttrib4fv(unsigned long indx, float* values);
- void vertexAttribPointer(unsigned long indx, int size, int type, bool normalized,
- unsigned long stride, unsigned long offset);
-
- void viewport(long x, long y, unsigned long width, unsigned long height);
-
- unsigned createBuffer();
- unsigned createFramebuffer();
- unsigned createProgram();
- unsigned createRenderbuffer();
- unsigned createShader(unsigned long);
- unsigned createTexture();
-
- void deleteBuffer(unsigned);
- void deleteFramebuffer(unsigned);
- void deleteProgram(unsigned);
- void deleteRenderbuffer(unsigned);
- void deleteShader(unsigned);
- void deleteTexture(unsigned);
-
- void synthesizeGLError(unsigned long error);
+ void vertexAttrib1f(GC3Duint index, GC3Dfloat x);
+ void vertexAttrib1fv(GC3Duint index, GC3Dfloat* values);
+ void vertexAttrib2f(GC3Duint index, GC3Dfloat x, GC3Dfloat y);
+ void vertexAttrib2fv(GC3Duint index, GC3Dfloat* values);
+ void vertexAttrib3f(GC3Duint index, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z);
+ void vertexAttrib3fv(GC3Duint index, GC3Dfloat* values);
+ void vertexAttrib4f(GC3Duint index, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z, GC3Dfloat w);
+ void vertexAttrib4fv(GC3Duint index, GC3Dfloat* values);
+ void vertexAttribPointer(GC3Duint index, GC3Dint size, GC3Denum type, GC3Dboolean normalized,
+ GC3Dsizei stride, GC3Dintptr offset);
+
+ void viewport(GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height);
+
+ Platform3DObject createBuffer();
+ Platform3DObject createFramebuffer();
+ Platform3DObject createProgram();
+ Platform3DObject createRenderbuffer();
+ Platform3DObject createShader(GC3Denum);
+ Platform3DObject createTexture();
+
+ void deleteBuffer(Platform3DObject);
+ void deleteFramebuffer(Platform3DObject);
+ void deleteProgram(Platform3DObject);
+ void deleteRenderbuffer(Platform3DObject);
+ void deleteShader(Platform3DObject);
+ void deleteTexture(Platform3DObject);
+
+ void synthesizeGLError(GC3Denum error);
// Extensions3D support.
Extensions3D* getExtensions();
bool supportsExtension(const String& name);
+ bool ensureExtensionEnabled(const String& name);
// EXT_texture_format_BGRA8888
bool supportsBGRA();
// GL_CHROMIUM_map_sub
bool supportsMapSubCHROMIUM();
- void* mapBufferSubDataCHROMIUM(unsigned target, int offset, int size, unsigned access);
+ void* mapBufferSubDataCHROMIUM(GC3Denum target, GC3Dsizeiptr offset, GC3Dsizei size, GC3Denum access);
void unmapBufferSubDataCHROMIUM(const void*);
- void* mapTexSubImage2DCHROMIUM(unsigned target, int level, int xoffset, int yoffset, int width, int height, unsigned format, unsigned type, unsigned access);
+ void* mapTexSubImage2DCHROMIUM(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, GC3Denum access);
void unmapTexSubImage2DCHROMIUM(const void*);
// GL_CHROMIUM_copy_texture_to_parent_texture
bool supportsCopyTextureToParentTextureCHROMIUM();
- void copyTextureToParentTextureCHROMIUM(unsigned texture, unsigned parentTexture);
+ void copyTextureToParentTextureCHROMIUM(Platform3DObject texture, Platform3DObject parentTexture);
private:
OwnPtr<WebKit::WebGraphicsContext3D> m_impl;
OwnPtr<Extensions3DChromium> m_extensions;
WebKit::WebViewImpl* m_webViewImpl;
bool m_initializedAvailableExtensions;
- HashSet<String> m_availableExtensions;
+ HashSet<String> m_enabledExtensions;
+ HashSet<String> m_requestableExtensions;
#if USE(ACCELERATED_COMPOSITING)
RefPtr<WebGLLayerChromium> m_compositingLayer;
#endif
@@ -301,6 +282,8 @@ private:
#if PLATFORM(CG)
unsigned char* m_renderOutput;
#endif
+
+ void initializeExtensions();
};
} // namespace WebCore
diff --git a/WebKit/chromium/src/IDBCursorBackendProxy.cpp b/WebKit/chromium/src/IDBCursorBackendProxy.cpp
index 94491f9..ec7bf63 100644
--- a/WebKit/chromium/src/IDBCursorBackendProxy.cpp
+++ b/WebKit/chromium/src/IDBCursorBackendProxy.cpp
@@ -85,9 +85,9 @@ void IDBCursorBackendProxy::continueFunction(PassRefPtr<IDBKey> key, PassRefPtr<
m_idbCursor->continueFunction(key, new WebIDBCallbacksImpl(callbacks), ec);
}
-void IDBCursorBackendProxy::remove(PassRefPtr<IDBCallbacks> callbacks, ExceptionCode& ec)
+void IDBCursorBackendProxy::deleteFunction(PassRefPtr<IDBCallbacks> callbacks, ExceptionCode& ec)
{
- m_idbCursor->remove(new WebIDBCallbacksImpl(callbacks), ec);
+ m_idbCursor->deleteFunction(new WebIDBCallbacksImpl(callbacks), ec);
}
} // namespace WebCore
diff --git a/WebKit/chromium/src/IDBCursorBackendProxy.h b/WebKit/chromium/src/IDBCursorBackendProxy.h
index 0a7a288..650dded 100644
--- a/WebKit/chromium/src/IDBCursorBackendProxy.h
+++ b/WebKit/chromium/src/IDBCursorBackendProxy.h
@@ -47,7 +47,7 @@ public:
virtual PassRefPtr<IDBAny> value() const;
virtual void update(PassRefPtr<SerializedScriptValue>, PassRefPtr<IDBCallbacks>, ExceptionCode&);
virtual void continueFunction(PassRefPtr<IDBKey>, PassRefPtr<IDBCallbacks>, ExceptionCode&);
- virtual void remove(PassRefPtr<IDBCallbacks>, ExceptionCode&);
+ virtual void deleteFunction(PassRefPtr<IDBCallbacks>, ExceptionCode&);
private:
IDBCursorBackendProxy(PassOwnPtr<WebKit::WebIDBCursor>);
diff --git a/WebKit/chromium/src/IDBDatabaseProxy.cpp b/WebKit/chromium/src/IDBDatabaseProxy.cpp
index 685f53c..f070d64 100644
--- a/WebKit/chromium/src/IDBDatabaseProxy.cpp
+++ b/WebKit/chromium/src/IDBDatabaseProxy.cpp
@@ -61,11 +61,6 @@ String IDBDatabaseProxy::name() const
return m_webIDBDatabase->name();
}
-String IDBDatabaseProxy::description() const
-{
- return m_webIDBDatabase->description();
-}
-
String IDBDatabaseProxy::version() const
{
return m_webIDBDatabase->version();
diff --git a/WebKit/chromium/src/IDBDatabaseProxy.h b/WebKit/chromium/src/IDBDatabaseProxy.h
index 84693f2..c51a604 100644
--- a/WebKit/chromium/src/IDBDatabaseProxy.h
+++ b/WebKit/chromium/src/IDBDatabaseProxy.h
@@ -43,7 +43,6 @@ public:
virtual ~IDBDatabaseProxy();
virtual String name() const;
- virtual String description() const;
virtual String version() const;
virtual PassRefPtr<DOMStringList> objectStoreNames() const;
diff --git a/WebKit/chromium/src/LocalizedStrings.cpp b/WebKit/chromium/src/LocalizedStrings.cpp
index e7b39d5..ab14009 100644
--- a/WebKit/chromium/src/LocalizedStrings.cpp
+++ b/WebKit/chromium/src/LocalizedStrings.cpp
@@ -43,6 +43,7 @@
#include <wtf/text/WTFString.h>
using WebKit::WebLocalizedString;
+using WebKit::WebString;
namespace WebCore {
@@ -51,9 +52,14 @@ static String query(WebLocalizedString::Name name)
return WebKit::webKitClient()->queryLocalizedString(name);
}
-static String query(WebLocalizedString::Name name, int numericValue)
+static String query(WebLocalizedString::Name name, const WebString& parameter)
{
- return WebKit::webKitClient()->queryLocalizedString(name, numericValue);
+ return WebKit::webKitClient()->queryLocalizedString(name, parameter);
+}
+
+static String query(WebLocalizedString::Name name, const WebString& parameter1, const WebString& parameter2)
+{
+ return WebKit::webKitClient()->queryLocalizedString(name, parameter1, parameter2);
}
String searchableIndexIntroduction()
@@ -191,7 +197,7 @@ String crashedPluginText()
String multipleFileUploadText(unsigned numberOfFiles)
{
- return query(WebLocalizedString::MultipleFileUploadText, numberOfFiles);
+ return query(WebLocalizedString::MultipleFileUploadText, String::number(numberOfFiles));
}
// Used in FTPDirectoryDocument.cpp
@@ -350,28 +356,24 @@ String validationMessagePatternMismatchText()
return query(WebLocalizedString::ValidationPatternMismatch);
}
-String validationMessageTooLongText(int, int)
+String validationMessageTooLongText(int valueLength, int maxLength)
{
- // FIXME: pass the arguments.
- return query(WebLocalizedString::ValidationTooLong);
+ return query(WebLocalizedString::ValidationTooLong, String::number(valueLength), String::number(maxLength));
}
-String validationMessageRangeUnderflowText(const String&)
+String validationMessageRangeUnderflowText(const String& minimum)
{
- // FIXME: pass the arguments.
- return query(WebLocalizedString::ValidationRangeUnderflow);
+ return query(WebLocalizedString::ValidationRangeUnderflow, minimum);
}
-String validationMessageRangeOverflowText(const String&)
+String validationMessageRangeOverflowText(const String& maximum)
{
- // FIXME: pass the arguments.
- return query(WebLocalizedString::ValidationRangeOverflow);
+ return query(WebLocalizedString::ValidationRangeOverflow, maximum);
}
-String validationMessageStepMismatchText(const String&, const String&)
+String validationMessageStepMismatchText(const String& base, const String& step)
{
- // FIXME: pass the arguments.
- return query(WebLocalizedString::ValidationStepMismatch);
+ return query(WebLocalizedString::ValidationStepMismatch, base, step);
}
} // namespace WebCore
diff --git a/WebKit/chromium/src/StorageAreaProxy.cpp b/WebKit/chromium/src/StorageAreaProxy.cpp
index 5311b65..ed89b2c 100644
--- a/WebKit/chromium/src/StorageAreaProxy.cpp
+++ b/WebKit/chromium/src/StorageAreaProxy.cpp
@@ -129,7 +129,7 @@ void StorageAreaProxy::storageEvent(const String& key, const String& oldValue, c
ExceptionCode ec = 0;
Storage* storage = frames[i]->domWindow()->sessionStorage(ec);
if (!ec)
- frames[i]->document()->enqueueEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->url(), storage));
+ frames[i]->document()->enqueueWindowEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->url(), storage));
}
} else {
// Send events to every page.
@@ -146,7 +146,7 @@ void StorageAreaProxy::storageEvent(const String& key, const String& oldValue, c
ExceptionCode ec = 0;
Storage* storage = frames[i]->domWindow()->localStorage(ec);
if (!ec)
- frames[i]->document()->enqueueEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->url(), storage));
+ frames[i]->document()->enqueueWindowEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->url(), storage));
}
}
}
diff --git a/WebKit/chromium/src/WebAccessibilityObject.cpp b/WebKit/chromium/src/WebAccessibilityObject.cpp
index 9df69cf..50baa27 100644
--- a/WebKit/chromium/src/WebAccessibilityObject.cpp
+++ b/WebKit/chromium/src/WebAccessibilityObject.cpp
@@ -44,6 +44,7 @@
#include "WebPoint.h"
#include "WebRect.h"
#include "WebString.h"
+#include "WebURL.h"
using namespace WebCore;
@@ -379,7 +380,7 @@ WebAccessibilityObject WebAccessibilityObject::hitTest(const WebPoint& point) co
m_private->updateBackingStore();
IntPoint contentsPoint = m_private->documentFrameView()->windowToContents(point);
- RefPtr<AccessibilityObject> hit = m_private->doAccessibilityHitTest(contentsPoint);
+ RefPtr<AccessibilityObject> hit = m_private->accessibilityHitTest(contentsPoint);
if (hit.get())
return WebAccessibilityObject(hit);
@@ -461,6 +462,14 @@ WebString WebAccessibilityObject::title() const
return m_private->title();
}
+WebURL WebAccessibilityObject::url() const
+{
+ if (!m_private)
+ return WebURL();
+
+ m_private->updateBackingStore();
+ return m_private->url();
+}
WebNode WebAccessibilityObject::node() const
{
diff --git a/WebKit/chromium/src/WebAudioBus.cpp b/WebKit/chromium/src/WebAudioBus.cpp
index ceccafc..9d4590e 100644
--- a/WebKit/chromium/src/WebAudioBus.cpp
+++ b/WebKit/chromium/src/WebAudioBus.cpp
@@ -44,14 +44,6 @@ namespace WebKit {
class WebAudioBusPrivate : public AudioBus {
};
-WebAudioBus::~WebAudioBus()
-{
-#if ENABLE(WEB_AUDIO)
- delete m_private;
- m_private = 0;
-#endif
-}
-
void WebAudioBus::initialize(unsigned numberOfChannels, size_t length, double sampleRate)
{
#if ENABLE(WEB_AUDIO)
@@ -66,6 +58,16 @@ void WebAudioBus::initialize(unsigned numberOfChannels, size_t length, double sa
#endif
}
+void WebAudioBus::reset()
+{
+#if ENABLE(WEB_AUDIO)
+ delete m_private;
+ m_private = 0;
+#else
+ ASSERT_NOT_REACHED();
+#endif
+}
+
unsigned WebAudioBus::numberOfChannels() const
{
#if ENABLE(WEB_AUDIO)
diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
index 880adb4..9f4ce87 100644
--- a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
+++ b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
@@ -33,6 +33,7 @@
#include "DebuggerAgentImpl.h"
#include "DebuggerAgentManager.h"
+#include "ExceptionCode.h"
#include "InjectedScriptHost.h"
#include "InspectorBackendDispatcher.h"
#include "InspectorController.h"
@@ -44,6 +45,7 @@
#include "ResourceResponse.h"
#include "ScriptDebugServer.h"
#include "V8Binding.h"
+#include "V8Node.h"
#include "V8Proxy.h"
#include "V8Utilities.h"
#include "WebDataSource.h"
@@ -74,6 +76,7 @@ using WebCore::ResourceRequest;
using WebCore::ResourceResponse;
using WTF::String;
using WebCore::V8DOMWrapper;
+using WebCore::V8Node;
using WebCore::V8Proxy;
namespace WebKit {
@@ -243,6 +246,14 @@ void WebDevToolsAgentImpl::inspectElementAt(const WebPoint& point)
m_webViewImpl->inspectElementAt(point);
}
+void WebDevToolsAgentImpl::inspectNode(v8::Handle<v8::Value> node)
+{
+ if (!V8Node::HasInstance(node))
+ V8Proxy::setDOMException(WebCore::TYPE_MISMATCH_ERR);
+ else
+ inspectorController()->inspect(V8Node::toNative(v8::Handle<v8::Object>::Cast(node)));
+}
+
void WebDevToolsAgentImpl::setRuntimeProperty(const WebString& name, const WebString& value)
{
if (name == kApuAgentFeatureName)
diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.h b/WebKit/chromium/src/WebDevToolsAgentImpl.h
index feb4bdd..487cf0c 100644
--- a/WebKit/chromium/src/WebDevToolsAgentImpl.h
+++ b/WebKit/chromium/src/WebDevToolsAgentImpl.h
@@ -75,6 +75,7 @@ public:
virtual void didNavigate();
virtual void dispatchOnInspectorBackend(const WebString& message);
virtual void inspectElementAt(const WebPoint& point);
+ virtual void inspectNode(v8::Handle<v8::Value> node);
virtual void evaluateInWebInspector(long callId, const WebString& script);
virtual void setRuntimeProperty(const WebString& name, const WebString& value);
virtual void setTimelineProfilingEnabled(bool enable);
diff --git a/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp b/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
index ea59ab6..caeffb6 100644
--- a/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
+++ b/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
@@ -38,7 +38,6 @@
#include "Document.h"
#include "Event.h"
#include "Frame.h"
-#include "InspectorBackend.h"
#include "InspectorController.h"
#include "InspectorFrontendClientImpl.h"
#include "InspectorFrontendHost.h"
@@ -111,7 +110,11 @@ void WebDevToolsFrontendImpl::dispatchOnInspectorFrontend(const WebString& messa
v8::HandleScope scope;
v8::Handle<v8::Context> frameContext = V8Proxy::context(frame->frame());
v8::Context::Scope contextScope(frameContext);
- v8::Handle<v8::Value> dispatchFunction = frameContext->Global()->Get(v8::String::New("WebInspector_syncDispatch"));
+ v8::Handle<v8::Value> inspectorBackendValue = frameContext->Global()->Get(v8::String::New("InspectorBackend"));
+ if (!inspectorBackendValue->IsObject())
+ return;
+ v8::Handle<v8::Object> inspectorBackend = v8::Handle<v8::Object>::Cast(inspectorBackendValue);
+ v8::Handle<v8::Value> dispatchFunction = inspectorBackend->Get(v8::String::New("dispatch"));
// The frame might have navigated away from the front-end page (which is still weird).
if (!dispatchFunction->IsFunction())
return;
@@ -120,7 +123,7 @@ void WebDevToolsFrontendImpl::dispatchOnInspectorFrontend(const WebString& messa
args.append(ToV8String(message));
v8::TryCatch tryCatch;
tryCatch.SetVerbose(true);
- function->Call(frameContext->Global(), args.size(), args.data());
+ function->Call(inspectorBackend, args.size(), args.data());
}
void WebDevToolsFrontendImpl::frontendLoaded()
diff --git a/WebKit/chromium/src/WebFormElement.cpp b/WebKit/chromium/src/WebFormElement.cpp
index 7a01053..6b6e9be 100644
--- a/WebKit/chromium/src/WebFormElement.cpp
+++ b/WebKit/chromium/src/WebFormElement.cpp
@@ -92,9 +92,12 @@ void WebFormElement::getFormControlElements(WebVector<WebFormControlElement>& re
// re-evaluating size each time. Also, consider refactoring this code so that
// we don't call form->associatedElements() multiple times.
for (size_t i = 0; i < form->associatedElements().size(); i++) {
- if (form->associatedElements()[i]->hasLocalName(HTMLNames::inputTag)
- || form->associatedElements()[i]->hasLocalName(HTMLNames::selectTag))
- tempVector.append(form->associatedElements()[i]);
+ if (!form->associatedElements()[i]->isFormControlElement())
+ continue;
+ HTMLFormControlElement* element = static_cast<HTMLFormControlElement*>(form->associatedElements()[i]);
+ if (element->hasLocalName(HTMLNames::inputTag)
+ || element->hasLocalName(HTMLNames::selectTag))
+ tempVector.append(element);
}
result.assign(tempVector);
}
diff --git a/WebKit/chromium/src/WebFrameImpl.cpp b/WebKit/chromium/src/WebFrameImpl.cpp
index 4422e1b..5baf73b 100644
--- a/WebKit/chromium/src/WebFrameImpl.cpp
+++ b/WebKit/chromium/src/WebFrameImpl.cpp
@@ -82,6 +82,7 @@
#include "DocumentFragment.h" // Only needed for ReplaceSelectionCommand.h :(
#include "DocumentLoader.h"
#include "DocumentMarker.h"
+#include "DocumentMarkerController.h"
#include "Editor.h"
#include "EventHandler.h"
#include "FormState.h"
@@ -712,7 +713,7 @@ WebPerformance WebFrameImpl::performance() const
if (!m_frame || !m_frame->domWindow())
return WebPerformance();
- return WebPerformance(m_frame->domWindow()->webkitPerformance());
+ return WebPerformance(m_frame->domWindow()->performance());
}
WebSecurityOrigin WebFrameImpl::securityOrigin() const
@@ -1073,7 +1074,12 @@ void WebFrameImpl::replaceSelection(const WebString& text)
void WebFrameImpl::insertText(const WebString& text)
{
- frame()->editor()->insertText(text, 0);
+ Editor* editor = frame()->editor();
+
+ if (editor->hasComposition())
+ editor->confirmComposition(text);
+ else
+ editor->insertText(text, 0);
}
void WebFrameImpl::setMarkedText(
@@ -1081,8 +1087,6 @@ void WebFrameImpl::setMarkedText(
{
Editor* editor = frame()->editor();
- editor->confirmComposition(text);
-
Vector<CompositionUnderline> decorations;
editor->setComposition(text, decorations, location, length);
}
@@ -1150,11 +1154,11 @@ bool WebFrameImpl::executeCommand(const WebString& name)
// support.
if (command == "DeleteToEndOfParagraph") {
Editor* editor = frame()->editor();
- if (!editor->deleteWithDirection(SelectionController::DirectionForward,
+ if (!editor->deleteWithDirection(DirectionForward,
ParagraphBoundary,
true,
false)) {
- editor->deleteWithDirection(SelectionController::DirectionForward,
+ editor->deleteWithDirection(DirectionForward,
CharacterGranularity,
true,
false);
diff --git a/WebKit/chromium/src/WebGeolocationClientMock.cpp b/WebKit/chromium/src/WebGeolocationClientMock.cpp
new file mode 100644
index 0000000..1ec3dd1
--- /dev/null
+++ b/WebKit/chromium/src/WebGeolocationClientMock.cpp
@@ -0,0 +1,146 @@
+/*
+ * Copyright (c) 2010, Google 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:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * 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.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
+ * OWNER OR 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 "WebGeolocationClientMock.h"
+
+#include "CurrentTime.h"
+#include "Geolocation.h"
+#include "GeolocationClientMock.h"
+#include "GeolocationError.h"
+#include "GeolocationPosition.h"
+#include "PositionError.h"
+#include "WebGeolocationController.h"
+#include "WebGeolocationError.h"
+#include "WebGeolocationPermissionRequest.h"
+#include "WebGeolocationPosition.h"
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebGeolocationClientMock* WebGeolocationClientMock::create()
+{
+ return new WebGeolocationClientMock();
+}
+
+void WebGeolocationClientMock::setPosition(double latitude, double longitude, double accuracy)
+{
+ WebGeolocationPosition webPosition(currentTime(), latitude, longitude, accuracy,
+ false, 0, false, 0, false, 0, false, 0);
+ m_clientMock->setPosition(webPosition);
+}
+
+void WebGeolocationClientMock::setError(int errorCode, const WebString& message)
+{
+ WebGeolocationError::Error code;
+ switch (errorCode) {
+ case PositionError::PERMISSION_DENIED:
+ code = WebGeolocationError::ErrorPermissionDenied;
+ break;
+ case PositionError::POSITION_UNAVAILABLE:
+ code = WebGeolocationError::ErrorPositionUnavailable;
+ break;
+ default:
+ ASSERT_NOT_REACHED();
+ return;
+ }
+
+ WebGeolocationError webError(code, message);
+ m_clientMock->setError(webError);
+}
+
+void WebGeolocationClientMock::setPermission(bool allowed)
+{
+ m_clientMock->setPermission(allowed);
+}
+
+void WebGeolocationClientMock::resetMock()
+{
+ m_clientMock->reset();
+}
+
+void WebGeolocationClientMock::startUpdating()
+{
+ m_clientMock->startUpdating();
+}
+
+void WebGeolocationClientMock::stopUpdating()
+{
+ m_clientMock->stopUpdating();
+}
+
+void WebGeolocationClientMock::setEnableHighAccuracy(bool accuracy)
+{
+ m_clientMock->setEnableHighAccuracy(accuracy);
+}
+
+void WebGeolocationClientMock::geolocationDestroyed()
+{
+ m_clientMock->geolocationDestroyed();
+}
+
+void WebGeolocationClientMock::setController(WebGeolocationController* controller)
+{
+ m_clientMock->setController(controller->controller());
+ delete controller;
+}
+
+void WebGeolocationClientMock::requestPermission(const WebGeolocationPermissionRequest& request)
+{
+ m_clientMock->requestPermission(request.geolocation());
+}
+
+void WebGeolocationClientMock::cancelPermissionRequest(const WebGeolocationPermissionRequest& request)
+{
+ m_clientMock->cancelPermissionRequest(request.geolocation());
+}
+
+bool WebGeolocationClientMock::lastPosition(WebGeolocationPosition& webPosition)
+{
+ RefPtr<GeolocationPosition> position = m_clientMock->lastPosition();
+ if (!position)
+ return false;
+
+ webPosition = position.release();
+ return true;
+}
+
+WebGeolocationClientMock::WebGeolocationClientMock()
+{
+ m_clientMock.reset(new GeolocationClientMock());
+}
+
+void WebGeolocationClientMock::reset()
+{
+ m_clientMock.reset(0);
+}
+
+} // WebKit
diff --git a/WebKit/chromium/src/WebGeolocationController.cpp b/WebKit/chromium/src/WebGeolocationController.cpp
new file mode 100644
index 0000000..12cbaa0
--- /dev/null
+++ b/WebKit/chromium/src/WebGeolocationController.cpp
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2010 Google 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 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 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 "WebGeolocationController.h"
+
+#include "GeolocationController.h"
+#include "GeolocationError.h"
+#include "GeolocationPosition.h"
+#include "WebGeolocationError.h"
+#include "WebGeolocationPosition.h"
+
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+void WebGeolocationController::positionChanged(const WebGeolocationPosition& webPosition)
+{
+ m_private->positionChanged(PassRefPtr<GeolocationPosition>(webPosition).get());
+}
+
+void WebGeolocationController::errorOccurred(const WebGeolocationError& webError)
+{
+ m_private->errorOccurred(PassRefPtr<GeolocationError>(webError).get());
+}
+
+} // namespace WebKit
diff --git a/WebKit/chromium/src/WebGeolocationPermissionRequest.cpp b/WebKit/chromium/src/WebGeolocationPermissionRequest.cpp
new file mode 100644
index 0000000..8d8c53e
--- /dev/null
+++ b/WebKit/chromium/src/WebGeolocationPermissionRequest.cpp
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2010 Google 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 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 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 "WebGeolocationPermissionRequest.h"
+
+#include "Document.h"
+#include "Frame.h"
+#include "Geolocation.h"
+#include "WebSecurityOrigin.h"
+#include "WebURL.h"
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebSecurityOrigin WebGeolocationPermissionRequest::securityOrigin() const
+{
+ return WebSecurityOrigin::create(m_private->frame()->document()->url());
+}
+
+void WebGeolocationPermissionRequest::setIsAllowed(bool allowed)
+{
+ m_private->setIsAllowed(allowed);
+}
+
+}
diff --git a/WebKit/chromium/src/WebGeolocationPermissionRequestManager.cpp b/WebKit/chromium/src/WebGeolocationPermissionRequestManager.cpp
new file mode 100644
index 0000000..4c0ed9c
--- /dev/null
+++ b/WebKit/chromium/src/WebGeolocationPermissionRequestManager.cpp
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2010 Google 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 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 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 "WebGeolocationPermissionRequestManager.h"
+
+#include "WebGeolocationPermissionRequest.h"
+#include <wtf/HashMap.h>
+
+namespace WebCore {
+class Geolocation;
+}
+
+using namespace WebCore;
+
+typedef HashMap<Geolocation*, int> GeolocationIdMap;
+typedef HashMap<int, Geolocation*> IdGeolocationMap;
+
+namespace WebKit {
+class WebGeolocationPermissionRequestManagerPrivate {
+public:
+ GeolocationIdMap m_geolocationIdMap;
+ IdGeolocationMap m_idGeolocationMap;
+};
+}
+
+using namespace WebKit;
+
+int WebGeolocationPermissionRequestManager::add(const WebKit::WebGeolocationPermissionRequest& permissionRequest)
+{
+ Geolocation* geolocation = permissionRequest.geolocation();
+ ASSERT(!m_private->m_geolocationIdMap.contains(geolocation));
+ int id = ++m_lastId;
+ m_private->m_geolocationIdMap.add(geolocation, id);
+ m_private->m_idGeolocationMap.add(id, geolocation);
+ return id;
+}
+
+bool WebGeolocationPermissionRequestManager::remove(const WebKit::WebGeolocationPermissionRequest& permissionRequest, int& id)
+{
+ Geolocation* geolocation = permissionRequest.geolocation();
+ GeolocationIdMap::iterator it = m_private->m_geolocationIdMap.find(geolocation);
+ if (it == m_private->m_geolocationIdMap.end())
+ return false;
+ id = it->second;
+ m_private->m_geolocationIdMap.remove(it);
+ m_private->m_idGeolocationMap.remove(id);
+ return true;
+}
+
+bool WebGeolocationPermissionRequestManager::remove(int id, WebKit::WebGeolocationPermissionRequest& permissionRequest)
+{
+ IdGeolocationMap::iterator it = m_private->m_idGeolocationMap.find(id);
+ if (it == m_private->m_idGeolocationMap.end())
+ return false;
+ Geolocation* geolocation = it->second;
+ permissionRequest = WebGeolocationPermissionRequest(geolocation);
+ m_private->m_idGeolocationMap.remove(it);
+ m_private->m_geolocationIdMap.remove(geolocation);
+ return true;
+}
+
+void WebGeolocationPermissionRequestManager::init()
+{
+ m_lastId = 0;
+ m_private.reset(new WebGeolocationPermissionRequestManagerPrivate);
+}
+
+void WebGeolocationPermissionRequestManager::reset()
+{
+ m_private.reset(0);
+}
+
diff --git a/WebKit/chromium/src/WebGeolocationServiceMock.cpp b/WebKit/chromium/src/WebGeolocationServiceMock.cpp
index 07d3f44..667b8b1 100644
--- a/WebKit/chromium/src/WebGeolocationServiceMock.cpp
+++ b/WebKit/chromium/src/WebGeolocationServiceMock.cpp
@@ -41,39 +41,6 @@
#include <wtf/Vector.h>
#if ENABLE(GEOLOCATION)
-
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
-// FIXME: Implement mock bindings for client-based geolocation. Ultimately
-// move to another class and remove WebGeolocationService*.
-
-namespace WebKit {
-
-class WebGeolocationServiceMockClientBasedImpl : public WebGeolocationServiceMock {
-};
-
-WebGeolocationServiceMock* WebGeolocationServiceMock::createWebGeolocationServiceMock()
-{
- return new WebGeolocationServiceMockClientBasedImpl;
-}
-
-void WebGeolocationServiceMock::setMockGeolocationPermission(bool allowed)
-{
- // FIXME: Implement mock binding
-}
-
-void WebGeolocationServiceMock::setMockGeolocationPosition(double latitude, double longitude, double accuracy)
-{
- // FIXME: Implement mock binding
-}
-
-void WebGeolocationServiceMock::setMockGeolocationError(int errorCode, const WebString& message)
-{
- // FIXME: Implement mock binding
-}
-
-} // namespace WebKit
-
-#else
using WebCore::Coordinates;
using WebCore::Frame;
using WebCore::Geolocation;
@@ -272,6 +239,4 @@ void WebGeolocationServiceMockImpl::notifyPendingPermissions()
}
} // namespace WebKit
-
-#endif // ENABLE(CLIENT_BASED_GEOLOCATION)
#endif // ENABLE(GEOLOCATION)
diff --git a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp
index 9a74601..9a4a362 100644
--- a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp
+++ b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp
@@ -624,6 +624,15 @@ void WebGraphicsContext3DDefaultImpl::copyTextureToParentTextureCHROMIUM(unsigne
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_boundFBO);
}
+WebString WebGraphicsContext3DDefaultImpl::getRequestableExtensionsCHROMIUM()
+{
+ return WebString();
+}
+
+void WebGraphicsContext3DDefaultImpl::requestExtensionCHROMIUM(const char*)
+{
+}
+
// Helper macros to reduce the amount of code.
#define DELEGATE_TO_GL(name, glname) \
@@ -1260,68 +1269,13 @@ DELEGATE_TO_GL_2(sampleCoverage, SampleCoverage, double, bool)
DELEGATE_TO_GL_4(scissor, Scissor, long, long, unsigned long, unsigned long)
-unsigned bytesPerComponent(unsigned type)
-{
- switch (type) {
- case GL_BYTE:
- case GL_UNSIGNED_BYTE:
- return 1;
- case GL_SHORT:
- case GL_UNSIGNED_SHORT:
- case GL_UNSIGNED_SHORT_5_6_5:
- case GL_UNSIGNED_SHORT_4_4_4_4:
- case GL_UNSIGNED_SHORT_5_5_5_1:
- return 2;
- case GL_FLOAT:
- return 4;
- default:
- return 4;
- }
-}
-
-unsigned componentsPerPixel(unsigned format, unsigned type)
-{
- switch (type) {
- case GL_UNSIGNED_SHORT_5_6_5:
- case GL_UNSIGNED_SHORT_4_4_4_4:
- case GL_UNSIGNED_SHORT_5_5_5_1:
- return 1;
- default:
- break;
- }
- switch (format) {
- case GL_LUMINANCE:
- return 1;
- case GL_LUMINANCE_ALPHA:
- return 2;
- case GL_RGB:
- return 3;
- case GL_RGBA:
- case GL_BGRA_EXT:
- return 4;
- default:
- return 4;
- }
-}
-
-// N.B.: This code does not protect against integer overflow (as the command
-// buffer implementation does), so it should not be considered robust enough
-// for use in the browser. Since this implementation is only used for layout
-// tests, this should be ok for now.
-size_t imageSizeInBytes(unsigned width, unsigned height, unsigned format, unsigned type)
-{
- return width * height * bytesPerComponent(type) * componentsPerPixel(format, type);
-}
-
void WebGraphicsContext3DDefaultImpl::texImage2D(unsigned target, unsigned level, unsigned internalFormat, unsigned width, unsigned height, unsigned border, unsigned format, unsigned type, const void* pixels)
{
- OwnArrayPtr<uint8> zero;
- if (!pixels) {
- size_t size = imageSizeInBytes(width, height, format, type);
- zero.set(new uint8[size]);
- memset(zero.get(), 0, size);
- pixels = zero.get();
+ if (width && height && !pixels) {
+ synthesizeGLError(GL_INVALID_VALUE);
+ return;
}
+ makeContextCurrent();
glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels);
}
diff --git a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.h b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.h
index 32e3671..b656d0c 100644
--- a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.h
+++ b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.h
@@ -85,6 +85,9 @@ public:
virtual void unmapTexSubImage2DCHROMIUM(const void*);
virtual void copyTextureToParentTextureCHROMIUM(unsigned texture, unsigned parentTexture);
+ virtual WebString getRequestableExtensionsCHROMIUM();
+ virtual void requestExtensionCHROMIUM(const char*);
+
virtual void activeTexture(unsigned long texture);
virtual void attachShader(WebGLId program, WebGLId shader);
virtual void bindAttribLocation(WebGLId program, unsigned long index, const char* name);
diff --git a/WebKit/chromium/src/WebIDBCursorImpl.cpp b/WebKit/chromium/src/WebIDBCursorImpl.cpp
index eca5d42..5165574 100644
--- a/WebKit/chromium/src/WebIDBCursorImpl.cpp
+++ b/WebKit/chromium/src/WebIDBCursorImpl.cpp
@@ -80,9 +80,9 @@ void WebIDBCursorImpl::continueFunction(const WebIDBKey& key, WebIDBCallbacks* c
m_idbCursorBackend->continueFunction(key, IDBCallbacksProxy::create(callbacks), ec);
}
-void WebIDBCursorImpl::remove(WebIDBCallbacks* callbacks, WebExceptionCode& ec)
+void WebIDBCursorImpl::deleteFunction(WebIDBCallbacks* callbacks, WebExceptionCode& ec)
{
- m_idbCursorBackend->remove(IDBCallbacksProxy::create(callbacks), ec);
+ m_idbCursorBackend->deleteFunction(IDBCallbacksProxy::create(callbacks), ec);
}
} // namespace WebCore
diff --git a/WebKit/chromium/src/WebIDBCursorImpl.h b/WebKit/chromium/src/WebIDBCursorImpl.h
index 39fa44b..7f8ebd7 100644
--- a/WebKit/chromium/src/WebIDBCursorImpl.h
+++ b/WebKit/chromium/src/WebIDBCursorImpl.h
@@ -47,7 +47,7 @@ public:
virtual void value(WebSerializedScriptValue&, WebIDBKey&) const;
virtual void update(const WebSerializedScriptValue&, WebIDBCallbacks*, WebExceptionCode&);
virtual void continueFunction(const WebIDBKey&, WebIDBCallbacks*, WebExceptionCode&);
- virtual void remove(WebIDBCallbacks*, WebExceptionCode&);
+ virtual void deleteFunction(WebIDBCallbacks*, WebExceptionCode&);
private:
WTF::RefPtr<WebCore::IDBCursorBackendInterface> m_idbCursorBackend;
diff --git a/WebKit/chromium/src/WebIDBDatabaseError.cpp b/WebKit/chromium/src/WebIDBDatabaseError.cpp
index cbbe14a..7413ae6 100644
--- a/WebKit/chromium/src/WebIDBDatabaseError.cpp
+++ b/WebKit/chromium/src/WebIDBDatabaseError.cpp
@@ -47,7 +47,7 @@ void WebIDBDatabaseError::assign(const WebIDBDatabaseError& value)
void WebIDBDatabaseError::assign(unsigned short code, const WebString& message)
{
- m_private = IDBDatabaseError::create(code, message);
+ m_private = IDBDatabaseError::createWithoutOffset(code, message);
}
void WebIDBDatabaseError::reset()
diff --git a/WebKit/chromium/src/WebIDBKey.cpp b/WebKit/chromium/src/WebIDBKey.cpp
index b7a7db8..7e84df1 100644
--- a/WebKit/chromium/src/WebIDBKey.cpp
+++ b/WebKit/chromium/src/WebIDBKey.cpp
@@ -48,6 +48,27 @@ WebIDBKey WebIDBKey::createNull()
return key;
}
+WebIDBKey WebIDBKey::createString(const WebString& string)
+{
+ WebIDBKey key;
+ key.assignString(string);
+ return key;
+}
+
+WebIDBKey WebIDBKey::createDate(double date)
+{
+ WebIDBKey key;
+ key.assignDate(date);
+ return key;
+}
+
+WebIDBKey WebIDBKey::createNumber(double number)
+{
+ WebIDBKey key;
+ key.assignNumber(number);
+ return key;
+}
+
WebIDBKey WebIDBKey::createInvalid()
{
WebIDBKey key;
@@ -69,17 +90,22 @@ void WebIDBKey::assign(const WebIDBKey& value)
void WebIDBKey::assignNull()
{
- m_private = IDBKey::create();
+ m_private = IDBKey::createNull();
+}
+
+void WebIDBKey::assignString(const WebString& string)
+{
+ m_private = IDBKey::createString(string);
}
-void WebIDBKey::assign(const WebString& string)
+void WebIDBKey::assignDate(double date)
{
- m_private = IDBKey::create(string);
+ m_private = IDBKey::createDate(date);
}
-void WebIDBKey::assign(double number)
+void WebIDBKey::assignNumber(double number)
{
- m_private = IDBKey::create(number);
+ m_private = IDBKey::createNumber(number);
}
void WebIDBKey::assignInvalid()
@@ -104,6 +130,11 @@ WebString WebIDBKey::string() const
return m_private->string();
}
+double WebIDBKey::date() const
+{
+ return m_private->date();
+}
+
double WebIDBKey::number() const
{
return m_private->number();
diff --git a/WebKit/chromium/src/WebIDBKeyRange.cpp b/WebKit/chromium/src/WebIDBKeyRange.cpp
index ec5b7c2..517ff00 100644
--- a/WebKit/chromium/src/WebIDBKeyRange.cpp
+++ b/WebKit/chromium/src/WebIDBKeyRange.cpp
@@ -47,33 +47,11 @@ void WebIDBKeyRange::assign(const WebIDBKey& lower, const WebIDBKey& upper, bool
m_private = IDBKeyRange::create(lower, upper, lowerOpen, upperOpen);
}
-// FIXME: Remove this after next roll.
-void WebIDBKeyRange::assign(const WebIDBKey& lower, const WebIDBKey& upper, unsigned short flags)
-{
- bool lowerOpen = !!(flags & 1);
- bool upperOpen = !!(flags & 2);
-
- if (lower.type() == WebIDBKey::InvalidType && upper.type() == WebIDBKey::InvalidType)
- m_private = 0;
- else
- m_private = IDBKeyRange::create(lower, upper, lowerOpen, upperOpen);
-}
-
void WebIDBKeyRange::reset()
{
m_private.reset();
}
-WebIDBKey WebIDBKeyRange::left() const
-{
- return lower();
-}
-
-WebIDBKey WebIDBKeyRange::right() const
-{
- return upper();
-}
-
WebIDBKey WebIDBKeyRange::lower() const
{
if (!m_private.get())
@@ -98,20 +76,6 @@ bool WebIDBKeyRange::upperOpen() const
return m_private.get() && m_private->upperOpen();
}
-// FIXME: Remove this after next roll.
-unsigned short WebIDBKeyRange::flags() const
-{
- if (!m_private.get())
- return 0;
-
- unsigned short flags = 0;
- if (m_private->lowerOpen())
- flags |= 1;
- if (m_private->upperOpen())
- flags |= 2;
- return flags;
-}
-
WebIDBKeyRange::WebIDBKeyRange(const PassRefPtr<IDBKeyRange>& value)
: m_private(value)
{
diff --git a/WebKit/chromium/src/WebImageDecoder.cpp b/WebKit/chromium/src/WebImageDecoder.cpp
index 0cfd458..a17897c 100644
--- a/WebKit/chromium/src/WebImageDecoder.cpp
+++ b/WebKit/chromium/src/WebImageDecoder.cpp
@@ -56,10 +56,10 @@ void WebImageDecoder::init(Type type)
{
switch (type) {
case TypeBMP:
- m_private = new BMPImageDecoder(true, false);
+ m_private = new BMPImageDecoder(ImageSource::AlphaPremultiplied, ImageSource::GammaAndColorProfileApplied);
break;
case TypeICO:
- m_private = new ICOImageDecoder(true, false);
+ m_private = new ICOImageDecoder(ImageSource::AlphaPremultiplied, ImageSource::GammaAndColorProfileApplied);
break;
}
}
diff --git a/WebKit/chromium/src/WebPasswordFormUtils.cpp b/WebKit/chromium/src/WebPasswordFormUtils.cpp
index b4997e5..5f8a1ec 100644
--- a/WebKit/chromium/src/WebPasswordFormUtils.cpp
+++ b/WebKit/chromium/src/WebPasswordFormUtils.cpp
@@ -65,9 +65,11 @@ void findPasswordFormFields(HTMLFormElement* form, PasswordFormFields* fields)
int firstPasswordIndex = 0;
// First, find the password fields and activated submit button
- const Vector<HTMLFormControlElement*>& formElements = form->associatedElements();
+ const Vector<FormAssociatedElement*>& formElements = form->associatedElements();
for (size_t i = 0; i < formElements.size(); i++) {
- HTMLFormControlElement* formElement = formElements[i];
+ if (!formElements[i]->isFormControlElement())
+ continue;
+ HTMLFormControlElement* formElement = static_cast<HTMLFormControlElement*>(formElements[i]);
if (formElement->isActivatedSubmit())
fields->submit = formElement;
@@ -90,7 +92,9 @@ void findPasswordFormFields(HTMLFormElement* form, PasswordFormFields* fields)
if (!fields->passwords.isEmpty()) {
// Then, search backwards for the username field
for (int i = firstPasswordIndex - 1; i >= 0; i--) {
- HTMLFormControlElement* formElement = formElements[i];
+ if (!formElements[i]->isFormControlElement())
+ continue;
+ HTMLFormControlElement* formElement = static_cast<HTMLFormControlElement*>(formElements[i]);
if (!formElement->hasLocalName(HTMLNames::inputTag))
continue;
diff --git a/WebKit/chromium/src/WebPerformance.cpp b/WebKit/chromium/src/WebPerformance.cpp
index de9c1f6..8c377db 100644
--- a/WebKit/chromium/src/WebPerformance.cpp
+++ b/WebKit/chromium/src/WebPerformance.cpp
@@ -55,12 +55,14 @@ void WebPerformance::assign(const WebPerformance& other)
WebNavigationType WebPerformance::navigationType() const
{
switch (m_private->navigation()->type()) {
- case PerformanceNavigation::NAVIGATE:
+ case PerformanceNavigation::TYPE_NAVIGATE:
return WebNavigationTypeOther;
- case PerformanceNavigation::RELOAD:
+ case PerformanceNavigation::TYPE_RELOAD:
return WebNavigationTypeReload;
- case PerformanceNavigation::BACK_FORWARD:
+ case PerformanceNavigation::TYPE_BACK_FORWARD:
return WebNavigationTypeBackForward;
+ case PerformanceNavigation::TYPE_RESERVED:
+ return WebNavigationTypeOther;
}
ASSERT_NOT_REACHED();
return WebNavigationTypeOther;
@@ -131,6 +133,31 @@ double WebPerformance::responseEnd() const
return millisecondsToSeconds(m_private->timing()->responseEnd());
}
+double WebPerformance::domLoading() const
+{
+ return millisecondsToSeconds(m_private->timing()->domLoading());
+}
+
+double WebPerformance::domInteractive() const
+{
+ return millisecondsToSeconds(m_private->timing()->domInteractive());
+}
+
+double WebPerformance::domContentLoadedEventStart() const
+{
+ return millisecondsToSeconds(m_private->timing()->domContentLoadedEventStart());
+}
+
+double WebPerformance::domContentLoadedEventEnd() const
+{
+ return millisecondsToSeconds(m_private->timing()->domContentLoadedEventEnd());
+}
+
+double WebPerformance::domComplete() const
+{
+ return millisecondsToSeconds(m_private->timing()->domComplete());
+}
+
double WebPerformance::loadEventStart() const
{
return millisecondsToSeconds(m_private->timing()->loadEventStart());
diff --git a/WebKit/chromium/src/WebPluginContainerImpl.cpp b/WebKit/chromium/src/WebPluginContainerImpl.cpp
index 43d9757..90c7f65 100644
--- a/WebKit/chromium/src/WebPluginContainerImpl.cpp
+++ b/WebKit/chromium/src/WebPluginContainerImpl.cpp
@@ -365,8 +365,8 @@ void WebPluginContainerImpl::loadFrameRequest(
WebDataSourceImpl::setNextPluginLoadObserver(observer);
}
- FrameLoadRequest frameRequest(request.toResourceRequest());
- frameRequest.setFrameName(target);
+ FrameLoadRequest frameRequest(frame->document()->securityOrigin(),
+ request.toResourceRequest(), target);
frame->loader()->loadFrameRequest(
frameRequest,
diff --git a/WebKit/chromium/src/WebPopupMenuImpl.cpp b/WebKit/chromium/src/WebPopupMenuImpl.cpp
index 085a157..63ebed8 100644
--- a/WebKit/chromium/src/WebPopupMenuImpl.cpp
+++ b/WebKit/chromium/src/WebPopupMenuImpl.cpp
@@ -253,6 +253,11 @@ bool WebPopupMenuImpl::confirmComposition()
return false;
}
+bool WebPopupMenuImpl::confirmComposition(const WebString& text)
+{
+ return false;
+}
+
WebTextInputType WebPopupMenuImpl::textInputType()
{
return WebTextInputTypeNone;
diff --git a/WebKit/chromium/src/WebPopupMenuImpl.h b/WebKit/chromium/src/WebPopupMenuImpl.h
index 221ba03..b8ef7ba 100644
--- a/WebKit/chromium/src/WebPopupMenuImpl.h
+++ b/WebKit/chromium/src/WebPopupMenuImpl.h
@@ -73,6 +73,7 @@ public:
const WebVector<WebCompositionUnderline>& underlines,
int selectionStart, int selectionEnd);
virtual bool confirmComposition();
+ virtual bool confirmComposition(const WebString& text);
virtual WebTextInputType textInputType();
virtual WebRect caretOrSelectionBounds();
virtual void setTextDirection(WebTextDirection direction);
diff --git a/WebKit/chromium/src/WebSearchableFormData.cpp b/WebKit/chromium/src/WebSearchableFormData.cpp
index 50192eb..8e27a67 100644
--- a/WebKit/chromium/src/WebSearchableFormData.cpp
+++ b/WebKit/chromium/src/WebSearchableFormData.cpp
@@ -46,6 +46,7 @@
#include "WebFormElement.h"
using namespace WebCore;
+using namespace HTMLNames;
namespace {
@@ -78,8 +79,10 @@ HTMLFormControlElement* GetButtonToActivate(HTMLFormElement* form)
{
HTMLFormControlElement* firstSubmitButton = 0;
// FIXME: Consider refactoring this code so that we don't call form->associatedElements() twice.
- for (Vector<HTMLFormControlElement*>::const_iterator i(form->associatedElements().begin()); i != form->associatedElements().end(); ++i) {
- HTMLFormControlElement* formElement = *i;
+ for (Vector<FormAssociatedElement*>::const_iterator i(form->associatedElements().begin()); i != form->associatedElements().end(); ++i) {
+ if (!(*i)->isFormControlElement())
+ continue;
+ HTMLFormControlElement* formElement = static_cast<HTMLFormControlElement*>(*i);
if (formElement->isActivatedSubmit())
// There's a button that is already activated for submit, return 0.
return 0;
@@ -126,13 +129,13 @@ bool IsSelectInDefaultState(const HTMLSelectElement* select)
// Returns true if the form element is in its default state, false otherwise.
// The default state is the state of the form element on initial load of the
// page, and varies depending upon the form element. For example, a checkbox is
-// in its default state if the checked state matches the defaultChecked state.
+// in its default state if the checked state matches the state of the checked attribute.
bool IsInDefaultState(const HTMLFormControlElement* formElement)
{
if (formElement->hasTagName(HTMLNames::inputTag)) {
const HTMLInputElement* inputElement = static_cast<const HTMLInputElement*>(formElement);
if (inputElement->isCheckbox() || inputElement->isRadioButton())
- return inputElement->checked() == inputElement->defaultChecked();
+ return inputElement->checked() == inputElement->hasAttribute(checkedAttr);
} else if (formElement->hasTagName(HTMLNames::selectTag))
return IsSelectInDefaultState(static_cast<const HTMLSelectElement*>(formElement));
return true;
@@ -156,8 +159,10 @@ bool HasSuitableTextElement(const HTMLFormElement* form, Vector<char>* encodedSt
HTMLInputElement* textElement = 0;
// FIXME: Consider refactoring this code so that we don't call form->associatedElements() twice.
- for (Vector<HTMLFormControlElement*>::const_iterator i(form->associatedElements().begin()); i != form->associatedElements().end(); ++i) {
- HTMLFormControlElement* formElement = *i;
+ for (Vector<FormAssociatedElement*>::const_iterator i(form->associatedElements().begin()); i != form->associatedElements().end(); ++i) {
+ if (!(*i)->isFormControlElement())
+ continue;
+ HTMLFormControlElement* formElement = static_cast<HTMLFormControlElement*>(*i);
if (formElement->disabled() || formElement->name().isNull())
continue;
diff --git a/WebKit/chromium/src/WebViewImpl.cpp b/WebKit/chromium/src/WebViewImpl.cpp
index 7bec254..e47c89e 100644
--- a/WebKit/chromium/src/WebViewImpl.cpp
+++ b/WebKit/chromium/src/WebViewImpl.cpp
@@ -59,6 +59,7 @@
#include "FrameLoader.h"
#include "FrameTree.h"
#include "FrameView.h"
+#include "GeolocationClientProxy.h"
#include "GraphicsContext.h"
#include "GraphicsContext3D.h"
#include "GraphicsContext3DInternal.h"
@@ -68,7 +69,6 @@
#include "HTMLNames.h"
#include "Image.h"
#include "ImageBuffer.h"
-#include "ImageData.h"
#include "InspectorController.h"
#include "KeyboardCodes.h"
#include "KeyboardEvent.h"
@@ -119,6 +119,7 @@
#include "WebString.h"
#include "WebVector.h"
#include "WebViewClient.h"
+#include <wtf/ByteArray.h>
#include <wtf/RefPtr.h>
#if PLATFORM(CG)
@@ -310,6 +311,9 @@ WebViewImpl::WebViewImpl(WebViewClient* client, WebDevToolsAgentClient* devTools
, m_speechInputClient(SpeechInputClientImpl::create(client))
#endif
, m_deviceOrientationClientProxy(new DeviceOrientationClientProxy(client ? client->deviceOrientationClient() : 0))
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+ , m_geolocationClientProxy(new GeolocationClientProxy(client ? client->geolocationClient() : 0))
+#endif
{
// WebKit/win/WebView.cpp does the same thing, except they call the
// KJS specific wrapper around this method. We need to have threading
@@ -333,9 +337,16 @@ WebViewImpl::WebViewImpl(WebViewClient* client, WebDevToolsAgentClient* devTools
pageClients.speechInputClient = m_speechInputClient.get();
#endif
pageClients.deviceOrientationClient = m_deviceOrientationClientProxy.get();
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+ pageClients.geolocationClient = m_geolocationClientProxy.get();
+#endif
m_page.set(new Page(pageClients));
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+ m_geolocationClientProxy->setController(m_page->geolocationController());
+#endif
+
static_cast<BackForwardListImpl*>(m_page->backForwardList())->setClient(&m_backForwardListClientImpl);
m_page->setGroupName(pageGroupName);
@@ -1009,10 +1020,10 @@ void WebViewImpl::doPixelReadbackToCanvas(WebCanvas* canvas, const IntRect& rect
IntRect invertRect(rect.x(), bitmapHeight - rect.bottom(), rect.width(), rect.height());
OwnPtr<ImageBuffer> imageBuffer(ImageBuffer::create(rect.size()));
- RefPtr<ImageData> imageData(ImageData::create(rect.width(), rect.height()));
- if (imageBuffer.get() && imageData.get()) {
- m_layerRenderer->getFramebufferPixels(imageData->data()->data()->data(), invertRect);
- imageBuffer->putPremultipliedImageData(imageData.get(), IntRect(IntPoint(), rect.size()), IntPoint());
+ RefPtr<ByteArray> pixelArray(ByteArray::create(rect.width() * rect.height() * 4));
+ if (imageBuffer.get() && pixelArray.get()) {
+ m_layerRenderer->getFramebufferPixels(pixelArray->data(), invertRect);
+ imageBuffer->putPremultipliedImageData(pixelArray.get(), rect.size(), IntRect(IntPoint(), rect.size()), IntPoint());
gc.save();
gc.translate(FloatSize(0.0f, bitmapHeight));
gc.scale(FloatSize(1.0f, -1.0f));
@@ -1292,11 +1303,16 @@ bool WebViewImpl::setComposition(
bool WebViewImpl::confirmComposition()
{
+ return confirmComposition(WebString());
+}
+
+bool WebViewImpl::confirmComposition(const WebString& text)
+{
Frame* focused = focusedWebCoreFrame();
if (!focused || !m_imeAcceptEvents)
return false;
Editor* editor = focused->editor();
- if (!editor || !editor->hasComposition())
+ if (!editor || (!editor->hasComposition() && !text.length()))
return false;
// We should verify the parent node of this IME composition node are
@@ -1310,7 +1326,14 @@ bool WebViewImpl::confirmComposition()
return false;
}
- editor->confirmComposition();
+ if (editor->hasComposition()) {
+ if (text.length())
+ editor->confirmComposition(String(text));
+ else
+ editor->confirmComposition();
+ } else
+ editor->insertText(String(text), 0);
+
return true;
}
@@ -1910,17 +1933,6 @@ void WebViewImpl::applyAutoFillSuggestions(
const WebNode& node,
const WebVector<WebString>& names,
const WebVector<WebString>& labels,
- const WebVector<int>& uniqueIDs,
- int separatorIndex)
-{
- WebVector<WebString> icons(names.size());
- applyAutoFillSuggestions(node, names, labels, icons, uniqueIDs, separatorIndex);
-}
-
-void WebViewImpl::applyAutoFillSuggestions(
- const WebNode& node,
- const WebVector<WebString>& names,
- const WebVector<WebString>& labels,
const WebVector<WebString>& icons,
const WebVector<int>& uniqueIDs,
int separatorIndex)
@@ -1966,30 +1978,6 @@ void WebViewImpl::applyAutoFillSuggestions(
m_autoFillPopup->show(focusedNode->getRect(), focusedNode->ownerDocument()->view(), 0);
m_autoFillPopupShowing = true;
}
-
- // DEPRECATED: This special mode will go away once AutoFill and Autocomplete
- // merge is complete.
- if (m_autoFillPopupClient)
- m_autoFillPopupClient->setAutocompleteMode(false);
-}
-
-// DEPRECATED: replacing with applyAutoFillSuggestions.
-void WebViewImpl::applyAutocompleteSuggestions(
- const WebNode& node,
- const WebVector<WebString>& suggestions,
- int defaultSuggestionIndex)
-{
- WebVector<WebString> names(suggestions.size());
- WebVector<WebString> labels(suggestions.size());
- WebVector<WebString> icons(suggestions.size());
- WebVector<int> uniqueIDs(suggestions.size());
-
- for (size_t i = 0; i < suggestions.size(); ++i)
- names[i] = suggestions[i];
-
- applyAutoFillSuggestions(node, names, labels, icons, uniqueIDs, -1);
- if (m_autoFillPopupClient)
- m_autoFillPopupClient->setAutocompleteMode(true);
}
void WebViewImpl::hidePopups()
@@ -2292,70 +2280,6 @@ void WebViewImpl::setRootLayerNeedsDisplay()
void WebViewImpl::scrollRootLayerRect(const IntSize& scrollDelta, const IntRect& clipRect)
{
- ASSERT(m_layerRenderer);
- // Compute the damage rect in viewport space.
- WebFrameImpl* webframe = mainFrameImpl();
- if (!webframe)
- return;
- FrameView* view = webframe->frameView();
- if (!view)
- return;
-
- IntRect contentRect = view->visibleContentRect(false);
- IntRect screenRect = view->contentsToWindow(contentRect);
-
- // We support fast scrolling in one direction at a time.
- if (scrollDelta.width() && scrollDelta.height()) {
- invalidateRootLayerRect(WebRect(screenRect));
- return;
- }
-
- // Compute the region we will expose by scrolling. We use the
- // content rect for invalidation. Using this space for damage
- // rects allows us to intermix invalidates with scrolls.
- IntRect damagedContentsRect;
- if (scrollDelta.width()) {
- int dx = scrollDelta.width();
- damagedContentsRect.setY(screenRect.y());
- damagedContentsRect.setHeight(screenRect.height());
- if (dx > 0) {
- damagedContentsRect.setX(screenRect.x());
- damagedContentsRect.setWidth(dx);
- } else {
- damagedContentsRect.setX(screenRect.right() + dx);
- damagedContentsRect.setWidth(-dx);
- }
- } else {
- int dy = scrollDelta.height();
- damagedContentsRect.setX(screenRect.x());
- damagedContentsRect.setWidth(screenRect.width());
- if (dy > 0) {
- damagedContentsRect.setY(screenRect.y());
- damagedContentsRect.setHeight(dy);
- } else {
- damagedContentsRect.setY(screenRect.bottom() + dy);
- damagedContentsRect.setHeight(-dy);
- }
- }
-
- // Move the previous damage
- m_rootLayerScrollDamage.move(scrollDelta.width(), scrollDelta.height());
- // Union with the new damage rect.
- m_rootLayerScrollDamage.unite(damagedContentsRect);
-
- // Scroll any existing damage that intersects with clip rect
- if (clipRect.intersects(m_rootLayerDirtyRect)) {
- // Find the inner damage
- IntRect innerDamage(clipRect);
- innerDamage.intersect(m_rootLayerDirtyRect);
-
- // Move the damage
- innerDamage.move(scrollDelta.width(), scrollDelta.height());
-
- // Merge it back into the damaged rect
- m_rootLayerDirtyRect.unite(innerDamage);
- }
-
setRootLayerNeedsDisplay();
}
@@ -2366,9 +2290,12 @@ void WebViewImpl::invalidateRootLayerRect(const IntRect& rect)
if (!page())
return;
- // FIXME: add a smarter damage aggregation logic and/or unify with
- // LayerChromium's damage logic
- m_rootLayerDirtyRect.unite(rect);
+ FrameView* view = page()->mainFrame()->view();
+ IntRect contentRect = view->visibleContentRect(false);
+ IntRect visibleRect = view->visibleContentRect(true);
+
+ IntRect dirtyRect = view->windowToContents(rect);
+ m_layerRenderer->invalidateRootLayerRect(dirtyRect, visibleRect, contentRect);
setRootLayerNeedsDisplay();
}
@@ -2385,89 +2312,77 @@ void WebViewImpl::setIsAcceleratedCompositingActive(bool active)
if (m_layerRenderer)
m_layerRenderer->finish(); // finish all GL rendering before we hide the window?
m_client->didActivateAcceleratedCompositing(false);
- return;
- }
-
- if (m_layerRenderer) {
+ } else if (m_layerRenderer) {
m_isAcceleratedCompositingActive = true;
m_layerRenderer->resizeOnscreenContent(WebCore::IntSize(std::max(1, m_size.width),
std::max(1, m_size.height)));
m_client->didActivateAcceleratedCompositing(true);
- return;
- }
-
- RefPtr<GraphicsContext3D> context = m_temporaryOnscreenGraphicsContext3D.release();
- if (!context) {
- context = GraphicsContext3D::create(getCompositorContextAttributes(), m_page->chrome(), GraphicsContext3D::RenderDirectlyToHostWindow);
- if (context)
- context->reshape(std::max(1, m_size.width), std::max(1, m_size.height));
- }
- m_layerRenderer = LayerRendererChromium::create(context.release());
- if (m_layerRenderer) {
- m_client->didActivateAcceleratedCompositing(true);
- m_isAcceleratedCompositingActive = true;
- m_compositorCreationFailed = false;
} else {
- m_isAcceleratedCompositingActive = false;
- m_client->didActivateAcceleratedCompositing(false);
- m_compositorCreationFailed = true;
+ RefPtr<GraphicsContext3D> context = m_temporaryOnscreenGraphicsContext3D.release();
+ if (!context) {
+ context = GraphicsContext3D::create(getCompositorContextAttributes(), m_page->chrome(), GraphicsContext3D::RenderDirectlyToHostWindow);
+ if (context)
+ context->reshape(std::max(1, m_size.width), std::max(1, m_size.height));
+ }
+ m_layerRenderer = LayerRendererChromium::create(context.release());
+ if (m_layerRenderer) {
+ m_client->didActivateAcceleratedCompositing(true);
+ m_isAcceleratedCompositingActive = true;
+ m_compositorCreationFailed = false;
+ } else {
+ m_isAcceleratedCompositingActive = false;
+ m_client->didActivateAcceleratedCompositing(false);
+ m_compositorCreationFailed = true;
+ }
}
+ if (page())
+ page()->mainFrame()->view()->setClipsRepaints(!m_isAcceleratedCompositingActive);
}
-void WebViewImpl::updateRootLayerContents(const IntRect& rect)
-{
- if (!isAcceleratedCompositingActive())
- return;
-
- WebFrameImpl* webframe = mainFrameImpl();
- if (!webframe)
- return;
- FrameView* view = webframe->frameView();
- if (!view)
- return;
-
- LayerChromium* rootLayer = m_layerRenderer->rootLayer();
- if (rootLayer) {
- IntRect visibleRect = view->visibleContentRect(true);
-
- m_layerRenderer->setRootLayerCanvasSize(IntSize(rect.width(), rect.height()));
- GraphicsContext* rootLayerContext = m_layerRenderer->rootLayerGraphicsContext();
-
-#if PLATFORM(SKIA)
- PlatformContextSkia* skiaContext = rootLayerContext->platformContext();
- skia::PlatformCanvas* platformCanvas = skiaContext->canvas();
-
- platformCanvas->save();
-
- // Bring the canvas into the coordinate system of the paint rect.
- platformCanvas->translate(static_cast<SkScalar>(-rect.x()), static_cast<SkScalar>(-rect.y()));
-
- rootLayerContext->save();
-
- webframe->paintWithContext(*rootLayerContext, rect);
- rootLayerContext->restore();
+class WebViewImplTilePaintInterface : public TilePaintInterface {
+public:
+ explicit WebViewImplTilePaintInterface(WebViewImpl* webViewImpl)
+ : m_webViewImpl(webViewImpl)
+ {
+ }
- platformCanvas->restore();
-#elif PLATFORM(CG)
- CGContextRef cgContext = rootLayerContext->platformContext();
+ virtual void paint(GraphicsContext& context, const IntRect& contentRect)
+ {
+ Page* page = m_webViewImpl->page();
+ if (!page)
+ return;
+ FrameView* view = page->mainFrame()->view();
+ view->paintContents(&context, contentRect);
+ }
- CGContextSaveGState(cgContext);
+private:
+ WebViewImpl* m_webViewImpl;
+};
- // Bring the CoreGraphics context into the coordinate system of the paint rect.
- CGContextTranslateCTM(cgContext, -rect.x(), -rect.y());
- rootLayerContext->save();
+class WebViewImplScrollbarPaintInterface : public TilePaintInterface {
+public:
+ explicit WebViewImplScrollbarPaintInterface(WebViewImpl* webViewImpl)
+ : m_webViewImpl(webViewImpl)
+ {
+ }
- webframe->paintWithContext(*rootLayerContext, rect);
- rootLayerContext->restore();
+ virtual void paint(GraphicsContext& context, const IntRect& contentRect)
+ {
+ Page* page = m_webViewImpl->page();
+ if (!page)
+ return;
+ FrameView* view = page->mainFrame()->view();
- CGContextRestoreGState(cgContext);
-#else
-#error Must port to your platform
-#endif
+ context.translate(view->scrollX(), view->scrollY());
+ IntRect windowRect = view->contentsToWindow(contentRect);
+ view->paintScrollbars(&context, windowRect);
}
-}
+
+private:
+ WebViewImpl* m_webViewImpl;
+};
void WebViewImpl::doComposite()
{
@@ -2479,32 +2394,12 @@ void WebViewImpl::doComposite()
// The visibleRect includes scrollbars whereas the contentRect doesn't.
IntRect visibleRect = view->visibleContentRect(true);
IntRect contentRect = view->visibleContentRect(false);
- IntRect viewPort = IntRect(0, 0, m_size.width, m_size.height);
-
- // Give the compositor a chance to setup/resize the root texture handle and perform scrolling.
- m_layerRenderer->prepareToDrawLayers(visibleRect, contentRect, IntPoint(view->scrollX(), view->scrollY()));
-
- // Draw the contents of the root layer.
- Vector<IntRect> damageRects;
- damageRects.append(m_rootLayerScrollDamage);
- damageRects.append(m_rootLayerDirtyRect);
- for (size_t i = 0; i < damageRects.size(); ++i) {
- IntRect damagedRect = damageRects[i];
+ IntPoint scroll(view->scrollX(), view->scrollY());
- // Intersect this rectangle with the viewPort.
- damagedRect.intersect(viewPort);
-
- // Now render it.
- if (damagedRect.width() && damagedRect.height()) {
- updateRootLayerContents(damagedRect);
- m_layerRenderer->updateRootLayerTextureRect(damagedRect);
- }
- }
- m_rootLayerDirtyRect = IntRect();
- m_rootLayerScrollDamage = IntRect();
+ WebViewImplTilePaintInterface tilePaint(this);
- // Draw the actual layers...
- m_layerRenderer->drawLayers(visibleRect, contentRect);
+ WebViewImplScrollbarPaintInterface scrollbarPaint(this);
+ m_layerRenderer->drawLayers(visibleRect, contentRect, scroll, tilePaint, scrollbarPaint);
}
void WebViewImpl::reallocateRenderer()
diff --git a/WebKit/chromium/src/WebViewImpl.h b/WebKit/chromium/src/WebViewImpl.h
index 0388770..cc25c84 100644
--- a/WebKit/chromium/src/WebViewImpl.h
+++ b/WebKit/chromium/src/WebViewImpl.h
@@ -73,6 +73,7 @@ class AutoFillPopupMenuClient;
class ContextMenuClientImpl;
class DeviceOrientationClientProxy;
class DragScrollTimer;
+class GeolocationClientProxy;
class SpeechInputClientImpl;
class WebAccessibilityObject;
class WebDevToolsAgentClient;
@@ -104,6 +105,7 @@ public:
int selectionStart,
int selectionEnd);
virtual bool confirmComposition();
+ virtual bool confirmComposition(const WebString& text);
virtual WebTextInputType textInputType();
virtual WebRect caretOrSelectionBounds();
virtual void setTextDirection(WebTextDirection direction);
@@ -179,13 +181,6 @@ public:
const WebString& value);
virtual WebDevToolsAgent* devToolsAgent();
virtual WebAccessibilityObject accessibilityObject();
- // DEPRECATED.
- virtual void applyAutoFillSuggestions(
- const WebNode&,
- const WebVector<WebString>& names,
- const WebVector<WebString>& labels,
- const WebVector<int>& uniqueIDs,
- int separatorIndex);
virtual void applyAutoFillSuggestions(
const WebNode&,
const WebVector<WebString>& names,
@@ -193,11 +188,6 @@ public:
const WebVector<WebString>& icons,
const WebVector<int>& uniqueIDs,
int separatorIndex);
- // DEPRECATED: replacing with applyAutoFillSuggestions.
- virtual void applyAutocompleteSuggestions(
- const WebNode&,
- const WebVector<WebString>& suggestions,
- int defaultSuggestionIndex);
virtual void hidePopups();
virtual void setScrollbarColors(unsigned inactiveColor,
unsigned activeColor,
@@ -407,7 +397,6 @@ private:
#if USE(ACCELERATED_COMPOSITING)
void setIsAcceleratedCompositingActive(bool);
- void updateRootLayerContents(const WebCore::IntRect&);
void doComposite();
void doPixelReadbackToCanvas(WebCanvas*, const WebCore::IntRect&);
void reallocateRenderer();
@@ -539,7 +528,6 @@ private:
RefPtr<WebCore::Node> m_mouseCaptureNode;
#if USE(ACCELERATED_COMPOSITING)
- WebCore::IntRect m_rootLayerDirtyRect;
WebCore::IntRect m_rootLayerScrollDamage;
RefPtr<WebCore::LayerRendererChromium> m_layerRenderer;
bool m_isAcceleratedCompositingActive;
@@ -555,6 +543,10 @@ private:
// early. This member holds on to the GC3D in this case.
RefPtr<WebCore::GraphicsContext3D> m_temporaryOnscreenGraphicsContext3D;
OwnPtr<DeviceOrientationClientProxy> m_deviceOrientationClientProxy;
+
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+ OwnPtr<GeolocationClientProxy> m_geolocationClientProxy;
+#endif
};
} // namespace WebKit
diff --git a/WebKit/chromium/src/js/DevTools.js b/WebKit/chromium/src/js/DevTools.js
index 11ebc1f..d6536bc 100644
--- a/WebKit/chromium/src/js/DevTools.js
+++ b/WebKit/chromium/src/js/DevTools.js
@@ -47,7 +47,9 @@ var context = {}; // Used by WebCore's inspector routines.
Preferences.onlineDetectionEnabled = false;
Preferences.nativeInstrumentationEnabled = true;
Preferences.fileSystemEnabled = false;
+ Preferences.resourceExportEnabled = true;
Preferences.showTimingTab = true;
+ Preferences.showCookiesTab = true;
})();
var devtools = devtools || {};
diff --git a/WebKit/chromium/src/js/Tests.js b/WebKit/chromium/src/js/Tests.js
index 2b264ee..55b24ea 100644
--- a/WebKit/chromium/src/js/Tests.js
+++ b/WebKit/chromium/src/js/Tests.js
@@ -730,7 +730,7 @@ TestSuite.prototype._waitForScriptPause = function(expectations, callback)
var test = this;
// Wait until script is paused.
test.addSniffer(
- WebInspector,
+ WebInspector.debuggerModel,
"pausedScript",
function(details) {
var callFrames = details.callFrames;
@@ -805,7 +805,7 @@ TestSuite.prototype._waitUntilScriptsAreParsed = function(expectedScripts, callb
if (test._scriptsAreParsed(expectedScripts))
callback();
else
- test.addSniffer(WebInspector, "parsedScriptSource", waitForAllScripts);
+ test.addSniffer(WebInspector.debuggerModel, "parsedScriptSource", waitForAllScripts);
}
waitForAllScripts();
@@ -852,7 +852,7 @@ TestSuite.prototype.testPauseInEval = function()
devtools.tools.evaluateJavaScript("fib(10)");
- this.addSniffer(WebInspector, "pausedScript",
+ this.addSniffer(WebInspector.debuggerModel, "pausedScript",
function() {
test.releaseControl();
});
diff --git a/WebKit/chromium/tests/PopupMenuTest.cpp b/WebKit/chromium/tests/PopupMenuTest.cpp
index b68980f..4b6b123 100644
--- a/WebKit/chromium/tests/PopupMenuTest.cpp
+++ b/WebKit/chromium/tests/PopupMenuTest.cpp
@@ -139,6 +139,7 @@ public:
int selectionStart,
int selectionEnd) { return true; }
virtual bool confirmComposition() { return true; }
+ virtual bool confirmComposition(const WebString& text) { return true; }
virtual WebTextInputType textInputType() { return WebKit::WebTextInputTypeNone; }
virtual WebRect caretOrSelectionBounds() { return WebRect(); }
virtual void setTextDirection(WebTextDirection) { }
diff --git a/WebKit/efl/CMakeListsEfl.txt b/WebKit/efl/CMakeListsEfl.txt
index fb0ccc4..7e68afd 100644
--- a/WebKit/efl/CMakeListsEfl.txt
+++ b/WebKit/efl/CMakeListsEfl.txt
@@ -50,7 +50,6 @@ ENDIF ()
LIST(APPEND WebKit_SOURCES
efl/WebCoreSupport/ChromeClientEfl.cpp
- efl/WebCoreSupport/ContextMenuClientEfl.cpp
efl/WebCoreSupport/DragClientEfl.cpp
efl/WebCoreSupport/EditorClientEfl.cpp
efl/WebCoreSupport/FrameLoaderClientEfl.cpp
diff --git a/WebKit/efl/ChangeLog b/WebKit/efl/ChangeLog
index 7a12fd7..c9d6bfe 100644
--- a/WebKit/efl/ChangeLog
+++ b/WebKit/efl/ChangeLog
@@ -1,3 +1,280 @@
+2010-12-27 Rafael Antognolli <antognolli@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [EFL] Set the frame smart object base clipper to non-static.
+ https://bugs.webkit.org/show_bug.cgi?id=51552
+
+ The base clipper of the clipped smart object, which is the parent
+ class of the ewk_frame class is a static clipper. It's normally only
+ used for showing/hiding the object, but in the case of the ewk_frame,
+ it needs to clip the object to its dimension, in order to clip
+ scrollbars of inner frames.
+
+ Setting it to non-static makes the clipper to be automatically moved
+ by the parent class, thus staying on the correct position when the
+ frame is moved.
+
+ This change needed to be done after the adoption of the static clipper
+ on the clipped smart base class.
+
+ * ewk/ewk_frame.cpp:
+ (_ewk_frame_smart_add):
+
+2010-12-24 Ryuan Choi <ryuan.choi@samsung.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [EFL] Add option to enable Touch Events.
+ https://bugs.webkit.org/show_bug.cgi?id=49125
+
+ Implement ewk_frame_feed_touch_event to feed touch events. Because EFL
+ doesn't have touch events, Application should generate and pass it.
+
+ * WebCoreSupport/ChromeClientEfl.h:
+ (WebCore::ChromeClientEfl::needTouchEvents):
+ * ewk/ewk_frame.cpp:
+ (ewk_frame_feed_touch_event):
+ * ewk/ewk_frame.h:
+
+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
+
+ - Add client functions to notify that a frame has been added or
+ removed from the page cache.
+
+ * WebCoreSupport/FrameLoaderClientEfl.cpp:
+ (WebCore::FrameLoaderClientEfl::didSaveToPageCache):
+ (WebCore::FrameLoaderClientEfl::didRestoreFromPageCache):
+ * WebCoreSupport/FrameLoaderClientEfl.h:
+
+2010-12-22 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Editor.h doesn't need to include SelectionController.h
+ https://bugs.webkit.org/show_bug.cgi?id=51441
+
+ Renamed SelectionController::EDirection to SelectionDirection.
+
+ * WebCoreSupport/EditorClientEfl.cpp:
+ (WebCore::EditorClientEfl::handleEditingKeyboardEvent):
+
+2010-12-23 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [EFL] Fix ContextMenu removal
+ https://bugs.webkit.org/show_bug.cgi?id=51530
+
+ Fix ContextMenu removal
+
+ In r74207 the support for ContextMenu was removed from EFL while the
+ code is being ported to the new CROSS_PLATFORM_MENUS due to build
+ breakage. However there were some missing removals in the shutdown
+ logic that introduced a bug, leading to a segmentation fault when
+ ContexController was destroyed.
+
+ The best way to effectively disable the ContextMenu is to conditionally
+ compile the meaningful stuff by surrounding with "#if
+ ENABLE(CONTEXT_MENUS)" and then disabling it in CMake.
+
+ * ewk/ewk_contextmenu.cpp: surround need parts with #if
+ ENABLE(CONTEXT_MENUS).
+ (ewk_context_menu_destroy): ditto.
+ (ewk_context_menu_item_select): ditto.
+ * ewk/ewk_private.h: ditto.
+ * ewk/ewk_view.cpp: ditto.
+
+2010-12-23 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [EFL] Clean warnings in Tiled Backing Store
+ https://bugs.webkit.org/show_bug.cgi?id=51529
+
+ Tiled backing store in EFL was giving the following warnings that are
+ gone now:
+
+ - Static function defined but not used;
+ - Comparison between signed and unsigned integer expressions;
+
+ * ewk/ewk_tiled_backing_store.c:
+ (_ewk_tiled_backing_store_item_fill):
+ (_ewk_tiled_backing_store_smart_calculate):
+ * ewk/ewk_tiled_matrix.c:
+ (_ewk_tile_matrix_slicer_setup):
+
+2010-12-23 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Unreviewed build warning fix.
+
+ [EFL] Remove warning messages during the webkit efl compiling
+ https://bugs.webkit.org/show_bug.cgi?id=51520
+
+ Remove build warning messages.
+
+ * ewk/ewk_view.cpp:
+ (_ewk_view_smart_show):
+ (_ewk_view_smart_hide):
+ * ewk/ewk_view.h:
+
+2010-12-22 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Reviewed by Antonio Gomes.
+
+ [EFL] Sets default user agent
+ https://bugs.webkit.org/show_bug.cgi?id=47903
+
+ If applcation(e.g EWebLauncher) doesn't set user agent, WebKit EFL doesn't
+ set user agent. However, we need to set user agent by default. Because, some
+ web sites send different pages according to user agent.
+
+ * ewk/ewk_private.h:
+ * ewk/ewk_settings.cpp:
+ (_ewk_settings_webkit_platform):
+ (_ewk_settings_webkit_os_version):
+ (ewk_settings_default_user_agent_get):
+ * ewk/ewk_view.cpp:
+ (_ewk_view_priv_new):
+
+2010-12-16 Leandro Pereira <leandro@profusion.mobi>
+
+ [EFL] Unreviewed build fix.
+
+ Disable ContextMenu support for now while support for
+ CROSS_PLATFORM_MENUS is written.
+
+ * CMakeListsEfl.txt:
+ * WebCoreSupport/ContextMenuClientEfl.cpp: Removed.
+ * WebCoreSupport/ContextMenuClientEfl.h: Removed.
+ * ewk/ewk_contextmenu.cpp:
+ (ewk_context_menu_item_append):
+ * ewk/ewk_view.cpp:
+ (_ewk_view_priv_new):
+
+2010-12-13 Alex Bredariol Grilo <abgrilo@profusion.mobi>
+
+ Reviewed by Andreas Kling.
+
+ Remove adjacent tiles rendering queue.
+ https://bugs.webkit.org/show_bug.cgi?id=50023
+
+ In the current implementation of the tiled backing store, one extra row
+ and column of tiles are needed to render the entire viewport. These
+ extra row/col proved to be expensive when being rendered, and were
+ postponed to a queue that would render them after rendering the other
+ tiles of the viewport first. This approach complicated unnecessarily
+ the logics with no gain for keeping the extra row and column. This
+ change removes this rendering queue, for later removing the extra row
+ and column of tiles.
+
+ * ewk/ewk_tiled_backing_store.c:
+ (_ewk_tiled_backing_store_pre_render_request_add):
+ (_ewk_tiled_backing_store_pre_render_request_flush):
+ (_ewk_tiled_backing_store_pre_render_request_clear):
+ (_ewk_tiled_backing_store_pre_render_request_process_single):
+ (_ewk_tiled_backing_store_item_fill):
+ (_ewk_tiled_backing_store_item_add):
+ (_ewk_tiled_backing_store_item_del):
+ (_ewk_tiled_backing_store_recalc_renderers):
+ (ewk_tiled_backing_store_pre_render_region):
+ (ewk_tiled_backing_store_pre_render_relative_radius):
+ (ewk_tiled_backing_store_pre_render_cancel):
+
+2010-12-13 Alex Bredariol Grilo <abgrilo@profusion.mobi>
+
+ Reviewed by Andreas Kling.
+
+ Remove one row/column of renderers.
+ https://bugs.webkit.org/show_bug.cgi?id=50456
+
+ This changes the algorithm in a way that it will require one less column
+ and row of renderers to fill the viewport. The direct result of this is
+ that now less tiles need to be rendered at once when displaying the
+ viewport.
+
+ * ewk/ewk_tiled_backing_store.c:
+ (_ewk_tiled_backing_store_smart_add):
+ (_ewk_tiled_backing_store_recalc_renderers):
+ (_ewk_tiled_backing_store_view_wrap_up):
+ (_ewk_tiled_backing_store_view_wrap_down):
+ (_ewk_tiled_backing_store_view_wrap_left):
+ (_ewk_tiled_backing_store_view_wrap_right):
+ (_ewk_tiled_backing_store_smart_calculate_offset_force):
+ (_ewk_tiled_backing_store_smart_calculate_offset):
+ (_ewk_tiled_backing_store_smart_calculate):
+ (_ewk_tiled_backing_store_zoom_set_internal):
+ (ewk_tiled_backing_store_zoom_weak_set):
+ (ewk_tiled_backing_store_fix_offsets):
+ (ewk_tiled_backing_store_flush):
+
+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.
+
+ * WebCoreSupport/EditorClientEfl.h:
+ (WebCore::EditorClientEfl::requestCheckingOfString):
+
+2010-12-09 Alex Bredariol Grilo <abgrilo@profusion.mobi>
+
+ Reviewed by Antonio Gomes.
+
+ [EFL] Add missing function in WebKit-EFL API
+
+ Add ewk_tiled_backing_store_zoom_weak_smooth_scale_set function in
+ WebKit-EFL API. This function was already implemented but missing in
+ header file.
+
+ * ewk/ewk_tiled_backing_store.h:
+
+2010-12-09 Alex Bredariol Grilo <abgrilo@profusion.mobi>
+
+ Reviewed by Antonio Gomes.
+
+ [EFL] Fix scroll operation in WebKit-EFL
+ https://bugs.webkit.org/show_bug.cgi?id=50752
+
+ Add the _ewk_view_scroll_add call in WebKit-EFL scroll function. This
+ call was wrongly removed in previous commit and performs the scroll
+ operation on the page.
+
+ * ewk/ewk_view.cpp:
+ (ewk_view_scroll):
+
+2010-12-03 Alex Bredariol Grilo <abgrilo@profusion.mobi>
+
+ Reviewed by Andreas Kling.
+
+ Update usage of Eina_Iterator due to EFL changes.
+ https://bugs.webkit.org/show_bug.cgi?id=50457
+
+ * ewk/ewk_tiled_model.c:
+ (ewk_tile_updates_process):
+
+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 signature defined in base class.
+
+ * WebCoreSupport/EditorClientEfl.cpp:
+ (WebCore::EditorClientEfl::getGuessesForWord):
+ * WebCoreSupport/EditorClientEfl.h:
+
2010-11-22 Alex Grilo <abgrilo@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
diff --git a/WebKit/efl/WebCoreSupport/ChromeClientEfl.h b/WebKit/efl/WebCoreSupport/ChromeClientEfl.h
index c6c82d4..a714dd4 100644
--- a/WebKit/efl/WebCoreSupport/ChromeClientEfl.h
+++ b/WebKit/efl/WebCoreSupport/ChromeClientEfl.h
@@ -120,6 +120,10 @@ public:
virtual void showContextMenu() { }
#endif
+#if ENABLE(TOUCH_EVENTS)
+ virtual void needTouchEvents(bool) { }
+#endif
+
virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>);
virtual void chooseIconForFiles(const Vector<String>&, FileChooser*);
virtual void formStateDidChange(const Node*);
diff --git a/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp b/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp
deleted file mode 100644
index 37d7d5a..0000000
--- a/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright (C) 2010 ProFUSION embedded systems
- * Copyright (C) 2010 Samsung Electronics
- *
- * 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 COMPUTER, INC. ``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 COMPUTER, INC. OR
- * 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 "ContextMenuClientEfl.h"
-
-#include "ContextMenu.h"
-#include "EWebKit.h"
-#include "HitTestResult.h"
-#include "KURL.h"
-#include "NotImplemented.h"
-#include "PlatformMenuDescription.h"
-#include "ewk_private.h"
-
-using namespace WebCore;
-
-namespace WebCore {
-
-ContextMenuClientEfl::ContextMenuClientEfl(Evas_Object* view)
- : m_view(view)
-{
-}
-
-void ContextMenuClientEfl::contextMenuDestroyed()
-{
- delete this;
-}
-
-PlatformMenuDescription ContextMenuClientEfl::getCustomMenuFromDefaultItems(ContextMenu* menu)
-{
- PlatformMenuDescription newmenu = ewk_context_menu_custom_get(static_cast<Ewk_Context_Menu*>(menu->releasePlatformDescription()));
-
- return newmenu;
-}
-
-void ContextMenuClientEfl::contextMenuItemSelected(ContextMenuItem*, const ContextMenu*)
-{
- notImplemented();
-}
-
-void ContextMenuClientEfl::downloadURL(const KURL& url)
-{
- if (!m_view)
- return;
-
- Ewk_Download download;
-
- CString downloadUrl = url.prettyURL().utf8();
- download.url = downloadUrl.data();
- ewk_view_download_request(m_view, &download);
-}
-
-void ContextMenuClientEfl::searchWithGoogle(const Frame*)
-{
- notImplemented();
-}
-
-void ContextMenuClientEfl::lookUpInDictionary(Frame*)
-{
- notImplemented();
-}
-
-bool ContextMenuClientEfl::isSpeaking()
-{
- notImplemented();
- return false;
-}
-
-void ContextMenuClientEfl::speak(const String&)
-{
- notImplemented();
-}
-
-void ContextMenuClientEfl::stopSpeaking()
-{
- notImplemented();
-}
-
-PlatformMenuDescription ContextMenuClientEfl::createPlatformDescription(ContextMenu* menu)
-{
- return (PlatformMenuDescription) ewk_context_menu_new(m_view, menu->controller());
-}
-
-void ContextMenuClientEfl::freePlatformDescription(PlatformMenuDescription menu)
-{
- ewk_context_menu_free(static_cast<Ewk_Context_Menu*>(menu));
-}
-
-void ContextMenuClientEfl::appendItem(PlatformMenuDescription menu, ContextMenuItem& item)
-{
- ewk_context_menu_item_append(static_cast<Ewk_Context_Menu*>(menu), item);
-}
-
-void ContextMenuClientEfl::show(PlatformMenuDescription menu)
-{
- ewk_context_menu_show(static_cast<Ewk_Context_Menu*>(menu));
-}
-
-}
diff --git a/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h b/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h
deleted file mode 100644
index 8a289a1..0000000
--- a/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2010 ProFUSION embedded systems
- * Copyright (C) 2010 Samsung Electronics
- *
- * 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 COMPUTER, INC. ``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 COMPUTER, INC. OR
- * 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 ContextMenuClientEfl_h
-#define ContextMenuClientEfl_h
-
-#include "ContextMenuClient.h"
-#include "EWebKit.h"
-
-namespace WebCore {
-
-class ContextMenu;
-
-class ContextMenuClientEfl : public ContextMenuClient {
- public:
- explicit ContextMenuClientEfl(Evas_Object*);
-
- virtual void contextMenuDestroyed();
-
- virtual PlatformMenuDescription getCustomMenuFromDefaultItems(ContextMenu*);
- virtual void contextMenuItemSelected(ContextMenuItem*, const ContextMenu*);
-
- virtual void downloadURL(const KURL&);
- virtual void searchWithGoogle(const Frame*);
- virtual void lookUpInDictionary(Frame*);
- virtual void speak(const String&);
- virtual bool isSpeaking();
- virtual void stopSpeaking();
-
- PlatformMenuDescription createPlatformDescription(ContextMenu*);
- void freePlatformDescription(PlatformMenuDescription);
- void appendItem(PlatformMenuDescription, ContextMenuItem&);
- void show(PlatformMenuDescription menu);
- private:
- Evas_Object* m_view;
-};
-}
-
-#endif // ContextMenuClientEfl_h
diff --git a/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp b/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp
index 9184812..a9e45dd 100644
--- a/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp
+++ b/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp
@@ -343,25 +343,25 @@ bool EditorClientEfl::handleEditingKeyboardEvent(KeyboardEvent* event)
switch (keyEvent->windowsVirtualKeyCode()) {
case VK_LEFT:
frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
- SelectionController::DirectionLeft,
+ DirectionLeft,
keyEvent->ctrlKey() ? WordGranularity : CharacterGranularity,
true);
return true;
case VK_RIGHT:
frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
- SelectionController::DirectionRight,
+ DirectionRight,
keyEvent->ctrlKey() ? WordGranularity : CharacterGranularity,
true);
return true;
case VK_UP:
frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
- SelectionController::DirectionBackward,
+ DirectionBackward,
keyEvent->ctrlKey() ? ParagraphGranularity : LineGranularity,
true);
return true;
case VK_DOWN:
frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
- SelectionController::DirectionForward,
+ DirectionForward,
keyEvent->ctrlKey() ? ParagraphGranularity : LineGranularity,
true);
return true;
@@ -488,7 +488,7 @@ bool EditorClientEfl::spellingUIIsShowing()
return false;
}
-void EditorClientEfl::getGuessesForWord(const String&, Vector<String>&)
+void EditorClientEfl::getGuessesForWord(const String& word, const String& context, Vector<String>& guesses)
{
notImplemented();
}
diff --git a/WebKit/efl/WebCoreSupport/EditorClientEfl.h b/WebKit/efl/WebCoreSupport/EditorClientEfl.h
index 9f60cfb..e25b1e6 100644
--- a/WebKit/efl/WebCoreSupport/EditorClientEfl.h
+++ b/WebKit/efl/WebCoreSupport/EditorClientEfl.h
@@ -110,9 +110,10 @@ public:
virtual void updateSpellingUIWithMisspelledWord(const String&);
virtual void showSpellingUI(bool show);
virtual bool spellingUIIsShowing();
- virtual void getGuessesForWord(const String&, WTF::Vector<String>& guesses);
+ virtual void getGuessesForWord(const String& word, const String& context, WTF::Vector<String>& guesses);
virtual void willSetInputMethodState();
virtual void setInputMethodState(bool enabled);
+ virtual void requestCheckingOfString(WebCore::SpellChecker*, int, const WTF::String&) {}
private:
Evas_Object *m_view;
diff --git a/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp b/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
index 627c1b9..929b269 100644
--- a/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
+++ b/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
@@ -923,6 +923,14 @@ void FrameLoaderClientEfl::transitionToCommittedForNewPage()
ewk_view_frame_main_cleared(m_view);
}
+void FrameLoaderClientEfl::didSaveToPageCache()
+{
+}
+
+void FrameLoaderClientEfl::didRestoreFromPageCache()
+{
+}
+
void FrameLoaderClientEfl::dispatchDidBecomeFrameset(bool)
{
}
diff --git a/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h b/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
index e138139..cf7bdf0 100644
--- a/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
+++ b/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
@@ -200,6 +200,9 @@ class FrameLoaderClientEfl : public FrameLoaderClient {
virtual void transitionToCommittedFromCachedFrame(CachedFrame*);
virtual void transitionToCommittedForNewPage();
+ virtual void didSaveToPageCache();
+ virtual void didRestoreFromPageCache();
+
virtual void dispatchDidBecomeFrameset(bool);
virtual bool canCachePage() const;
diff --git a/WebKit/efl/ewk/ewk_contextmenu.cpp b/WebKit/efl/ewk/ewk_contextmenu.cpp
index 7461359..40bd2ba 100644
--- a/WebKit/efl/ewk/ewk_contextmenu.cpp
+++ b/WebKit/efl/ewk/ewk_contextmenu.cpp
@@ -33,7 +33,9 @@
struct _Ewk_Context_Menu {
unsigned int __ref;
+#if ENABLE(CONTEXT_MENUS)
WebCore::ContextMenuController* controller;
+#endif
Evas_Object* view;
Eina_List* items;
@@ -73,9 +75,12 @@ void ewk_context_menu_unref(Ewk_Context_Menu* menu)
Eina_Bool ewk_context_menu_destroy(Ewk_Context_Menu* menu)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(menu, EINA_FALSE);
+#if ENABLE(CONTEXT_MENUS)
EINA_SAFETY_ON_NULL_RETURN_VAL(menu->controller, EINA_FALSE);
menu->controller->clearContextMenu();
+#endif
+
return EINA_TRUE;
}
@@ -106,6 +111,7 @@ Ewk_Context_Menu_Item* ewk_context_menu_item_new(Ewk_Context_Menu_Item_Type type
Eina_Bool ewk_context_menu_item_select(Ewk_Context_Menu* menu, Ewk_Context_Menu_Item* item)
{
+#if ENABLE(CONTEXT_MENUS)
EINA_SAFETY_ON_NULL_RETURN_VAL(menu, EINA_FALSE);
EINA_SAFETY_ON_NULL_RETURN_VAL(item, EINA_FALSE);
WebCore::ContextMenuAction action = static_cast<WebCore::ContextMenuAction>(item->action);
@@ -114,6 +120,8 @@ Eina_Bool ewk_context_menu_item_select(Ewk_Context_Menu* menu, Ewk_Context_Menu_
// Don't care about title and submenu as they're not used after this point.
WebCore::ContextMenuItem core(type, action, WTF::String());
menu->controller->contextMenuItemSelected(&core);
+#endif
+
return EINA_TRUE;
}
@@ -193,6 +201,7 @@ Eina_Bool ewk_context_menu_item_enabled_set(Ewk_Context_Menu_Item *o, Eina_Bool
/* internal methods ****************************************************/
+#if ENABLE(CONTEXT_MENUS)
/**
* @internal
*
@@ -236,10 +245,9 @@ void ewk_context_menu_item_append(Ewk_Context_Menu* o, WebCore::ContextMenuItem&
{
Ewk_Context_Menu_Item_Type type = static_cast<Ewk_Context_Menu_Item_Type>(core.type());
Ewk_Context_Menu_Action action = static_cast<Ewk_Context_Menu_Action>(core.action());
- Ewk_Context_Menu* submenu = static_cast<Ewk_Context_Menu*>(core.platformSubMenu());
Ewk_Context_Menu_Item* menu_item = ewk_context_menu_item_new
- (type, action, submenu, core.title().utf8().data(), core.checked(),
+ (type, action, 0, core.title().utf8().data(), core.checked(),
core.enabled());
EINA_SAFETY_ON_NULL_RETURN(menu_item);
@@ -261,3 +269,5 @@ void ewk_context_menu_show(Ewk_Context_Menu* o)
evas_object_smart_callback_call(o->view, "contextmenu,show", o);
}
+
+#endif
diff --git a/WebKit/efl/ewk/ewk_frame.cpp b/WebKit/efl/ewk/ewk_frame.cpp
index 5076be5..1cadc77 100644
--- a/WebKit/efl/ewk/ewk_frame.cpp
+++ b/WebKit/efl/ewk/ewk_frame.cpp
@@ -24,6 +24,7 @@
#include "config.h"
#include "ewk_frame.h"
+#include "DocumentMarkerController.h"
#include "EWebKit.h"
#include "EventHandler.h"
#include "FocusController.h"
@@ -36,6 +37,7 @@
#include "KURL.h"
#include "PlatformKeyboardEvent.h"
#include "PlatformMouseEvent.h"
+#include "PlatformTouchEvent.h"
#include "PlatformWheelEvent.h"
#include "ProgressTracker.h"
#include "RefPtr.h"
@@ -191,6 +193,7 @@ static void _ewk_frame_smart_add(Evas_Object* o)
sd->self = o;
_parent_sc.add(o);
+ evas_object_static_clip_set(sd->base.clipper, EINA_FALSE);
evas_object_move(sd->base.clipper, 0, 0);
evas_object_resize(sd->base.clipper, 0, 0);
@@ -1474,6 +1477,42 @@ Eina_Bool ewk_frame_feed_mouse_move(Evas_Object* o, const Evas_Event_Mouse_Move*
return sd->frame->eventHandler()->mouseMoved(event);
}
+Eina_Bool ewk_frame_feed_touch_event(Evas_Object* o, Ewk_Touch_Event_Type action, Eina_List* points, int metaState)
+{
+ Eina_Bool ret = EINA_FALSE;
+
+#if ENABLE(TOUCH_EVENTS)
+ EWK_FRAME_SD_GET_OR_RETURN(o, sd, EINA_FALSE);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(sd->frame, EINA_FALSE);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(points, EINA_FALSE);
+
+ Evas_Coord x, y;
+ evas_object_geometry_get(sd->view, &x, &y, 0, 0);
+
+ WebCore::TouchEventType type = WebCore::TouchStart;
+ switch (action) {
+ case EWK_TOUCH_START:
+ type = WebCore::TouchStart;
+ break;
+ case EWK_TOUCH_END:
+ type = WebCore::TouchEnd;
+ break;
+ case EWK_TOUCH_MOVE:
+ type = WebCore::TouchMove;
+ break;
+ case EWK_TOUCH_CANCEL:
+ type = WebCore::TouchCancel;
+ break;
+ default:
+ return EINA_FALSE;
+ }
+
+ WebCore::PlatformTouchEvent te(points, WebCore::IntPoint(x, y), type, metaState);
+ ret = sd->frame->eventHandler()->handleTouchEvent(te);
+#endif
+ return ret;
+}
+
static inline Eina_Bool _ewk_frame_handle_key_scrolling(WebCore::Frame* frame, const WebCore::PlatformKeyboardEvent &event)
{
WebCore::ScrollDirection direction;
diff --git a/WebKit/efl/ewk/ewk_frame.h b/WebKit/efl/ewk/ewk_frame.h
index 156bd82..63936f3 100644
--- a/WebKit/efl/ewk/ewk_frame.h
+++ b/WebKit/efl/ewk/ewk_frame.h
@@ -130,6 +130,26 @@ struct _Ewk_Hit_Test {
} flags;
};
+typedef enum {
+ EWK_TOUCH_START,
+ EWK_TOUCH_END,
+ EWK_TOUCH_MOVE,
+ EWK_TOUCH_CANCEL
+} Ewk_Touch_Event_Type;
+
+typedef enum {
+ EWK_TOUCH_POINT_PRESSED,
+ EWK_TOUCH_POINT_RELEASED,
+ EWK_TOUCH_POINT_MOVED,
+ EWK_TOUCH_POINT_CANCELLED
+} Ewk_Touch_Point_Type;
+
+typedef struct _Ewk_Touch_Point Ewk_Touch_Point;
+struct _Ewk_Touch_Point {
+ unsigned int id;
+ int x, y;
+ Ewk_Touch_Point_Type state;
+};
EAPI Evas_Object *ewk_frame_view_get(const Evas_Object *o);
EAPI void ewk_frame_theme_set(Evas_Object *o, const char *path);
@@ -200,6 +220,7 @@ EAPI Eina_Bool ewk_frame_feed_mouse_wheel(Evas_Object *o, const Evas_Event_Mo
EAPI Eina_Bool ewk_frame_feed_mouse_down(Evas_Object *o, const Evas_Event_Mouse_Down *ev);
EAPI Eina_Bool ewk_frame_feed_mouse_up(Evas_Object *o, const Evas_Event_Mouse_Up *ev);
EAPI Eina_Bool ewk_frame_feed_mouse_move(Evas_Object *o, const Evas_Event_Mouse_Move *ev);
+EAPI Eina_Bool ewk_frame_feed_touch_event(Evas_Object* o, Ewk_Touch_Event_Type action, Eina_List* points, int metaState);
EAPI Eina_Bool ewk_frame_feed_key_down(Evas_Object *o, const Evas_Event_Key_Down *ev);
EAPI Eina_Bool ewk_frame_feed_key_up(Evas_Object *o, const Evas_Event_Key_Up *ev);
diff --git a/WebKit/efl/ewk/ewk_private.h b/WebKit/efl/ewk/ewk_private.h
index c1599e3..496efdb 100644
--- a/WebKit/efl/ewk/ewk_private.h
+++ b/WebKit/efl/ewk/ewk_private.h
@@ -111,12 +111,16 @@ int ewk_view_dpi_get();
Ewk_History *ewk_history_new(WebCore::BackForwardListImpl *history);
void ewk_history_free(Ewk_History *history);
+#if ENABLE(CONTEXT_MENUS)
+
Ewk_Context_Menu *ewk_context_menu_new(Evas_Object *view, WebCore::ContextMenuController *controller);
Eina_Bool ewk_context_menu_free(Ewk_Context_Menu *o);
void ewk_context_menu_item_append(Ewk_Context_Menu *o, WebCore::ContextMenuItem& core);
Ewk_Context_Menu *ewk_context_menu_custom_get(Ewk_Context_Menu *o);
void ewk_context_menu_show(Ewk_Context_Menu *o);
+#endif
+
Ewk_Window_Features *ewk_window_features_new_from_core(const WebCore::WindowFeatures* core);
Evas_Object *ewk_frame_add(Evas *e);
@@ -156,6 +160,8 @@ void ewk_view_contents_size_changed(Evas_Object *o, Evas_Coord w, Evas_Coord h);
WebCore::FloatRect ewk_view_page_rect_get(Evas_Object *o);
+const char* ewk_settings_default_user_agent_get();
+
#ifdef __cplusplus
}
diff --git a/WebKit/efl/ewk/ewk_settings.cpp b/WebKit/efl/ewk/ewk_settings.cpp
index f2651a1..20051ea 100644
--- a/WebKit/efl/ewk/ewk_settings.cpp
+++ b/WebKit/efl/ewk/ewk_settings.cpp
@@ -29,15 +29,19 @@
#include "Image.h"
#include "IntSize.h"
#include "KURL.h"
+#include "Language.h"
#include "ewk_private.h"
-#include <wtf/text/CString.h>
+#include <Eina.h>
#include <eina_safety_checks.h>
#include <errno.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
+#include <sys/utsname.h>
#include <unistd.h>
+#include <wtf/text/CString.h>
+#include <wtf/text/StringConcatenate.h>
#if USE(SOUP)
#include "ResourceHandle.h"
@@ -48,6 +52,30 @@ static const char* _ewk_default_web_database_path = 0;
static const char* _ewk_icon_database_path = 0;
static uint64_t _ewk_default_web_database_quota = 1 * 1024 * 1024;
+static WTF::String _ewk_settings_webkit_platform_get()
+{
+ WTF::String ua_platform;
+#if PLATFORM(X11)
+ ua_platform = "X11";
+#else
+ ua_platform = "Unknown";
+#endif
+ return ua_platform;
+}
+
+static WTF::String _ewk_settings_webkit_os_version_get()
+{
+ WTF::String ua_os_version;
+ struct utsname name;
+
+ if (uname(&name) != -1)
+ ua_os_version = WTF::String(name.sysname) + " " + WTF::String(name.machine);
+ else
+ ua_os_version = "Unknown";
+
+ return ua_os_version;
+}
+
/**
* Returns the default quota for Web Database databases. By default
* this value is 1MB.
@@ -261,3 +289,17 @@ void ewk_settings_proxy_uri_set(const char* proxy)
EINA_SAFETY_ON_TRUE_RETURN(1);
#endif
}
+
+/**
+* @internal
+* Gets the default user agent string.
+*
+* @return A pointer to an eina_stringshare containing the user agent string.
+*/
+const char* ewk_settings_default_user_agent_get()
+{
+ WTF::String ua_version = makeString(String::number(WEBKIT_USER_AGENT_MAJOR_VERSION), '.', String::number(WEBKIT_USER_AGENT_MINOR_VERSION), '+');
+ WTF::String static_ua = makeString("Mozilla/5.0 (", _ewk_settings_webkit_platform_get(), "; U; ", _ewk_settings_webkit_os_version_get(), "; ", WebCore::defaultLanguage(), ") AppleWebKit/", ua_version) + makeString(" (KHTML, like Gecko) Version/5.0 Safari/", ua_version);
+
+ return eina_stringshare_add(static_ua.utf8().data());
+}
diff --git a/WebKit/efl/ewk/ewk_tiled_backing_store.c b/WebKit/efl/ewk/ewk_tiled_backing_store.c
index 0e8898b..4fbd905 100644
--- a/WebKit/efl/ewk/ewk_tiled_backing_store.c
+++ b/WebKit/efl/ewk/ewk_tiled_backing_store.c
@@ -62,7 +62,6 @@ struct _Ewk_Tiled_Backing_Store_Item {
unsigned long row, col;
float zoom;
} update;
- Ewk_Tiled_Backing_Store_Pre_Render_Request *pre_render;
Eina_Bool smooth_scale;
};
@@ -70,7 +69,6 @@ struct _Ewk_Tiled_Backing_Store_Pre_Render_Request {
EINA_INLIST;
unsigned long col, row;
float zoom;
- struct _Ewk_Tiled_Backing_Store_Item *it;
};
struct _Ewk_Tiled_Backing_Store_Data {
@@ -266,7 +264,7 @@ static void _ewk_tiled_backing_store_tile_dissociate_all(Ewk_Tiled_Backing_Store
}
}
-static inline Eina_Bool _ewk_tiled_backing_store_pre_render_request_add(Ewk_Tiled_Backing_Store_Data *priv, unsigned long col, unsigned long row, float zoom, Ewk_Tiled_Backing_Store_Item *it, Ewk_Tiled_Backing_Store_Pre_Render_Priority priority)
+static inline Eina_Bool _ewk_tiled_backing_store_pre_render_request_add(Ewk_Tiled_Backing_Store_Data *priv, unsigned long col, unsigned long row, float zoom, Ewk_Tiled_Backing_Store_Pre_Render_Priority priority)
{
Ewk_Tiled_Backing_Store_Pre_Render_Request *r;
@@ -282,10 +280,7 @@ static inline Eina_Bool _ewk_tiled_backing_store_pre_render_request_add(Ewk_Tile
r->col = col;
r->row = row;
r->zoom = zoom;
- r->it = it;
- if (it)
- it->pre_render = r;
return EINA_TRUE;
}
@@ -309,14 +304,12 @@ static void _ewk_tiled_backing_store_pre_render_request_flush(Ewk_Tiled_Backing_
while (*pl) {
Ewk_Tiled_Backing_Store_Pre_Render_Request *r;
r = _ewk_tiled_backing_store_pre_render_request_first(priv);
- if (r->it && r->it->pre_render)
- r->it->pre_render = NULL;
*pl = eina_inlist_remove(*pl, *pl);
free(r);
}
}
-static void _ewk_tiled_backing_store_pre_render_request_remove_unassociated(Ewk_Tiled_Backing_Store_Data *priv)
+static void _ewk_tiled_backing_store_pre_render_request_clear(Ewk_Tiled_Backing_Store_Data *priv)
{
Eina_Inlist **pl = &priv->render.pre_render_requests;
Eina_Inlist *iter = *pl, *tmp;
@@ -324,33 +317,10 @@ static void _ewk_tiled_backing_store_pre_render_request_remove_unassociated(Ewk_
Ewk_Tiled_Backing_Store_Pre_Render_Request *r =
EINA_INLIST_CONTAINER_GET(
iter, Ewk_Tiled_Backing_Store_Pre_Render_Request);
- if (!r->it) {
- tmp = iter->next;
- *pl = eina_inlist_remove(*pl, iter);
- iter = tmp;
- free(r);
- } else
- iter = iter->next;
- }
-}
-
-static void _ewk_tiled_backing_store_pre_render_request_remove_associated(Ewk_Tiled_Backing_Store_Data *priv)
-{
- Eina_Inlist **pl = &priv->render.pre_render_requests;
- Eina_Inlist *iter = *pl, *tmp;
- while (iter) {
- Ewk_Tiled_Backing_Store_Pre_Render_Request *r =
- EINA_INLIST_CONTAINER_GET(
- iter, Ewk_Tiled_Backing_Store_Pre_Render_Request);
- if (r->it) {
- if (r->it->pre_render)
- r->it->pre_render = NULL;
- tmp = iter->next;
- *pl = eina_inlist_remove(*pl, iter);
- iter = tmp;
- free(r);
- } else
- iter = iter->next;
+ tmp = iter->next;
+ *pl = eina_inlist_remove(*pl, iter);
+ iter = tmp;
+ free(r);
}
}
@@ -379,11 +349,6 @@ static void _ewk_tiled_backing_store_pre_render_request_process_single(Ewk_Tiled
goto end;
}
- if (req->it && req->it->tile) {
- CRITICAL("it->tile = %p (%lu, %lu), but should be NULL", req->it->tile, req->it->tile->row, req->it->tile->col);
- goto end;
- }
-
t = _ewk_tiled_backing_store_tile_new(priv, col, row, zoom);
if (!t)
goto end;
@@ -399,12 +364,7 @@ static void _ewk_tiled_backing_store_pre_render_request_process_single(Ewk_Tiled
area.x, area.y, area.w, area.h);
ewk_tile_matrix_tile_updates_clear(tm, t);
- if (req->it) {
- _ewk_tiled_backing_store_tile_associate(priv, t, req->it);
- if (req->it->pre_render)
- req->it->pre_render = NULL;
- } else
- ewk_tile_matrix_tile_put(tm, t, last_used);
+ ewk_tile_matrix_tile_put(tm, t, last_used);
end:
_ewk_tiled_backing_store_pre_render_request_del(priv, req);
@@ -531,66 +491,15 @@ static Eina_Bool _ewk_tiled_backing_store_enable_render(Ewk_Tiled_Backing_Store_
return EINA_TRUE;
}
-/**
- * Returns a rectangle whose coordinates indicate which tiles are
- * currently inside the viewport.
- *
- * Specifically, the returned rectangle's coordinates have the
- * following meaning:
- * - x: Column number for the top-level tile inside the viewport.
- * - y: Row number for the top-level tile inside the viewport.
- * - w: Number of tiles horizontally inside the viewport.
- * - h: Number of tiles vertically inside the viewport.
- */
-static Eina_Rectangle _ewk_tiled_backing_store_visible_tiles_rect(Ewk_Tiled_Backing_Store_Data *priv)
-{
- Eina_Rectangle r;
-
- const Evas_Coord ox = -priv->view.offset.cur.x;
- const Evas_Coord oy = -priv->view.offset.cur.y;
- const Evas_Coord tw = priv->view.tile.w;
- const Evas_Coord th = priv->view.tile.h;
-
- r.x = MAX(0, ox / tw);
- r.y = MAX(0, oy / th);
- r.w = MIN(priv->model.cur.cols,
- ceil((float)(priv->view.w + (ox % tw)) / tw));
- r.h = MIN(priv->model.cur.rows,
- ceil((float)(priv->view.h + (oy % th)) / th));
-
- DBG("Returning %d,%d+%dx%d", r.x, r.y, r.w, r.h);
-
- return r;
-}
-
-static Eina_Bool _ewk_tiled_backing_store_tile_is_inside_viewport(Ewk_Tiled_Backing_Store_Data *priv, int col, int row)
-{
- const Eina_Rectangle r = _ewk_tiled_backing_store_visible_tiles_rect(priv);
-
- return eina_rectangle_coords_inside(&r, col, row);
-}
-
-static Eina_Bool _ewk_tiled_backing_store_tile_is_adjacent_to_viewport(Ewk_Tiled_Backing_Store_Data *priv, int col, int row)
-{
- const Eina_Rectangle r = _ewk_tiled_backing_store_visible_tiles_rect(priv);
-
- if (row == (r.y - 1) || row == (r.y + r.h))
- return (col >= (r.x - 1) && col <= (r.x + r.w));
-
- if (col == (r.x - 1) || col == (r.x + r.w))
- return (row >= (r.y - 1) && row <= (r.y + r.h));
-
- return EINA_FALSE;
-}
-
static inline Eina_Bool _ewk_tiled_backing_store_item_fill(Ewk_Tiled_Backing_Store_Data *priv, Ewk_Tiled_Backing_Store_Item *it, long col, int row)
{
- int m_col = priv->model.base.col + col;
- int m_row = priv->model.base.row + row;
+ long m_col = priv->model.base.col + col;
+ long m_row = priv->model.base.row + row;
double last_used = ecore_loop_time_get();
if (m_col < 0 || m_row < 0
- || m_col >= priv->model.cur.cols || m_row >= priv->model.cur.rows) {
+ || (unsigned long)(m_col) >= priv->model.cur.cols
+ || (unsigned long)(m_row) >= priv->model.cur.rows) {
if (it->tile) {
_ewk_tiled_backing_store_tile_dissociate(priv, it, last_used);
@@ -602,28 +511,25 @@ static inline Eina_Bool _ewk_tiled_backing_store_item_fill(Ewk_Tiled_Backing_Sto
const float zoom = priv->view.tile.zoom;
if (it->update.process) {
- if (it->update.row == m_row
- && it->update.col == m_col
+ if (it->update.row == (unsigned long)(m_row)
+ && it->update.col == (unsigned long)(m_col)
&& it->update.zoom == zoom)
return EINA_TRUE;
_ewk_tiled_backing_store_item_request_del(priv, it);
}
- if (it->pre_render) {
- _ewk_tiled_backing_store_pre_render_request_del(
- priv, it->pre_render);
- it->pre_render = NULL;
- }
-
if (it->tile) {
Ewk_Tile *old = it->tile;
- if (old->row != m_row || old->col != m_col || old->zoom != zoom) {
+ if (old->row != (unsigned long)(m_row)
+ || old->col != (unsigned long)(m_col)
+ || old->zoom != zoom) {
_ewk_tiled_backing_store_tile_dissociate(priv, it,
last_used);
if (it->update.process)
_ewk_tiled_backing_store_item_request_del(priv, it);
- } else if (old->row == m_row && old->col == m_col
+ } else if (old->row == (unsigned long)(m_row)
+ && old->col == (unsigned long)(m_col)
&& old->zoom == zoom)
goto end;
}
@@ -640,19 +546,6 @@ static inline Eina_Bool _ewk_tiled_backing_store_item_fill(Ewk_Tiled_Backing_Sto
/* Do not add new requests to the render queue */
if (!priv->render.suspend) {
- if (!_ewk_tiled_backing_store_tile_is_inside_viewport(
- priv, m_col, m_row)) {
- DBG("%d,%d is not inside the viewport", m_col, m_row);
- if (_ewk_tiled_backing_store_tile_is_adjacent_to_viewport(
- priv, m_col, m_row))
- _ewk_tiled_backing_store_pre_render_request_add(
- priv, m_col, m_row, zoom, it,
- PRE_RENDER_PRIORITY_HIGH);
- _ewk_tiled_backing_store_item_process_idler_start(priv);
-
- goto end;
- }
-
t = _ewk_tiled_backing_store_tile_new(priv, m_col, m_row, zoom);
if (!t)
return EINA_FALSE;
@@ -692,7 +585,6 @@ static Ewk_Tiled_Backing_Store_Item *_ewk_tiled_backing_store_item_add(Ewk_Tiled
it->tile = NULL;
it->update.process = NULL;
it->smooth_scale = priv->view.tile.zoom_weak_smooth_scale;
- it->pre_render = NULL;
_ewk_tiled_backing_store_item_move(it, x, y);
_ewk_tiled_backing_store_item_resize(it, tw, th);
if (!_ewk_tiled_backing_store_item_fill(priv, it, col, row)) {
@@ -711,11 +603,6 @@ static void _ewk_tiled_backing_store_item_del(Ewk_Tiled_Backing_Store_Data *priv
}
if (it->update.process)
_ewk_tiled_backing_store_item_request_del(priv, it);
- if (it->pre_render) {
- _ewk_tiled_backing_store_pre_render_request_del(
- priv, it->pre_render);
- it->pre_render = NULL;
- }
free(it);
}
@@ -914,11 +801,11 @@ static void _ewk_tiled_backing_store_smart_add(Evas_Object *o)
priv->view.offset.cur.y = 0;
priv->view.offset.old.x = 0;
priv->view.offset.old.y = 0;
- priv->view.offset.base.x = -TILE_W;
- priv->view.offset.base.y = -TILE_H;
+ priv->view.offset.base.x = 0;
+ priv->view.offset.base.y = 0;
- priv->model.base.col = -1;
- priv->model.base.row = -1;
+ priv->model.base.col = 0;
+ priv->model.base.row = 0;
priv->model.cur.cols = 1;
priv->model.cur.rows = 1;
priv->model.old.cols = 0;
@@ -1022,8 +909,8 @@ static void _ewk_tiled_backing_store_recalc_renderers(Ewk_Tiled_Backing_Store_Da
long cols, rows, old_rows, old_cols;
INF("o=%p, new size: %dx%d", priv->self, w, h);
- cols = 2 + (int)ceil((float)w / (float)tw);
- rows = 2 + (int)ceil((float)h / (float)th);
+ cols = 1 + (int)ceil((float)w / (float)tw);
+ rows = 1 + (int)ceil((float)h / (float)th);
INF("o=%p new grid size cols: %ld, rows: %ld, was %ld, %ld",
priv->self, cols, rows, priv->view.cols, priv->view.rows);
@@ -1031,8 +918,6 @@ static void _ewk_tiled_backing_store_recalc_renderers(Ewk_Tiled_Backing_Store_Da
if (priv->view.cols == cols && priv->view.rows == rows)
return;
- _ewk_tiled_backing_store_pre_render_request_remove_associated(priv);
-
old_cols = priv->view.cols;
old_rows = priv->view.rows;
@@ -1158,7 +1043,7 @@ static void _ewk_tiled_backing_store_view_wrap_up(Ewk_Tiled_Backing_Store_Data *
unsigned int last_row = priv->view.rows - 1;
Evas_Coord tw = priv->view.tile.w;
Evas_Coord th = priv->view.tile.h;
- Evas_Coord off_y = (priv->view.offset.base.y % th) - th;
+ Evas_Coord off_y = priv->view.offset.base.y + count * th;
Evas_Coord oy = y + (last_row - count + 1) * th + off_y;
Eina_Inlist **itr_start, **itr_end;
@@ -1205,7 +1090,7 @@ static void _ewk_tiled_backing_store_view_wrap_down(Ewk_Tiled_Backing_Store_Data
{
Evas_Coord tw = priv->view.tile.w;
Evas_Coord th = priv->view.tile.h;
- Evas_Coord off_y = (priv->view.offset.base.y % th) - th;
+ Evas_Coord off_y = priv->view.offset.base.y - count * th;
Evas_Coord oy = y + off_y + (count - 1) * th;
Eina_Inlist **itr_start, **itr_end;
@@ -1253,7 +1138,7 @@ static void _ewk_tiled_backing_store_view_wrap_left(Ewk_Tiled_Backing_Store_Data
unsigned int r, last_col = priv->view.cols - 1;
Evas_Coord tw = priv->view.tile.w;
Evas_Coord th = priv->view.tile.h;
- Evas_Coord off_x = (priv->view.offset.base.x % tw) - tw;
+ Evas_Coord off_x = priv->view.offset.base.x + count * tw;
Evas_Coord oy = y + priv->view.offset.base.y;
Eina_Inlist **itr;
Eina_Inlist **itr_end;
@@ -1300,7 +1185,7 @@ static void _ewk_tiled_backing_store_view_wrap_right(Ewk_Tiled_Backing_Store_Dat
unsigned int r;
Evas_Coord tw = priv->view.tile.w;
Evas_Coord th = priv->view.tile.h;
- Evas_Coord off_x = (priv->view.offset.base.x % tw) - tw;
+ Evas_Coord off_x = priv->view.offset.base.x - count * tw;
Evas_Coord oy = y + priv->view.offset.base.y;
Eina_Inlist **itr, **itr_end;
@@ -1402,8 +1287,10 @@ static void _ewk_tiled_backing_store_smart_calculate_offset_force(Ewk_Tiled_Back
tw = priv->view.tile.w;
th = priv->view.tile.h;
- step_x = (dx + priv->view.offset.base.x + tw) / tw;
- step_y = (dy + priv->view.offset.base.y + th) / th;
+ long new_col = -priv->view.offset.cur.x / tw;
+ step_x = priv->model.base.col - new_col;
+ long new_row = -priv->view.offset.cur.y / th;
+ step_y = priv->model.base.row - new_row;
priv->view.offset.old.x = priv->view.offset.cur.x;
priv->view.offset.old.y = priv->view.offset.cur.y;
@@ -1435,8 +1322,10 @@ static void _ewk_tiled_backing_store_smart_calculate_offset(Ewk_Tiled_Backing_St
tw = priv->view.tile.w;
th = priv->view.tile.h;
- step_x = (dx + priv->view.offset.base.x + tw) / tw;
- step_y = (dy + priv->view.offset.base.y + th) / th;
+ long new_col = -priv->view.offset.cur.x / tw;
+ step_x = priv->model.base.col - new_col;
+ long new_row = -priv->view.offset.cur.y / th;
+ step_y = priv->model.base.row - new_row;
priv->view.offset.old.x = priv->view.offset.cur.x;
priv->view.offset.old.y = priv->view.offset.cur.y;
@@ -1513,7 +1402,7 @@ static void _ewk_tiled_backing_store_smart_calculate(Evas_Object *o)
ewk_tile_matrix_freeze(priv->model.matrix);
if (!priv->render.suspend && priv->changed.model) {
- long cols, rows;
+ unsigned long cols, rows;
cols = priv->model.width / priv->view.tile.w + 1;
rows = priv->model.height / priv->view.tile.h + 1;
@@ -1569,10 +1458,10 @@ static void _ewk_tiled_backing_store_smart_calculate(Evas_Object *o)
_ewk_tiled_backing_store_updates_process(priv);
- if (priv->view.offset.base.x >= 0
- || priv->view.offset.base.x <= -2 * priv->view.tile.w
- || priv->view.offset.base.y >= 0
- || priv->view.offset.base.y <= -2 * priv->view.tile.h)
+ if (priv->view.offset.base.x > 0
+ || priv->view.offset.base.x <= - priv->view.tile.w
+ || priv->view.offset.base.y > 0
+ || priv->view.offset.base.y <= - priv->view.tile.h)
ERR("incorrect base offset %+4d,%+4d, tile=%dx%d, cur=%+4d,%+4d\n",
priv->view.offset.base.x, priv->view.offset.base.y,
priv->view.tile.w, priv->view.tile.h,
@@ -1700,8 +1589,8 @@ static Eina_Bool _ewk_tiled_backing_store_zoom_set_internal(Ewk_Tiled_Backing_St
priv->view.tile.h = th;
if (!priv->view.w || !priv->view.h) {
- priv->view.offset.base.x = -tw;
- priv->view.offset.base.y = -th;
+ priv->view.offset.base.x = 0;
+ priv->view.offset.base.y = 0;
return EINA_TRUE;
}
Eina_Inlist **itr, **itr_end;
@@ -1725,10 +1614,10 @@ static Eina_Bool _ewk_tiled_backing_store_zoom_set_internal(Ewk_Tiled_Backing_St
else if (-new_y + priv->view.h >= model_height)
new_y = -model_height + priv->view.h;
- bx = new_x % tw - tw;
- priv->model.base.col = - new_x / tw - 1;
- by = new_y % th - th;
- priv->model.base.row = - new_y / th - 1;
+ bx = new_x % tw;
+ priv->model.base.col = - new_x / tw;
+ by = new_y % th;
+ priv->model.base.row = - new_y / th;
priv->changed.size = EINA_TRUE;
_ewk_tiled_backing_store_changed(priv);
@@ -1804,14 +1693,14 @@ Eina_Bool ewk_tiled_backing_store_zoom_weak_set(Evas_Object *o, float zoom, Evas
evas_object_resize(priv->contents_clipper,
model_width, model_height);
- int vrows = ceil((float)priv->view.h / (float)th) + 2;
- int vcols = ceil((float)priv->view.w / (float)tw) + 2;
+ int vrows = ceil((float)priv->view.h / (float)th) + 1;
+ int vcols = ceil((float)priv->view.w / (float)tw) + 1;
Evas_Coord new_x = cx + (priv->view.offset.cur.x - cx) * scale;
Evas_Coord new_y = cy + (priv->view.offset.cur.y - cy) * scale;
- Evas_Coord bx = new_x % tw - tw;
- Evas_Coord by = new_y % th - th;
- unsigned long base_row = -new_y / th - 1;
- unsigned long base_col = -new_x / tw - 1;
+ Evas_Coord bx = new_x % tw;
+ Evas_Coord by = new_y % th;
+ unsigned long base_row = -new_y / th;
+ unsigned long base_col = -new_x / tw;
if (base_row != priv->model.base.row || base_col != priv->model.base.col) {
priv->model.base.row = base_row;
@@ -1869,24 +1758,24 @@ void ewk_tiled_backing_store_fix_offsets(Evas_Object *o, Evas_Coord w, Evas_Coor
if (-new_x > w) {
new_x = -w;
- bx = new_x % tw - tw;
- priv->model.base.col = -new_x / tw - 1;
+ bx = new_x % tw;
+ priv->model.base.col = -new_x / tw;
}
if (-new_y > h) {
new_y = -h;
- by = new_y % th - th;
- priv->model.base.row = -new_y / th - 1;
+ by = new_y % th;
+ priv->model.base.row = -new_y / th;
}
if (bx >= 0 || bx <= -2 * priv->view.tile.w) {
- bx = new_x % tw - tw;
- priv->model.base.col = -new_x / tw - 1;
+ bx = new_x % tw;
+ priv->model.base.col = -new_x / tw;
}
if (by >= 0 || by <= -2 * priv->view.tile.h) {
- by = new_y % th - th;
- priv->model.base.row = -new_y / th - 1;
+ by = new_y % th;
+ priv->model.base.row = -new_y / th;
}
priv->view.offset.cur.x = new_x;
@@ -2006,10 +1895,10 @@ void ewk_tiled_backing_store_flush(Evas_Object *o)
priv->view.offset.cur.y = 0;
priv->view.offset.old.x = 0;
priv->view.offset.old.y = 0;
- priv->view.offset.base.x = -priv->view.tile.w;
- priv->view.offset.base.y = -priv->view.tile.h;
- priv->model.base.col = -1;
- priv->model.base.row = -1;
+ priv->view.offset.base.x = 0;
+ priv->view.offset.base.y = 0;
+ priv->model.base.col = 0;
+ priv->model.base.row = 0;
priv->changed.size = EINA_TRUE;
#ifdef DEBUG_MEM_LEAKS
@@ -2051,7 +1940,7 @@ Eina_Bool ewk_tiled_backing_store_pre_render_region(Evas_Object *o, Evas_Coord x
while (eina_tile_grid_slicer_next(&slicer, &info)) {
const unsigned long c = info->col;
const unsigned long r = info->row;
- if (!_ewk_tiled_backing_store_pre_render_request_add(priv, c, r, zoom, NULL, PRE_RENDER_PRIORITY_LOW))
+ if (!_ewk_tiled_backing_store_pre_render_request_add(priv, c, r, zoom, PRE_RENDER_PRIORITY_LOW))
break;
}
@@ -2082,7 +1971,7 @@ Eina_Bool ewk_tiled_backing_store_pre_render_relative_radius(Evas_Object *o, uns
for (i = start_row; i <= end_row; i++)
for (j = start_col; j <= end_col; j++)
- if (!_ewk_tiled_backing_store_pre_render_request_add(priv, j, i, zoom, NULL, PRE_RENDER_PRIORITY_LOW))
+ if (!_ewk_tiled_backing_store_pre_render_request_add(priv, j, i, zoom, PRE_RENDER_PRIORITY_LOW))
goto start_processing;
start_processing:
@@ -2103,7 +1992,7 @@ void ewk_tiled_backing_store_pre_render_cancel(Evas_Object *o)
PRIV_DATA_GET_OR_RETURN(o, priv);
Ewk_Tile_Unused_Cache *tuc;
- _ewk_tiled_backing_store_pre_render_request_remove_unassociated(priv);
+ _ewk_tiled_backing_store_pre_render_request_clear(priv);
tuc = ewk_tile_matrix_unused_cache_get(priv->model.matrix);
ewk_tile_unused_cache_unlock_area(tuc);
diff --git a/WebKit/efl/ewk/ewk_tiled_backing_store.h b/WebKit/efl/ewk/ewk_tiled_backing_store.h
index c8cdbb8..4af58c8 100644
--- a/WebKit/efl/ewk/ewk_tiled_backing_store.h
+++ b/WebKit/efl/ewk/ewk_tiled_backing_store.h
@@ -104,6 +104,7 @@ EAPI Eina_Bool ewk_tiled_backing_store_scroll_inner_offset_add(Evas_Object *o
EAPI Eina_Bool ewk_tiled_backing_store_zoom_set(Evas_Object *o, float *zoom, Evas_Coord cx, Evas_Coord cy, Evas_Coord *offx, Evas_Coord *offy);
EAPI Eina_Bool ewk_tiled_backing_store_zoom_weak_set(Evas_Object *o, float zoom, Evas_Coord cx, Evas_Coord cy);
EAPI void ewk_tiled_backing_store_fix_offsets(Evas_Object *o, Evas_Coord w, Evas_Coord h);
+EAPI void ewk_tiled_backing_store_zoom_weak_smooth_scale_set(Evas_Object *o, Eina_Bool smooth_scale);
EAPI Eina_Bool ewk_tiled_backing_store_update(Evas_Object *o, const Eina_Rectangle *update);
EAPI void ewk_tiled_backing_store_updates_process_pre_set(Evas_Object *o, void *(*cb)(void *data, Evas_Object *o), const void *data);
EAPI void ewk_tiled_backing_store_updates_process_post_set(Evas_Object *o, void *(*cb)(void *data, void *pre_data, Evas_Object *o), const void *data);
diff --git a/WebKit/efl/ewk/ewk_tiled_matrix.c b/WebKit/efl/ewk/ewk_tiled_matrix.c
index fccbfa1..130a48a 100644
--- a/WebKit/efl/ewk/ewk_tiled_matrix.c
+++ b/WebKit/efl/ewk/ewk_tiled_matrix.c
@@ -600,9 +600,9 @@ static Eina_Bool _ewk_tile_matrix_slicer_setup(Ewk_Tile_Matrix *tm, const Eina_R
y = 0;
}
- if (y + h - 1 > rows * th)
+ if (y + h - 1 > (long)(rows * th))
h = rows * th - y;
- if (x + w - 1 > cols * tw)
+ if (x + w - 1 > (long)(cols * tw))
w = cols * tw - x;
return eina_tile_grid_slicer_setup(slicer, x, y, w, h, tw, th);
diff --git a/WebKit/efl/ewk/ewk_tiled_model.c b/WebKit/efl/ewk/ewk_tiled_model.c
index 641b93e..4b81a15 100644
--- a/WebKit/efl/ewk/ewk_tiled_model.c
+++ b/WebKit/efl/ewk/ewk_tiled_model.c
@@ -447,13 +447,13 @@ void ewk_tile_updates_process(Ewk_Tile *t, void (*cb)(void *data, Ewk_Tile *t, c
#endif
} else if (t->updates) {
Eina_Iterator *itr = eina_tiler_iterator_new(t->updates);
- Eina_Rectangle r = {0, 0, 0, 0};
+ Eina_Rectangle *r;
if (!itr) {
CRITICAL("could not create tiler iterator!");
return;
}
EINA_ITERATOR_FOREACH(itr, r)
- cb((void *)data, t, &r);
+ cb((void *)data, t, r);
eina_iterator_free(itr);
}
}
diff --git a/WebKit/efl/ewk/ewk_view.cpp b/WebKit/efl/ewk/ewk_view.cpp
index 5147b6d..b8633c5 100644
--- a/WebKit/efl/ewk/ewk_view.cpp
+++ b/WebKit/efl/ewk/ewk_view.cpp
@@ -25,7 +25,6 @@
#include "BackForwardListImpl.h"
#include "Chrome.h"
#include "ChromeClientEfl.h"
-#include "ContextMenuClientEfl.h"
#include "ContextMenuController.h"
#include "DocumentLoader.h"
#include "DragClientEfl.h"
@@ -548,7 +547,6 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* sd)
WebCore::Page::PageClients pageClients;
pageClients.chromeClient = static_cast<WebCore::ChromeClient*>(new WebCore::ChromeClientEfl(sd->self));
- pageClients.contextMenuClient = static_cast<WebCore::ContextMenuClient*>(new WebCore::ContextMenuClientEfl(sd->self));
pageClients.editorClient = static_cast<WebCore::EditorClient*>(new WebCore::EditorClientEfl(sd->self));
pageClients.dragClient = static_cast<WebCore::DragClient*>(new WebCore::DragClientEfl);
pageClients.inspectorClient = static_cast<WebCore::InspectorClient*>(new WebCore::InspectorClientEfl);
@@ -624,6 +622,8 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* sd)
priv->settings.page_cache = priv->page_settings->usesPageCache();
priv->settings.encoding_detector = priv->page_settings->usesEncodingDetector();
+ priv->settings.user_agent = ewk_settings_default_user_agent_get();
+
// Since there's no scale separated from zooming in webkit-efl, this functionality of
// viewport meta tag is implemented using zoom. When scale zoom is supported by webkit-efl,
// this functionality will be modified by the scale zoom patch.
@@ -864,7 +864,6 @@ static void _ewk_view_smart_calculate(Evas_Object* o)
static void _ewk_view_smart_show(Evas_Object *o)
{
EWK_VIEW_SD_GET(o, sd);
- EWK_VIEW_PRIV_GET(sd, priv);
if (evas_object_clipees_get(sd->base.clipper))
evas_object_show(sd->base.clipper);
@@ -874,7 +873,6 @@ static void _ewk_view_smart_show(Evas_Object *o)
static void _ewk_view_smart_hide(Evas_Object *o)
{
EWK_VIEW_SD_GET(o, sd);
- EWK_VIEW_PRIV_GET(sd, priv);
evas_object_hide(sd->base.clipper);
evas_object_hide(sd->backing_store);
@@ -1616,6 +1614,8 @@ Eina_Bool ewk_view_select_word(Evas_Object* o)
return _ewk_view_editor_command(priv, "SelectWord");
}
+#if ENABLE(CONTEXT_MENUS)
+
/**
* Forwards a request of new Context Menu to WebCore.
*
@@ -1656,6 +1656,8 @@ Eina_Bool ewk_view_context_menu_forward_event(Evas_Object* o, const Evas_Event_M
return EINA_TRUE;
}
+#endif
+
/**
* Get current load progress estimate from 0.0 to 1.0.
*
@@ -4075,6 +4077,8 @@ void ewk_view_scroll(Evas_Object* o, Evas_Coord dx, Evas_Coord dy, Evas_Coord sx
EWK_VIEW_PRIV_GET_OR_RETURN(sd, priv);
EINA_SAFETY_ON_TRUE_RETURN(!dx && !dy);
+ _ewk_view_scroll_add(priv, dx, dy, sx, sy, sw, sh, main_frame);
+
_ewk_view_smart_changed(sd);
}
diff --git a/WebKit/efl/ewk/ewk_view.h b/WebKit/efl/ewk/ewk_view.h
index 6902949..e487f5e 100644
--- a/WebKit/efl/ewk/ewk_view.h
+++ b/WebKit/efl/ewk/ewk_view.h
@@ -155,7 +155,7 @@ struct _Ewk_View_Smart_Class {
* @see EWK_VIEW_SMART_CLASS_INIT_VERSION
* @see EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION
*/
-#define EWK_VIEW_SMART_CLASS_INIT(smart_class_init) {smart_class_init, EWK_VIEW_SMART_CLASS_VERSION, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+#define EWK_VIEW_SMART_CLASS_INIT(smart_class_init) {smart_class_init, EWK_VIEW_SMART_CLASS_VERSION, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
/**
* Initializer to zero a whole Ewk_View_Smart_Class structure.
diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
index 90aeaa4..1bf56f2 100644
--- a/WebKit/gtk/ChangeLog
+++ b/WebKit/gtk/ChangeLog
@@ -1,3 +1,1338 @@
+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
+
+ * GNUmakefile.am:
+
+2011-01-07 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Chris Fleizach.
+
+ GTK: AX: atk tests need to be updated after recent changes
+ https://bugs.webkit.org/show_bug.cgi?id=51932
+
+ Fix gtk_widget_get_accessible() in WebKitWebView to keep returning
+ the AtkObject of role ATK_ROLE_DOCUMENT_FRAME.
+
+ With the change to support WK2 accessibility, the root object of
+ the AX hierarchy is different from what GTK expects as the current
+ hirarchy right now includes a new accessible object as the parent
+ of the accessible web area (AXScrollView).
+
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_get_accessible): Return the first child of the
+ wrapper associated to the root accessible object in the document,
+ to keep everything in the GTK port working as it used to be.
+
+ Re-enable skipped ATK unit tests now they are passing again.
+
+ * tests/testatk.c:
+ (main): Re-enable skipped tests.
+ * tests/testatkroles.c:
+ (main): Ditto.
+
+2011-01-06 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ GTK: AX: atk tests need to be updated after recent changes
+ https://bugs.webkit.org/show_bug.cgi?id=51932
+
+ Skip ATK unit tests until we can look into what is causing these failures.
+
+ * tests/testatk.c:
+ (main): Skip all tests.
+ * tests/testatkroles.c:
+ (main): Ditto.
+
+2011-01-06 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ Include a new header in the static headers list. This is necessary
+ so that "make install" installs the header.
+
+ * GNUmakefile.am: Include webkitglobals.h in the header list.
+
+2011-01-05 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Build fix for GTK+ 3.x. Remove the call to gtk_range_set_update_policy.
+ GTK+ 3.x has removed this method and the default in GTK+ 2.x is continuous,
+ so this call is unnecessary.
+
+ * WebCoreSupport/FullscreenVideoController.cpp:
+ (FullscreenVideoController::createHud): Remove call to gtk_range_set_update_policy().
+
+2011-01-04 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Martin Robinson.
+
+ GTK: AX: DRT needs to use correct root object method.
+ https://bugs.webkit.org/show_bug.cgi?id=51911
+
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ (DumpRenderTreeSupportGtk::getRootAccessibleElement):
+ (DumpRenderTreeSupportGtk::getFocusedAccessibleElement):
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h:
+
+2011-01-04 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WK2: Support Accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=51859
+
+ Use rootObject() method to get top of ax tree.
+
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ (DumpRenderTreeSupportGtk::getFocusedAccessibleElement):
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_get_accessible):
+
+2011-01-03 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Darin Adler.
+
+ Remove the last non-GObject usage of PlatformRefPtr and move the code to GRefPtr
+ https://bugs.webkit.org/show_bug.cgi?id=51846
+
+ Changed all references to PlatformRefPtr in GTK+ code to GRefPtr.
+
+2011-01-03 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Split webkitprivate.{cpp,h} in more manageable chunks
+ https://bugs.webkit.org/show_bug.cgi?id=50698
+
+ Final patch, removing webkitprivate.{cpp,h}, and adding a
+ webkitglobals module to hold non-object-specific functions and
+ definitions that do not make sense on their own.
+
+ * GNUmakefile.am:
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ (WebKit::ChromeClient::createWindow):
+ * WebCoreSupport/ContextMenuClientGtk.cpp:
+ * WebCoreSupport/DocumentLoaderGtk.cpp:
+ (WebKit::DocumentLoader::attachToFrame):
+ * WebCoreSupport/DragClientGtk.cpp:
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ * WebCoreSupport/EditorClientGtk.cpp:
+ (WebKit::EditorClient::ignoreWordInSpellDocument):
+ (WebKit::EditorClient::learnWord):
+ (WebKit::EditorClient::checkSpellingOfString):
+ (WebKit::EditorClient::getGuessesForWord):
+ * WebCoreSupport/FrameLoaderClientGtk.cpp:
+ (WebKit::FrameLoaderClient::createDocumentLoader):
+ * WebCoreSupport/InspectorClientGtk.cpp:
+ * webkit/webkit.h:
+ * webkit/webkitapplicationcache.cpp:
+ (webkit_application_cache_set_maximum_size):
+ * webkit/webkitdownload.cpp:
+ (webkit_download_class_init):
+ * webkit/webkitgeolocationpolicydecision.cpp:
+ * webkit/webkitglobals.cpp: Added.
+ (webkit_get_default_session):
+ (webkit_set_cache_model):
+ (webkit_get_cache_model):
+ (webkit_get_web_plugin_database):
+ (currentToplevelCallback):
+ (closeIconDatabaseOnExit):
+ (webkitInit):
+ (WebKit::pasteboardHelperInstance):
+ * webkit/webkitglobals.h: Added.
+ * webkit/webkitglobalsprivate.h: Copied from WebKit/gtk/webkit/webkitwebsettingsprivate.h.
+ * webkit/webkithittestresult.cpp:
+ (webkit_hit_test_result_class_init):
+ * webkit/webkitnetworkrequest.cpp:
+ (webkit_network_request_class_init):
+ * webkit/webkitnetworkresponse.cpp:
+ (webkit_network_response_class_init):
+ * webkit/webkitprivate.cpp: Removed.
+ * webkit/webkitprivate.h: Removed.
+ * webkit/webkitsecurityorigin.cpp:
+ * webkit/webkitviewportattributes.cpp:
+ * webkit/webkitwebbackforwardlist.cpp:
+ (webkit_web_back_forward_list_class_init):
+ * webkit/webkitwebdatabase.cpp:
+ * webkit/webkitwebdatasource.cpp:
+ (webkit_web_data_source_class_init):
+ (webkit_web_data_source_new_with_request):
+ (WebKit::kitNew):
+ * webkit/webkitwebframe.cpp:
+ (webkit_web_frame_class_init):
+ * webkit/webkitwebframeprivate.h:
+ * webkit/webkitwebhistoryitem.cpp:
+ (webkit_web_history_item_class_init):
+ * webkit/webkitwebinspector.cpp:
+ * webkit/webkitwebnavigationaction.cpp:
+ * webkit/webkitwebplugin.cpp:
+ (webkit_web_plugin_class_init):
+ * webkit/webkitwebplugindatabase.cpp:
+ (webkit_web_plugin_database_class_init):
+ * webkit/webkitwebpluginprivate.h:
+ * webkit/webkitwebpolicydecision.cpp:
+ * webkit/webkitwebresource.cpp:
+ * webkit/webkitwebsettings.cpp:
+ (webkit_web_settings_class_init):
+ (webkitWebViewGetEnchantDicts):
+ (WebKit::core):
+ * webkit/webkitwebsettingsprivate.h:
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_class_init):
+ (webkit_web_view_update_settings):
+ (webkit_web_view_settings_notify):
+ * webkit/webkitwebview.h:
+ * webkit/webkitwebwindowfeatures.cpp:
+ (webkit_web_window_features_class_init):
+ (WebKit::kitNew):
+
+2011-01-02 Xan Lopez <xlopez@igalia.com>
+
+ Fix GTK+ build.
+
+ * GNUmakefile.am: tests do actually include JSC.
+
+2011-01-02 Xan Lopez <xlopez@igalia.com>
+
+ Fix GTK+ build.
+
+ * GNUmakefile.am: remove individual -I$(srcdir)/Source when we'll
+ already get them from javascriptcore_cppflags, and add it for the
+ introspection build (which is not tested in the bots).
+
+2011-01-02 Adam Barth <abarth@webkit.org>
+
+ Speculative build fix for GTK. Add Source to the include paths.
+
+ * GNUmakefile.am:
+
+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
+
+ * GNUmakefile.am:
+ * docs/GNUmakefile.am:
+ - Point to JavaScriptCore in its new location.
+
+2010-12-29 Martin Robinson <mrobinson@igalia.com>
+
+ Build fix for GTK+.
+
+ * webkit/webkitwebinspector.cpp: Add missing DumpRenderTreeSupportGtk include.
+
+2010-12-29 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] GSettings warning is concealing real warnings on the build bots
+ https://bugs.webkit.org/show_bug.cgi?id=51691
+
+ Reviewed by Xan Lopez.
+
+ Do not print the GSettings warning message when running in DumpRenderTree.
+
+ * webkit/webkitwebinspector.cpp:
+ (inspectorGSettings): Do not print the GSettings warning if we are running
+ in DumpRenderTree. This should clean up the test results page a great deal.
+
+2010-12-28 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Closing a window during an onload event can trigger serious GLib warnings
+ https://bugs.webkit.org/show_bug.cgi?id=51686
+
+ Don't emit the close-web-view signal immediately during execution of closeWindowSoon.
+ The signal handler may choose to destroy the web view while handling that signal,
+ which may remove the last reference to the web view. FrameLoaderClient depends on the
+ view still existing though. Instead, let the caller finish executing and emit the signal
+ after a 0 length timeout. This matches the behavior on the Windows and Mac ports.
+
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ (WebKit::ChromeClient::ChromeClient): Initialize the timer id.
+ (WebKit::emitCloseWebViewSignalLater): Callback for the timer.
+ (WebKit::ChromeClient::closeWindowSoon): Do the actual signal invocation after
+ the caller finishes its tasks.
+ * WebCoreSupport/ChromeClientGtk.h: Add a new member for the timer id. We
+ can use this to prevent emitting the close-web-view signal twice.
+
+2010-12-28 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ [GTK] Clean up usage of NULL in webkitwebframe.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=51685
+
+ Replace occurrences of NULL with 0, in webkitwebframe.cpp. Not all
+ uses of NULL have been changed, as certain GLib functions require
+ an explicit NULL as a sentinel.
+
+ * webkit/webkitwebframe.cpp:
+ (webkit_web_frame_get_data_source_from_core_loader):
+ (webkit_web_frame_class_init):
+ (webkit_web_frame_new):
+ (webkit_web_frame_get_title):
+ (webkit_web_frame_get_uri):
+ (webkit_web_frame_get_web_view):
+ (webkit_web_frame_get_name):
+ (webkit_web_frame_get_parent):
+ (webkit_web_frame_load_string):
+ (webkit_web_frame_load_alternate_string):
+ (webkit_web_frame_find_frame):
+ (webkit_web_frame_get_global_context):
+ (webkit_web_frame_get_data_source):
+ (webkit_web_frame_get_provisional_data_source):
+ (webkit_web_frame_print_full):
+ (webkit_web_frame_get_security_origin):
+ (webkit_web_frame_get_network_response):
+
+2010-12-27 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Ryosuke Niwa.
+
+ [GTK] EditorClient::generateEditorCommands queues up "null string" commands
+ https://bugs.webkit.org/show_bug.cgi?id=51569
+
+ Prevent adding "null string" editor commands by first checking whether or not
+ the command string is null in generateEditorCommands before appending it to the
+ list of pending editor command strings.
+
+ * WebCoreSupport/EditorClientGtk.cpp:
+ (WebKit::EditorClient::generateEditorCommands): Check for the null string (no
+ command for this key combination) before appending a command string to the list of
+ pending editor commands.
+ (WebKit::EditorClient::executePendingEditorCommands): Add an ASSERT which detects
+ null command strings.
+
+2010-12-27 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ Remove unneeded includes from our headers.
+
+ * WebCoreSupport/PasteboardHelperGtk.h: ditto.
+ * webkit/webkitprivate.h: ditto.
+ * webkit/webkitsoupauthdialog.h: ditto.
+
+2010-12-21 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ [GTK] minimal build with --database fails
+ https://bugs.webkit.org/show_bug.cgi?id=51394
+
+ * webkit/webkitprivate.cpp:
+ (webkit_init): Use cacheStorage() only if the
+ OFFLINE_WEB_APPLICATIONS feature is enabled.
+
+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
+
+ - Add client functions to notify that a frame has been added or
+ removed from the page cache.
+
+ * WebCoreSupport/FrameLoaderClientGtk.cpp:
+ (WebKit::FrameLoaderClient::didSaveToPageCache):
+ (WebKit::FrameLoaderClient::didRestoreFromPageCache):
+ * WebCoreSupport/FrameLoaderClientGtk.h:
+
+2010-12-22 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ * NEWS: update for 1.3.9 release.
+
+2010-12-20 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ Add WebPlugin, WebPluginDatabase, and ViewportAttributes to the
+ documentation control files, in preparation for 1.3.8. Also take
+ the opportunity to add descriptions to WebPlugin and
+ WebPluginDatabase.
+
+ * docs/GNUmakefile.am:
+ * docs/webkitgtk-docs.sgml:
+ * docs/webkitgtk-sections.txt:
+ * webkit/webkitwebplugin.cpp:
+ * webkit/webkitwebplugindatabase.cpp:
+
+2010-12-20 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ * GNUmakefile.am: add missing files.
+ * NEWS: update for 1.3.8 release.
+
+2010-12-18 Antonio Gomes <agomes@rim.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK+] Simplify spatial navigation handling in EditorClientGtk.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=51302
+
+ Patch changes:
+ 1) The editor command for LEFT arrow key press without modifier
+ from MoveBackward to MoveLeft;
+ 2) And similarly changes the editor command for RIGHT arrow key
+ press without modifier from MoveForward to MoveRight.
+
+ It has no implications since SelectionController::modifyMovingRight()
+ handles "MoveRight" equaly to how SelectionController::modifyMovingForward()
+ handles "MoveForward" when granularity is 'CharacterGranularity'. The former
+ falls back to the later in the case of other editor commands.
+
+ Analogously, the same applies to how SelectionController::modifyMovingLeft() and
+ SelectionController::modifyMovingForward() handle "MoveLeft" and "MoveBackward"
+ editor commands, respectively.
+
+ With this change we can remove the spatial navigation hack from moveCursorCallback(),
+ in EditorClientGtk.cpp.
+
+ * WebCoreSupport/EditorClientGtk.cpp:
+ (WebKit::moveCursorCallback):
+
+2010-12-16 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [Gtk] scrolling artifacts
+ https://bugs.webkit.org/show_bug.cgi?id=45029
+
+ Call gdk_window_process_updates() right after moving the window
+ when scrolling.
+
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ (WebKit::ChromeClient::scroll):
+
+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:
+
+2010-12-15 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra 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 WebCore/bindings/gobject to webkitgtk_sources & webkitgtk_cppflags.
+ They should get compiled only when WebKit/gtk/GNUmakefile.am is getting included but not
+ with WebKit2/GNUmakefile.am inclusion.
+
+2010-12-14 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Simplify context-menu handling code
+ https://bugs.webkit.org/show_bug.cgi?id=49658
+
+ Use gtk_container_foreach() so that we only iterate the list of
+ children once and we avoid creating/destroying the list. It also
+ connects the activate signal for submenu items.
+
+ * webkit/webkitwebview.cpp:
+ (contextMenuConnectActivate):
+ (webkit_web_view_forward_context_menu_event):
+
+2010-12-14 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Fix several issues in r73858
+ https://bugs.webkit.org/show_bug.cgi?id=51032
+
+ - It uses both glib private data and it allocates its own private
+ structure.
+ - It calls parent's dispose method from finalize.
+ - webkit_web_plugin_get_mimetypes() uses a wrong annotation for the
+ returned value, it should be transfer none rather than transfer
+ container.
+ - Since the mime type list is internal and we return the list and not a
+ copy, it should never be freed by the caller, so
+ webkit_web_plugin_mime_type_list_free() should be removed from the
+ public API.
+ - Mime types list is used uninitialized.
+ - Mention in the docs that list returned by
+ webkit_web_plugin_database_get_plugins() must be freed with
+ webkit_web_plugin_database_plugins_list_free().
+
+ * webkit/webkitwebplugin.cpp:
+ (webkit_web_plugin_finalize):
+ (webkit_web_plugin_class_init):
+ (webkit_web_plugin_init):
+ * webkit/webkitwebplugin.h:
+ * webkit/webkitwebplugindatabase.cpp:
+
+2010-12-14 Diego Escalante Urrelo <descalante@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [gtk] misnamed gtk-doc strings for webkit_web_view_can_{c|c|p}_clipboard
+ https://bugs.webkit.org/show_bug.cgi?id=50571
+
+ * webkit/webkitwebview.cpp:
+
+2010-12-13 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Add API to enable/disable plugins at runtime
+ https://bugs.webkit.org/show_bug.cgi?id=50891
+
+ * tests/testwebplugindatabase.c:
+ (test_webkit_web_plugin_database_get_plugins): test that disabling
+ a plugin works.
+ * webkit/webkitwebplugin.cpp:
+ (webkit_web_plugin_get_property): hook 'enabled' property.
+ (webkit_web_plugin_set_property): ditto.
+ (webkit_web_plugin_class_init): define 'enabled' property.
+ (webkit_web_plugin_set_enabled): setter for the property.
+ (webkit_web_plugin_get_enabled): getter for the property.
+ * webkit/webkitwebplugin.h: add the APIs to the header.
+
+2010-12-13 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Do not use GET_PRIVATE macros
+ https://bugs.webkit.org/show_bug.cgi?id=50915
+
+ GET_PRIVATE macros are slow and should only be used in the object
+ init() method.
+
+ * WebCoreSupport/ContextMenuClientGtk.cpp:
+ (WebKit::inputMethodsMenuItem):
+ * WebCoreSupport/FrameLoaderClientGtk.cpp:
+ (WebKit::FrameLoaderClient::postProgressFinishedNotification):
+ (WebKit::FrameLoaderClient::setTitle):
+ (WebKit::FrameLoaderClient::dispatchCreatePage):
+ (WebKit::postCommitFrameViewSetup):
+ * webkit/webkitdownload.cpp:
+ (webkit_download_init):
+ * webkit/webkitgeolocationpolicydecision.cpp:
+ (webkit_geolocation_policy_decision_init):
+ * webkit/webkithittestresult.cpp:
+ (webkit_hit_test_result_init):
+ * webkit/webkitnetworkrequest.cpp:
+ (webkit_network_request_init):
+ * webkit/webkitsecurityorigin.cpp:
+ (webkit_security_origin_init):
+ * webkit/webkitsecurityoriginprivate.h:
+ * webkit/webkitviewportattributes.cpp:
+ (webkit_viewport_attributes_init):
+ * webkit/webkitwebbackforwardlist.cpp:
+ (webkit_web_back_forward_list_init):
+ * webkit/webkitwebdatabase.cpp:
+ (webkit_web_database_init):
+ * webkit/webkitwebdatasource.cpp:
+ (webkit_web_data_source_init):
+ * webkit/webkitwebframe.cpp:
+ (webkit_web_frame_init):
+ (webkit_web_frame_new):
+ * webkit/webkitwebframeprivate.h:
+ * webkit/webkitwebhistoryitem.cpp:
+ (webkit_web_history_item_init):
+ * webkit/webkitwebinspector.cpp:
+ (webkit_web_inspector_init):
+ * webkit/webkitwebnavigationaction.cpp:
+ (webkit_web_navigation_action_init):
+ * webkit/webkitwebplugin.cpp:
+ (webkit_web_plugin_init):
+ * webkit/webkitwebplugindatabase.cpp:
+ (webkit_web_plugin_database_init):
+ * webkit/webkitwebplugindatabaseprivate.h:
+ * webkit/webkitwebpluginprivate.h:
+ * webkit/webkitwebpolicydecision.cpp:
+ (webkit_web_policy_decision_init):
+ * webkit/webkitwebresource.cpp:
+ (webkit_web_resource_init):
+ * webkit/webkitwebresourceprivate.h:
+ * webkit/webkitwebsettings.cpp:
+ (webkit_web_settings_init):
+ * webkit/webkitwebview.cpp:
+ (PopupMenuPositionFunc):
+ (webkit_web_view_forward_context_menu_event):
+ (webkit_web_view_drag_end):
+ (webkit_web_view_drag_data_get):
+ (webkit_web_view_query_tooltip):
+ (webkit_web_view_init):
+ * webkit/webkitwebwindowfeatures.cpp:
+ (webkit_web_window_features_init):
+
+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.
+
+ * WebCoreSupport/EditorClientGtk.h:
+ (WebKit::EditorClient::requestCheckingOfString):
+
+2010-12-12 Xan Lopez <xlopez@igalia.com>
+
+ Rubber-stamped by Martin Robinson.
+
+ * webkit/webkitwebplugin.h: add a note about the extension list
+ being a NULL-terminated array.
+
+2010-12-12 Xan Lopez <xlopez@igalia.com>
+
+ Rubber-stamped by Gustavo Noronha.
+
+ Stop checking for glib >= 2.16, we have dependend on a newer
+ version for a long time now.
+
+ * tests/testatk.c: Stop checking for glib >= 2.16.
+ * tests/testatkroles.c: ditto.
+ * tests/testdomdocument.c: ditto.
+ * tests/testdomdomwindow.c: ditto.
+ * tests/testdomnode.c: ditto.
+ * tests/testglobals.c: ditto.
+ * tests/testhttpbackend.c: ditto.
+ * tests/testloading.c: ditto.
+ * tests/testmimehandling.c: ditto.
+ * tests/testnetworkrequest.c: ditto.
+ * tests/testnetworkresponse.c: ditto.
+ * tests/testwebbackforwardlist.c: ditto.
+ * tests/testwebdatasource.c: ditto.
+ * tests/testwebframe.c: ditto.
+ * tests/testwebhistoryitem.c: ditto.
+ * tests/testwebresource.c: ditto.
+ * tests/testwebsettings.c: ditto.
+ * tests/testwebview.c: ditto.
+ * tests/testwindow.c: ditto.
+
+2010-12-11 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Add APIs for plugin management
+ https://bugs.webkit.org/show_bug.cgi?id=50827
+
+ Add WebKitWebPluginDatabase and WebKitWebPlugin classes for basic
+ plugin management at the client level. For now they provide
+ "read-only" access to the plugin list.
+
+ * GNUmakefile.am: add new files to the build.
+ * tests/testwebplugindatabase.c: Test that the database contains
+ the test plugin, which should always be loaded.
+ * webkit/webkit.h: add new headers.
+ * webkit/webkitdefines.h: add new defines.
+ * webkit/webkitwebplugin.cpp: An new class representing a plugin object.
+ * webkit/webkitwebplugin.h: ditto.
+ * webkit/webkitwebplugindatabase.cpp: A new class that contains the list of active plugins.
+ * webkit/webkitwebplugindatabase.h: ditto.
+ * webkit/webkitwebplugindatabaseprivate.h: Private header.
+ * webkit/webkitwebpluginprivate.h: Private header.
+ * webkit/webkitwebview.cpp:
+ (webkit_get_web_plugin_database): returns the WebKitWebPluginDatabase for this session.
+ * webkit/webkitwebview.h: add method to header.
+
+2010-12-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Split webkitprivate.{cpp,h} in more manageable chunks
+ https://bugs.webkit.org/show_bug.cgi?id=50698
+
+ Split private bits of several objects to their own private
+ headers, and to their implementation files.
+
+ * GNUmakefile.am:
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ * WebCoreSupport/EditorClientGtk.cpp:
+ * WebCoreSupport/FrameLoaderClientGtk.cpp:
+ (WebKit::FrameLoaderClient::dispatchWillSendRequest):
+ * webkit/webkitdownload.cpp:
+ (webkit_download_set_response):
+ * webkit/webkitdownloadprivate.h: Added.
+ * webkit/webkithittestresult.cpp:
+ (WebKit::kit):
+ * webkit/webkithittestresultprivate.h: Added.
+ * webkit/webkitnetworkresponse.cpp:
+ (WebKit::core):
+ (WebKit::kitNew):
+ * webkit/webkitnetworkresponseprivate.h: Added.
+ * webkit/webkitprivate.cpp:
+ * webkit/webkitprivate.h:
+ * webkit/webkitsecurityorigin.cpp:
+ (webkit_security_origin_get_web_database):
+ (WebKit::core):
+ (WebKit::kit):
+ * webkit/webkitsecurityoriginprivate.h: Added.
+ * webkit/webkitviewportattributes.cpp:
+ * webkit/webkitviewportattributesprivate.h: Added.
+ * webkit/webkitwebbackforwardlist.cpp:
+ * webkit/webkitwebbackforwardlistprivate.h: Added.
+ * webkit/webkitwebdatabase.cpp:
+ * webkit/webkitwebframe.cpp:
+ (webkit_web_frame_get_network_response):
+ * webkit/webkitwebhistoryitem.cpp:
+ * webkit/webkitwebhistoryitemprivate.h: Added.
+ * webkit/webkitwebnavigationaction.cpp:
+ (WebKit::kit):
+ (WebKit::core):
+ * webkit/webkitwebnavigationactionprivate.h: Added.
+ * webkit/webkitwebpolicydecision.cpp:
+ * webkit/webkitwebpolicydecisionprivate.h: Added.
+ * webkit/webkitwebresource.cpp:
+ * webkit/webkitwebresourceprivate.h: Added.
+ * webkit/webkitwebsettings.cpp:
+ * webkit/webkitwebsettingsprivate.h: Added.
+ * webkit/webkitwebview.cpp:
+
+2010-12-10 Alejandro G. Castro <alex@igalia.com>
+
+ Unreviewed, fixed small typo in the name of a function.
+
+ * webkit/webkitwebsettings.cpp:
+ (getAvailableDictionariesCallback):
+ (webkit_web_settings_set_property):
+
+2010-12-09 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Add hasSpellingMarker support to the DRT
+ https://bugs.webkit.org/show_bug.cgi?id=50739
+
+ Added a new private API function to support the spelling marker
+ tests in the DRT.
+
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ (DumpRenderTreeSupportGtk::webkitWebFrameSelectionHasSpellingMarker):
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h:
+
+2010-12-10 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Choose a dictionary in case there is no one defined or the
+ env LANG does not propose one
+ https://bugs.webkit.org/show_bug.cgi?id=50738
+
+ In case no dict is set and we can not find one using the
+ environment just get the first dictionary installed in the list.
+
+ * webkit/webkitwebsettings.cpp:
+ (getAvilableDictionariesCallback):
+ (webkit_web_settings_set_property):
+
+2010-12-10 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Remove unnecessary variable names from DumpRenderTreeSupportGtk
+ https://bugs.webkit.org/show_bug.cgi?id=50815
+
+ There were some unnecessary variable names in DumpRenderTreeSupportGtk,
+ so remove them.
+
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h: Do it.
+
+2010-12-10 Joone Hur <joone@kldp.org>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Unskipping some test cases in /userscripts dependent on addUserStyleSheet
+ https://bugs.webkit.org/show_bug.cgi?id=50808
+
+ Unskipping the following test cases:
+ userscripts/mixed-case-stylesheet.html
+ userscripts/simple-stylesheet.html
+ userscripts/user-style-all-frames.html
+
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ (DumpRenderTreeSupportGtk::addUserStyleSheet): Added "bool allFrames" parameter.
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h:
+
+2010-12-10 Joone Hur <joone@kldp.org>
+
+ Reviewed by Eric Seidel.
+
+ [GTK] Add DRT support for pageProperty, isPageBoxVisible, pageSizeAndMarginsInPixels, and addUserStyleSheet
+ https://bugs.webkit.org/show_bug.cgi?id=50783
+
+ This patch allows to unskip the following test cases:
+ printing/page-rule-selection.html
+ printing/page-format-data.html
+
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ (DumpRenderTreeSupportGtk::pageProperty): Added.
+ (DumpRenderTreeSupportGtk::isPageBoxVisible): Ditto.
+ (DumpRenderTreeSupportGtk::pageSizeAndMarginsInPixels): Ditto.
+ (DumpRenderTreeSupportGtk::addUserStyleSheet): Ditto.
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h:
+
+2010-12-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Split webkitprivate.{cpp,h} in more manageable chunks
+ https://bugs.webkit.org/show_bug.cgi?id=50698
+
+ Split private bits of WebKitWebInspector to its own private
+ header, and to its implementation file.
+
+ * WebCoreSupport/InspectorClientGtk.cpp:
+ * webkit/webkitprivate.cpp:
+ * webkit/webkitprivate.h:
+ * webkit/webkitwebinspector.cpp:
+ (isSchemaAvailable):
+ (inspectorGSettings):
+ * webkit/webkitwebinspectorprivate.h: Added.
+ * webkit/webkitwebview.cpp:
+
+2010-12-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Split webkitprivate.{cpp,h} in more manageable chunks
+ https://bugs.webkit.org/show_bug.cgi?id=50698
+
+ Split private bits of WebKitNetworkRequest to its own private
+ header, and to its implementation file. Also take the opportunity
+ to use PlatformRefPtr for NetworkRequest where it makes sense, and
+ make the creation less verbose by adding kitNew.
+
+ * WebCoreSupport/FrameLoaderClientGtk.cpp:
+ (WebKit::FrameLoaderClient::dispatchWillSendRequest):
+ (WebKit::FrameLoaderClient::dispatchDecidePolicyForMIMEType):
+ (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
+ (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ (WebKit::FrameLoaderClient::download):
+ (WebKit::FrameLoaderClient::startDownload):
+ * webkit/webkitdownload.cpp:
+ * webkit/webkitnetworkrequest.cpp:
+ (WebKit::kitNew):
+ (WebKit::core):
+ * webkit/webkitnetworkrequestprivate.h: Added.
+ * webkit/webkitprivate.cpp:
+ * webkit/webkitprivate.h:
+ * webkit/webkitwebdatasource.cpp:
+ (webkit_web_data_source_get_initial_request):
+ (webkit_web_data_source_get_request):
+ * webkit/webkitwebframe.cpp:
+
+2010-12-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Split webkitprivate.{cpp,h} in more manageable chunks
+ https://bugs.webkit.org/show_bug.cgi?id=50698
+
+ Split private bits of WebKitWebFrame to its own private header, and
+ to its implementation file.
+
+ * GNUmakefile.am:
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ * WebCoreSupport/DragClientGtk.cpp:
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ * WebCoreSupport/FrameLoaderClientGtk.cpp:
+ * webkit/webkitprivate.cpp:
+ * webkit/webkitprivate.h:
+ * webkit/webkitwebdatasource.cpp:
+ * webkit/webkitwebframe.cpp:
+ (WebKit::getViewFromFrame):
+ (WebKit::core):
+ (WebKit::kit):
+ * webkit/webkitwebframeprivate.h: Added.
+ * webkit/webkitwebpolicydecision.cpp:
+ * webkit/webkitwebview.cpp:
+
+2010-12-09 Antonio Gomes <agomes@rim.com>
+
+ Reviewed by Martin Robinson.
+
+ [Gtk] Populate DumpRenderTreeSupportGtk (part IV)
+ https://bugs.webkit.org/show_bug.cgi?id=48429
+
+ Moved also webkit_worker_thread_count() to DumpRenderTreeSupportGtk,
+ since it was only used by DRT for now.
+
+ Since this method was the only one in webkitworker.cpp, the file was
+ also removed.
+
+ * GNUmakefile.am:
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ (DumpRenderTreeSupportGtk::workerThreadCount):
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h:
+ * webkit/webkitprivate.h:
+ * webkit/webkitworkers.cpp: Removed.
+
+2010-12-06 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Support the Mozilla-style Fullscreen Javascript API
+ https://bugs.webkit.org/show_bug.cgi?id=50572
+
+ Fullscreen API support. It is controlled at runtime using a new
+ setting called enable-fullscreen, set to FALSE by default.
+
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ (WebKit::ChromeClient::supportsFullScreenForElement):
+ (WebKit::ChromeClient::enterFullScreenForElement):
+ (WebKit::ChromeClient::exitFullScreenForElement):
+ * WebCoreSupport/ChromeClientGtk.h:
+ * webkit/webkitwebsettings.cpp:
+ (webkit_web_settings_class_init):
+ (webkit_web_settings_set_property):
+ (webkit_web_settings_get_property):
+ (webkit_web_settings_copy):
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_update_settings):
+
+2010-12-09 Joone Hur <joone@kldp.org>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Support for viewport meta tag
+ https://bugs.webkit.org/show_bug.cgi?id=45443
+
+ This patch adds a new gobject to offer the viewport properties to user agents.
+ It is WebKitViewportAttributes that contains the viewport size, initial scale with limits,
+ and information about whether a user is able to scale the contents in the viewport.
+
+ This feature was introduced by Safari on the iPhone. For more information on
+ the viewport properties, refer to the Safari reference library at
+ http://developer.apple.com/safari/library/documentation/appleapplications/reference/safarihtmlref/articles/metatags.html
+
+ * GNUmakefile.am: Added webkitviewportattributes.h webkitviewportattributes.cpp.
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ (WebKit::ChromeClient::dispatchViewportDataDidChange): Added this callback to know whether the viewport arguments is available.
+ * WebCoreSupport/ChromeClientGtk.h:
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ (DumpRenderTreeSupportGtk::dumpConfigurationForViewport): Added this function to compute the viewport attributes with the given availableWidth and availableHeight.
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h:
+ * WebCoreSupport/FrameLoaderClientGtk.cpp:
+ (WebKit::postCommitFrameViewSetup): Invalidate the viewport attributes.
+ * webkit/webkit.h:
+ * webkit/webkitdefines.h:
+ * webkit/webkitprivate.h: Added webkitViewportAttributesRecompute as a private function.
+ * webkit/webkitviewportattributes.cpp: Added.
+ (webkit_viewport_attributes_class_init):
+ (webkit_viewport_attributes_init):
+ (webkit_viewport_attributes_get_property):
+ (webkit_viewport_attributes_set_property):
+ (webkitViewportAttributesRecompute): Recompute the optimal viewport attributes and emit the viewport-attributes-changed signal.
+ (webkit_viewport_attributes_recompute): a public API for calling webkitViewportAttributesRecompute.
+ * webkit/webkitviewportattributes.h: Added.
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_get_property): Added PROP_VIEWPORT_ATTRIBUTES.
+ (webkit_web_view_dispose): Deallocate the WebKitViewportAttributes instance.
+ (webkit_web_view_class_init): Added the viewport-attributes-recompute-requested and viewport-attributes-changed signals.
+ (webkit_web_view_init): Set the WebKitViewportAttributes instance.
+ (webkit_web_view_get_viewport_attributes): Added a getter to obtain the WebKitViewportAttributes instance held by the given WebKitWebView.
+ * webkit/webkitwebview.h:
+ * webkit/webkitwebviewprivate.h: Added WebKitViewportAttributes as a private variable.
+
+2010-12-09 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ Fix 'make install' woes with some versions of automake.
+
+ * GNUmakefile.am: use $(top_builddir) instead of $(builddir),
+ since we actually want a valid path for the file regardless of the
+ place from where the script is called.
+
+2010-12-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Build fix. Take webView{Enter,Exit}Fullscreen back out of the
+ WebKit namespace, and remove a function signature that got in by
+ mistake because of a bad merge.
+
+ * webkit/webkitprivate.h:
+ * webkit/webkitwebview.cpp:
+ (WebKit::core):
+ (WebKit::kit):
+
+2010-12-08 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.
+
+ * WebCoreSupport/ContextMenuClientGtk.cpp:
+ (WebKit::ContextMenuClient::getCustomMenuFromDefaultItems):
+
+2010-12-08 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by John Sullivan.
+
+ [GTK] Layering violation in ContextMenuGtk.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=50676
+
+ ContextMenuGtk accesses the page's ContextMenuController, which is a layering
+ violation. This was fixed for Mac with change r73469. We make a similar fix here
+ by moving the "activated" signal connection to the WebKit layer.
+
+ * webkit/webkitwebview.cpp:
+ (popupMenuItemActivated): Have ContextMenuController handle this signal.
+ (webkit_web_view_forward_context_menu_event): For all items in the untouched
+ context menu, connect their "activated" signal to the new popupMenuItemActivated
+ handler.
+
+2010-12-08 Antonio Gomes <agomes@rim.com>
+
+ Reviewed by Martin Robinson.
+
+ [Gtk] Populate DumpRenderTreeSupportGtk (part III)
+ https://bugs.webkit.org/show_bug.cgi?id=48429
+
+ Adjusted some call sites of previously internal API declared
+ webkitprivate.h that have moved to DumpRenderTreeSupportGtk.
+
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ (DumpRenderTreeSupportGtk::gcCollectJavascriptObjects):
+ (DumpRenderTreeSupportGtk::gcCollectJavascriptObjectsOnAlternateThread):
+ (DumpRenderTreeSupportGtk::gcCountJavascriptObjects):
+ (DumpRenderTreeSupportGtk::layoutFrame):
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h:
+ * webkit/webkitprivate.h:
+ * webkit/webkitwebframe.cpp:
+
+2010-12-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Split webkitprivate.{cpp,h} in more manageable chunks
+ https://bugs.webkit.org/show_bug.cgi?id=50698
+
+ Split private bits of WebKitWebView to its own private header, and
+ to its implementation file. Take the opportunity to fix includes
+ sorting to comply with the style guide.
+
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ (WebKit::ChromeClient::enterFullscreenForNode):
+ (WebKit::ChromeClient::exitFullscreenForNode):
+ * WebCoreSupport/ContextMenuClientGtk.cpp:
+ * WebCoreSupport/DragClientGtk.cpp:
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ * WebCoreSupport/EditorClientGtk.cpp:
+ * WebCoreSupport/FrameLoaderClientGtk.cpp:
+ * WebCoreSupport/InspectorClientGtk.cpp:
+ * WebCoreSupport/PasteboardHelperGtk.cpp:
+ * webkit/webkitprivate.cpp:
+ (webkit_init):
+ * webkit/webkitprivate.h:
+ * webkit/webkitwebbackforwardlist.cpp:
+ * webkit/webkitwebdatasource.cpp:
+ * webkit/webkitwebframe.cpp:
+ * webkit/webkitwebview.cpp:
+ (WebKit::core):
+ (WebKit::kit):
+ (WebKit::webViewEnterFullscreen):
+ (WebKit::webViewExitFullscreen):
+ * webkit/webkitwebviewprivate.h: Added.
+
+2010-12-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ The storage for the subresources is a GHashTable which does not
+ guarantee order, so we need to make our checking more resilient.
+
+ * tests/testwebresource.c:
+ (test_web_resource_sub_resource_loading):
+
+2010-12-08 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Fix assertion in the API test, we are requesting the favicon and
+ the subresource so we have to make sure we are assigning just the
+ first subresource.
+
+ * tests/testwebresource.c:
+ (resource_request_starting_sub_cb):
+
+2010-12-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] clears the subresources prematurely
+ https://bugs.webkit.org/show_bug.cgi?id=50634
+
+ Make adding the main resource explicit, and only clear
+ subresources when the new load is committed, avoid clearing them
+ prematurely.
+
+ * WebCoreSupport/FrameLoaderClientGtk.cpp:
+ (WebKit::FrameLoaderClient::assignIdentifierToInitialRequest):
+ (WebKit::FrameLoaderClient::provisionalLoadStarted):
+ (WebKit::FrameLoaderClient::prepareForDataSourceReplacement):
+ (WebKit::postCommitFrameViewSetup):
+ * tests/testwebdatasource.c:
+ (notify_load_status_lifetime_cb):
+ (test_webkit_web_data_source_lifetime):
+ (main):
+ * webkit/webkitprivate.h:
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_add_main_resource):
+ (webkit_web_view_add_resource):
+ (webkit_web_view_clear_resources):
+
+2010-12-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] testwebdatasource - unreachable test is broken
+ https://bugs.webkit.org/show_bug.cgi?id=50629
+
+ Fix, and disable testwebdatasource's unreachable test (it is not
+ passing now that it actually tests what it should). This also
+ fixes the wait timer to actually work as expected.
+
+ * tests/testwebdatasource.c:
+ (notify_load_status_unreachable_cb):
+ (notify_load_status_cb):
+ (test_webkit_web_data_source):
+
+2010-12-07 Martin Robinson <mrobinson@igalia.com>
+
+ Unreviewed, rolling out r73392.
+ http://trac.webkit.org/changeset/73392
+ https://bugs.webkit.org/show_bug.cgi?id=50489
+
+ This commit caused crashes on the GTK+ bots
+
+ * WebCoreSupport/FrameLoaderClientGtk.cpp:
+ (WebKit::FrameLoaderClient::finishedLoading):
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_get_encoding):
+
+2010-12-06 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Update calls to DocumentWriter.
+ https://bugs.webkit.org/show_bug.cgi?id=50489
+
+ * WebCoreSupport/FrameLoaderClientGtk.cpp:
+ (WebKit::FrameLoaderClient::finishedLoading):
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_get_encoding):
+
+2010-12-06 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Build is broken after r73353
+ https://bugs.webkit.org/show_bug.cgi?id=50568
+
+ Fix the gtk-doc build by making all members of the cache model
+ enum public. gtk-doc does not support making only some enum
+ members private. We should also expose it so that users querying
+ the cache model do not get mysterious, undocumented results.
+
+ * webkit/webkitwebview.h: Fix gtk-doc for the cache model enum.
+
+2010-12-06 Derek Weitzel <djw8605@gmail.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] API Documentation referencing depreciated GTK_WIDGET_TOPLEVEL
+ https://bugs.webkit.org/show_bug.cgi?id=50512
+
+ Fixed reference to depreciated GTK_WIDGET_TOPLEVEL.
+
+ * webkit/webkitwebview.cpp:
+
+2010-12-06 Joone Hur <joone@kldp.org>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] The webkit cache model needs to be set when WebFrameLoaderClient::didPerformFirstNavigation() is called
+ https://bugs.webkit.org/show_bug.cgi?id=50430
+
+ * WebCoreSupport/FrameLoaderClientGtk.cpp:
+ (WebKit::FrameLoaderClient::didPerformFirstNavigation): Set the webview cache model.
+ * webkit/webkitprivate.cpp:
+ (webkit_init): Removed the code of setting the webview cache model.
+
+2010-12-04 Antonio Gomes <agomes@rim.com>
+
+ Reviewed by Martin Robinson.
+
+ [Gtk] Populate DumpRenderTreeSupportGtk (Part II)
+ https://bugs.webkit.org/show_bug.cgi?id=48429
+
+ Moved more private method declared with WEBKIT_API to
+ DumpRenderTreeSupportGtk, since they were only being used by DRT.
+
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ (DumpRenderTreeSupportGtk::executeCoreCommandByName):
+ (DumpRenderTreeSupportGtk::isCommandEnabled):
+ (DumpRenderTreeSupportGtk::whiteListAccessFromOrigin):
+ (DumpRenderTreeSupportGtk::resetOriginAccessWhiteLists):
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h:
+ * webkit/webkitprivate.cpp:
+ * webkit/webkitprivate.h:
+ * webkit/webkitwebview.cpp:
+
+2010-11-08 Antonio Gomes <agomes@rim.com>
+
+ Reviewed by Martin Robinson.
+
+ [Gtk] Populate DumpRenderTreeSupportGtk
+ https://bugs.webkit.org/show_bug.cgi?id=48429
+
+ Moved most of the webkit_web_frame* methods defined as private APIs in webkitprivate.h
+ to DumpRenderTreeSupportGtk, as static class methods. These methods had
+ not gone throught the formal API review process and were only being used by DRT for now.
+
+ The essence of each original method name were kept. For example
+ webkit_web_frame_get_children(...) was renamed to DumpRenderTreeSupportGtk::getFrameChildren(...),
+ and so on.
+
+ Also some of the method bodies were changed to return non-glib types (gchar* -> CString).
+
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ (DumpRenderTreeSupportGtk::getFrameChildren):
+ (DumpRenderTreeSupportGtk::getInnerText):
+ (DumpRenderTreeSupportGtk::dumpRenderTree):
+ (DumpRenderTreeSupportGtk::counterValueForElementById):
+ (DumpRenderTreeSupportGtk::pageNumberForElementById):
+ (DumpRenderTreeSupportGtk::numberOfPagesForFrame):
+ (DumpRenderTreeSupportGtk::getPendingUnloadEventCount):
+ (DumpRenderTreeSupportGtk::pauseAnimation):
+ (DumpRenderTreeSupportGtk::pauseTransition):
+ (DumpRenderTreeSupportGtk::pauseSvgAnimation):
+ (DumpRenderTreeSupportGtk::markerTextForListItem):
+ (DumpRenderTreeSupportGtk::numberOfActiveAnimations):
+ (DumpRenderTreeSupportGtk::suspendAnimations):
+ (DumpRenderTreeSupportGtk::resumeAnimations):
+ (DumpRenderTreeSupportGtk::clearMainFrameName):
+ (DumpRenderTreeSupportGtk::getFocusedAccessibleElement):
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h:
+ * webkit/webkitprivate.h:
+ * webkit/webkitwebframe.cpp:
+
+2010-12-02 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] DumpRenderTree has two copies of JavaScriptCore
+ https://bugs.webkit.org/show_bug.cgi?id=49877
+
+ Keep WebKit/WebCore symbols hidden.
+
+ * GNUmakefile.am: Move the symbol visibility rules here, because
+ now JSC symbols are visible, but WebCore/WebKit symbols are hidden.
+
+2010-12-02 Daniel Bates <dbates@rim.com>
+
+ Ignore WebKit/gtk/docs/GNUmakefile.in and WebKit/gtk/po/*.pot so that
+ these files do not appear in an svn stat. This change makes SVN
+ consistent with the current Git ignore behavior for these files.
+
+ * docs: Added property svn:ignore.
+ * po: Added property svn:ignore.
+
+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 signature defined in base class.
+
+ * WebCoreSupport/EditorClientGtk.cpp:
+ (WebKit::EditorClient::getGuessesForWord):
+ * WebCoreSupport/EditorClientGtk.h:
+
+2010-11-30 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Fix wrong type in assert return value
+ https://bugs.webkit.org/show_bug.cgi?id=50208
+
+ Use appropriate return type in different g_return_val_if_fail(). This
+ removes some compiler warning.
+
+ * webkit/webkitwebdatasource.cpp:
+ (webkit_web_data_source_is_loading):
+ * webkit/webkitwebframe.cpp:
+ (webkit_web_frame_page_number_for_element_by_id):
+ (webkit_web_frame_number_of_pages):
+
+2010-11-30 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Chris Fleizach.
+
+ [GTK] Implement ROLE_COMBO_BOX
+ https://bugs.webkit.org/show_bug.cgi?id=25678
+
+ New test to check the implementation of the combo boxes.
+
+ * tests/testatk.c:
+ (testWebkitAtkComboBox): New test, checking that the roles and the
+ implemented interfaces for a combo box and its descendants work.
+ (main): Added the new unit test.
+
+2010-11-30 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Test fast/events/mouseover-mouseout2.html crashes
+ https://bugs.webkit.org/show_bug.cgi?id=50214
+
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ (WebKit::ChromeClient::mouseDidMoveOverElement):
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_query_tooltip):
+
+2010-11-30 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r72764.
+ http://trac.webkit.org/changeset/72764
+ https://bugs.webkit.org/show_bug.cgi?id=50215
+
+ This change is causing assertion failures on the debug bots.
+ (Requested by mrobinson on #webkit).
+
+ * WebCoreSupport/FrameLoaderClientGtk.cpp:
+ (WebKit::notifyStatus):
+ * tests/testatk.c:
+ (main):
+
+2010-11-29 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ * NEWS: update for 1.3.7 release.
+
2010-11-29 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Xan Lopez.
diff --git a/WebKit/gtk/GNUmakefile.am b/WebKit/gtk/GNUmakefile.am
index a3be816..59ac8ac 100644
--- a/WebKit/gtk/GNUmakefile.am
+++ b/WebKit/gtk/GNUmakefile.am
@@ -27,9 +27,11 @@ libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOUR
$(webkitgtk_sources)
libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CXXFLAGS = \
+ $(SYMBOL_VISIBILITY_INLINES) \
$(global_cxxflags)
libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CFLAGS = \
+ $(SYMBOL_VISIBILITY) \
$(global_cflags)
# When building WebCore/WebKit, we want WebCore/config.h and NOT JavaScriptCore/config.h,
@@ -106,17 +108,19 @@ libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_LIBA
$(OLE32_LIBS)
webkitgtk_static_h_api += \
- $(srcdir)/WebCore/platform/network/soup/cache/webkit/soup-cache.h \
+ $(srcdir)/Source/WebCore/platform/network/soup/cache/webkit/soup-cache.h \
$(srcdir)/WebKit/gtk/webkit/webkit.h \
$(srcdir)/WebKit/gtk/webkit/webkitdefines.h \
$(srcdir)/WebKit/gtk/webkit/webkitdownload.h \
$(srcdir)/WebKit/gtk/webkit/webkiterror.h \
$(srcdir)/WebKit/gtk/webkit/webkitgeolocationpolicydecision.h \
+ $(srcdir)/WebKit/gtk/webkit/webkitglobals.h \
$(srcdir)/WebKit/gtk/webkit/webkithittestresult.h \
$(srcdir)/WebKit/gtk/webkit/webkitnetworkrequest.h \
$(srcdir)/WebKit/gtk/webkit/webkitnetworkresponse.h \
$(srcdir)/WebKit/gtk/webkit/webkitsecurityorigin.h \
$(srcdir)/WebKit/gtk/webkit/webkitsoupauthdialog.h \
+ $(srcdir)/WebKit/gtk/webkit/webkitviewportattributes.h \
$(srcdir)/WebKit/gtk/webkit/webkitwebbackforwardlist.h \
$(srcdir)/WebKit/gtk/webkit/webkitwebdatabase.h \
$(srcdir)/WebKit/gtk/webkit/webkitwebdatasource.h \
@@ -124,6 +128,8 @@ webkitgtk_static_h_api += \
$(srcdir)/WebKit/gtk/webkit/webkitwebhistoryitem.h \
$(srcdir)/WebKit/gtk/webkit/webkitwebinspector.h \
$(srcdir)/WebKit/gtk/webkit/webkitwebnavigationaction.h \
+ $(srcdir)/WebKit/gtk/webkit/webkitwebplugin.h \
+ $(srcdir)/WebKit/gtk/webkit/webkitwebplugindatabase.h \
$(srcdir)/WebKit/gtk/webkit/webkitwebpolicydecision.h \
$(srcdir)/WebKit/gtk/webkit/webkitwebresource.h \
$(srcdir)/WebKit/gtk/webkit/webkitwebsettings.h \
@@ -149,6 +155,21 @@ webkitgtk_built_sources += \
BUILT_SOURCES += $(webkitgtk_built_sources)
webkitgtk_sources += \
+ Source/WebCore/bindings/gobject/ConvertToUTF8String.cpp \
+ Source/WebCore/bindings/gobject/ConvertToUTF8String.h \
+ Source/WebCore/bindings/gobject/DOMObjectCache.cpp \
+ Source/WebCore/bindings/gobject/DOMObjectCache.h \
+ Source/WebCore/bindings/gobject/GObjectEventListener.cpp \
+ Source/WebCore/bindings/gobject/GObjectEventListener.h \
+ Source/WebCore/bindings/gobject/WebKitDOMBinding.cpp \
+ Source/WebCore/bindings/gobject/WebKitDOMBinding.h \
+ Source/WebCore/bindings/gobject/WebKitDOMEventTarget.cpp \
+ Source/WebCore/bindings/gobject/WebKitDOMEventTarget.h \
+ Source/WebCore/bindings/gobject/WebKitDOMEventTargetPrivate.h \
+ Source/WebCore/bindings/gobject/WebKitDOMObject.cpp \
+ Source/WebCore/bindings/gobject/WebKitDOMObject.h \
+ Source/WebCore/bindings/gobject/WebKitHTMLElementWrapperFactory.cpp \
+ Source/WebCore/bindings/gobject/WebKitHTMLElementWrapperFactory.h \
WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp \
WebKit/gtk/WebCoreSupport/ChromeClientGtk.h \
WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp \
@@ -157,12 +178,12 @@ webkitgtk_sources += \
WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.h \
WebKit/gtk/WebCoreSupport/DragClientGtk.cpp \
WebKit/gtk/WebCoreSupport/DragClientGtk.h \
+ WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp \
+ WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h \
WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp \
WebKit/gtk/WebCoreSupport/EditorClientGtk.h \
WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp \
WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h \
- WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp \
- WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h \
WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.h \
WebKit/gtk/WebCoreSupport/FullscreenVideoController.cpp \
WebKit/gtk/WebCoreSupport/FullscreenVideoController.h \
@@ -171,38 +192,59 @@ webkitgtk_sources += \
WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp \
WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h \
WebKit/gtk/webkit/webkitapplicationcache.cpp \
+ WebKit/gtk/webkit/webkitapplicationcacheprivate.h \
WebKit/gtk/webkit/webkitdownload.cpp \
+ WebKit/gtk/webkit/webkitdownloadprivate.h \
WebKit/gtk/webkit/webkiterror.cpp \
+ WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp \
+ WebKit/gtk/webkit/webkitglobals.cpp \
+ WebKit/gtk/webkit/webkitglobals.h \
+ WebKit/gtk/webkit/webkitglobalsprivate.h \
WebKit/gtk/webkit/webkithittestresult.cpp \
+ WebKit/gtk/webkit/webkithittestresultprivate.h \
WebKit/gtk/webkit/webkitnetworkrequest.cpp \
+ WebKit/gtk/webkit/webkitnetworkrequestprivate.h \
WebKit/gtk/webkit/webkitnetworkresponse.cpp \
- WebKit/gtk/webkit/webkitprivate.cpp \
- WebKit/gtk/webkit/webkitprivate.h \
+ WebKit/gtk/webkit/webkitnetworkresponseprivate.h \
+ WebKit/gtk/webkit/webkitsecurityorigin.cpp \
+ WebKit/gtk/webkit/webkitsecurityoriginprivate.h \
WebKit/gtk/webkit/webkitsoupauthdialog.c \
WebKit/gtk/webkit/webkitversion.cpp \
+ WebKit/gtk/webkit/webkitviewportattributes.cpp \
+ WebKit/gtk/webkit/webkitviewportattributesprivate.h \
WebKit/gtk/webkit/webkitwebbackforwardlist.cpp \
+ WebKit/gtk/webkit/webkitwebbackforwardlistprivate.h \
+ WebKit/gtk/webkit/webkitwebdatabase.cpp \
WebKit/gtk/webkit/webkitwebdatasource.cpp \
WebKit/gtk/webkit/webkitwebframe.cpp \
+ WebKit/gtk/webkit/webkitwebframeprivate.h \
WebKit/gtk/webkit/webkitwebhistoryitem.cpp \
+ WebKit/gtk/webkit/webkitwebhistoryitemprivate.h \
WebKit/gtk/webkit/webkitwebinspector.cpp \
+ WebKit/gtk/webkit/webkitwebinspectorprivate.h \
WebKit/gtk/webkit/webkitwebnavigationaction.cpp \
+ WebKit/gtk/webkit/webkitwebnavigationactionprivate.h \
WebKit/gtk/webkit/webkitwebpolicydecision.cpp \
- WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp \
+ WebKit/gtk/webkit/webkitwebpolicydecisionprivate.h \
WebKit/gtk/webkit/webkitwebresource.cpp \
- WebKit/gtk/webkit/webkitwebdatabase.cpp \
- WebKit/gtk/webkit/webkitsecurityorigin.cpp \
+ WebKit/gtk/webkit/webkitwebresourceprivate.h \
+ WebKit/gtk/webkit/webkitwebplugin.cpp \
+ WebKit/gtk/webkit/webkitwebpluginprivate.h \
+ WebKit/gtk/webkit/webkitwebplugindatabase.cpp \
+ WebKit/gtk/webkit/webkitwebplugindatabaseprivate.h \
WebKit/gtk/webkit/webkitwebsettings.cpp \
+ WebKit/gtk/webkit/webkitwebsettingsprivate.h \
WebKit/gtk/webkit/webkitwebview.cpp \
- WebKit/gtk/webkit/webkitwebwindowfeatures.cpp \
- WebKit/gtk/webkit/webkitworkers.cpp
+ WebKit/gtk/webkit/webkitwebviewprivate.h \
+ WebKit/gtk/webkit/webkitwebwindowfeatures.cpp
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = WebKit/gtk/@WEBKITGTK_PC_NAME@-@WEBKITGTK_API_VERSION@.pc
if ENABLE_INTROSPECTION
-JSCore-@WEBKITGTK_API_VERSION@.gir: $(builddir)/WebKit/gtk/JSCore-@WEBKITGTK_API_VERSION@.gir
- $(AM_V_GEN)cp $(builddir)/WebKit/gtk/JSCore-@WEBKITGTK_API_VERSION@.gir $(builddir)/
+JSCore-@WEBKITGTK_API_VERSION@.gir: $(top_builddir)/WebKit/gtk/JSCore-@WEBKITGTK_API_VERSION@.gir
+ $(AM_V_GEN)cp $(top_builddir)/WebKit/gtk/JSCore-@WEBKITGTK_API_VERSION@.gir $(top_builddir)/
JSCORE_GIRSOURCES += JSCore-@WEBKITGTK_API_VERSION@.gir
WEBKIT_GIRSOURCES += WebKit-@WEBKITGTK_API_VERSION@.gir
@@ -224,13 +266,14 @@ $(WEBKIT_GIRSOURCES): $(G_IR_SCANNER) $(JSCORE_GIRSOURCES) libwebkitgtk-@WEBKITG
--pkg=libsoup-2.4 \
--output=$@ \
--add-include-path=$(WebKit) \
- --add-include-path=$(builddir) \
- -I$(top_srcdir)/WebCore/platform/network/soup/cache \
+ --add-include-path=$(top_builddir) \
+ -I$(srcdir)/Source \
+ -I$(top_srcdir)/Source/WebCore/platform/network/soup/cache \
-I$(WebKit) \
-I$(GENSOURCES) \
-I$(GENSOURCES_WEBKIT) \
- -I$(builddir)/WebKit/gtk \
- -I$(top_srcdir)/JavaScriptCore/ForwardingHeaders \
+ -I$(top_builddir)/WebKit/gtk \
+ -I$(top_srcdir)/Source/JavaScriptCore/ForwardingHeaders \
-I$(top_srcdir) \
$(GENSOURCES_WEBKIT)/webkitenumtypes.h \
$(webkitgtk_h_api) \
@@ -244,13 +287,13 @@ typelibsdir += $(libdir)/girepository-1.0
typelibs_DATA += $(JSCORE_GIRSOURCES:.gir=.typelib) $(WEBKIT_GIRSOURCES:.gir=.typelib)
%.typelib: %.gir $(G_IR_COMPILER)
- $(AM_V_GEN)$(G_IR_COMPILER) --includedir $(WebKit) --includedir $(builddir) $< -o $@
+ $(AM_V_GEN)$(G_IR_COMPILER) --includedir $(WebKit) --includedir $(top_builddir) $< -o $@
CLEANFILES += $(JSCORE_GIRSOURCES) $(WEBKIT_GIRSOURCES) $(typelibs_DATA)
endif
-EXTRA_DIST += $(builddir)/WebKit/gtk/JSCore-@WEBKITGTK_API_VERSION@.gir
+EXTRA_DIST += $(top_builddir)/WebKit/gtk/JSCore-@WEBKITGTK_API_VERSION@.gir
WEBKIT_MARSHAL_LIST = $(WebKit)/webkitmarshal.list
$(GENSOURCES_WEBKIT)/webkitmarshal.cpp: stamp-webkitmarshal.cpp
@@ -342,15 +385,16 @@ dist_resources_DATA = \
noinst_PROGRAMS += $(TEST_PROGS)
webkit_tests_cflags = \
-fno-strict-aliasing \
- -I$(srcdir)/JavaScriptCore/ForwardingHeaders \
+ -I$(srcdir)/Source/JavaScriptCore/ForwardingHeaders \
-I$(WebCore)/platform/network/soup/cache \
-I$(WebKit) \
-I$(GENSOURCES) \
-I$(top_builddir)/WebKit/gtk \
- -I$(top_srcdir)/WebCore/bindings \
- -I$(top_srcdir)/WebCore/bindings/gobject \
+ -I$(top_srcdir)/Source/WebCore/bindings \
+ -I$(top_srcdir)/Source/WebCore/bindings/gobject \
$(global_cppflags) \
$(global_cflags) \
+ $(javascriptcore_cppflags) \
$(GLIB_CFLAGS) \
$(GTK_CFLAGS) \
$(LIBSOUP_CFLAGS)
@@ -386,6 +430,7 @@ TEST_PROGS += \
Programs/unittests/testwebsettings \
Programs/unittests/testwebresource \
Programs/unittests/testwebdatasource \
+ Programs/unittests/testwebplugindatabase \
Programs/unittests/testwebview \
Programs/unittests/testkeyevents \
Programs/unittests/testcopyandpaste
@@ -441,6 +486,11 @@ Programs_unittests_testwebframe_CFLAGS = $(webkit_tests_cflags)
Programs_unittests_testwebframe_LDADD = $(webkit_tests_ldadd)
Programs_unittests_testwebframe_LDFLAGS = $(webkit_tests_ldflags)
+Programs_unittests_testwebplugindatabase_SOURCES = WebKit/gtk/tests/testwebplugindatabase.c
+Programs_unittests_testwebplugindatabase_CFLAGS = -DTEST_PLUGIN_DIR=\"${shell pwd}/${top_builddir}/TestNetscapePlugin/.libs\" $(webkit_tests_cflags)
+Programs_unittests_testwebplugindatabase_LDADD = $(webkit_tests_ldadd)
+Programs_unittests_testwebplugindatabase_LDFLAGS = $(webkit_tests_ldflags)
+
Programs_unittests_testwebbackforwardlist_SOURCES = WebKit/gtk/tests/testwebbackforwardlist.c
Programs_unittests_testwebbackforwardlist_CFLAGS = $(webkit_tests_cflags)
Programs_unittests_testwebbackforwardlist_LDADD = $(webkit_tests_ldadd)
@@ -499,10 +549,10 @@ Programs_unittests_testkeyevents_LDADD = $(webkit_tests_ldadd)
Programs_unittests_testkeyevents_LDFLAGS = $(webkit_tests_ldflags)
Programs_unittests_testcopyandpaste_SOURCES = WebKit/gtk/tests/testcopyandpaste.c \
- WebCore/platform/gtk/GtkVersioning.c
+ Source/WebCore/platform/gtk/GtkVersioning.c
Programs_unittests_testcopyandpaste_CFLAGS = $(webkit_tests_cflags) \
- -I$(srcdir)/WebCore/platform/gtk \
- -I$(srcdir)/WebCore
+ -I$(srcdir)/Source/WebCore/platform/gtk \
+ -I$(srcdir)/Source/WebCore
Programs_unittests_testcopyandpaste_LDADD = $(webkit_tests_ldadd)
Programs_unittests_testcopyandpaste_LDFLAGS = $(webkit_tests_ldflags)
diff --git a/WebKit/gtk/NEWS b/WebKit/gtk/NEWS
index ead8923..0c744a5 100644
--- a/WebKit/gtk/NEWS
+++ b/WebKit/gtk/NEWS
@@ -1,4 +1,43 @@
================
+WebKitGTK+ 1.3.9
+================
+
+What's new in WebKitGTK+ 1.3.9?
+
+ - Compilation fixes for the final GTK+ 2.91.7 release.
+
+================
+WebKitGTK+ 1.3.8
+================
+
+What's new in WebKitGTK+ 1.3.8?
+
+ - New WebKitWebPluginDatabase and WebKitWebPlugin classes for plugin
+ management.
+ - The usual fixes for GTK+ 3.x API changes. We are still using the
+ old GtkStyle APIs, that should be gone by the next release.
+ - Add support for Mozilla-style JS fullscreen API.
+ - Add support for the viewport metatag.
+ - Many other bugfixes.
+
+================
+WebKitGTK+ 1.3.7
+================
+
+What's new in WebKitGTK+ 1.3.7?
+
+ - Fix error pages template's not being filled properly.
+ - Fix context menu activation through keyboard.
+ - Add automatic garbage collection for most GObject DOM objects (all
+ those that are actually in the DOM tree). This gets rid of most of
+ the leaks when using the bindings.
+ - Add an Inspector API to inspect a DOM node.
+ - Tons of a11y bugfixes.
+ - Tons of fixes for the in-tree SoupCache, should work much better
+ now.
+ - Many other bugfixes.
+
+================
WebKitGTK+ 1.3.6
================
diff --git a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
index 4450e87..7f39d37 100644
--- a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
@@ -24,40 +24,46 @@
#include "config.h"
#include "ChromeClientGtk.h"
+#include "Chrome.h"
#include "Console.h"
#include "DumpRenderTreeSupportGtk.h"
#include "Element.h"
-#include "FileSystem.h"
#include "FileChooser.h"
+#include "FileSystem.h"
#include "FloatRect.h"
#include "FrameLoadRequest.h"
#include "FrameView.h"
#include "GtkVersioning.h"
#include "HTMLNames.h"
-#include "IntRect.h"
#include "HitTestResult.h"
#include "Icon.h"
+#include "IntRect.h"
#include "KURL.h"
#include "NavigationAction.h"
+#include "NotImplemented.h"
#include "PlatformString.h"
#include "PopupMenuClient.h"
#include "PopupMenuGtk.h"
#include "SearchPopupMenuGtk.h"
#include "SecurityOrigin.h"
+#include "WindowFeatures.h"
#include "webkitgeolocationpolicydecision.h"
-#include "webkitwebview.h"
+#include "webkitgeolocationpolicydecisionprivate.h"
#include "webkitnetworkrequest.h"
-#include "webkitprivate.h"
-#include "NotImplemented.h"
-#include "WindowFeatures.h"
-#if ENABLE(DATABASE)
-#include "DatabaseTracker.h"
-#endif
-#include <wtf/text/CString.h>
-
+#include "webkitsecurityoriginprivate.h"
+#include "webkitviewportattributesprivate.h"
+#include "webkitwebframeprivate.h"
+#include "webkitwebview.h"
+#include "webkitwebviewprivate.h"
+#include "webkitwebwindowfeaturesprivate.h"
#include <glib.h>
#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
+#include <wtf/text/CString.h>
+
+#if ENABLE(DATABASE)
+#include "DatabaseTracker.h"
+#endif
using namespace WebCore;
@@ -65,6 +71,7 @@ namespace WebKit {
ChromeClient::ChromeClient(WebKitWebView* webView)
: m_webView(webView)
+ , m_closeSoonTimer(0)
{
ASSERT(m_webView);
}
@@ -150,9 +157,8 @@ Page* ChromeClient::createWindow(Frame* frame, const FrameLoadRequest& frameLoad
if (!webView)
return 0;
- WebKitWebWindowFeatures* webWindowFeatures = webkit_web_window_features_new_from_core_features(coreFeatures);
- g_object_set(webView, "window-features", webWindowFeatures, NULL);
- g_object_unref(webWindowFeatures);
+ GRefPtr<WebKitWebWindowFeatures> webWindowFeatures(adoptGRef(kitNew(coreFeatures)));
+ g_object_set(webView, "window-features", webWindowFeatures.get(), NULL);
if (!frameLoadRequest.isEmpty())
webkit_web_view_open(webView, frameLoadRequest.resourceRequest().url().string().utf8().data());
@@ -244,19 +250,37 @@ void ChromeClient::setResizable(bool)
// Ignored for now
}
+static gboolean emitCloseWebViewSignalLater(WebKitWebView* view)
+{
+ gboolean isHandled;
+ g_signal_emit_by_name(view, "close-web-view", &isHandled);
+ return FALSE;
+}
+
void ChromeClient::closeWindowSoon()
{
// We may not have a WebView as create-web-view can return NULL.
if (!m_webView)
return;
+ if (m_closeSoonTimer) // Don't call close-web-view more than once.
+ return;
- webkit_web_view_stop_loading(m_webView);
+ // We need to remove the parent WebView from WebViewSets here, before it actually
+ // closes, to make sure that JavaScript code that executes before it closes
+ // can't find it. Otherwise, window.open will select a closed WebView instead of
+ // opening a new one <rdar://problem/3572585>.
+ m_webView->priv->corePage->setGroupName("");
- gboolean isHandled = false;
- g_signal_emit_by_name(m_webView, "close-web-view", &isHandled);
+ // We also need to stop the load to prevent further parsing or JavaScript execution
+ // after the window has torn down <rdar://problem/4161660>.
+ webkit_web_view_stop_loading(m_webView);
- if (isHandled)
- return;
+ // Clients commonly destroy the web view during the close-web-view signal, but our caller
+ // may need to send more signals to the web view. For instance, if this happened in the
+ // onload handler, it will need to call FrameLoaderClient::dispatchDidHandleOnloadEvents.
+ // Instead of firing the close-web-view signal now, fire it after the caller finishes.
+ // This seems to match the Mac/Windows port behavior.
+ m_closeSoonTimer = g_timeout_add(0, reinterpret_cast<GSourceFunc>(emitCloseWebViewSignalLater), m_webView);
}
bool ChromeClient::canTakeFocus(FocusDirection)
@@ -413,6 +437,7 @@ void ChromeClient::scroll(const IntSize& delta, const IntRect& rectToScroll, con
cairo_region_destroy(invalidRegion);
#endif
+ gdk_window_process_updates(window, TRUE);
}
// FIXME: this does not take into account the WM decorations
@@ -523,9 +548,12 @@ void ChromeClient::mouseDidMoveOverElement(const HitTestResult& hit, unsigned mo
m_hoveredLinkURL = KURL();
}
- Node* node = hit.innerNonSharedNode();
-
- m_webView->priv->tooltipArea = node ? node->document()->frame()->view()->contentsToWindow(node->getRect()) : IntRect();
+ if (Node* node = hit.innerNonSharedNode()) {
+ Frame* frame = node->document()->frame();
+ FrameView* view = frame ? frame->view() : 0;
+ m_webView->priv->tooltipArea = view ? view->contentsToWindow(node->getRect()) : IntRect();
+ } else
+ m_webView->priv->tooltipArea = IntRect();
}
void ChromeClient::setToolTip(const String& toolTip, TextDirection)
@@ -613,6 +641,12 @@ void ChromeClient::chooseIconForFiles(const Vector<WTF::String>& filenames, WebC
chooser->iconLoaded(Icon::createIconForFiles(filenames));
}
+void ChromeClient::dispatchViewportDataDidChange(const ViewportArguments& arguments) const
+{
+ // Recompute the viewport attributes making it valid.
+ webkitViewportAttributesRecompute(webkit_web_view_get_viewport_attributes(m_webView));
+}
+
void ChromeClient::setCursor(const Cursor&)
{
notImplemented();
@@ -623,7 +657,7 @@ void ChromeClient::requestGeolocationPermissionForFrame(Frame* frame, Geolocatio
WebKitWebFrame* webFrame = kit(frame);
WebKitWebView* webView = getViewFromFrame(webFrame);
- PlatformRefPtr<WebKitGeolocationPolicyDecision> policyDecision(adoptPlatformRef(webkit_geolocation_policy_decision_new(webFrame, geolocation)));
+ GRefPtr<WebKitGeolocationPolicyDecision> policyDecision(adoptGRef(webkit_geolocation_policy_decision_new(webFrame, geolocation)));
gboolean isHandled = FALSE;
g_signal_emit_by_name(webView, "geolocation-policy-decision-requested", webFrame, policyDecision.get(), &isHandled);
@@ -665,7 +699,7 @@ void ChromeClient::enterFullscreenForNode(Node* node)
WebCore::Frame* frame = node->document()->frame();
WebKitWebFrame* webFrame = kit(frame);
WebKitWebView* webView = getViewFromFrame(webFrame);
- webkitWebViewEnterFullscreen(webView, node);
+ webViewEnterFullscreen(webView, node);
}
void ChromeClient::exitFullscreenForNode(Node* node)
@@ -673,8 +707,28 @@ void ChromeClient::exitFullscreenForNode(Node* node)
WebCore::Frame* frame = node->document()->frame();
WebKitWebFrame* webFrame = kit(frame);
WebKitWebView* webView = getViewFromFrame(webFrame);
- webkitWebViewExitFullscreen(webView);
+ webViewExitFullscreen(webView);
}
#endif
+#if ENABLE(FULLSCREEN_API)
+bool ChromeClient::supportsFullScreenForElement(const WebCore::Element* element)
+{
+ return true;
+}
+
+void ChromeClient::enterFullScreenForElement(WebCore::Element* element)
+{
+ element->document()->webkitWillEnterFullScreenForElement(element);
+ element->document()->webkitDidEnterFullScreenForElement(element);
+}
+
+void ChromeClient::exitFullScreenForElement(WebCore::Element* element)
+{
+ element->document()->webkitWillExitFullScreenForElement(element);
+ element->document()->webkitDidExitFullScreenForElement(element);
+}
+#endif
+
+
}
diff --git a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
index 8252f06..d607c54 100644
--- a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
+++ b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
@@ -110,6 +110,8 @@ namespace WebKit {
virtual void setToolTip(const WTF::String&, WebCore::TextDirection);
+ virtual void dispatchViewportDataDidChange(const WebCore::ViewportArguments& arguments) const;
+
virtual void print(WebCore::Frame*);
#if ENABLE(DATABASE)
virtual void exceededDatabaseQuota(WebCore::Frame*, const WTF::String&);
@@ -143,9 +145,16 @@ namespace WebKit {
virtual void exitFullscreenForNode(WebCore::Node*);
#endif
+#if ENABLE(FULLSCREEN_API)
+ virtual bool supportsFullScreenForElement(const WebCore::Element*);
+ virtual void enterFullScreenForElement(WebCore::Element*);
+ virtual void exitFullScreenForElement(WebCore::Element*);
+#endif
+
private:
WebKitWebView* m_webView;
WebCore::KURL m_hoveredLinkURL;
+ unsigned int m_closeSoonTimer;
};
}
diff --git a/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp b/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp
index 069fb19..d9c59d0 100644
--- a/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp
@@ -18,18 +18,19 @@
*/
#include "config.h"
-#include "ContextMenu.h"
#include "ContextMenuClientGtk.h"
+#include "ContextMenu.h"
+#include "ContextMenuController.h"
#include "HitTestResult.h"
#include "KURL.h"
#include "NotImplemented.h"
-#include <wtf/text/CString.h>
-
-#include <glib/gi18n-lib.h>
+#include "Page.h"
+#include "webkitwebviewprivate.h"
#include <glib-object.h>
+#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
-#include "webkitprivate.h"
+#include <wtf/text/CString.h>
using namespace WebCore;
@@ -60,7 +61,7 @@ static GtkWidget* inputMethodsMenuItem (WebKitWebView* webView)
GtkWidget* menuitem = gtk_image_menu_item_new_with_mnemonic(
_("Input _Methods"));
- WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView);
+ WebKitWebViewPrivate* priv = webView->priv;
GtkWidget* imContextMenu = gtk_menu_new();
gtk_im_multicontext_append_menuitems(GTK_IM_MULTICONTEXT(priv->imContext.get()), GTK_MENU_SHELL(imContextMenu));
@@ -129,8 +130,8 @@ PlatformMenuDescription ContextMenuClient::getCustomMenuFromDefaultItems(Context
{
GtkMenu* gtkmenu = menu->releasePlatformDescription();
- HitTestResult result = menu->hitTestResult();
WebKitWebView* webView = m_webView;
+ HitTestResult result = core(webView)->contextMenuController()->hitTestResult();
if (result.isContentEditable()) {
diff --git a/WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp b/WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp
index 2b355cb..6031b62 100644
--- a/WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp
@@ -30,8 +30,9 @@
#include "config.h"
#include "DocumentLoaderGtk.h"
-#include "webkitprivate.h"
+#include "GRefPtr.h"
#include "webkitwebdatasource.h"
+#include "webkitwebdatasourceprivate.h"
using namespace WebCore;
@@ -68,9 +69,8 @@ void DocumentLoader::attachToFrame()
// We may get to here without having a datasource, when the data
// is coming from the page cache.
- WebKitWebDataSource* dataSource = webkit_web_data_source_new_with_loader(this);
- setDataSource(dataSource);
- g_object_unref(dataSource);
+ GRefPtr<WebKitWebDataSource> dataSource(adoptGRef(kitNew(this)));
+ setDataSource(dataSource.get());
}
void DocumentLoader::detachFromFrame()
diff --git a/WebKit/gtk/WebCoreSupport/DragClientGtk.cpp b/WebKit/gtk/WebCoreSupport/DragClientGtk.cpp
index be0fb10..c92c083 100644
--- a/WebKit/gtk/WebCoreSupport/DragClientGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/DragClientGtk.cpp
@@ -32,7 +32,8 @@
#include "NotImplemented.h"
#include "PasteboardHelper.h"
#include "RenderObject.h"
-#include "webkitprivate.h"
+#include "webkitwebframeprivate.h"
+#include "webkitwebviewprivate.h"
#include "webkitwebview.h"
#include <gdk/gdk.h>
#include <gtk/gtk.h>
@@ -102,7 +103,7 @@ void DragClient::startDrag(DragImageRef image, const IntPoint& dragImageOrigin,
WebKitWebView* webView = webkit_web_frame_get_web_view(kit(frame));
RefPtr<DataObjectGtk> dataObject = clipboardGtk->dataObject();
- PlatformRefPtr<GtkTargetList> targetList(clipboardGtk->helper()->targetListForDataObject(dataObject.get()));
+ GRefPtr<GtkTargetList> targetList(clipboardGtk->helper()->targetListForDataObject(dataObject.get()));
GOwnPtr<GdkEvent> currentEvent(gtk_get_current_event());
GdkDragContext* context = gtk_drag_begin(GTK_WIDGET(m_webView), targetList.get(), dragOperationToGdkDragActions(clipboard->sourceOperation()), 1, currentEvent.get());
diff --git a/WebKit/gtk/WebCoreSupport/DragClientGtk.h b/WebKit/gtk/WebCoreSupport/DragClientGtk.h
index 086ec69..9c6d948 100644
--- a/WebKit/gtk/WebCoreSupport/DragClientGtk.h
+++ b/WebKit/gtk/WebCoreSupport/DragClientGtk.h
@@ -59,7 +59,7 @@ namespace WebKit {
private:
WebKitWebView* m_webView;
WebCore::IntPoint m_startPos;
- PlatformRefPtr<GtkWidget> m_dragIconWindow;
+ GRefPtr<GtkWidget> m_dragIconWindow;
RefPtr<cairo_surface_t> m_dragImage;
};
}
diff --git a/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp b/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp
index f237e9d..dabe4b5 100644
--- a/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp
@@ -1,5 +1,7 @@
/*
* Copyright (C) Research In Motion Limited 2010. All rights reserved.
+ * Copyright (C) 2010 Joone Hur <joone@kldp.org>
+ * Copyright (C) 2009 Google Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -20,17 +22,45 @@
#include "DumpRenderTreeSupportGtk.h"
#include "APICast.h"
+#include "AXObjectCache.h"
+#include "AccessibilityObjectWrapperAtk.h"
+#include "AnimationController.h"
+#include "DOMWrapperWorld.h"
#include "Document.h"
+#include "FocusController.h"
+#include "FrameLoaderClientGtk.h"
+#include "FrameTree.h"
+#include "FrameView.h"
+#include "GCController.h"
+#include "GraphicsContext.h"
+#include "JSDOMWindow.h"
#include "JSDocument.h"
+#include "JSElement.h"
#include "JSLock.h"
#include "JSNodeList.h"
#include "JSValue.h"
#include "NodeList.h"
-#include "webkitprivate.h"
+#include "PageGroup.h"
+#include "PlatformString.h"
+#include "PrintContext.h"
+#include "RenderListItem.h"
+#include "RenderTreeAsText.h"
+#include "RenderView.h"
+#include "SecurityOrigin.h"
+#include "WorkerThread.h"
+#include "webkitwebframe.h"
+#include "webkitwebframeprivate.h"
#include "webkitwebview.h"
+#include "webkitwebviewprivate.h"
+#include <JavaScriptCore/APICast.h>
+
+#if ENABLE(SVG)
+#include "SVGSMILElement.h"
+#endif
using namespace JSC;
using namespace WebCore;
+using namespace WebKit;
bool DumpRenderTreeSupportGtk::s_drtRun = false;
bool DumpRenderTreeSupportGtk::s_linksIncludedInTabChain = true;
@@ -77,3 +107,427 @@ JSValueRef DumpRenderTreeSupportGtk::nodesFromRect(JSContextRef context, JSValue
RefPtr<NodeList> nodes = document->nodesFromRect(x, y, top, right, bottom, left, ignoreClipping);
return toRef(exec, toJS(exec, jsDocument->globalObject(), nodes.get()));
}
+
+/**
+ * getFrameChildren:
+ * @frame: a #WebKitWebFrame
+ *
+ * Return value: child frames of @frame
+ */
+GSList* DumpRenderTreeSupportGtk::getFrameChildren(WebKitWebFrame* frame)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
+
+ Frame* coreFrame = core(frame);
+ if (!coreFrame)
+ return 0;
+
+ GSList* children = 0;
+ for (Frame* child = coreFrame->tree()->firstChild(); child; child = child->tree()->nextSibling()) {
+ FrameLoader* loader = child->loader();
+ WebKit::FrameLoaderClient* client = static_cast<WebKit::FrameLoaderClient*>(loader->client());
+ if (client)
+ children = g_slist_append(children, client->webFrame());
+ }
+
+ return children;
+}
+
+/**
+ * getInnerText:
+ * @frame: a #WebKitWebFrame
+ *
+ * Return value: inner text of @frame
+ */
+CString DumpRenderTreeSupportGtk::getInnerText(WebKitWebFrame* frame)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), CString(""));
+
+ Frame* coreFrame = core(frame);
+ if (!coreFrame)
+ return CString("");
+
+ FrameView* view = coreFrame->view();
+
+ if (view && view->layoutPending())
+ view->layout();
+
+ Element* documentElement = coreFrame->document()->documentElement();
+ return documentElement->innerText().utf8();
+}
+
+/**
+ * dumpRenderTree:
+ * @frame: a #WebKitWebFrame
+ *
+ * Return value: Non-recursive render tree dump of @frame
+ */
+CString DumpRenderTreeSupportGtk::dumpRenderTree(WebKitWebFrame* frame)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), CString(""));
+
+ Frame* coreFrame = core(frame);
+ if (!coreFrame)
+ return CString("");
+
+ FrameView* view = coreFrame->view();
+
+ if (view && view->layoutPending())
+ view->layout();
+
+ return externalRepresentation(coreFrame).utf8();
+}
+
+/**
+ * counterValueForElementById:
+ * @frame: a #WebKitWebFrame
+ * @id: an element ID string
+ *
+ * Return value: The counter value of element @id in @frame
+ */
+CString DumpRenderTreeSupportGtk::counterValueForElementById(WebKitWebFrame* frame, const char* id)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), CString());
+
+ Frame* coreFrame = core(frame);
+ if (!coreFrame)
+ return CString();
+
+ Element* coreElement = coreFrame->document()->getElementById(AtomicString(id));
+ if (!coreElement)
+ return CString();
+
+ return counterValueForElement(coreElement).utf8();
+}
+
+/**
+ * numberForElementById
+ * @frame: a #WebKitWebFrame
+ * @id: an element ID string
+ * @pageWidth: width of a page
+ * @pageHeight: height of a page
+ *
+ * Return value: The number of page where the specified element will be put
+ */
+int DumpRenderTreeSupportGtk::pageNumberForElementById(WebKitWebFrame* frame, const char* id, float pageWidth, float pageHeight)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
+
+ Frame* coreFrame = core(frame);
+ if (!coreFrame)
+ return -1;
+
+ Element* coreElement = coreFrame->document()->getElementById(AtomicString(id));
+ if (!coreElement)
+ return -1;
+ return PrintContext::pageNumberForElement(coreElement, FloatSize(pageWidth, pageHeight));
+}
+
+/**
+ * numberOfPagesForFrame
+ * @frame: a #WebKitWebFrame
+ * @pageWidth: width of a page
+ * @pageHeight: height of a page
+ *
+ * Return value: The number of pages to be printed.
+ */
+int DumpRenderTreeSupportGtk::numberOfPagesForFrame(WebKitWebFrame* frame, float pageWidth, float pageHeight)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
+
+ Frame* coreFrame = core(frame);
+ if (!coreFrame)
+ return -1;
+
+ return PrintContext::numberOfPages(coreFrame, FloatSize(pageWidth, pageHeight));
+}
+
+/**
+ * pageProperty
+ * @frame: a #WebKitWebFrame
+ * @propertyName: name of a property
+ * @pageNumber: number of a page
+ *
+ * Return value: The value of the given property name.
+ */
+CString DumpRenderTreeSupportGtk::pageProperty(WebKitWebFrame* frame, const char* propertyName, int pageNumber)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), CString());
+
+ Frame* coreFrame = core(frame);
+ if (!coreFrame)
+ return CString();
+
+ return PrintContext::pageProperty(coreFrame, propertyName, pageNumber).utf8();
+}
+
+/**
+ * isPageBoxVisible
+ * @frame: a #WebKitWebFrame
+ * @pageNumber: number of a page
+ *
+ * Return value: TRUE if a page box is visible.
+ */
+bool DumpRenderTreeSupportGtk::isPageBoxVisible(WebKitWebFrame* frame, int pageNumber)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), false);
+
+ Frame* coreFrame = core(frame);
+ if (!coreFrame)
+ return false;
+
+ return coreFrame->document()->isPageBoxVisible(pageNumber);
+}
+
+/**
+ * pageSizeAndMarginsInPixels
+ * @frame: a #WebKitWebFrame
+ * @pageNumber: number of a page
+ * @width: width of a page
+ * @height: height of a page
+ * @marginTop: top margin of a page
+ * @marginRight: right margin of a page
+ * @marginBottom: bottom margin of a page
+ * @marginLeft: left margin of a page
+ *
+ * Return value: The value of page size and margin.
+ */
+CString DumpRenderTreeSupportGtk::pageSizeAndMarginsInPixels(WebKitWebFrame* frame, int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), CString());
+
+ Frame* coreFrame = core(frame);
+ if (!coreFrame)
+ return CString();
+
+ return PrintContext::pageSizeAndMarginsInPixels(coreFrame, pageNumber, width, height, marginTop, marginRight, marginBottom, marginLeft).utf8();
+}
+
+/**
+ * addUserStyleSheet
+ * @frame: a #WebKitWebFrame
+ * @sourceCode: code of a user stylesheet
+ *
+ */
+void DumpRenderTreeSupportGtk::addUserStyleSheet(WebKitWebFrame* frame, const char* sourceCode, bool allFrames)
+{
+ g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame));
+
+ Frame* coreFrame = core(frame);
+ if (!coreFrame)
+ return;
+
+ WebKitWebView* webView = getViewFromFrame(frame);
+ Page* page = core(webView);
+ page->group().addUserStyleSheetToWorld(mainThreadNormalWorld(), sourceCode, KURL(), 0, 0, allFrames ? InjectInAllFrames : InjectInTopFrameOnly);
+}
+
+/**
+ * getPendingUnloadEventCount:
+ * @frame: a #WebKitWebFrame
+ *
+ * Return value: number of pending unload events
+ */
+guint DumpRenderTreeSupportGtk::getPendingUnloadEventCount(WebKitWebFrame* frame)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
+
+ return core(frame)->domWindow()->pendingUnloadEventListeners();
+}
+
+bool DumpRenderTreeSupportGtk::pauseAnimation(WebKitWebFrame* frame, const char* name, double time, const char* element)
+{
+ ASSERT(core(frame));
+ Element* coreElement = core(frame)->document()->getElementById(AtomicString(element));
+ if (!coreElement || !coreElement->renderer())
+ return false;
+ return core(frame)->animation()->pauseAnimationAtTime(coreElement->renderer(), AtomicString(name), time);
+}
+
+bool DumpRenderTreeSupportGtk::pauseTransition(WebKitWebFrame* frame, const char* name, double time, const char* element)
+{
+ ASSERT(core(frame));
+ Element* coreElement = core(frame)->document()->getElementById(AtomicString(element));
+ if (!coreElement || !coreElement->renderer())
+ return false;
+ return core(frame)->animation()->pauseTransitionAtTime(coreElement->renderer(), AtomicString(name), time);
+}
+
+bool DumpRenderTreeSupportGtk::pauseSVGAnimation(WebKitWebFrame* frame, const char* animationId, double time, const char* elementId)
+{
+ ASSERT(core(frame));
+#if ENABLE(SVG)
+ Document* document = core(frame)->document();
+ if (!document || !document->svgExtensions())
+ return false;
+ Element* coreElement = document->getElementById(AtomicString(animationId));
+ if (!coreElement || !SVGSMILElement::isSMILElement(coreElement))
+ return false;
+ return document->accessSVGExtensions()->sampleAnimationAtTime(elementId, static_cast<SVGSMILElement*>(coreElement), time);
+#else
+ return false;
+#endif
+}
+
+CString DumpRenderTreeSupportGtk::markerTextForListItem(WebKitWebFrame* frame, JSContextRef context, JSValueRef nodeObject)
+{
+ JSC::ExecState* exec = toJS(context);
+ Element* element = toElement(toJS(exec, nodeObject));
+ if (!element)
+ return CString();
+
+ return WebCore::markerTextForListItem(element).utf8();
+}
+
+unsigned int DumpRenderTreeSupportGtk::numberOfActiveAnimations(WebKitWebFrame* frame)
+{
+ Frame* coreFrame = core(frame);
+ if (!coreFrame)
+ return 0;
+
+ return coreFrame->animation()->numberOfActiveAnimations();
+}
+
+void DumpRenderTreeSupportGtk::suspendAnimations(WebKitWebFrame* frame)
+{
+ Frame* coreFrame = core(frame);
+ if (!coreFrame)
+ return;
+
+ return coreFrame->animation()->suspendAnimations();
+}
+
+void DumpRenderTreeSupportGtk::resumeAnimations(WebKitWebFrame* frame)
+{
+ Frame* coreFrame = core(frame);
+ if (!coreFrame)
+ return;
+
+ return coreFrame->animation()->resumeAnimations();
+}
+
+void DumpRenderTreeSupportGtk::clearMainFrameName(WebKitWebFrame* frame)
+{
+ g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame));
+
+ core(frame)->tree()->clearName();
+}
+
+AtkObject* DumpRenderTreeSupportGtk::getRootAccessibleElement(WebKitWebFrame* frame)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
+
+#if HAVE(ACCESSIBILITY)
+ if (!AXObjectCache::accessibilityEnabled())
+ AXObjectCache::enableAccessibility();
+
+ WebKitWebFramePrivate* priv = frame->priv;
+ if (!priv->coreFrame || !priv->coreFrame->document())
+ return 0;
+
+ AtkObject* wrapper = priv->coreFrame->document()->axObjectCache()->rootObject()->wrapper();
+ if (!wrapper)
+ return 0;
+
+ return wrapper;
+#else
+ return 0;
+#endif
+}
+
+AtkObject* DumpRenderTreeSupportGtk::getFocusedAccessibleElement(WebKitWebFrame* frame)
+{
+#if HAVE(ACCESSIBILITY)
+ AtkObject* wrapper = getRootAccessibleElement(frame);
+ if (!wrapper)
+ return 0;
+
+ return webkit_accessible_get_focused_element(WEBKIT_ACCESSIBLE(wrapper));
+#else
+ return 0;
+#endif
+}
+
+void DumpRenderTreeSupportGtk::executeCoreCommandByName(WebKitWebView* webView, const gchar* name, const gchar* value)
+{
+ g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
+ g_return_if_fail(name);
+ g_return_if_fail(value);
+
+ core(webView)->focusController()->focusedOrMainFrame()->editor()->command(name).execute(value);
+}
+
+bool DumpRenderTreeSupportGtk::isCommandEnabled(WebKitWebView* webView, const gchar* name)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
+ g_return_val_if_fail(name, FALSE);
+
+ return core(webView)->focusController()->focusedOrMainFrame()->editor()->command(name).isEnabled();
+}
+
+void DumpRenderTreeSupportGtk::whiteListAccessFromOrigin(const gchar* sourceOrigin, const gchar* destinationProtocol, const gchar* destinationHost, bool allowDestinationSubdomains)
+{
+ SecurityOrigin::addOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
+}
+
+void DumpRenderTreeSupportGtk::resetOriginAccessWhiteLists()
+{
+ SecurityOrigin::resetOriginAccessWhitelists();
+}
+
+void DumpRenderTreeSupportGtk::gcCollectJavascriptObjects()
+{
+ gcController().garbageCollectNow();
+}
+
+void DumpRenderTreeSupportGtk::gcCollectJavascriptObjectsOnAlternateThread(bool waitUntilDone)
+{
+ gcController().garbageCollectOnAlternateThreadForDebugging(waitUntilDone);
+}
+
+unsigned long DumpRenderTreeSupportGtk::gcCountJavascriptObjects()
+{
+ JSC::JSLock lock(JSC::SilenceAssertionsOnly);
+ return JSDOMWindow::commonJSGlobalData()->heap.objectCount();
+}
+
+void DumpRenderTreeSupportGtk::layoutFrame(WebKitWebFrame* frame)
+{
+ Frame* coreFrame = core(frame);
+ if (!coreFrame)
+ return;
+
+ FrameView* view = coreFrame->view();
+ if (!view)
+ return;
+
+ view->layout();
+}
+
+// For testing fast/viewport.
+void DumpRenderTreeSupportGtk::dumpConfigurationForViewport(WebKitWebView* webView, gint availableWidth, gint availableHeight)
+{
+ g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
+
+ ViewportArguments arguments = webView->priv->corePage->mainFrame()->document()->viewportArguments();
+ // desktopWidth = 980, deviceWidth = 320, deviceHeight = 480, deviceDPI = 160
+ ViewportAttributes attrs = computeViewportAttributes(arguments, 980, 320, 480, 160, IntSize(availableWidth, availableHeight));
+
+ fprintf(stdout, "viewport size %dx%d scale %f with limits [%f, %f]\n", attrs.layoutSize.width(), attrs.layoutSize.height(), attrs.initialScale, attrs.minimumScale, attrs.maximumScale);
+}
+
+unsigned int DumpRenderTreeSupportGtk::workerThreadCount()
+{
+#if ENABLE(WORKERS)
+ return WebCore::WorkerThread::workerThreadCount();
+#else
+ return 0;
+#endif
+}
+
+bool DumpRenderTreeSupportGtk::webkitWebFrameSelectionHasSpellingMarker(WebKitWebFrame *frame, gint from, gint length)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), FALSE);
+
+ return core(frame)->editor()->selectionStartHasSpellingMarkerFor(from, length);
+}
diff --git a/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h b/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h
index 17e9f6d..663f13a 100644
--- a/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h
+++ b/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h
@@ -19,7 +19,15 @@
#ifndef DumpRenderTreeSupportGtk_h
#define DumpRenderTreeSupportGtk_h
+
#include "JSStringRef.h"
+#include <webkit/webkitdefines.h>
+
+#include <atk/atk.h>
+#include <glib.h>
+#include <webkit/webkitdefines.h>
+#include <webkit/webkitwebframe.h>
+#include <wtf/text/CString.h>
class DumpRenderTreeSupportGtk {
@@ -33,6 +41,45 @@ public:
static void setLinksIncludedInFocusChain(bool);
static bool linksIncludedInFocusChain();
static JSValueRef nodesFromRect(JSContextRef context, JSValueRef value, int x, int y, unsigned top, unsigned right, unsigned bottom, unsigned left, bool ignoreClipping);
+ static void dumpConfigurationForViewport(WebKitWebView* webView, gint availableWidth, gint availableHeight);
+
+ // FIXME: Move these to webkitwebframe.h once their API has been discussed.
+ static GSList* getFrameChildren(WebKitWebFrame*);
+ static WTF::CString getInnerText(WebKitWebFrame*);
+ static WTF::CString dumpRenderTree(WebKitWebFrame*);
+ static WTF::CString counterValueForElementById(WebKitWebFrame*, const char* id);
+ static int pageNumberForElementById(WebKitWebFrame*, const char* id, float pageWidth, float pageHeight);
+ static int numberOfPagesForFrame(WebKitWebFrame*, float pageWidth, float pageHeight);
+ static WTF::CString pageProperty(WebKitWebFrame*, const char* propertyName, int pageNumber);
+ static bool isPageBoxVisible(WebKitWebFrame*, int pageNumber);
+ static WTF::CString pageSizeAndMarginsInPixels(WebKitWebFrame*, int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft);
+ static void addUserStyleSheet(WebKitWebFrame*, const char* sourceCode, bool allFrames);
+ static guint getPendingUnloadEventCount(WebKitWebFrame*);
+ static bool pauseAnimation(WebKitWebFrame*, const char* name, double time, const char* element);
+ static bool pauseTransition(WebKitWebFrame*, const char* name, double time, const char* element);
+ static bool pauseSVGAnimation(WebKitWebFrame*, const char* animationId, double time, const char* elementId);
+ static WTF::CString markerTextForListItem(WebKitWebFrame*, JSContextRef, JSValueRef nodeObject);
+ static unsigned int numberOfActiveAnimations(WebKitWebFrame*);
+ static void suspendAnimations(WebKitWebFrame*);
+ static void resumeAnimations(WebKitWebFrame*);
+ static void clearMainFrameName(WebKitWebFrame*);
+ static AtkObject* getFocusedAccessibleElement(WebKitWebFrame*);
+ static AtkObject* getRootAccessibleElement(WebKitWebFrame*);
+ static void layoutFrame(WebKitWebFrame*);
+
+ // WebKitWebView
+ static void executeCoreCommandByName(WebKitWebView*, const gchar* name, const gchar* value);
+ static bool isCommandEnabled(WebKitWebView*, const gchar* name);
+
+ // GC
+ static void gcCollectJavascriptObjects();
+ static void gcCollectJavascriptObjectsOnAlternateThread(bool waitUntilDone);
+ static unsigned long gcCountJavascriptObjects();
+
+ static void whiteListAccessFromOrigin(const gchar* sourceOrigin, const gchar* destinationProtocol, const gchar* destinationHost, bool allowDestinationSubdomains);
+ static void resetOriginAccessWhiteLists();
+ static unsigned int workerThreadCount();
+ static bool webkitWebFrameSelectionHasSpellingMarker(WebKitWebFrame*, gint from, gint length);
private:
static bool s_drtRun;
diff --git a/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp b/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp
index bd88480..ee9bf9a 100644
--- a/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp
@@ -44,8 +44,10 @@
#include "WebKitDOMNodePrivate.h"
#include "WebKitDOMRangePrivate.h"
#include "WindowsKeyboardCodes.h"
+#include "webkitglobalsprivate.h"
#include "webkitmarshal.h"
-#include "webkitprivate.h"
+#include "webkitwebsettingsprivate.h"
+#include "webkitwebviewprivate.h"
#include <wtf/text/CString.h>
// Arbitrary depth limit for the undo stack, to keep it from using
@@ -196,7 +198,7 @@ static void deleteFromCursorCallback(GtkWidget* widget, GtkDeleteType deleteType
static const char* const gtkMoveCommands[][4] = {
{ "MoveBackward", "MoveForward",
"MoveBackwardAndModifySelection", "MoveForwardAndModifySelection" }, // Forward/backward grapheme
- { "MoveBackward", "MoveForward",
+ { "MoveLeft", "MoveRight",
"MoveBackwardAndModifySelection", "MoveForwardAndModifySelection" }, // Left/right grapheme
{ "MoveWordBackward", "MoveWordForward",
"MoveWordBackwardAndModifySelection", "MoveWordForwardAndModifySelection" }, // Forward/backward word
@@ -230,13 +232,6 @@ static void moveCursorCallback(GtkWidget* widget, GtkMovementStep step, gint cou
if (!rawCommand)
return;
- if (isSpatialNavigationEnabled(core(client->webView())->focusController()->focusedOrMainFrame()) && step == 1) {
- if (direction == 1)
- rawCommand = "MoveRight";
- else if (!direction)
- rawCommand = "MoveLeft";
- }
-
for (int i = 0; i < abs(count); i++)
client->addPendingEditorCommand(rawCommand);
}
@@ -275,7 +270,7 @@ void EditorClient::setInputMethodState(bool active)
bool EditorClient::shouldDeleteRange(Range* range)
{
gboolean accept = TRUE;
- PlatformRefPtr<WebKitDOMRange> kitRange(adoptPlatformRef(kit(range)));
+ GRefPtr<WebKitDOMRange> kitRange(adoptGRef(kit(range)));
g_signal_emit_by_name(m_webView, "should-delete-range", kitRange.get(), &accept);
return accept;
}
@@ -283,7 +278,7 @@ bool EditorClient::shouldDeleteRange(Range* range)
bool EditorClient::shouldShowDeleteInterface(HTMLElement* element)
{
gboolean accept = TRUE;
- PlatformRefPtr<WebKitDOMHTMLElement> kitElement(adoptPlatformRef(kit(element)));
+ GRefPtr<WebKitDOMHTMLElement> kitElement(adoptGRef(kit(element)));
g_signal_emit_by_name(m_webView, "should-show-delete-interface-for-element", kitElement.get(), &accept);
return accept;
}
@@ -315,7 +310,7 @@ bool EditorClient::shouldBeginEditing(WebCore::Range* range)
clearPendingComposition();
gboolean accept = TRUE;
- PlatformRefPtr<WebKitDOMRange> kitRange(adoptPlatformRef(kit(range)));
+ GRefPtr<WebKitDOMRange> kitRange(adoptGRef(kit(range)));
g_signal_emit_by_name(m_webView, "should-begin-editing", kitRange.get(), &accept);
return accept;
}
@@ -325,7 +320,7 @@ bool EditorClient::shouldEndEditing(WebCore::Range* range)
clearPendingComposition();
gboolean accept = TRUE;
- PlatformRefPtr<WebKitDOMRange> kitRange(adoptPlatformRef(kit(range)));
+ GRefPtr<WebKitDOMRange> kitRange(adoptGRef(kit(range)));
g_signal_emit_by_name(m_webView, "should-end-editing", kitRange.get(), &accept);
return accept;
}
@@ -347,7 +342,7 @@ static WebKitInsertAction kit(EditorInsertAction action)
bool EditorClient::shouldInsertText(const String& string, Range* range, EditorInsertAction action)
{
gboolean accept = TRUE;
- PlatformRefPtr<WebKitDOMRange> kitRange(adoptPlatformRef(kit(range)));
+ GRefPtr<WebKitDOMRange> kitRange(adoptGRef(kit(range)));
g_signal_emit_by_name(m_webView, "should-insert-text", string.utf8().data(), kitRange.get(), kit(action), &accept);
return accept;
}
@@ -367,8 +362,8 @@ static WebKitSelectionAffinity kit(EAffinity affinity)
bool EditorClient::shouldChangeSelectedRange(Range* fromRange, Range* toRange, EAffinity affinity, bool stillSelecting)
{
gboolean accept = TRUE;
- PlatformRefPtr<WebKitDOMRange> kitFromRange(fromRange ? adoptPlatformRef(kit(fromRange)) : 0);
- PlatformRefPtr<WebKitDOMRange> kitToRange(toRange ? adoptPlatformRef(kit(toRange)) : 0);
+ GRefPtr<WebKitDOMRange> kitFromRange(fromRange ? adoptGRef(kit(fromRange)) : 0);
+ GRefPtr<WebKitDOMRange> kitToRange(toRange ? adoptGRef(kit(toRange)) : 0);
g_signal_emit_by_name(m_webView, "should-change-selected-range", kitFromRange.get(), kitToRange.get(),
kit(affinity), stillSelecting, &accept);
return accept;
@@ -377,8 +372,8 @@ bool EditorClient::shouldChangeSelectedRange(Range* fromRange, Range* toRange, E
bool EditorClient::shouldApplyStyle(WebCore::CSSStyleDeclaration* declaration, WebCore::Range* range)
{
gboolean accept = TRUE;
- PlatformRefPtr<WebKitDOMCSSStyleDeclaration> kitDeclaration(kit(declaration));
- PlatformRefPtr<WebKitDOMRange> kitRange(adoptPlatformRef(kit(range)));
+ GRefPtr<WebKitDOMCSSStyleDeclaration> kitDeclaration(kit(declaration));
+ GRefPtr<WebKitDOMRange> kitRange(adoptGRef(kit(range)));
g_signal_emit_by_name(m_webView, "should-apply-style", kitDeclaration.get(), kitRange.get(), &accept);
return accept;
}
@@ -548,8 +543,8 @@ void EditorClient::redo()
bool EditorClient::shouldInsertNode(Node* node, Range* range, EditorInsertAction action)
{
gboolean accept = TRUE;
- PlatformRefPtr<WebKitDOMRange> kitRange(adoptPlatformRef(kit(range)));
- PlatformRefPtr<WebKitDOMNode> kitNode(adoptPlatformRef(kit(node)));
+ GRefPtr<WebKitDOMRange> kitRange(adoptGRef(kit(range)));
+ GRefPtr<WebKitDOMNode> kitNode(adoptGRef(kit(node)));
g_signal_emit_by_name(m_webView, "should-insert-node", kitNode.get(), kitRange.get(), kit(action), &accept);
return accept;
}
@@ -657,24 +652,23 @@ void EditorClient::generateEditorCommands(const KeyboardEvent* event)
if (event->ctrlKey())
modifiers |= CtrlKey;
-
- if (event->type() == eventNames().keydownEvent) {
- int mapKey = modifiers << 16 | event->keyCode();
- if (mapKey)
- m_pendingEditorCommands.append(keyDownCommandsMap.get(mapKey));
+ // For keypress events, we want charCode(), but keyCode() does that.
+ int mapKey = modifiers << 16 | event->keyCode();
+ if (!mapKey)
return;
- }
-
- int mapKey = modifiers << 16 | event->charCode();
- if (mapKey)
- m_pendingEditorCommands.append(keyPressCommandsMap.get(mapKey));
+ HashMap<int, const char*>* commandMap = event->type() == eventNames().keydownEvent ?
+ &keyDownCommandsMap : &keyPressCommandsMap;
+ if (const char* commandString = commandMap->get(mapKey))
+ m_pendingEditorCommands.append(commandString);
}
bool EditorClient::executePendingEditorCommands(Frame* frame, bool allowTextInsertion)
{
Vector<Editor::Command> commands;
for (size_t i = 0; i < m_pendingEditorCommands.size(); i++) {
- Editor::Command command = frame->editor()->command(m_pendingEditorCommands.at(i));
+ const char* commandString = m_pendingEditorCommands.at(i);
+ ASSERT(commandString);
+ Editor::Command command = frame->editor()->command(commandString);
if (command.isTextInsertion() && !allowTextInsertion)
return false;
@@ -895,7 +889,7 @@ void EditorClient::textDidChangeInTextArea(Element*)
void EditorClient::ignoreWordInSpellDocument(const String& text)
{
- GSList* dicts = webkit_web_settings_get_enchant_dicts(m_webView);
+ GSList* dicts = webkitWebViewGetEnchantDicts(m_webView);
for (; dicts; dicts = dicts->next) {
EnchantDict* dict = static_cast<EnchantDict*>(dicts->data);
@@ -906,7 +900,7 @@ void EditorClient::ignoreWordInSpellDocument(const String& text)
void EditorClient::learnWord(const String& text)
{
- GSList* dicts = webkit_web_settings_get_enchant_dicts(m_webView);
+ GSList* dicts = webkitWebViewGetEnchantDicts(m_webView);
for (; dicts; dicts = dicts->next) {
EnchantDict* dict = static_cast<EnchantDict*>(dicts->data);
@@ -917,7 +911,7 @@ void EditorClient::learnWord(const String& text)
void EditorClient::checkSpellingOfString(const UChar* text, int length, int* misspellingLocation, int* misspellingLength)
{
- GSList* dicts = webkit_web_settings_get_enchant_dicts(m_webView);
+ GSList* dicts = webkitWebViewGetEnchantDicts(m_webView);
if (!dicts)
return;
@@ -1008,9 +1002,9 @@ bool EditorClient::spellingUIIsShowing()
return false;
}
-void EditorClient::getGuessesForWord(const String& word, WTF::Vector<String>& guesses)
+void EditorClient::getGuessesForWord(const String& word, const String& context, WTF::Vector<String>& guesses)
{
- GSList* dicts = webkit_web_settings_get_enchant_dicts(m_webView);
+ GSList* dicts = webkitWebViewGetEnchantDicts(m_webView);
guesses.clear();
for (; dicts; dicts = dicts->next) {
diff --git a/WebKit/gtk/WebCoreSupport/EditorClientGtk.h b/WebKit/gtk/WebCoreSupport/EditorClientGtk.h
index f9ff82e..214dbd6 100644
--- a/WebKit/gtk/WebCoreSupport/EditorClientGtk.h
+++ b/WebKit/gtk/WebCoreSupport/EditorClientGtk.h
@@ -129,9 +129,10 @@ namespace WebKit {
virtual void updateSpellingUIWithMisspelledWord(const WTF::String&);
virtual void showSpellingUI(bool show);
virtual bool spellingUIIsShowing();
- virtual void getGuessesForWord(const WTF::String&, WTF::Vector<WTF::String>& guesses);
+ virtual void getGuessesForWord(const WTF::String& word, const WTF::String& context, WTF::Vector<WTF::String>& guesses);
virtual void willSetInputMethodState();
virtual void setInputMethodState(bool enabled);
+ virtual void requestCheckingOfString(WebCore::SpellChecker*, int, const WTF::String&) {}
private:
WebKitWebView* m_webView;
@@ -139,7 +140,7 @@ namespace WebKit {
bool m_treatContextCommitAsKeyEvent;
GOwnPtr<gchar> m_pendingComposition;
Vector<const char*> m_pendingEditorCommands;
- PlatformRefPtr<GtkWidget> m_nativeWidget;
+ GRefPtr<GtkWidget> m_nativeWidget;
};
}
diff --git a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
index e7a2457..13cbc59 100644
--- a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
@@ -25,7 +25,6 @@
#include "config.h"
#include "FrameLoaderClientGtk.h"
-#include "AXObjectCache.h"
#include "ArchiveResource.h"
#include "CachedFrame.h"
#include "Color.h"
@@ -35,8 +34,8 @@
#include "FormState.h"
#include "FrameLoader.h"
#include "FrameNetworkingContextGtk.h"
-#include "FrameView.h"
#include "FrameTree.h"
+#include "FrameView.h"
#include "GOwnPtr.h"
#include "GRefPtr.h"
#include "GtkPluginWidget.h"
@@ -46,6 +45,7 @@
#include "HTMLFrameOwnerElement.h"
#include "HTMLNames.h"
#include "HTMLPlugInElement.h"
+#include "JSDOMBinding.h"
#include "JSDOMWindow.h"
#include "Language.h"
#include "MIMETypeRegistry.h"
@@ -53,28 +53,40 @@
#include "NotImplemented.h"
#include "Page.h"
#include "PluginDatabase.h"
+#include "ProgressTracker.h"
#include "RenderPart.h"
#include "ResourceHandle.h"
#include "ResourceRequest.h"
-#include "ProgressTracker.h"
-#include "JSDOMBinding.h"
#include "ScriptController.h"
+#include "Settings.h"
#include "webkiterror.h"
+#include "webkitglobals.h"
+#include "webkitglobalsprivate.h"
#include "webkitnetworkrequest.h"
+#include "webkitnetworkrequestprivate.h"
#include "webkitnetworkresponse.h"
-#include "webkitprivate.h"
+#include "webkitnetworkresponseprivate.h"
+#include "webkitviewportattributes.h"
+#include "webkitviewportattributesprivate.h"
+#include "webkitwebdatasourceprivate.h"
#include "webkitwebframe.h"
+#include "webkitwebframeprivate.h"
#include "webkitwebnavigationaction.h"
+#include "webkitwebnavigationactionprivate.h"
#include "webkitwebpolicydecision.h"
+#include "webkitwebpolicydecisionprivate.h"
+#include "webkitwebresource.h"
+#include "webkitwebresourceprivate.h"
+#include "webkitwebsettingsprivate.h"
#include "webkitwebview.h"
-#include <wtf/text/CString.h>
-#include <wtf/text/StringConcatenate.h>
-
+#include "webkitwebviewprivate.h"
#include <JavaScriptCore/APICast.h>
#include <gio/gio.h>
#include <glib.h>
#include <glib/gi18n-lib.h>
#include <stdio.h>
+#include <wtf/text/CString.h>
+#include <wtf/text/StringConcatenate.h>
using namespace WebCore;
@@ -209,34 +221,6 @@ String FrameLoaderClient::userAgent(const KURL& url)
return String::fromUTF8(webkit_web_settings_get_user_agent(settings));
}
-static void notifyAccessibilityStatus(WebKitWebFrame* frame, WebKitLoadStatus loadStatus)
-{
- WebKitWebView* webView = getViewFromFrame(frame);
- if (!webView || frame != webkit_web_view_get_main_frame(webView))
- return;
-
- AtkObject* axObject = gtk_widget_get_accessible(GTK_WIDGET(webView));
- if (!axObject || !ATK_IS_DOCUMENT(axObject))
- return;
-
- switch (loadStatus) {
- case WEBKIT_LOAD_PROVISIONAL:
- g_signal_emit_by_name(axObject, "state-change", "busy", true);
- if (core(frame)->loader()->loadType() == FrameLoadTypeReload)
- g_signal_emit_by_name(axObject, "reload");
- break;
- case WEBKIT_LOAD_FAILED:
- g_signal_emit_by_name(axObject, "load-stopped");
- g_signal_emit_by_name(axObject, "state-change", "busy", false);
- break;
- case WEBKIT_LOAD_FINISHED:
- g_signal_emit_by_name(axObject, "load-complete");
- g_signal_emit_by_name(axObject, "state-change", "busy", false);
- default:
- break;
- }
-}
-
static void notifyStatus(WebKitWebFrame* frame, WebKitLoadStatus loadStatus)
{
frame->priv->loadStatus = loadStatus;
@@ -247,9 +231,6 @@ static void notifyStatus(WebKitWebFrame* frame, WebKitLoadStatus loadStatus)
webView->priv->loadStatus = loadStatus;
g_object_notify(G_OBJECT(webView), "load-status");
}
-
- if (AXObjectCache::accessibilityEnabled())
- notifyAccessibilityStatus(frame, loadStatus);
}
static void loadDone(WebKitWebFrame* frame, bool didSucceed)
@@ -263,9 +244,8 @@ WTF::PassRefPtr<WebCore::DocumentLoader> FrameLoaderClient::createDocumentLoader
{
RefPtr<WebKit::DocumentLoader> loader = WebKit::DocumentLoader::create(request, substituteData);
- WebKitWebDataSource* webDataSource = webkit_web_data_source_new_with_loader(loader.get());
- loader->setDataSource(webDataSource);
- g_object_unref(webDataSource);
+ GRefPtr<WebKitWebDataSource> webDataSource(adoptGRef(kitNew(loader.get())));
+ loader->setDataSource(webDataSource.get());
return loader.release();
}
@@ -332,19 +312,19 @@ static char* toString(unsigned long identifier)
void FrameLoaderClient::dispatchWillSendRequest(WebCore::DocumentLoader* loader, unsigned long identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
{
- PlatformRefPtr<WebKitNetworkResponse> networkResponse(0);
+ GRefPtr<WebKitNetworkResponse> networkResponse(0);
// We are adding one more resource to the load, or maybe we are
// just redirecting a load.
if (redirectResponse.isNull())
static_cast<WebKit::DocumentLoader*>(loader)->increaseLoadCount(identifier);
else
- networkResponse = adoptPlatformRef(webkit_network_response_new_with_core_response(redirectResponse));
+ networkResponse = adoptGRef(kitNew(redirectResponse));
WebKitWebView* webView = getViewFromFrame(m_frame);
GOwnPtr<gchar> identifierString(toString(identifier));
WebKitWebResource* webResource = webkit_web_view_get_resource(webView, identifierString.get());
- PlatformRefPtr<WebKitNetworkRequest> networkRequest(adoptPlatformRef(webkit_network_request_new_with_core_request(request)));
+ GRefPtr<WebKitNetworkRequest> networkRequest(adoptGRef(kitNew(request)));
if (!redirectResponse.isNull()) {
// This is a redirect, so we need to update the WebResource's knowledge
@@ -365,11 +345,19 @@ void FrameLoaderClient::dispatchWillSendRequest(WebCore::DocumentLoader* loader,
request.updateFromSoupMessage(message);
}
-void FrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const ResourceRequest& request)
+void FrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader* loader, const ResourceRequest& request)
{
GOwnPtr<gchar> identifierString(toString(identifier));
- webkit_web_view_add_resource(getViewFromFrame(m_frame), identifierString.get(),
- WEBKIT_WEB_RESOURCE(g_object_new(WEBKIT_TYPE_WEB_RESOURCE, "uri", request.url().string().utf8().data(), 0)));
+
+ WebKitWebResource* webResource = WEBKIT_WEB_RESOURCE(g_object_new(WEBKIT_TYPE_WEB_RESOURCE, "uri", request.url().string().utf8().data(), 0));
+
+ if (loader == loader->frameLoader()->provisionalDocumentLoader()
+ && loader->frameLoader()->isLoadingMainFrame()) {
+ webkit_web_view_add_main_resource(getViewFromFrame(m_frame), identifierString.get(), webResource);
+ return;
+ }
+
+ webkit_web_view_add_resource(getViewFromFrame(m_frame), identifierString.get(), webResource);
}
void FrameLoaderClient::postProgressStartedNotification()
@@ -393,7 +381,7 @@ void FrameLoaderClient::postProgressEstimateChangedNotification()
void FrameLoaderClient::postProgressFinishedNotification()
{
WebKitWebView* webView = getViewFromFrame(m_frame);
- WebKitWebViewPrivate* privateData = WEBKIT_WEB_VIEW_GET_PRIVATE(webView);
+ WebKitWebViewPrivate* privateData = webView->priv;
// We can get a stopLoad() from dispose when the object is being
// destroyed, don't emit the signal in that case.
@@ -430,7 +418,7 @@ void FrameLoaderClient::dispatchDecidePolicyForMIMEType(FramePolicyFunction poli
}
WebKitWebView* page = getViewFromFrame(m_frame);
- WebKitNetworkRequest* request = webkit_network_request_new_with_core_request(resourceRequest);
+ GRefPtr<WebKitNetworkRequest> request(adoptGRef(kitNew(resourceRequest)));
WebKitWebPolicyDecision* policyDecision = webkit_web_policy_decision_new(m_frame, policyFunction);
if (m_policyDecision)
@@ -438,14 +426,12 @@ void FrameLoaderClient::dispatchDecidePolicyForMIMEType(FramePolicyFunction poli
m_policyDecision = policyDecision;
gboolean isHandled = false;
- g_signal_emit_by_name(page, "mime-type-policy-decision-requested", m_frame, request, mimeType.utf8().data(), policyDecision, &isHandled);
-
- g_object_unref(request);
+ g_signal_emit_by_name(page, "mime-type-policy-decision-requested", m_frame, request.get(), mimeType.utf8().data(), policyDecision, &isHandled);
if (isHandled)
return;
- PlatformRefPtr<WebKitNetworkResponse> networkResponse(adoptPlatformRef(webkit_web_frame_get_network_response(m_frame)));
+ GRefPtr<WebKitNetworkResponse> networkResponse(adoptGRef(webkit_web_frame_get_network_response(m_frame)));
if (networkResponse) {
ResourceResponse response = core(networkResponse.get());
if (response.isAttachment()) {
@@ -512,14 +498,11 @@ void FrameLoaderClient::dispatchDecidePolicyForNewWindowAction(FramePolicyFuncti
m_policyDecision = policyDecision;
WebKitWebView* webView = getViewFromFrame(m_frame);
- WebKitNetworkRequest* request = webkit_network_request_new(resourceRequest.url().string().utf8().data());
- WebKitWebNavigationAction* navigationAction = getNavigationAction(action, frameName.utf8().data());
+ GRefPtr<WebKitNetworkRequest> request(adoptGRef(webkit_network_request_new(resourceRequest.url().string().utf8().data())));
+ GRefPtr<WebKitWebNavigationAction> navigationAction(adoptGRef(getNavigationAction(action, frameName.utf8().data())));
gboolean isHandled = false;
- g_signal_emit_by_name(webView, "new-window-policy-decision-requested", m_frame, request, navigationAction, policyDecision, &isHandled);
-
- g_object_unref(navigationAction);
- g_object_unref(request);
+ g_signal_emit_by_name(webView, "new-window-policy-decision-requested", m_frame, request.get(), navigationAction.get(), policyDecision, &isHandled);
// FIXME: I think Qt version marshals this to another thread so when we
// have multi-threaded download, we might need to do the same
@@ -539,7 +522,7 @@ void FrameLoaderClient::dispatchDecidePolicyForNavigationAction(FramePolicyFunct
}
WebKitWebView* webView = getViewFromFrame(m_frame);
- WebKitNetworkRequest* request = webkit_network_request_new_with_core_request(resourceRequest);
+ GRefPtr<WebKitNetworkRequest> request(adoptGRef(kitNew(resourceRequest)));
WebKitNavigationResponse response;
/*
* We still support the deprecated navigation-requested signal, if the
@@ -548,11 +531,10 @@ void FrameLoaderClient::dispatchDecidePolicyForNavigationAction(FramePolicyFunct
* navigation-policy-decision-requested must be emitted after
* navigation-requested as the policy decision can be async.
*/
- g_signal_emit_by_name(webView, "navigation-requested", m_frame, request, &response);
+ g_signal_emit_by_name(webView, "navigation-requested", m_frame, request.get(), &response);
if (response == WEBKIT_NAVIGATION_RESPONSE_IGNORE) {
(core(m_frame)->loader()->policyChecker()->*policyFunction)(PolicyIgnore);
- g_object_unref(request);
return;
}
@@ -561,12 +543,9 @@ void FrameLoaderClient::dispatchDecidePolicyForNavigationAction(FramePolicyFunct
g_object_unref(m_policyDecision);
m_policyDecision = policyDecision;
- WebKitWebNavigationAction* navigationAction = getNavigationAction(action, NULL);
+ GRefPtr<WebKitWebNavigationAction> navigationAction(adoptGRef(getNavigationAction(action, 0)));
gboolean isHandled = false;
- g_signal_emit_by_name(webView, "navigation-policy-decision-requested", m_frame, request, navigationAction, policyDecision, &isHandled);
-
- g_object_unref(navigationAction);
- g_object_unref(request);
+ g_signal_emit_by_name(webView, "navigation-policy-decision-requested", m_frame, request.get(), navigationAction.get(), policyDecision, &isHandled);
// FIXME Implement default behavior when we can query the backend what protocols it supports
if (!isHandled)
@@ -580,7 +559,7 @@ PassRefPtr<Widget> FrameLoaderClient::createPlugin(const IntSize& pluginSize, HT
CString mimeTypeString = mimeType.utf8();
ASSERT(paramNames.size() == paramValues.size());
- PlatformRefPtr<GHashTable> hash = adoptPlatformRef(g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free));
+ GRefPtr<GHashTable> hash = adoptGRef(g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free));
for (unsigned i = 0; i < paramNames.size(); ++i) {
g_hash_table_insert(hash.get(),
g_strdup(paramNames[i].utf8().data()),
@@ -722,6 +701,10 @@ void FrameLoaderClient::documentElementAvailable()
void FrameLoaderClient::didPerformFirstNavigation() const
{
+ WebKitCacheModel cacheModel = webkit_get_cache_model();
+ // If user agents do not determine the cache model, we use WEBKIT_CACHE_MODEL_WEB_BROWSER by default.
+ if (cacheModel == WEBKIT_CACHE_MODEL_DEFAULT)
+ webkit_set_cache_model(WEBKIT_CACHE_MODEL_WEB_BROWSER);
}
void FrameLoaderClient::registerForIconNotification(bool shouldRegister)
@@ -1057,21 +1040,21 @@ void FrameLoaderClient::finishedLoading(WebCore::DocumentLoader* documentLoader)
void FrameLoaderClient::provisionalLoadStarted()
{
- WebKitWebView* webView = getViewFromFrame(m_frame);
-
- if (m_frame == webkit_web_view_get_main_frame(webView))
- webkit_web_view_clear_resources(webView);
+ notImplemented();
}
void FrameLoaderClient::didFinishLoad() {
notImplemented();
}
-void FrameLoaderClient::prepareForDataSourceReplacement() { notImplemented(); }
+void FrameLoaderClient::prepareForDataSourceReplacement()
+{
+ notImplemented();
+}
void FrameLoaderClient::setTitle(const String& title, const KURL& url)
{
- WebKitWebFramePrivate* frameData = WEBKIT_WEB_FRAME_GET_PRIVATE(m_frame);
+ WebKitWebFramePrivate* frameData = m_frame->priv;
g_free(frameData->title);
frameData->title = g_strdup(title.utf8().data());
}
@@ -1188,11 +1171,10 @@ void FrameLoaderClient::dispatchDidFailLoad(const ResourceError& error)
void FrameLoaderClient::download(ResourceHandle* handle, const ResourceRequest& request, const ResourceRequest&, const ResourceResponse& response)
{
- WebKitNetworkRequest* networkRequest = webkit_network_request_new_with_core_request(request);
+ GRefPtr<WebKitNetworkRequest> networkRequest(adoptGRef(kitNew(request)));
WebKitWebView* view = getViewFromFrame(m_frame);
- webkit_web_view_request_download(view, networkRequest, response, handle);
- g_object_unref(networkRequest);
+ webkit_web_view_request_download(view, networkRequest.get(), response, handle);
}
ResourceError FrameLoaderClient::cancelledError(const ResourceRequest& request)
@@ -1257,7 +1239,7 @@ Frame* FrameLoaderClient::dispatchCreatePage(const NavigationAction&)
if (!newWebView)
return 0;
- WebKitWebViewPrivate* privateData = WEBKIT_WEB_VIEW_GET_PRIVATE(newWebView);
+ WebKitWebViewPrivate* privateData = newWebView->priv;
return core(privateData->mainFrame);
}
@@ -1277,11 +1259,10 @@ void FrameLoaderClient::setMainDocumentError(WebCore::DocumentLoader*, const Res
void FrameLoaderClient::startDownload(const ResourceRequest& request)
{
- WebKitNetworkRequest* networkRequest = webkit_network_request_new_with_core_request(request);
+ GRefPtr<WebKitNetworkRequest> networkRequest(adoptGRef(kitNew(request)));
WebKitWebView* view = getViewFromFrame(m_frame);
- webkit_web_view_request_download(view, networkRequest);
- g_object_unref(networkRequest);
+ webkit_web_view_request_download(view, networkRequest.get());
}
void FrameLoaderClient::updateGlobalHistory()
@@ -1307,11 +1288,19 @@ void FrameLoaderClient::savePlatformDataToCachedFrame(CachedFrame* cachedFrame)
static void postCommitFrameViewSetup(WebKitWebFrame *frame, FrameView *view, bool resetValues)
{
WebKitWebView* containingWindow = getViewFromFrame(frame);
- WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(containingWindow);
+ webkit_web_view_clear_resources(containingWindow);
+
+ WebKitWebViewPrivate* priv = containingWindow->priv;
view->setGtkAdjustments(priv->horizontalAdjustment.get(), priv->verticalAdjustment.get(), resetValues);
+ // Invalidate the viewport attributes - they will only be valid
+ // again if the page we're beginning to load now has an
+ // appropriate viewport meta tag.
+ containingWindow->priv->viewportAttributes->priv->isValid = FALSE;
+ g_object_notify(G_OBJECT(containingWindow->priv->viewportAttributes.get()), "valid");
+
if (priv->currentMenu) {
- PlatformRefPtr<GtkMenu> menu(priv->currentMenu);
+ GRefPtr<GtkMenu> menu(priv->currentMenu);
priv->currentMenu.clear();
gtk_menu_popdown(menu.get());
}
@@ -1355,6 +1344,14 @@ void FrameLoaderClient::transitionToCommittedForNewPage()
postCommitFrameViewSetup(m_frame, frame->view(), true);
}
+void FrameLoaderClient::didSaveToPageCache()
+{
+}
+
+void FrameLoaderClient::didRestoreFromPageCache()
+{
+}
+
void FrameLoaderClient::dispatchDidBecomeFrameset(bool)
{
}
diff --git a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h
index ffb3c56..d8d3684 100644
--- a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h
+++ b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h
@@ -181,6 +181,9 @@ namespace WebKit {
virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*);
virtual void transitionToCommittedForNewPage();
+ virtual void didSaveToPageCache();
+ virtual void didRestoreFromPageCache();
+
virtual void dispatchDidBecomeFrameset(bool);
virtual bool canCachePage() const;
diff --git a/WebKit/gtk/WebCoreSupport/FullscreenVideoController.cpp b/WebKit/gtk/WebCoreSupport/FullscreenVideoController.cpp
index 158a3b8..c042b5e 100644
--- a/WebKit/gtk/WebCoreSupport/FullscreenVideoController.cpp
+++ b/WebKit/gtk/WebCoreSupport/FullscreenVideoController.cpp
@@ -545,7 +545,6 @@ void FullscreenVideoController::createHud()
m_timeHScale = gtk_hscale_new(adjustment);
gtk_scale_set_draw_value(GTK_SCALE(m_timeHScale), FALSE);
gtk_range_set_show_fill_level(GTK_RANGE(m_timeHScale), TRUE);
- gtk_range_set_update_policy(GTK_RANGE(m_timeHScale), GTK_UPDATE_CONTINUOUS);
g_signal_connect(m_timeHScale, "button-press-event", G_CALLBACK(timeScaleButtonPressed), this);
g_signal_connect(m_timeHScale, "button-release-event", G_CALLBACK(timeScaleButtonReleased), this);
m_hscaleUpdateId = g_signal_connect(m_timeHScale, "value-changed", G_CALLBACK(timeScaleValueChanged), this);
diff --git a/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp b/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
index 312b8c8..31af243 100644
--- a/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
@@ -21,13 +21,14 @@
#include "InspectorClientGtk.h"
#include "Frame.h"
-#include "webkitwebview.h"
-#include "webkitwebinspector.h"
-#include "webkitprivate.h"
-#include "webkitversion.h"
#include "InspectorController.h"
#include "NotImplemented.h"
#include "PlatformString.h"
+#include "webkitversion.h"
+#include "webkitwebinspector.h"
+#include "webkitwebinspectorprivate.h"
+#include "webkitwebview.h"
+#include "webkitwebviewprivate.h"
#include <wtf/text/CString.h>
using namespace WebCore;
@@ -178,7 +179,7 @@ void InspectorClient::populateSetting(const String& key, String* value)
if (!settings)
return;
- PlatformRefPtr<GVariant> variant = adoptPlatformRef(g_settings_get_value(settings, toGSettingName(key).utf8().data()));
+ GRefPtr<GVariant> variant = adoptGRef(g_settings_get_value(settings, toGSettingName(key).utf8().data()));
if (key == "resourceTrackingEnabled" || key == "xhrMonitor"
|| key == "debuggerEnabled" || key == "profilerEnabled")
@@ -196,15 +197,15 @@ void InspectorClient::storeSetting(const String& key, const String& value)
if (!settings)
return;
- PlatformRefPtr<GVariant> variant(0);
+ GRefPtr<GVariant> variant(0);
// Set the key with the appropriate type, and also avoid setting
// unknown keys to avoid aborting the execution.
if (key == "resourceTrackingEnabled" || key == "xhrMonitor"
|| key == "debuggerEnabled" || key == "profilerEnabled")
- variant = adoptPlatformRef(variantFromTruthString(value));
+ variant = adoptGRef(variantFromTruthString(value));
else if (key == "frontendSettings")
- variant = adoptPlatformRef(g_variant_new_string(value.utf8().data()));
+ variant = adoptGRef(g_variant_new_string(value.utf8().data()));
if (!variant)
return;
diff --git a/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp b/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp
index 02da1d4..e99fc84 100644
--- a/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp
@@ -24,10 +24,10 @@
#include "DataObjectGtk.h"
#include "FocusController.h"
#include "Frame.h"
-#include <gtk/gtk.h>
#include "webkitwebframe.h"
#include "webkitwebview.h"
-#include "webkitprivate.h"
+#include "webkitwebviewprivate.h"
+#include <gtk/gtk.h>
using namespace WebCore;
diff --git a/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h b/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h
index 64fcdba..d00333c 100644
--- a/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h
+++ b/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h
@@ -32,8 +32,6 @@
#include "Frame.h"
#include "PasteboardHelper.h"
-#include <gtk/gtk.h>
-
using namespace WebCore;
namespace WebKit {
diff --git a/WebKit/gtk/docs/GNUmakefile.am b/WebKit/gtk/docs/GNUmakefile.am
index 105e277..565f535 100644
--- a/WebKit/gtk/docs/GNUmakefile.am
+++ b/WebKit/gtk/docs/GNUmakefile.am
@@ -73,11 +73,12 @@ INCLUDES= \
$(global_cppflags) \
$(global_cflags) \
-I$(top_srcdir) \
- -I$(top_srcdir)/JavaScriptCore \
- -I$(top_srcdir)/JavaScriptCore/ForwardingHeaders \
- -I$(top_srcdir)/JavaScriptCore/parser \
- -I$(top_srcdir)/JavaScriptCore/wtf \
+ -I$(top_srcdir)/Source/JavaScriptCore \
+ -I$(top_srcdir)/Source/JavaScriptCore/ForwardingHeaders \
+ -I$(top_srcdir)/Source/JavaScriptCore/parser \
+ -I$(top_srcdir)/Source/JavaScriptCore/wtf \
-I$(top_builddir)/DerivedSources \
+ -I$(top_srcdir)/WebCore/platform/network/soup/cache \
$(GLOBALDEPS_CFLAGS) \
$(CAIRO_CFLAGS) \
$(GLIB_CFLAGS) \
diff --git a/WebKit/gtk/docs/webkitgtk-docs.sgml b/WebKit/gtk/docs/webkitgtk-docs.sgml
index 0852c7d..9a833ea 100644
--- a/WebKit/gtk/docs/webkitgtk-docs.sgml
+++ b/WebKit/gtk/docs/webkitgtk-docs.sgml
@@ -31,7 +31,10 @@
<xi:include href="xml/webkitwebdatasource.xml"/>
<xi:include href="xml/webkitwebresource.xml"/>
<xi:include href="xml/webkitdownload.xml"/>
+ <xi:include href="xml/webkitviewportattributes.xml"/>
<xi:include href="xml/webkithittestresult.xml"/>
+ <xi:include href="xml/webkitwebplugin.xml"/>
+ <xi:include href="xml/webkitwebplugindatabase.xml"/>
<xi:include href="xml/webkitsoupauthdialog.xml"/>
<xi:include href="xml/webkitsecurityorigin.xml"/>
<xi:include href="xml/webkitwebwindowfeatures.xml"/>
@@ -123,4 +126,7 @@
<index id="index-1.3.4" role="1.3.4">
<title>Index of new symbols in 1.3.4</title>
</index>
+ <index id="index-1.3.8" role="1.3.8">
+ <title>Index of new symbols in 1.3.8</title>
+ </index>
</book>
diff --git a/WebKit/gtk/docs/webkitgtk-sections.txt b/WebKit/gtk/docs/webkitgtk-sections.txt
index 0b185a0..2759e2b 100644
--- a/WebKit/gtk/docs/webkitgtk-sections.txt
+++ b/WebKit/gtk/docs/webkitgtk-sections.txt
@@ -456,6 +456,7 @@ webkit_web_view_get_transparent
webkit_web_view_get_uri
webkit_web_view_get_view_mode
webkit_web_view_get_view_source_mode
+webkit_web_view_get_viewport_attributes
webkit_web_view_get_zoom_level
webkit_web_view_go_back
webkit_web_view_go_back_or_forward
@@ -536,6 +537,7 @@ webkit_init
webkit_get_default_session
webkit_get_default_web_database_quota
webkit_get_web_database_directory_path
+webkit_get_web_plugin_database
webkit_remove_all_web_databases
webkit_set_default_web_database_quota
webkit_set_web_database_directory_path
@@ -573,6 +575,69 @@ WebKitWebResourceClass
</SECTION>
<SECTION>
+<FILE>webkitviewportattributes</FILE>
+<TITLE>WebKitViewportAttributes</TITLE>
+webkit_viewport_attributes_recompute
+<SUBSECTION Standard>
+WEBKIT_IS_VIEWPORT_ATTRIBUTES
+WEBKIT_IS_VIEWPORT_ATTRIBUTES_CLASS
+WEBKIT_TYPE_VIEWPORT_ATTRIBUTES
+WEBKIT_VIEWPORT_ATTRIBUTES
+WEBKIT_VIEWPORT_ATTRIBUTES_CLASS
+WEBKIT_VIEWPORT_ATTRIBUTES_GET_CLASS
+<SUBSECTION Private>
+webkit_viewport_attributes_get_type
+WebKitViewportAttributes
+WebKitViewportAttributesClass
+WebKitViewportAttributesPrivate
+</SECTION>
+
+<SECTION>
+<FILE>webkitwebplugin</FILE>
+<TITLE>WebKitWebPlugin</TITLE>
+WebKitWebPluginMIMEType
+webkit_web_plugin_get_description
+webkit_web_plugin_get_enabled
+webkit_web_plugin_get_mimetypes
+webkit_web_plugin_get_name
+webkit_web_plugin_set_enabled
+<SUBSECTION Standard>
+WEBKIT_IS_WEB_PLUGIN
+WEBKIT_IS_WEB_PLUGIN_CLASS
+WEBKIT_TYPE_WEB_PLUGIN
+WEBKIT_WEB_PLUGIN
+WEBKIT_WEB_PLUGIN_CLASS
+WEBKIT_WEB_PLUGIN_GET_CLASS
+<SUBSECTION Private>
+webkit_web_plugin_get_type
+WebKitWebPlugin
+WebKitWebPluginClass
+WebKitWebPluginPrivate
+</SECTION>
+
+<SECTION>
+<FILE>webkitwebplugindatabase</FILE>
+<TITLE>WebKitWebPluginDatabase</TITLE>
+webkit_web_plugin_database_get_plugin_for_mimetype
+webkit_web_plugin_database_get_plugins
+webkit_web_plugin_database_new
+webkit_web_plugin_database_plugins_list_free
+webkit_web_plugin_database_refresh
+<SUBSECTION Standard>
+WEBKIT_IS_WEB_PLUGIN_DATABASE
+WEBKIT_IS_WEB_PLUGIN_DATABASE_CLASS
+WEBKIT_TYPE_WEB_PLUGIN_DATABASE
+WEBKIT_WEB_PLUGIN_DATABASE
+WEBKIT_WEB_PLUGIN_DATABASE_CLASS
+WEBKIT_WEB_PLUGIN_DATABASE_GET_CLASS
+<SUBSECTION Private>
+WebKitWebPluginDatabase
+WebKitWebPluginDatabaseClass
+WebKitWebPluginDatabasePrivate
+webkit_web_plugin_database_get_type
+</SECTION>
+
+<SECTION>
<FILE>soup-cache</FILE>
<TITLE>WebKitSoupCache</TITLE>
webkit_soup_cache_new
diff --git a/WebKit/gtk/po/ChangeLog b/WebKit/gtk/po/ChangeLog
index 29bef79..99a60ee 100644
--- a/WebKit/gtk/po/ChangeLog
+++ b/WebKit/gtk/po/ChangeLog
@@ -1,3 +1,18 @@
+2010-12-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Fix name of the Korean translation file.
+
+ * kr.po -> ko.po: renamed to correct name.
+
+2010-12-07 Chyangwoo Ryu <cwryu@debian.org>
+
+ Reviewed by Gustavo Noronha.
+
+ Korean message translation
+ https://bugs.webkit.org/show_bug.cgi?id=42465
+
+ * kr.po: Added.
+
2010-09-29 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Martin Robinson.
diff --git a/WebKit/gtk/po/ko.po b/WebKit/gtk/po/ko.po
new file mode 100644
index 0000000..4d45f18
--- /dev/null
+++ b/WebKit/gtk/po/ko.po
@@ -0,0 +1,1382 @@
+# Korean translation for webkit.
+# This file is distributed under the same license as the webkit package.
+#
+# Changwoo Ryu <cwryu@debian.org>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: webkit HEAD\n"
+"Report-Msgid-Bugs-To: http://bugs.webkit.org\n"
+"POT-Creation-Date: 2010-09-22 03:26+0000\n"
+"PO-Revision-Date: 2010-09-26 00:38+0900\n"
+"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
+"Language-Team: GNOME Korea <gnome-kr@googlegroups.com>\n"
+"Language: Korean\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../WebCoreSupport/ChromeClientGtk.cpp:569
+msgid "Upload File"
+msgstr "파일 업로드"
+
+#: ../WebCoreSupport/ContextMenuClientGtk.cpp:61
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:194
+msgid "Input _Methods"
+msgstr "입력기(_M)"
+
+#: ../WebCoreSupport/ContextMenuClientGtk.cpp:78
+msgid "LRM _Left-to-right mark"
+msgstr "LRM 왼쪽ě—서-ě¤ëĄ¸ěŞ˝ěśĽëˇś 표시(_L)"
+
+#: ../WebCoreSupport/ContextMenuClientGtk.cpp:79
+msgid "RLM _Right-to-left mark"
+msgstr "RLM ě¤ëĄ¸ěŞ˝ě—서-왼쪽으로 표시(_R)"
+
+#: ../WebCoreSupport/ContextMenuClientGtk.cpp:80
+msgid "LRE Left-to-right _embedding"
+msgstr "LRE 왼쪽ě—서-ě¤ëĄ¸ěŞ˝ěśĽëˇś 임베딩(_E)"
+
+#: ../WebCoreSupport/ContextMenuClientGtk.cpp:81
+msgid "RLE Right-to-left e_mbedding"
+msgstr "RLE ě¤ëĄ¸ěŞ˝ě—서-왼쪽으로 임베딩(_M)"
+
+#: ../WebCoreSupport/ContextMenuClientGtk.cpp:82
+msgid "LRO Left-to-right _override"
+msgstr "LRO 왼쪽ě—서-ě¤ëĄ¸ěŞ˝ěśĽëˇś ë˛ëłµ(_O)"
+
+#: ../WebCoreSupport/ContextMenuClientGtk.cpp:83
+msgid "RLO Right-to-left o_verride"
+msgstr "RLO ě¤ëĄ¸ěŞ˝ě—서-왼쪽으로 ë˛ëłµ(_V)"
+
+#: ../WebCoreSupport/ContextMenuClientGtk.cpp:84
+msgid "PDF _Pop directional formatting"
+msgstr "PDF ë°©í–Ą í•식 팝(pop)í•기(_P)"
+
+#: ../WebCoreSupport/ContextMenuClientGtk.cpp:85
+msgid "ZWS _Zero width space"
+msgstr "ZWS ë„ëą„ 0 공백(_Z)"
+
+#: ../WebCoreSupport/ContextMenuClientGtk.cpp:86
+msgid "ZWJ Zero width _joiner"
+msgstr "ZWJ ë„ëą„ 0 결합(_J)"
+
+#: ../WebCoreSupport/ContextMenuClientGtk.cpp:87
+msgid "ZWNJ Zero width _non-joiner"
+msgstr "ZWNJ ë„ëą„ 0 결합 ę¸ě§€(_N)"
+
+#: ../WebCoreSupport/ContextMenuClientGtk.cpp:109
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:189
+msgid "_Insert Unicode Control Character"
+msgstr "ěś ë‹ě˝”드 ě śě–´ ë¬¸ěž ë„Łę¸°(_I)"
+
+#: ../WebCoreSupport/FrameLoaderClientGtk.cpp:1140
+msgid "Load request cancelled"
+msgstr "읽어들이기 요청 취소"
+
+#: ../WebCoreSupport/FrameLoaderClientGtk.cpp:1146
+msgid "Not allowed to use restricted network port"
+msgstr "ě śí•śëś ë„¤íŠ¸ě›Śí¬ íŹ¬íŠ¸ 사용을 í—ěš©í•ě§€ 않습ë‹ë‹¤"
+
+#: ../WebCoreSupport/FrameLoaderClientGtk.cpp:1152
+msgid "URL cannot be shown"
+msgstr "URL를 표시할 ě 없습ë‹ë‹¤"
+
+#: ../WebCoreSupport/FrameLoaderClientGtk.cpp:1158
+msgid "Frame load was interrupted"
+msgstr "프ë ěž„ 읽어들이기가 중지ëě—습ë‹ë‹¤"
+
+#: ../WebCoreSupport/FrameLoaderClientGtk.cpp:1164
+msgid "Content with the specified MIME type cannot be shown"
+msgstr "지정한 MIME í•ě‹ťěť ě»¨í…트를 표시할 ě 없습ë‹ë‹¤"
+
+#: ../WebCoreSupport/FrameLoaderClientGtk.cpp:1170
+msgid "File does not exist"
+msgstr "파일이 없습ë‹ë‹¤"
+
+#: ../WebCoreSupport/FrameLoaderClientGtk.cpp:1176
+msgid "Plugin will handle load"
+msgstr "플러그인이 읽어들이기를 ě˛ë¦¬í•©ë‹ë‹¤"
+
+#: ../WebCoreSupport/FullscreenVideoController.cpp:386
+msgid "Play"
+msgstr "재ěť"
+
+#: ../WebCoreSupport/FullscreenVideoController.cpp:388
+msgid "Pause"
+msgstr "일시 중지"
+
+#: ../WebCoreSupport/FullscreenVideoController.cpp:534
+msgid "Play / Pause"
+msgstr "ěž¬ěť / 일시 중지"
+
+#: ../WebCoreSupport/FullscreenVideoController.cpp:534
+msgid "Play or pause the media"
+msgstr "미디어를 ěž¬ěť ë는 일시 중지합ë‹ë‹¤"
+
+#: ../WebCoreSupport/FullscreenVideoController.cpp:542
+msgid "Time:"
+msgstr "시간:"
+
+#: ../WebCoreSupport/FullscreenVideoController.cpp:566
+msgid "Exit Fullscreen"
+msgstr "전체 화면 ëťë‚´ę¸°"
+
+#: ../WebCoreSupport/FullscreenVideoController.cpp:566
+msgid "Exit from fullscreen mode"
+msgstr "전체 화면 모드 ëťë‚´ę¸°"
+
+#: ../webkit/webkitdownload.cpp:272
+msgid "Network Request"
+msgstr "ë„¤íŠ¸ě›Śí¬ ěš”ě˛­"
+
+#: ../webkit/webkitdownload.cpp:273
+msgid "The network request for the URI that should be downloaded"
+msgstr "다운로드할 URIěť ë„¤íŠ¸ě›Śí¬ ěš”ě˛­"
+
+#: ../webkit/webkitdownload.cpp:287
+msgid "Network Response"
+msgstr "ë„¤íŠ¸ě›Śí¬ ěť‘ë‹µ"
+
+#: ../webkit/webkitdownload.cpp:288
+msgid "The network response for the URI that should be downloaded"
+msgstr "다운로드할 URIěť ë„¤íŠ¸ě›Śí¬ ěť‘ë‹µ"
+
+#: ../webkit/webkitdownload.cpp:302
+msgid "Destination URI"
+msgstr "저장 URI"
+
+#: ../webkit/webkitdownload.cpp:303
+msgid "The destination URI where to save the file"
+msgstr "파일을 저장할 ěś„ěąěť URI"
+
+#: ../webkit/webkitdownload.cpp:317
+msgid "Suggested Filename"
+msgstr "파일 이름 ě śě•"
+
+#: ../webkit/webkitdownload.cpp:318
+msgid "The filename suggested as default when saving"
+msgstr "저장할 때 기본으로 ě śě•í•  파일 이름"
+
+#: ../webkit/webkitdownload.cpp:335
+msgid "Progress"
+msgstr "진행률"
+
+#: ../webkit/webkitdownload.cpp:336
+msgid "Determines the current progress of the download"
+msgstr "ë‹¤ěš´ëˇśë“śěť í„재 진행률"
+
+#: ../webkit/webkitdownload.cpp:349
+msgid "Status"
+msgstr "ěíś"
+
+#: ../webkit/webkitdownload.cpp:350
+msgid "Determines the current status of the download"
+msgstr "ë‹¤ěš´ëˇśë“śěť í„재 ěíś"
+
+#: ../webkit/webkitdownload.cpp:365
+msgid "Current Size"
+msgstr "í„재 í¬ę¸°"
+
+#: ../webkit/webkitdownload.cpp:366
+msgid "The length of the data already downloaded"
+msgstr "ě§€ę¸ęąŚě§€ 다운로드한 ëŤ°ěť´í„°ěť ę¸¸ěť´"
+
+#: ../webkit/webkitdownload.cpp:380
+msgid "Total Size"
+msgstr "전체 í¬ę¸°"
+
+#: ../webkit/webkitdownload.cpp:381
+msgid "The total size of the file"
+msgstr "íŚŚěťĽěť ě „ě˛´ í¬ę¸°"
+
+#: ../webkit/webkitdownload.cpp:533
+msgid "User cancelled the download"
+msgstr "사용ěžę°€ 다운로드를 취소í–습ë‹ë‹¤"
+
+#: ../webkit/webkithittestresult.cpp:148
+msgid "Context"
+msgstr "컨텍스트"
+
+#: ../webkit/webkithittestresult.cpp:149
+msgid "Flags indicating the kind of target that received the event."
+msgstr "이벤트를 받는 대ěěť ě˘…ëĄëĄĽ ë‚í€ë‚´ëŠ” 플ëžę·¸."
+
+#: ../webkit/webkithittestresult.cpp:163
+msgid "Link URI"
+msgstr "ë§í¬ URI"
+
+#: ../webkit/webkithittestresult.cpp:164
+msgid "The URI to which the target that received the event points, if any."
+msgstr "이벤트 포인트를 받는 대ěěť URI (ěžë‹¤ë©´)."
+
+#: ../webkit/webkithittestresult.cpp:177
+msgid "Image URI"
+msgstr "그림 URI"
+
+#: ../webkit/webkithittestresult.cpp:178
+msgid ""
+"The URI of the image that is part of the target that received the event, if "
+"any."
+msgstr "이벤트를 받는 대ěě— ë“¤ě–´ ěžëŠ” 그림 URI (ěžë‹¤ë©´)."
+
+#: ../webkit/webkithittestresult.cpp:191
+msgid "Media URI"
+msgstr "미디어 URI"
+
+#: ../webkit/webkithittestresult.cpp:192
+msgid ""
+"The URI of the media that is part of the target that received the event, if "
+"any."
+msgstr "이벤트를 받는 대ěě— ë“¤ě–´ ěžëŠ” 미디어 URI (ěžë‹¤ë©´)."
+
+#: ../webkit/webkithittestresult.cpp:213
+msgid "Inner node"
+msgstr "내부 노드"
+
+#: ../webkit/webkithittestresult.cpp:214
+msgid "The inner DOM node associated with the hit test result."
+msgstr "ížíЏ 테스트 결과와 ę´€ë ¨ëś ë‚´ë¶€ DOM 노드."
+
+#: ../webkit/webkitnetworkrequest.cpp:136
+#: ../webkit/webkitnetworkresponse.cpp:134 ../webkit/webkitwebframe.cpp:315
+#: ../webkit/webkitwebhistoryitem.cpp:178 ../webkit/webkitwebresource.cpp:126
+#: ../webkit/webkitwebview.cpp:2603
+msgid "URI"
+msgstr "URI"
+
+#: ../webkit/webkitnetworkrequest.cpp:137
+msgid "The URI to which the request will be made."
+msgstr "요청을 할 URI."
+
+#: ../webkit/webkitnetworkrequest.cpp:150
+#: ../webkit/webkitnetworkresponse.cpp:148
+msgid "Message"
+msgstr "메시지"
+
+#: ../webkit/webkitnetworkrequest.cpp:151
+msgid "The SoupMessage that backs the request."
+msgstr "요청이 들어 ěžëŠ” SoupMessage."
+
+#: ../webkit/webkitnetworkresponse.cpp:135
+msgid "The URI to which the response will be made."
+msgstr "응답을 할 URI."
+
+#: ../webkit/webkitnetworkresponse.cpp:149
+msgid "The SoupMessage that backs the response."
+msgstr "응답이 들어 ěžëŠ” SoupMessage."
+
+#: ../webkit/webkitsecurityorigin.cpp:151
+msgid "Protocol"
+msgstr "프로토콜"
+
+#: ../webkit/webkitsecurityorigin.cpp:152
+msgid "The protocol of the security origin"
+msgstr "ëł´ě• ě›ëł¸ěť 프로토콜"
+
+#: ../webkit/webkitsecurityorigin.cpp:165
+msgid "Host"
+msgstr "í¸ěŠ¤íŠ¸"
+
+#: ../webkit/webkitsecurityorigin.cpp:166
+msgid "The host of the security origin"
+msgstr "ëł´ě• ě›ëł¸ěť í¸ěŠ¤íŠ¸"
+
+#: ../webkit/webkitsecurityorigin.cpp:179
+msgid "Port"
+msgstr "포트"
+
+#: ../webkit/webkitsecurityorigin.cpp:180
+msgid "The port of the security origin"
+msgstr "ëł´ě• ě›ëł¸ěť 포트"
+
+#: ../webkit/webkitsecurityorigin.cpp:193
+msgid "Web Database Usage"
+msgstr "웹 데이터베이스 사용"
+
+#: ../webkit/webkitsecurityorigin.cpp:194
+msgid "The cumulative size of all web databases in the security origin"
+msgstr "ëł´ě• ě›ëł¸ěť 웹 데이터베이스 ě´ť í¬ę¸°"
+
+#: ../webkit/webkitsecurityorigin.cpp:206
+msgid "Web Database Quota"
+msgstr "웹 데이터베이스 제한 용량"
+
+#: ../webkit/webkitsecurityorigin.cpp:207
+msgid "The web database quota of the security origin in bytes"
+msgstr "ëł´ě• ě›ëł¸ěť 웹 데이터베이스 제한 용량, 바이트 단위"
+
+#: ../webkit/webkitsoupauthdialog.c:251
+#, c-format
+msgid "A username and password are being requested by the site %s"
+msgstr "ě‚¬ěš©ěž ěť´ë¦„ęłĽ ě•”í¸ëĄĽ %s 사이트ě—서 요청í–습ë‹ë‹¤"
+
+#: ../webkit/webkitsoupauthdialog.c:281
+msgid "Server message:"
+msgstr "서버 메시지:"
+
+#: ../webkit/webkitsoupauthdialog.c:294
+msgid "Username:"
+msgstr "ě‚¬ěš©ěž ěť´ë¦„:"
+
+#: ../webkit/webkitsoupauthdialog.c:296
+msgid "Password:"
+msgstr "ě•”í¸:"
+
+#: ../webkit/webkitsoupauthdialog.c:305
+msgid "_Remember password"
+msgstr "ě•”í¸ ě €ěžĄ(_R)"
+
+#: ../webkit/webkitwebdatabase.cpp:176
+msgid "Security Origin"
+msgstr "ëł´ě• ě›ëł¸"
+
+#: ../webkit/webkitwebdatabase.cpp:177
+msgid "The security origin of the database"
+msgstr "ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ěť ëł´ě• ě›ëł¸"
+
+#: ../webkit/webkitwebdatabase.cpp:190 ../webkit/webkitwebframe.cpp:301
+msgid "Name"
+msgstr "이름"
+
+#: ../webkit/webkitwebdatabase.cpp:191
+msgid "The name of the Web Database database"
+msgstr "웹 ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ěť ěť´ë¦„"
+
+#: ../webkit/webkitwebdatabase.cpp:204
+msgid "Display Name"
+msgstr "표시할 이름"
+
+#: ../webkit/webkitwebdatabase.cpp:205
+msgid "The display name of the Web Storage database"
+msgstr "웹 저장 ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ěť í‘śě‹śí•  이름"
+
+#: ../webkit/webkitwebdatabase.cpp:218
+msgid "Expected Size"
+msgstr "ěě í¬ę¸°"
+
+#: ../webkit/webkitwebdatabase.cpp:219
+msgid "The expected size of the Web Database database"
+msgstr "웹 ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ěť ěě í¬ę¸°"
+
+#: ../webkit/webkitwebdatabase.cpp:231
+msgid "Size"
+msgstr "í¬ę¸°"
+
+#: ../webkit/webkitwebdatabase.cpp:232
+msgid "The current size of the Web Database database"
+msgstr "웹 ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ěť í„재 í¬ę¸°"
+
+#: ../webkit/webkitwebdatabase.cpp:244
+msgid "Filename"
+msgstr "파일 이름"
+
+#: ../webkit/webkitwebdatabase.cpp:245
+msgid "The absolute filename of the Web Storage database"
+msgstr "웹 저장 ëŤ°ěť´í„°ë˛ ěť´ěŠ¤ěť ě ëŚ€ 경로 파일 이름"
+
+#: ../webkit/webkitwebframe.cpp:302
+msgid "The name of the frame"
+msgstr "프ë ěž„ěť ěť´ë¦„"
+
+#: ../webkit/webkitwebframe.cpp:308 ../webkit/webkitwebhistoryitem.cpp:146
+#: ../webkit/webkitwebview.cpp:2589
+msgid "Title"
+msgstr "제목"
+
+#: ../webkit/webkitwebframe.cpp:309
+msgid "The document title of the frame"
+msgstr "프ë ěž„ěť ë¬¸ě„ś 제목"
+
+#: ../webkit/webkitwebframe.cpp:316
+msgid "The current URI of the contents displayed by the frame"
+msgstr "í„재 프ë ěž„ěť´ 표시í•는 ë‚´ěš©ěť URI"
+
+#: ../webkit/webkitwebframe.cpp:347
+msgid "Horizontal Scrollbar Policy"
+msgstr "가로 스í¬ëˇ¤ 막대 ě •ě±…"
+
+#: ../webkit/webkitwebframe.cpp:348
+msgid ""
+"Determines the current policy for the horizontal scrollbar of the frame."
+msgstr "프ë ěž„ěť ę°€ëˇś 스í¬ëˇ¤ ë§‰ëŚ€ě— ëŚ€í•ś í„재 ě •ě±…."
+
+#: ../webkit/webkitwebframe.cpp:365
+msgid "Vertical Scrollbar Policy"
+msgstr "세로 스í¬ëˇ¤ 막대 ě •ě±…"
+
+#: ../webkit/webkitwebframe.cpp:366
+msgid "Determines the current policy for the vertical scrollbar of the frame."
+msgstr "프ë ěž„ěť ě„¸ëˇś 스í¬ëˇ¤ ë§‰ëŚ€ě— ëŚ€í•ś í„재 ě •ě±…."
+
+#: ../webkit/webkitwebhistoryitem.cpp:147
+msgid "The title of the history item"
+msgstr "기록 í•­ëŞ©ěť ě śëŞ©"
+
+#: ../webkit/webkitwebhistoryitem.cpp:162
+msgid "Alternate Title"
+msgstr "다른 제목"
+
+#: ../webkit/webkitwebhistoryitem.cpp:163
+msgid "The alternate title of the history item"
+msgstr "기록 í•­ëŞ©ěť ë‹¤ëĄ¸ 제목"
+
+#: ../webkit/webkitwebhistoryitem.cpp:179
+msgid "The URI of the history item"
+msgstr "기록 í•­ëŞ©ěť URI"
+
+#: ../webkit/webkitwebhistoryitem.cpp:194
+#: ../webkit/webkitwebnavigationaction.cpp:173
+msgid "Original URI"
+msgstr "ě›ëž URI"
+
+#: ../webkit/webkitwebhistoryitem.cpp:195
+msgid "The original URI of the history item"
+msgstr "기록 í•­ëŞ©ěť ě›ëž URI"
+
+#: ../webkit/webkitwebhistoryitem.cpp:210
+msgid "Last visited Time"
+msgstr "최근 방문 시ę°"
+
+#: ../webkit/webkitwebhistoryitem.cpp:211
+msgid "The time at which the history item was last visited"
+msgstr "기록 항목을 최근 방문한 시ę°"
+
+#: ../webkit/webkitwebinspector.cpp:269
+msgid "Web View"
+msgstr "웹 뷰"
+
+#: ../webkit/webkitwebinspector.cpp:270
+msgid "The Web View that renders the Web Inspector itself"
+msgstr "웹 ě ę˛€ ěžě˛´ëĄĽ 렌더ë§í•  웹 ë·°"
+
+#: ../webkit/webkitwebinspector.cpp:283
+msgid "Inspected URI"
+msgstr "ě ę˛€í•  URI"
+
+#: ../webkit/webkitwebinspector.cpp:284
+msgid "The URI that is currently being inspected"
+msgstr "í„재 ě ę˛€í•ęł  ěžëŠ” URI"
+
+#: ../webkit/webkitwebinspector.cpp:300
+msgid "Enable JavaScript profiling"
+msgstr "ěžë°”스í¬ë¦˝íЏ í”„ëˇśíŚŚěťĽë§ ě‚¬ěš©"
+
+#: ../webkit/webkitwebinspector.cpp:301
+msgid "Profile the executed JavaScript."
+msgstr "실행í•는 ěžë°”스í¬ë¦˝íŠ¸ëĄĽ 프로파일ë§í•©ë‹ë‹¤."
+
+#: ../webkit/webkitwebinspector.cpp:316
+msgid "Enable Timeline profiling"
+msgstr "시간별 í”„ëˇśíŚŚěťĽë§ ě‚¬ěš©"
+
+#: ../webkit/webkitwebinspector.cpp:317
+msgid "Profile the WebCore instrumentation."
+msgstr "WebCore 기능을 프로파일ë§í•©ë‹ë‹¤."
+
+#: ../webkit/webkitwebnavigationaction.cpp:158
+msgid "Reason"
+msgstr "ěť´ěś "
+
+#: ../webkit/webkitwebnavigationaction.cpp:159
+msgid "The reason why this navigation is occurring"
+msgstr "ěť´ 네비게이ě…ěť´ 이루어지는 ěť´ěś "
+
+#: ../webkit/webkitwebnavigationaction.cpp:174
+msgid "The URI that was requested as the target for the navigation"
+msgstr "네비게이ě…ěť ëŚ€ě으로 요청한 URI"
+
+#: ../webkit/webkitwebnavigationaction.cpp:188
+msgid "Button"
+msgstr "단추"
+
+#: ../webkit/webkitwebnavigationaction.cpp:189
+msgid "The button used to click"
+msgstr "ë§ěš°ěŠ¤ëˇś ë„를 ě ěžëŠ” 단추"
+
+#: ../webkit/webkitwebnavigationaction.cpp:204
+msgid "Modifier state"
+msgstr "조합키 ěíś"
+
+#: ../webkit/webkitwebnavigationaction.cpp:205
+msgid "A bitmask representing the state of the modifier keys"
+msgstr "조합키 ěíśëĄĽ ë‚í€ë‚´ëŠ” 비트ë§ěФí¬"
+
+#: ../webkit/webkitwebnavigationaction.cpp:220
+msgid "Target frame"
+msgstr "대ě 프ë ěž„"
+
+#: ../webkit/webkitwebnavigationaction.cpp:221
+msgid "The target frame for the navigation"
+msgstr "ë„¤ëą„ę˛Śěť´ě… ëŚ€ě 프ë ěž„"
+
+#: ../webkit/webkitwebresource.cpp:127
+msgid "The uri of the resource"
+msgstr "ěžě›ěť URI"
+
+#: ../webkit/webkitwebresource.cpp:141
+msgid "MIME Type"
+msgstr "MIME í•식"
+
+#: ../webkit/webkitwebresource.cpp:142
+msgid "The MIME type of the resource"
+msgstr "ěžě›ěť MIME í•식"
+
+#: ../webkit/webkitwebresource.cpp:156 ../webkit/webkitwebview.cpp:2724
+msgid "Encoding"
+msgstr "인코딩"
+
+#: ../webkit/webkitwebresource.cpp:157
+msgid "The text encoding name of the resource"
+msgstr "ěžě›ěť 텍스트 인코딩 이름"
+
+#: ../webkit/webkitwebresource.cpp:172
+msgid "Frame Name"
+msgstr "프ë ěž„ 이름"
+
+#: ../webkit/webkitwebresource.cpp:173
+msgid "The frame name of the resource"
+msgstr "ěžě›ěť 프ë ěž„ 이름"
+
+#: ../webkit/webkitwebsettings.cpp:247
+msgid "Default Encoding"
+msgstr "기본 인코딩"
+
+#: ../webkit/webkitwebsettings.cpp:248
+msgid "The default encoding used to display text."
+msgstr "글을 표시할 때 사용할 기본 인코딩."
+
+#: ../webkit/webkitwebsettings.cpp:256
+msgid "Cursive Font Family"
+msgstr "필기체 글꼴 계열"
+
+#: ../webkit/webkitwebsettings.cpp:257
+msgid "The default Cursive font family used to display text."
+msgstr "글을 표시할 때 사용할 기본 필기체 글꼴 계열."
+
+#: ../webkit/webkitwebsettings.cpp:265
+msgid "Default Font Family"
+msgstr "기본 글꼴 계열"
+
+#: ../webkit/webkitwebsettings.cpp:266
+msgid "The default font family used to display text."
+msgstr "글을 표시할 때 사용할 기본 글꼴 계열."
+
+#: ../webkit/webkitwebsettings.cpp:274
+msgid "Fantasy Font Family"
+msgstr "고어체 글꼴 계열"
+
+#: ../webkit/webkitwebsettings.cpp:275
+msgid "The default Fantasy font family used to display text."
+msgstr "글을 표시할 때 사용할 기본 고어체 글꼴 계열."
+
+#: ../webkit/webkitwebsettings.cpp:283
+msgid "Monospace Font Family"
+msgstr "고정폭 글꼴 계열"
+
+#: ../webkit/webkitwebsettings.cpp:284
+msgid "The default font family used to display monospace text."
+msgstr "글을 표시할 때 사용할 기본 고정폭 글꼴 계열."
+
+#: ../webkit/webkitwebsettings.cpp:292
+msgid "Sans Serif Font Family"
+msgstr "돋움체 글꼴 계열"
+
+#: ../webkit/webkitwebsettings.cpp:293
+msgid "The default Sans Serif font family used to display text."
+msgstr "글을 표시할 때 사용할 기본 돋움체 글꼴 계열."
+
+#: ../webkit/webkitwebsettings.cpp:301
+msgid "Serif Font Family"
+msgstr "ë°”í•체 글꼴 계열"
+
+#: ../webkit/webkitwebsettings.cpp:302
+msgid "The default Serif font family used to display text."
+msgstr "글을 표시할 때 사용할 기본 ë°”í•체 글꼴 계열."
+
+#: ../webkit/webkitwebsettings.cpp:310
+msgid "Default Font Size"
+msgstr "기본 글꼴 í¬ę¸°"
+
+#: ../webkit/webkitwebsettings.cpp:311
+msgid "The default font size used to display text."
+msgstr "글을 표시할 때 사용할 기본 글꼴 í¬ę¸°."
+
+#: ../webkit/webkitwebsettings.cpp:319
+msgid "Default Monospace Font Size"
+msgstr "기본 고정폭 글꼴 í¬ę¸°"
+
+#: ../webkit/webkitwebsettings.cpp:320
+msgid "The default font size used to display monospace text."
+msgstr "글을 표시할 때 사용할 기본 고정폭 글꼴 í¬ę¸°."
+
+#: ../webkit/webkitwebsettings.cpp:328
+msgid "Minimum Font Size"
+msgstr "최소 글꼴 í¬ę¸°"
+
+#: ../webkit/webkitwebsettings.cpp:329
+msgid "The minimum font size used to display text."
+msgstr "글을 표시할 때 사용할 최소 글꼴 í¬ę¸°."
+
+#: ../webkit/webkitwebsettings.cpp:337
+msgid "Minimum Logical Font Size"
+msgstr "최소 ë…Ľë¦¬ě  ę¸€ęĽ´ í¬ę¸°"
+
+#: ../webkit/webkitwebsettings.cpp:338
+msgid "The minimum logical font size used to display text."
+msgstr "글을 표시할 때 사용할 최소 ë…Ľë¦¬ě  ę¸€ęĽ´ í¬ę¸°."
+
+#: ../webkit/webkitwebsettings.cpp:357
+msgid "Enforce 96 DPI"
+msgstr "96 DPI ę°•ě ś"
+
+#: ../webkit/webkitwebsettings.cpp:358
+msgid "Enforce a resolution of 96 DPI"
+msgstr "í•´ě도를 96 DPI로 ę°•ě ś"
+
+#: ../webkit/webkitwebsettings.cpp:366
+msgid "Auto Load Images"
+msgstr "그림 읽어들이기 ěžëŹ™"
+
+#: ../webkit/webkitwebsettings.cpp:367
+msgid "Load images automatically."
+msgstr "ěžëŹ™ěśĽëˇś 그림을 읽어들입ë‹ë‹¤."
+
+#: ../webkit/webkitwebsettings.cpp:375
+msgid "Auto Shrink Images"
+msgstr "그림 축소 ěžëŹ™"
+
+#: ../webkit/webkitwebsettings.cpp:376
+msgid "Automatically shrink standalone images to fit."
+msgstr "ěžëŹ™ěśĽëˇś 그림을 축소해서 í¬ę¸°ě— ë§žě¶Ąë‹ë‹¤."
+
+#: ../webkit/webkitwebsettings.cpp:384
+msgid "Print Backgrounds"
+msgstr "배경 그림 인쇄"
+
+#: ../webkit/webkitwebsettings.cpp:385
+msgid "Whether background images should be printed."
+msgstr "배경 그림을 인쇄할지 여부."
+
+#: ../webkit/webkitwebsettings.cpp:393
+msgid "Enable Scripts"
+msgstr "스í¬ë¦˝íЏ 사용"
+
+#: ../webkit/webkitwebsettings.cpp:394
+msgid "Enable embedded scripting languages."
+msgstr "내장 스í¬ë¦˝íЏ 언어를 사용합ë‹ë‹¤."
+
+#: ../webkit/webkitwebsettings.cpp:402
+msgid "Enable Plugins"
+msgstr "플러그인 사용"
+
+#: ../webkit/webkitwebsettings.cpp:403
+msgid "Enable embedded plugin objects."
+msgstr "내장 플러그인 ě¤ë¸Śě ťíŠ¸ëĄĽ 사용합ë‹ë‹¤."
+
+#: ../webkit/webkitwebsettings.cpp:411
+msgid "Resizable Text Areas"
+msgstr "글 입력란 í¬ę¸° 조정 가능"
+
+#: ../webkit/webkitwebsettings.cpp:412
+msgid "Whether text areas are resizable."
+msgstr "글 입력란이 í¬ę¸° 조정 가능한지 여부."
+
+#: ../webkit/webkitwebsettings.cpp:419
+msgid "User Stylesheet URI"
+msgstr "ě‚¬ěš©ěž ě„¤ě • 스í€ěťĽě‹śíЏ URI"
+
+#: ../webkit/webkitwebsettings.cpp:420
+msgid "The URI of a stylesheet that is applied to every page."
+msgstr "모든 íŽěť´ě§€ě— ě ěš©í•  스í€ěťĽě‹śíŠ¸ěť URI."
+
+#: ../webkit/webkitwebsettings.cpp:435
+msgid "Zoom Stepping Value"
+msgstr "확대/축소 단계 값"
+
+#: ../webkit/webkitwebsettings.cpp:436
+msgid "The value by which the zoom level is changed when zooming in or out."
+msgstr "í™•ëŚ€ë‚ ě¶•ě†Śí•  때ë§ë‹¤ 바꿀 단계 ę°’."
+
+#: ../webkit/webkitwebsettings.cpp:454
+msgid "Enable Developer Extras"
+msgstr "ę°śë°śěž ě¶”ę°€ 기능 사용"
+
+#: ../webkit/webkitwebsettings.cpp:455
+msgid "Enables special extensions that help developers"
+msgstr "ę°śë°śěžě—게 도움이 ë는 특ě 추가 기능을 사용합ë‹ë‹¤"
+
+#: ../webkit/webkitwebsettings.cpp:475
+msgid "Enable Private Browsing"
+msgstr "사ěťí™ś ëł´í¸ ę¸°ëŠĄ 사용"
+
+#: ../webkit/webkitwebsettings.cpp:476
+msgid "Enables private browsing mode"
+msgstr "사ěťí™ś ëł´í¸ ë¸ŚëťĽěš°ě € 모드를 사용합ë‹ë‹¤"
+
+#: ../webkit/webkitwebsettings.cpp:491
+msgid "Enable Spell Checking"
+msgstr "맞춤법 검사 사용"
+
+#: ../webkit/webkitwebsettings.cpp:492
+msgid "Enables spell checking while typing"
+msgstr "ěž…ë Ąí•  때 맞춤법 검사 기능을 사용합ë‹ë‹¤"
+
+#: ../webkit/webkitwebsettings.cpp:515
+msgid "Languages to use for spell checking"
+msgstr "맞춤법 ę˛€ě‚¬ě— ě‚¬ěš©í•  언어"
+
+#: ../webkit/webkitwebsettings.cpp:516
+msgid "Comma separated list of languages to use for spell checking"
+msgstr "맞춤법 ę˛€ě‚¬ě— ě‚¬ěš©í•  ě–¸ě–´ěť ëŞ©ëˇť, 쉼표로 구분"
+
+#: ../webkit/webkitwebsettings.cpp:530
+msgid "Enable Caret Browsing"
+msgstr "ěşëźż ëŞ¨ë“ś 사용"
+
+#: ../webkit/webkitwebsettings.cpp:531
+msgid "Whether to enable accesibility enhanced keyboard navigation"
+msgstr "키보드 ë„¤ëą„ę˛Śěť´ě… ę¸°ëŠĄěť„ 사용할지 여부"
+
+#: ../webkit/webkitwebsettings.cpp:546
+msgid "Enable HTML5 Database"
+msgstr "HTML5 데이터베이스 사용"
+
+#: ../webkit/webkitwebsettings.cpp:547
+msgid "Whether to enable HTML5 database support"
+msgstr "HTML5 데이터베이스 기능을 사용할지 여부"
+
+#: ../webkit/webkitwebsettings.cpp:562
+msgid "Enable HTML5 Local Storage"
+msgstr "HTML5 로컬 저장 공간 사용"
+
+#: ../webkit/webkitwebsettings.cpp:563
+msgid "Whether to enable HTML5 Local Storage support"
+msgstr "HTML5 로컬 저장 공간 기능을 사용할지 여부"
+
+#: ../webkit/webkitwebsettings.cpp:577
+msgid "Enable XSS Auditor"
+msgstr "XSS 검사 기능 사용"
+
+#: ../webkit/webkitwebsettings.cpp:578
+msgid "Whether to enable the XSS auditor"
+msgstr "XSS 검사 기능을 사용할지 여부"
+
+#: ../webkit/webkitwebsettings.cpp:596
+msgid "Enable Spatial Navigation"
+msgstr "스íŽěť´ě…ś ë„¤ëą„ę˛Śěť´ě… ě‚¬ěš©"
+
+#: ../webkit/webkitwebsettings.cpp:597
+#, fuzzy
+msgid "Whether to enable Spatial Navigation"
+msgstr "스íŽěť´ě…ś 네비게이ě…ěť„ 사용할지 여부"
+
+#: ../webkit/webkitwebsettings.cpp:614
+msgid "User Agent"
+msgstr "User Agent"
+
+#: ../webkit/webkitwebsettings.cpp:615
+msgid "The User-Agent string used by WebKitGtk"
+msgstr "WebKitGtkě—서 사용할 User-Agent 문ěžě—´"
+
+#: ../webkit/webkitwebsettings.cpp:630
+msgid "JavaScript can open windows automatically"
+msgstr "ěžë°”스í¬ë¦˝íЏě—서 창을 ě—´ ě ěžěťŚ"
+
+#: ../webkit/webkitwebsettings.cpp:631
+msgid "Whether JavaScript can open windows automatically"
+msgstr "ěžë°”스í¬ë¦˝íЏě—서 창을 ě—´ ě ěžëŠ”ě§€ 여부"
+
+#: ../webkit/webkitwebsettings.cpp:645
+msgid "JavaScript can access Clipboard"
+msgstr "ěžë°”스í¬ë¦˝íЏě—서 í´ë¦˝ëł´ë“ś ě ‘ę·Ľ 가능"
+
+#: ../webkit/webkitwebsettings.cpp:646
+msgid "Whether JavaScript can access Clipboard"
+msgstr "ěžë°”스í¬ë¦˝íЏě—서 í´ë¦˝ëł´ë“śëĄĽ ě—´ ě ěžëŠ”ě§€ 여부"
+
+#: ../webkit/webkitwebsettings.cpp:662
+msgid "Enable offline web application cache"
+msgstr "ě¤í”„라인 웹 프로그램 ěşě‹ś 사용"
+
+#: ../webkit/webkitwebsettings.cpp:663
+msgid "Whether to enable offline web application cache"
+msgstr "ě¤í”„라인 웹 프로그램 ěşě‹śëĄĽ 사용할지 여부"
+
+#: ../webkit/webkitwebsettings.cpp:690
+msgid "Editing behavior"
+msgstr "편집 방식"
+
+#: ../webkit/webkitwebsettings.cpp:691
+msgid "The behavior mode to use in editing mode"
+msgstr "편집 모드ě—서 사용할 방식"
+
+#: ../webkit/webkitwebsettings.cpp:707
+msgid "Enable universal access from file URIs"
+msgstr "file URIě—서 ěťĽë° ě ‘ę·Ľ 사용"
+
+#: ../webkit/webkitwebsettings.cpp:708
+msgid "Whether to allow universal access from file URIs"
+msgstr "file URIě—서 ěťĽë° ě ‘ę·Ľěť„ í—용할지 여부"
+
+#: ../webkit/webkitwebsettings.cpp:723
+msgid "Enable DOM paste"
+msgstr "DOM 붙여넣기 사용"
+
+#: ../webkit/webkitwebsettings.cpp:724
+msgid "Whether to enable DOM paste"
+msgstr "DOM 붙여넣기를 사용할지 여부"
+
+#: ../webkit/webkitwebsettings.cpp:742
+msgid "Tab key cycles through elements"
+msgstr "Tab 키로 ě—리먼트 돌아보기"
+
+#: ../webkit/webkitwebsettings.cpp:743
+msgid "Whether the tab key cycles through elements on the page."
+msgstr "Tab 키로 íŽěť´ě§€ěť ě—리먼트 돌아보는지 여부."
+
+#: ../webkit/webkitwebsettings.cpp:763
+msgid "Enable Default Context Menu"
+msgstr "기본 팝업 메뉴 사용"
+
+#: ../webkit/webkitwebsettings.cpp:764
+msgid ""
+"Enables the handling of right-clicks for the creation of the default context "
+"menu"
+msgstr "ě¤ëĄ¸ěŞ˝ ë§ěš°ěФ 단추를 ë„를 때 기본 팝업 메뉴를 사용합ë‹ë‹¤"
+
+#: ../webkit/webkitwebsettings.cpp:784
+msgid "Enable Site Specific Quirks"
+msgstr "사이트별 특ě ě˛ë¦¬ 사용"
+
+#: ../webkit/webkitwebsettings.cpp:785
+msgid "Enables the site-specific compatibility workarounds"
+msgstr "사이트별 í¸í™ě„± 회피 기능 사용"
+
+#: ../webkit/webkitwebsettings.cpp:807
+msgid "Enable page cache"
+msgstr "íŽěť´ě§€ ěşě‹ś 사용"
+
+#: ../webkit/webkitwebsettings.cpp:808
+msgid "Whether the page cache should be used"
+msgstr "íŽěť´ě§€ ěşě‹śëĄĽ 사용할지 여부"
+
+#: ../webkit/webkitwebsettings.cpp:828
+msgid "Auto Resize Window"
+msgstr "ěžëŹ™ ě°˝ í¬ę¸° 조ě "
+
+#: ../webkit/webkitwebsettings.cpp:829
+msgid "Automatically resize the toplevel window when a page requests it"
+msgstr "íŽěť´ě§€ę°€ 요청í•ë©´ ěžëŹ™ěśĽëˇś 최ěěś„ěť ě°˝ í¬ę¸°ëĄĽ 조정합ë‹ë‹¤."
+
+#: ../webkit/webkitwebsettings.cpp:861
+msgid "Enable Java Applet"
+msgstr "ěžë°” 애플릿 사용"
+
+#: ../webkit/webkitwebsettings.cpp:862
+msgid "Whether Java Applet support through <applet> should be enabled"
+msgstr "<applet>ěť„ 통한 ěžë°” 애플릿 기능을 사용할지 여부"
+
+#: ../webkit/webkitwebview.cpp:2590
+msgid "Returns the @web_view's document title"
+msgstr "@web_viewěť ë¬¸ě„ś 제목을 리턴합ë‹ë‹¤"
+
+#: ../webkit/webkitwebview.cpp:2604
+msgid "Returns the current URI of the contents displayed by the @web_view"
+msgstr "web_viewě—서 표시í•는 ë‚´ěš©ěť í„재 URI를 리턴합ë‹ë‹¤"
+
+#: ../webkit/webkitwebview.cpp:2617
+msgid "Copy target list"
+msgstr "복사 대ě 목록"
+
+#: ../webkit/webkitwebview.cpp:2618
+msgid "The list of targets this web view supports for clipboard copying"
+msgstr "ěť´ 웹 ë·°ę°€ í´ë¦˝ëł´ë“ś ëłµě‚¬ě— ě§€ě›í•는 대ě 목록"
+
+#: ../webkit/webkitwebview.cpp:2631
+msgid "Paste target list"
+msgstr "붙여넣기 대ě 목록"
+
+#: ../webkit/webkitwebview.cpp:2632
+msgid "The list of targets this web view supports for clipboard pasting"
+msgstr "ěť´ 웹 ë·°ę°€ í´ë¦˝ëł´ë“ś ë¶™ě—¬ë„Łę¸°ě— ě§€ě›í•는 대ě 목록"
+
+#: ../webkit/webkitwebview.cpp:2638
+msgid "Settings"
+msgstr "설정"
+
+#: ../webkit/webkitwebview.cpp:2639
+msgid "An associated WebKitWebSettings instance"
+msgstr "관련 WebKitWebSettings 인스턴스"
+
+#: ../webkit/webkitwebview.cpp:2652
+msgid "Web Inspector"
+msgstr "웹 ě ę˛€"
+
+#: ../webkit/webkitwebview.cpp:2653
+msgid "The associated WebKitWebInspector instance"
+msgstr "관련 WebKitWebInspector 인스턴스"
+
+#: ../webkit/webkitwebview.cpp:2673
+msgid "Editable"
+msgstr "편집 가능"
+
+#: ../webkit/webkitwebview.cpp:2674
+msgid "Whether content can be modified by the user"
+msgstr "사용ěžę°€ íŽěť´ě§€ 내용을 바꿀 ě ěžëŠ”ě§€ 여부"
+
+#: ../webkit/webkitwebview.cpp:2680
+msgid "Transparent"
+msgstr "í¬ëŞ…"
+
+#: ../webkit/webkitwebview.cpp:2681
+msgid "Whether content has a transparent background"
+msgstr "íŽěť´ě§€ ë‚´ěš©ě— í¬ëŞ… 배경이 ěžëŠ”ě§€ 여부"
+
+#: ../webkit/webkitwebview.cpp:2694
+msgid "Zoom level"
+msgstr "확대/축소 단계"
+
+#: ../webkit/webkitwebview.cpp:2695
+msgid "The level of zoom of the content"
+msgstr "íŽěť´ě§€ ë‚´ěš©ěť í™•ëŚ€/축소 단계"
+
+#: ../webkit/webkitwebview.cpp:2710
+msgid "Full content zoom"
+msgstr "전체 내용 확대/축소"
+
+#: ../webkit/webkitwebview.cpp:2711
+msgid "Whether the full content is scaled when zooming"
+msgstr "확대/축소할 때 전체 ë‚´ěš©ěť í¬ę¸°ëĄĽ 조ě í• ě§€ 여부"
+
+#: ../webkit/webkitwebview.cpp:2725
+msgid "The default encoding of the web view"
+msgstr "웹 ë·°ěť ę¸°ëł¸ 인코딩"
+
+#: ../webkit/webkitwebview.cpp:2738
+msgid "Custom Encoding"
+msgstr "ě‚¬ěš©ěž ě„¤ě • 인코딩"
+
+#: ../webkit/webkitwebview.cpp:2739
+msgid "The custom encoding of the web view"
+msgstr "웹 ë·°ěť ě‚¬ěš©ěž ě„¤ě • 인코딩"
+
+#: ../webkit/webkitwebview.cpp:2791
+msgid "Icon URI"
+msgstr "ě•„ěť´ě˝ URI"
+
+#: ../webkit/webkitwebview.cpp:2792
+msgid "The URI for the favicon for the #WebKitWebView."
+msgstr "#WebKitWebView 사용할 íŚŚëą„ě˝ URI."
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:56
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:61
+msgid "Submit"
+msgstr "ě śě¶ś"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:66
+msgid "Reset"
+msgstr "ě´ę¸°í™”"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:71
+msgid "This is a searchable index. Enter search keywords: "
+msgstr "검ě‰ěť´ 가능한 인덱스입ë‹ë‹¤. 검ě‰ě–´ëĄĽ ěž…ë Ąí•십시ě¤: "
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:76
+msgid "Choose File"
+msgstr "파일 ě„ íť"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:81
+msgid "(None)"
+msgstr "(없음)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:86
+msgid "Open Link in New _Window"
+msgstr "ě ě°˝ě—서 ë§í¬ 열기(_W)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:91
+msgid "_Download Linked File"
+msgstr "ë§í¬í•ś 파일 다운로드(_D)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:96
+msgid "Copy Link Loc_ation"
+msgstr "ë§í¬ ěś„ěą ëłµě‚¬(_A)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:101
+msgid "Open _Image in New Window"
+msgstr "ě ě°˝ě—서 그림 열기(_I)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:106
+msgid "Sa_ve Image As"
+msgstr "그림을 다른 이름으로 저장(_V)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:111
+msgid "Cop_y Image"
+msgstr "그림 복사(_Y)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:116
+msgid "Open _Video in New Window"
+msgstr "ě ě°˝ě—서 ěě 열기(_V)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:121
+msgid "Open _Audio in New Window"
+msgstr "ě ě°˝ě—서 ě¤ë””ě¤ ě—´ę¸°(_A)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:126
+msgid "Cop_y Video Link Location"
+msgstr "ěě ë§í¬ ěś„ěą ëłµě‚¬(_Y)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:131
+msgid "Cop_y Audio Link Location"
+msgstr "ě¤ë””ě¤ ë§í¬ ěś„ěą ëłµě‚¬(_Y)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:136
+msgid "_Toggle Media Controls"
+msgstr "미디어 ěˇ°ě •íŚ í† ę¸€(_T)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:141
+msgid "Toggle Media _Loop Playback"
+msgstr "미디어 ë°ëłµ ěž¬ěť í† ę¸€(_L)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:146
+msgid "Switch Video to _Fullscreen"
+msgstr "ěěěť„ 전체 화면으로 ě „í™(_F)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:151
+msgid "_Play"
+msgstr "재ěť(_P)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:156
+msgid "_Pause"
+msgstr "일시 중지(_P)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:161
+msgid "_Mute"
+msgstr "묵음(_M)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:166
+msgid "Open _Frame in New Window"
+msgstr "프ë ěž„ěť„ ě ě°˝ě—서 열기(_F)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:217
+msgid "_Reload"
+msgstr "다시 읽기(_R)"
+
+# 맞춤법
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:234
+msgid "No Guesses Found"
+msgstr "ěě 단어 없음"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:239
+msgid "_Ignore Spelling"
+msgstr "맞춤법 무시(_I)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:244
+msgid "_Learn Spelling"
+msgstr "맞춤법 추가(_L)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:249
+msgid "_Search the Web"
+msgstr "웹 검ě‰(_S)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:254
+msgid "_Look Up in Dictionary"
+msgstr "사전ě—서 찾아보기(_L)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:259
+msgid "_Open Link"
+msgstr "ë§í¬ 열기(_O)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:264
+msgid "Ignore _Grammar"
+msgstr "문법 무시(_G)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:269
+msgid "Spelling and _Grammar"
+msgstr "맞춤법/문법(_G)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:274
+msgid "_Show Spelling and Grammar"
+msgstr "맞춤법/문법 보이기(_S)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:274
+msgid "_Hide Spelling and Grammar"
+msgstr "맞춤법/문법 ě¨ę¸°ę¸°(_H)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:279
+msgid "_Check Document Now"
+msgstr "ě§€ę¸ ë¬¸ě„ś 검사(_C)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:284
+msgid "Check Spelling While _Typing"
+msgstr "입력할 때 맞춤법 검사(_T)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:289
+msgid "Check _Grammar With Spelling"
+msgstr "맞춤법과 같이 문법 검사(_G)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:294
+msgid "_Font"
+msgstr "글꼴(_F)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:317
+msgid "_Outline"
+msgstr "외곽선(_O)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:322
+msgid "Inspect _Element"
+msgstr "ě—리먼트 검사(_E)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:327
+msgid "No recent searches"
+msgstr "최근 ę˛€ě‰ ě—†ěťŚ"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:332
+msgid "Recent searches"
+msgstr "최근 검ě‰"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:337
+msgid "_Clear recent searches"
+msgstr "최근 ę˛€ě‰ ě§€ěš°ę¸°(_C)"
+
+# 사전
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:342
+msgid "term"
+msgstr "용어"
+
+# 사전
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:347
+msgid "definition"
+msgstr "설명"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:352
+msgid "press"
+msgstr "ë„르기"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:357
+msgid "select"
+msgstr "ě„ íť"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:362
+msgid "activate"
+msgstr "활성화"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:367
+msgid "uncheck"
+msgstr "표시 해제"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:372
+msgid "check"
+msgstr "표시"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:377
+msgid "jump"
+msgstr "이동"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:392
+msgid "Missing Plug-in"
+msgstr "플러그인 없음"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:398
+msgid "Plug-in Failure"
+msgstr "플러그인 실패"
+
+#. FIXME: If this file gets localized, this should really be localized as one string with a wildcard for the number.
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:404
+msgid " files"
+msgstr " 파일"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:409
+msgid "Unknown"
+msgstr "알 ě 없음"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:414
+#, c-format
+msgctxt "Title string for images"
+msgid "%s (%dx%d pixels)"
+msgstr "%s (%dx%d 픽셀)"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:426
+msgid "Loading..."
+msgstr "읽어들이는 중..."
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:431
+msgid "Live Broadcast"
+msgstr "ěťë°©ě†ˇ"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:437
+msgid "audio element controller"
+msgstr "ě¤ë””ě¤ ě—리먼트 조정"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:439
+msgid "video element controller"
+msgstr "ëą„ë””ě¤ ě—리먼트 조정"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:441
+msgid "mute"
+msgstr "묵음"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:443
+msgid "unmute"
+msgstr "묵음 해제"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:445
+msgid "play"
+msgstr "재ěť"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:447
+msgid "pause"
+msgstr "일시 중지"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:449
+msgid "movie time"
+msgstr "동ěě 시간"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:451
+msgid "timeline slider thumb"
+msgstr "시간별 슬라이드 표시"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:453
+msgid "back 30 seconds"
+msgstr "뒤로 30ě´"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:455
+msgid "return to realtime"
+msgstr "실제 시간으로 돌아가기"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:457
+msgid "elapsed time"
+msgstr "지난 시간"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:459
+msgid "remaining time"
+msgstr "남은 시간"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:461
+msgid "status"
+msgstr "ěíś"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:463
+msgid "fullscreen"
+msgstr "전체 화면"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:465
+msgid "fast forward"
+msgstr "빨리 앞으로"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:467
+msgid "fast reverse"
+msgstr "빨리 뒤로"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:469
+msgid "show closed captions"
+msgstr "ěžë§‰ 보이기"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:471
+msgid "hide closed captions"
+msgstr "ěžë§‰ ę°ě¶”기"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:480
+msgid "audio element playback controls and status display"
+msgstr "ě¤ë””ě¤ ě—리먼트 ěž¬ěť ěˇ°ě • ë°Ź ěíś í‘śě‹ś"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:482
+msgid "video element playback controls and status display"
+msgstr "ëą„ë””ě¤ ě—리먼트 ěž¬ěť ěˇ°ě • ë°Ź ěíś í‘śě‹ś"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:484
+msgid "mute audio tracks"
+msgstr "ě¤ë””ě¤ íŠ¸ëž™ 묵음"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:486
+msgid "unmute audio tracks"
+msgstr "ě¤ë””ě¤ íŠ¸ëž™ 묵음 í•´ě ś"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:488
+msgid "begin playback"
+msgstr "ěž¬ěť ě‹śěž‘"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:490
+msgid "pause playback"
+msgstr "ěž¬ěť ěťĽě‹ś 중지"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:492
+msgid "movie time scrubber"
+msgstr "동ěě 시간 표시"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:494
+msgid "movie time scrubber thumb"
+msgstr "동ěě 시간 표시 ěž"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:496
+msgid "seek movie back 30 seconds"
+msgstr "동ěěěť„ 뒤로 30ě´ ěť´ëŹ™"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:498
+msgid "return streaming movie to real time"
+msgstr "스트리밍 동ěěěť„ 실제 시간으로 돌아가기"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:500
+msgid "current movie time in seconds"
+msgstr "í„재 동ěě 시간, ě´ ë‹¨ěś„"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:502
+msgid "number of seconds of movie remaining"
+msgstr "남은 동ěě 시간, ě´ ë‹¨ěś„"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:504
+msgid "current movie status"
+msgstr "í„재 동ěě ěíś"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:506
+msgid "seek quickly back"
+msgstr "빠르게 ë’¤ ěś„ěąëˇś 이동"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:508
+msgid "seek quickly forward"
+msgstr "빠르게 앞 ěś„ěąëˇś 이동"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:510
+msgid "Play movie in fullscreen mode"
+msgstr "전체 화면 모드ě—서 동ěě 재ěť"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:512
+msgid "start displaying closed captions"
+msgstr "ěžë§‰ 표시 시작"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:514
+msgid "stop displaying closed captions"
+msgstr "ěžë§‰ 표시 중지"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:523
+msgid "indefinite time"
+msgstr "시간 미지정"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:553
+msgid "value missing"
+msgstr "값 없음"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:559
+msgid "type mismatch"
+msgstr "í€ěž… ë¶ěťĽěą"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:564
+msgid "pattern mismatch"
+msgstr "패턴 ë¶ěťĽěą"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:569
+msgid "too long"
+msgstr "ë„무 ęąë‹ë‹¤"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:574
+msgid "range underflow"
+msgstr "범위 언더플로우"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:579
+msgid "range overflow"
+msgstr "범위 ě¤ë˛„플로우"
+
+#: ../../../WebCore/platform/gtk/LocalizedStringsGtk.cpp:584
+msgid "step mismatch"
+msgstr "단계 ë¶ěťĽěą"
diff --git a/WebKit/gtk/tests/testatk.c b/WebKit/gtk/tests/testatk.c
index 94f4a96..1ee6c55 100644
--- a/WebKit/gtk/tests/testatk.c
+++ b/WebKit/gtk/tests/testatk.c
@@ -21,11 +21,10 @@
#include <glib.h>
#include <glib/gstdio.h>
#include <gtk/gtk.h>
-#include <stdlib.h>
#include <unistd.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
static const char* centeredContents = "<html><body><p style='text-align: center;'>Short line</p><p style='text-align: center;'>Long-size line with some foo bar baz content</p><p style='text-align: center;'>Short line</p><p style='text-align: center;'>This is a multi-line paragraph<br />where the first line<br />is the biggest one</p></body></html>";
@@ -45,6 +44,8 @@ static const char* contentsInTable = "<html><body><table><tr><td>foo</td><td>bar
static const char* contentsInTableWithHeaders = "<html><body><table><tr><th>foo</th><th>bar</th><th colspan='2'>baz</th></tr><tr><th>qux</th><td>1</td><td>2</td><td>3</td></tr><tr><th rowspan='2'>quux</th><td>4</td><td>5</td><td>6</td></tr><tr><td>6</td><td>7</td><td>8</td></tr><tr><th>corge</th><td>9</td><td>10</td><td>11</td></tr></table><table><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table></body></html>";
+static const char* comboBoxSelector = "<html><body><select><option selected value='foo'>foo</option><option value='bar'>bar</option></select></body></html>";
+
static const char* formWithTextInputs = "<html><body><form><input type='text' name='entry' /></form></body></html>";
static const char* hypertextAndHyperlinks = "<html><body><p>A paragraph with no links at all</p><p><a href='http://foo.bar.baz/'>A line</a> with <a href='http://bar.baz.foo/'>a link in the middle</a> as well as at the beginning and <a href='http://baz.foo.bar/'>at the end</a></p></body></html>";
@@ -222,78 +223,107 @@ static void runGetTextTests(AtkText* textObject)
0, "This is a test. This is the second sentence. And this the third.", 0, 64);
}
-static void stateChangedCb(AtkObject* object, gchar* stateName, gboolean stateSet, gpointer unused)
-{
- /* Only 'defunct' and 'busy' state changes are considered. */
- if (!g_strcmp0(stateName, "defunct")) {
- g_print("[defunct]");
- return;
- }
-
- if (!g_strcmp0(stateName, "busy")) {
- g_print("[busy:%d]", stateSet);
- /* If 'busy' state is unset, it means we're done. */
- if (!stateSet)
- exit(0);
- }
-}
-
-static void documentReloadCb(AtkDocument* document, gpointer unused)
-{
- g_print("[reloaded]");
-}
-
-static void documentLoadCompleteCb(AtkDocument* document, gpointer unused)
-{
- g_print("[load completed]");
-}
-
-static void webviewLoadStatusChangedCb(WebKitWebView* webView, GParamSpec* pspec, gpointer unused)
-{
- /* We need to explicitly connect here to the signals emitted by
- * the AtkObject associated to the webView because the AtkObject
- * iniatially associated at the beginning of the process (when in
- * the LOAD_PROVISIONAL state) will get destroyed and replaced by
- * a new one later on, when the LOAD_COMMITED state is reached. */
- WebKitLoadStatus loadStatus = webkit_web_view_get_load_status(webView);
- if (loadStatus == WEBKIT_LOAD_PROVISIONAL || loadStatus == WEBKIT_LOAD_COMMITTED) {
- AtkObject* axWebView = gtk_widget_get_accessible(GTK_WIDGET(webView));
- g_assert(ATK_IS_DOCUMENT(axWebView));
-
- g_signal_connect(axWebView, "state-change", G_CALLBACK(stateChangedCb), 0);
- g_signal_connect(axWebView, "reload", G_CALLBACK(documentReloadCb), 0);
- g_signal_connect(axWebView, "load-complete", G_CALLBACK(documentLoadCompleteCb), 0);
- }
-}
-
-static void testWebkitAtkDocumentReloadEvents()
+static void testWebkitAtkComboBox()
{
WebKitWebView* webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
g_object_ref_sink(webView);
GtkAllocation allocation = { 0, 0, 800, 600 };
gtk_widget_size_allocate(GTK_WIDGET(webView), &allocation);
-
- webkit_web_view_load_string(webView, contents, 0, 0, 0);
+ webkit_web_view_load_string(webView, comboBoxSelector, 0, 0, 0);
/* Wait for the accessible objects to be created. */
waitForAccessibleObjects();
- AtkObject* axWebView = gtk_widget_get_accessible(GTK_WIDGET(webView));
- g_assert(ATK_IS_DOCUMENT(axWebView));
+ AtkObject* object = gtk_widget_get_accessible(GTK_WIDGET(webView));
+ g_assert(object);
- if (g_test_trap_fork (2000000, G_TEST_TRAP_SILENCE_STDOUT)) {
- g_signal_connect(webView, "notify::load-status", G_CALLBACK(webviewLoadStatusChangedCb), 0);
- webkit_web_view_reload(webView);
- }
+ AtkObject* formObject = atk_object_ref_accessible_child(object, 0);
+ g_assert(formObject);
+
+ AtkObject* comboBox = atk_object_ref_accessible_child(formObject, 0);
+ g_assert(ATK_IS_OBJECT(comboBox));
+
+ AtkObject* menuPopup = atk_object_ref_accessible_child(comboBox, 0);
+ g_assert(ATK_IS_OBJECT(menuPopup));
+
+ AtkObject* item1 = atk_object_ref_accessible_child(menuPopup, 0);
+ g_assert(ATK_IS_OBJECT(item1));
+
+ AtkObject* item2 = atk_object_ref_accessible_child(menuPopup, 1);
+ g_assert(ATK_IS_OBJECT(item2));
+
+ /* Check roles. */
+ g_assert(atk_object_get_role(comboBox) == ATK_ROLE_COMBO_BOX);
+ g_assert(atk_object_get_role(menuPopup) == ATK_ROLE_MENU);
+ g_assert(atk_object_get_role(item1) == ATK_ROLE_MENU_ITEM);
+ g_assert(atk_object_get_role(item2) == ATK_ROLE_MENU_ITEM);
+
+ /* Check the implementation of the AtkSelection interface. */
+ g_assert(ATK_IS_SELECTION(comboBox));
+ AtkSelection* atkSelection = ATK_SELECTION(comboBox);
+ g_assert_cmpint(atk_selection_get_selection_count(atkSelection), ==, 1);
+ g_assert(atk_selection_is_child_selected(atkSelection, 0));
+ g_assert(!atk_selection_is_child_selected(atkSelection, 1));
+ AtkObject* selectedItem = atk_selection_ref_selection(atkSelection, 0);
+ g_assert(selectedItem == item1);
+ g_object_unref(selectedItem);
+
+ /* Check the implementations of the AtkAction interface. */
+ g_assert(ATK_IS_ACTION(comboBox));
+ AtkAction* atkAction = ATK_ACTION(comboBox);
+ g_assert_cmpint(atk_action_get_n_actions(atkAction), ==, 1);
+ g_assert(atk_action_do_action(atkAction, 0));
+
+ g_assert(ATK_IS_ACTION(menuPopup));
+ atkAction = ATK_ACTION(menuPopup);
+ g_assert_cmpint(atk_action_get_n_actions(atkAction), ==, 1);
+ g_assert(atk_action_do_action(atkAction, 0));
+
+ g_assert(ATK_IS_ACTION(item1));
+ atkAction = ATK_ACTION(item1);
+ g_assert_cmpint(atk_action_get_n_actions(atkAction), ==, 1);
+ g_assert(atk_action_do_action(atkAction, 0));
+
+ g_assert(ATK_IS_ACTION(item2));
+ atkAction = ATK_ACTION(item2);
+ g_assert_cmpint(atk_action_get_n_actions(atkAction), ==, 1);
+ g_assert(atk_action_do_action(atkAction, 0));
+
+ /* After selecting the second item, selection should have changed. */
+ g_assert_cmpint(atk_selection_get_selection_count(atkSelection), ==, 1);
+ g_assert(!atk_selection_is_child_selected(atkSelection, 0));
+ g_assert(atk_selection_is_child_selected(atkSelection, 1));
+ selectedItem = atk_selection_ref_selection(atkSelection, 0);
+ g_assert(selectedItem == item2);
+ g_object_unref(selectedItem);
+
+ /* Check the implementation of the AtkText interface. */
+ g_assert(ATK_IS_TEXT(item1));
+ AtkText* atkText = ATK_TEXT(item1);
+ char *text = atk_text_get_text(atkText, 0, -1);
+ g_assert_cmpstr(text, ==, "foo");
+ g_free(text);
+ text = atk_text_get_text(atkText, 0, 2);
+ g_assert_cmpstr(text, ==, "fo");
+ g_free(text);
- /* Check results. */
- g_test_trap_assert_passed();
- g_test_trap_assert_stdout("[busy:1][reloaded][defunct][load completed][busy:0]");
+ g_assert(ATK_IS_TEXT(item2));
+ atkText = ATK_TEXT(item2);
+ text = atk_text_get_text(atkText, 0, -1);
+ g_assert_cmpstr(text, ==, "bar");
+ g_free(text);
+ text = atk_text_get_text(atkText, 1, 3);
+ g_assert_cmpstr(text, ==, "ar");
+ g_free(text);
+ g_object_unref(formObject);
+ g_object_unref(comboBox);
+ g_object_unref(menuPopup);
+ g_object_unref(item1);
+ g_object_unref(item2);
g_object_unref(webView);
}
-
static void testWebkitAtkGetTextAtOffsetForms()
{
WebKitWebView* webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
@@ -1284,7 +1314,7 @@ int main(int argc, char** argv)
gtk_test_init(&argc, &argv, 0);
g_test_bug_base("https://bugs.webkit.org/");
- g_test_add_func("/webkit/atk/documentReloadEvents", testWebkitAtkDocumentReloadEvents);
+ g_test_add_func("/webkit/atk/comboBox", testWebkitAtkComboBox);
g_test_add_func("/webkit/atk/getTextAtOffset", testWebkitAtkGetTextAtOffset);
g_test_add_func("/webkit/atk/getTextAtOffsetForms", testWebkitAtkGetTextAtOffsetForms);
g_test_add_func("/webkit/atk/getTextAtOffsetNewlines", testWebkitAtkGetTextAtOffsetNewlines);
@@ -1308,7 +1338,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testatkroles.c b/WebKit/gtk/tests/testatkroles.c
index 5fd08b0..5ad6b5f 100644
--- a/WebKit/gtk/tests/testatkroles.c
+++ b/WebKit/gtk/tests/testatkroles.c
@@ -23,7 +23,7 @@
#include <gtk/gtk.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
/* Non form roles */
#define HTML_DOCUMENT_FRAME "<html><body>This is a test.</body></html>"
@@ -421,7 +421,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testdomdocument.c b/WebKit/gtk/tests/testdomdocument.c
index 56e233f..aa6cbb3 100644
--- a/WebKit/gtk/tests/testdomdocument.c
+++ b/WebKit/gtk/tests/testdomdocument.c
@@ -24,7 +24,7 @@
#include <gtk/gtk.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
#define HTML_DOCUMENT_TITLE "<html><head><title>This is the title</title></head><body></body></html>"
#define HTML_DOCUMENT_ELEMENTS "<html><body><ul><li>1</li><li>2</li><li>3</li></ul></body></html>"
@@ -368,7 +368,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testdomdomwindow.c b/WebKit/gtk/tests/testdomdomwindow.c
index a52bca5..b15558e 100644
--- a/WebKit/gtk/tests/testdomdomwindow.c
+++ b/WebKit/gtk/tests/testdomdomwindow.c
@@ -24,7 +24,7 @@
#include <gtk/gtk.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
#define HTML_DOCUMENT "<html><head><title>This is the title</title></head><body><p id='test'>test</p></body></html>"
@@ -222,7 +222,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testdomnode.c b/WebKit/gtk/tests/testdomnode.c
index 7d62720..893b7cc 100644
--- a/WebKit/gtk/tests/testdomnode.c
+++ b/WebKit/gtk/tests/testdomnode.c
@@ -24,7 +24,7 @@
#include <gtk/gtk.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
#define HTML_DOCUMENT_HIERARCHY_NAVIGATION "<html><head><title>This is the title</title></head><body><p>1</p><p>2</p><p>3</p></body></html>"
#define HTML_DOCUMENT_NODE_INSERTION "<html><body></body></html>"
@@ -199,7 +199,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testglobals.c b/WebKit/gtk/tests/testglobals.c
index e53edf4..da0ffa3 100644
--- a/WebKit/gtk/tests/testglobals.c
+++ b/WebKit/gtk/tests/testglobals.c
@@ -21,7 +21,7 @@
#include <libsoup/soup.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
// Make sure the session is initialized properly when webkit_get_default_session() is called.
static void test_globals_default_session()
@@ -59,7 +59,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testhttpbackend.c b/WebKit/gtk/tests/testhttpbackend.c
index c061374..f0fac16 100644
--- a/WebKit/gtk/tests/testhttpbackend.c
+++ b/WebKit/gtk/tests/testhttpbackend.c
@@ -24,7 +24,7 @@
#include <gtk/gtk.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
// Not yet public API
SoupMessage* webkit_network_request_get_message(WebKitNetworkRequest* request);
@@ -79,7 +79,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testloading.c b/WebKit/gtk/tests/testloading.c
index fd9a05c..a0ec8c9 100644
--- a/WebKit/gtk/tests/testloading.c
+++ b/WebKit/gtk/tests/testloading.c
@@ -23,7 +23,7 @@
#include <string.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
/* This string has to be rather big because of the cancelled test - it
* looks like soup refuses to send or receive a too small chunk */
@@ -438,7 +438,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testmimehandling.c b/WebKit/gtk/tests/testmimehandling.c
index 2d6c623..dcfc3a3 100644
--- a/WebKit/gtk/tests/testmimehandling.c
+++ b/WebKit/gtk/tests/testmimehandling.c
@@ -27,7 +27,7 @@
#include <webkit/webkit.h>
#include <unistd.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
GMainLoop* loop;
SoupSession *session;
@@ -221,7 +221,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testnetworkrequest.c b/WebKit/gtk/tests/testnetworkrequest.c
index 40f8e7f..fb6ec41 100644
--- a/WebKit/gtk/tests/testnetworkrequest.c
+++ b/WebKit/gtk/tests/testnetworkrequest.c
@@ -25,7 +25,7 @@
#include <stdlib.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
static void test_network_request_create_destroy()
{
@@ -100,7 +100,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testnetworkresponse.c b/WebKit/gtk/tests/testnetworkresponse.c
index 9050c04..90062c6 100644
--- a/WebKit/gtk/tests/testnetworkresponse.c
+++ b/WebKit/gtk/tests/testnetworkresponse.c
@@ -26,7 +26,7 @@
#include <stdlib.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
static void test_network_response_create_destroy()
{
@@ -101,7 +101,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testwebbackforwardlist.c b/WebKit/gtk/tests/testwebbackforwardlist.c
index 2109840..b9e395e 100644
--- a/WebKit/gtk/tests/testwebbackforwardlist.c
+++ b/WebKit/gtk/tests/testwebbackforwardlist.c
@@ -21,7 +21,7 @@
#include <gtk/gtk.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
static void test_webkit_web_history_item_lifetime(void)
{
@@ -330,7 +330,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testwebdatasource.c b/WebKit/gtk/tests/testwebdatasource.c
index 5c0568e..96d95e4 100644
--- a/WebKit/gtk/tests/testwebdatasource.c
+++ b/WebKit/gtk/tests/testwebdatasource.c
@@ -21,7 +21,7 @@
#include <gtk/gtk.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
static const gshort defaultTimeout = 10;
guint waitTimer;
@@ -60,13 +60,10 @@ static void notify_load_status_unreachable_cb(WebKitWebView* view, GParamSpec* p
WebKitLoadStatus status = webkit_web_view_get_load_status (view);
WebKitWebFrame* frame = webkit_web_view_get_main_frame(view);
- if (status != WEBKIT_LOAD_FINISHED)
- return;
+ g_assert(status != WEBKIT_LOAD_FINISHED);
- if (waitTimer) {
- g_source_remove(waitTimer);
- waitTimer = 0;
- }
+ if (status != WEBKIT_LOAD_FAILED)
+ return;
WebKitWebDataSource* datasource = webkit_web_frame_get_data_source(frame);
@@ -89,11 +86,6 @@ static void notify_load_status_cb(WebKitWebView* view, GParamSpec* pspec, GMainL
else if (status != WEBKIT_LOAD_FINISHED)
return;
- if (waitTimer) {
- g_source_remove(waitTimer);
- waitTimer = 0;
- }
-
/* Test get_request */
g_test_message("Testing webkit_web_data_source_get_request");
WebKitNetworkRequest* request = webkit_web_data_source_get_request(dataSource);
@@ -134,15 +126,82 @@ static void test_webkit_web_data_source()
g_signal_connect(view, "notify::load-status", G_CALLBACK(notify_load_status_cb), loop);
webkit_web_view_load_uri(view, "http://webkit.org");
- if (!waitTimer)
- waitTimer = g_timeout_add_seconds(defaultTimeout, (GSourceFunc)wait_timer_fired, loop);
+ waitTimer = g_timeout_add_seconds(defaultTimeout, (GSourceFunc)wait_timer_fired, loop);
+
+ g_main_loop_run(loop);
+
+ if (waitTimer)
+ g_source_remove(waitTimer);
+
+ waitTimer = 0;
+
+ g_main_loop_unref(loop);
+ g_object_unref(view);
+}
+
+static void notify_load_status_lifetime_cb(WebKitWebView* view, GParamSpec* pspec, GMainLoop* loop)
+{
+ WebKitLoadStatus status = webkit_web_view_get_load_status (view);
+ WebKitWebFrame* frame = webkit_web_view_get_main_frame(view);
+ WebKitWebDataSource* dataSource = webkit_web_frame_get_data_source(frame);
+
+ if (status == WEBKIT_LOAD_COMMITTED) {
+ g_assert(webkit_web_data_source_is_loading(dataSource));
+ return;
+ } else if (status != WEBKIT_LOAD_FINISHED)
+ return;
+
+ g_main_loop_quit(loop);
+}
+
+static void test_webkit_web_data_source_lifetime()
+{
+ WebKitWebView* view;
+ GMainLoop* loop;
+
+ view = WEBKIT_WEB_VIEW(webkit_web_view_new());
+ g_object_ref_sink(view);
+ loop = g_main_loop_new(NULL, TRUE);
+ g_signal_connect(view, "notify::load-status", G_CALLBACK(notify_load_status_lifetime_cb), loop);
+ webkit_web_view_load_uri(view, "http://webkit.org");
+
+ waitTimer = g_timeout_add_seconds(defaultTimeout, (GSourceFunc)wait_timer_fired, loop);
g_main_loop_run(loop);
+
+ WebKitWebDataSource* dataSource = webkit_web_frame_get_data_source(webkit_web_view_get_main_frame(view));
+ GList* subResources = webkit_web_data_source_get_subresources(dataSource);
+ gint numberOfResources = g_list_length(subResources);
+ g_list_free(subResources);
+
+ g_assert_cmpint(webkit_web_view_get_load_status(view), ==, WEBKIT_LOAD_FINISHED);
+
+ webkit_web_view_load_uri(view, "http://gnome.org");
+
+ g_assert_cmpint(webkit_web_view_get_load_status(view), ==, WEBKIT_LOAD_PROVISIONAL);
+
+ webkit_web_view_stop_loading(view);
+
+ g_assert_cmpint(webkit_web_view_get_load_status(view), ==, WEBKIT_LOAD_FAILED);
+
+ subResources = webkit_web_data_source_get_subresources(dataSource);
+ g_assert_cmpint(numberOfResources, ==, g_list_length(subResources));
+ g_list_free(subResources);
+
+ if (waitTimer)
+ g_source_remove(waitTimer);
+
+ waitTimer = 0;
+
+ g_main_loop_unref(loop);
g_object_unref(view);
}
static void test_webkit_web_data_source_unreachable_uri()
{
+ /* FIXME: this test fails currently. */
+ return;
+
WebKitWebView* view;
GMainLoop* loop;
@@ -152,10 +211,16 @@ static void test_webkit_web_data_source_unreachable_uri()
g_signal_connect(view, "notify::load-status", G_CALLBACK(notify_load_status_unreachable_cb), loop);
webkit_web_view_load_uri(view, "http://this.host.does.not.exist/doireallyexist.html");
- if (!waitTimer)
- waitTimer = g_timeout_add_seconds(defaultTimeout, (GSourceFunc)wait_timer_fired, loop);
+ waitTimer = g_timeout_add_seconds(defaultTimeout, (GSourceFunc)wait_timer_fired, loop);
g_main_loop_run(loop);
+
+ if (waitTimer)
+ g_source_remove(waitTimer);
+
+ waitTimer = 0;
+
+ g_main_loop_unref(loop);
g_object_unref(view);
}
@@ -172,13 +237,16 @@ int main(int argc, char** argv)
test_webkit_web_data_source);
g_test_add_func("/webkit/webdatasource/unreachable_uri",
test_webkit_web_data_source_unreachable_uri);
+ g_test_add_func("/webkit/webdatasource/lifetime",
+ test_webkit_web_data_source_lifetime);
+
return g_test_run ();
}
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testwebframe.c b/WebKit/gtk/tests/testwebframe.c
index 59c7c2b..d1ff7ea 100644
--- a/WebKit/gtk/tests/testwebframe.c
+++ b/WebKit/gtk/tests/testwebframe.c
@@ -25,7 +25,7 @@
#include <gtk/gtk.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
static int numberOfFramesCreated = 0;
@@ -224,7 +224,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testwebhistoryitem.c b/WebKit/gtk/tests/testwebhistoryitem.c
index b940afb..362dc98 100644
--- a/WebKit/gtk/tests/testwebhistoryitem.c
+++ b/WebKit/gtk/tests/testwebhistoryitem.c
@@ -21,7 +21,7 @@
#include <gtk/gtk.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
typedef struct {
WebKitWebHistoryItem* item;
@@ -74,7 +74,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testwebplugindatabase.c b/WebKit/gtk/tests/testwebplugindatabase.c
new file mode 100644
index 0000000..1366f84
--- /dev/null
+++ b/WebKit/gtk/tests/testwebplugindatabase.c
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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 <errno.h>
+#include <glib.h>
+#include <glib/gstdio.h>
+#include <gtk/gtk.h>
+#include <webkit/webkit.h>
+
+#if GTK_CHECK_VERSION(2, 14, 0)
+
+/* This function is not public, so we need an extern declaration */
+extern void webkit_web_settings_add_extra_plugin_directory(WebKitWebView* view, const gchar* directory);
+
+static void test_webkit_web_plugin_database_get_plugins()
+{
+ WebKitWebView* view = WEBKIT_WEB_VIEW(webkit_web_view_new());
+ WebKitWebPluginDatabase* database;
+ GSList* pluginList, *p;
+ gboolean found = FALSE;
+ gboolean enabled = FALSE;
+
+ webkit_web_settings_add_extra_plugin_directory(view, TEST_PLUGIN_DIR);
+ g_object_ref_sink(G_OBJECT(view));
+
+ database = webkit_get_web_plugin_database();
+ pluginList = webkit_web_plugin_database_get_plugins(database);
+ for (p = pluginList; p; p = p->next) {
+ WebKitWebPlugin* plugin = (WebKitWebPlugin*)p->data;
+ if (!g_strcmp0(webkit_web_plugin_get_name(plugin), "WebKit Test PlugIn") &&
+ !g_strcmp0(webkit_web_plugin_get_description(plugin), "Simple Netscape plug-in that handles test content for WebKit")) {
+ found = TRUE;
+ enabled = webkit_web_plugin_get_enabled(plugin);
+ webkit_web_plugin_set_enabled(plugin, FALSE);
+ }
+ }
+ webkit_web_plugin_database_plugins_list_free(pluginList);
+ g_assert(found);
+ g_assert(enabled);
+
+ webkit_web_plugin_database_refresh(database);
+ pluginList = webkit_web_plugin_database_get_plugins(database);
+
+ for (p = pluginList; p; p = p->next) {
+ WebKitWebPlugin* plugin = (WebKitWebPlugin*)p->data;
+ if (!g_strcmp0(webkit_web_plugin_get_name(plugin), "WebKit Test PlugIn") &&
+ !g_strcmp0(webkit_web_plugin_get_description(plugin), "Simple Netscape plug-in that handles test content for WebKit"))
+ enabled = webkit_web_plugin_get_enabled(plugin);
+ }
+ webkit_web_plugin_database_plugins_list_free(pluginList);
+ g_assert(!enabled);
+
+ g_object_unref(view);
+}
+
+int main(int argc, char** argv)
+{
+ g_thread_init(NULL);
+ gtk_test_init(&argc, &argv, NULL);
+
+ g_test_bug_base("https://bugs.webkit.org/");
+ g_test_add_func("/webkit/webplugindatabase/getplugins", test_webkit_web_plugin_database_get_plugins);
+ return g_test_run ();
+}
+
+#else
+int main(int argc, char** argv)
+{
+ g_critical("You will need at least gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ return 0;
+}
+
+#endif
diff --git a/WebKit/gtk/tests/testwebresource.c b/WebKit/gtk/tests/testwebresource.c
index 81457a4..1b893a9 100644
--- a/WebKit/gtk/tests/testwebresource.c
+++ b/WebKit/gtk/tests/testwebresource.c
@@ -23,7 +23,7 @@
#include <string.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
#define INDEX_HTML "<html></html>"
#define MAIN_HTML "<html><head><script language=\"javascript\" src=\"/javascript.js\"></script></head><body><h1>hah</h1></html>"
@@ -218,8 +218,8 @@ static void resource_request_starting_sub_cb(WebKitWebView* web_view, WebKitWebF
{
if (!main_resource)
main_resource = g_object_ref(web_resource);
- else
- sub_resource = g_object_ref(web_resource);
+ else if (!sub_resource)
+ sub_resource = g_object_ref(web_resource);
}
static void notify_load_status_sub_cb(WebKitWebView* web_view, GParamSpec* pspec, gpointer data)
@@ -279,8 +279,13 @@ static void test_web_resource_sub_resource_loading()
g_assert(sub_resources->next);
g_assert(!sub_resources->next->next);
- g_assert(WEBKIT_WEB_RESOURCE(sub_resources->data) == sub_resource);
-
+ // Test that the object we got from the data source is the same
+ // that went through resource-request-starting. Note that the order is
+ // not important (and not guaranteed since the resources are stored in a
+ // hashtable).
+ g_assert(WEBKIT_WEB_RESOURCE(sub_resources->data) == sub_resource
+ || WEBKIT_WEB_RESOURCE(sub_resources->next->data) == sub_resource);
+
g_object_unref(web_view);
g_main_loop_unref(loop);
}
@@ -298,7 +303,7 @@ int main(int argc, char** argv)
soup_server_add_handler(server, NULL, server_callback, NULL, NULL);
- soup_uri = soup_uri_new ("http://127.0.0.1/");
+ soup_uri = soup_uri_new("http://127.0.0.1/");
soup_uri_set_port(soup_uri, soup_server_get_port(server));
base_uri = soup_uri_to_string(soup_uri, FALSE);
@@ -330,7 +335,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testwebsettings.c b/WebKit/gtk/tests/testwebsettings.c
index 8c77def..4db929a 100644
--- a/WebKit/gtk/tests/testwebsettings.c
+++ b/WebKit/gtk/tests/testwebsettings.c
@@ -21,7 +21,7 @@
#include <gtk/gtk.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
static void test_webkit_web_settings_user_agent(void)
{
@@ -74,7 +74,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testwebview.c b/WebKit/gtk/tests/testwebview.c
index 36511d7..76debcc 100644
--- a/WebKit/gtk/tests/testwebview.c
+++ b/WebKit/gtk/tests/testwebview.c
@@ -29,7 +29,7 @@
#include <gtk/gtk.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
GMainLoop* loop;
SoupSession *session;
@@ -371,7 +371,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/tests/testwindow.c b/WebKit/gtk/tests/testwindow.c
index 106f934..ecd6609 100644
--- a/WebKit/gtk/tests/testwindow.c
+++ b/WebKit/gtk/tests/testwindow.c
@@ -20,7 +20,7 @@
#include <gtk/gtk.h>
#include <webkit/webkit.h>
-#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+#if GTK_CHECK_VERSION(2, 14, 0)
static void notify_load_status_cb(WebKitWebView* web_view, GParamSpec* pspec, gpointer data)
{
@@ -123,7 +123,7 @@ int main(int argc, char** argv)
#else
int main(int argc, char** argv)
{
- g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now.");
return 0;
}
diff --git a/WebKit/gtk/webkit/webkit.h b/WebKit/gtk/webkit/webkit.h
index fc71c2c..d93fae1 100644
--- a/WebKit/gtk/webkit/webkit.h
+++ b/WebKit/gtk/webkit/webkit.h
@@ -26,10 +26,12 @@
#include <webkit/webkitdom.h>
#include <webkit/webkitdownload.h>
#include <webkit/webkitgeolocationpolicydecision.h>
+#include <webkit/webkitglobals.h>
#include <webkit/webkithittestresult.h>
#include <webkit/webkitnetworkrequest.h>
#include <webkit/webkitnetworkresponse.h>
#include <webkit/webkitsoupauthdialog.h>
+#include <webkit/webkitviewportattributes.h>
#include <webkit/webkitwebdatasource.h>
#include <webkit/webkitwebframe.h>
#include <webkit/webkitwebsettings.h>
@@ -38,6 +40,8 @@
#include <webkit/webkitwebview.h>
#include <webkit/webkitwebbackforwardlist.h>
#include <webkit/webkitwebhistoryitem.h>
+#include <webkit/webkitwebplugin.h>
+#include <webkit/webkitwebplugindatabase.h>
#include <webkit/webkitwebpolicydecision.h>
#include <webkit/webkitwebnavigationaction.h>
#include <webkit/webkitwebresource.h>
diff --git a/WebKit/gtk/webkit/webkitapplicationcache.cpp b/WebKit/gtk/webkit/webkitapplicationcache.cpp
index e967d34..87f3ab5 100644
--- a/WebKit/gtk/webkit/webkitapplicationcache.cpp
+++ b/WebKit/gtk/webkit/webkitapplicationcache.cpp
@@ -18,15 +18,14 @@
*/
#include "config.h"
-#include "webkitprivate.h"
-
-#include <wtf/UnusedParam.h>
#include "ApplicationCacheStorage.h"
+#include "webkitapplicationcacheprivate.h"
+#include <wtf/UnusedParam.h>
void webkit_application_cache_set_maximum_size(unsigned long long size)
{
-#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
WebCore::cacheStorage().empty();
WebCore::cacheStorage().vacuumDatabaseFile();
WebCore::cacheStorage().setMaximumSize(size);
diff --git a/WebKit/gtk/webkit/webkitapplicationcacheprivate.h b/WebKit/gtk/webkit/webkitapplicationcacheprivate.h
new file mode 100644
index 0000000..cbf3759
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitapplicationcacheprivate.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitapplicationcacheprivate_h
+#define webkitapplicationcacheprivate_h
+
+#include "webkitdefines.h"
+#include <glib.h>
+
+extern "C" {
+
+WEBKIT_API void webkit_application_cache_set_maximum_size(unsigned long long size);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitdefines.h b/WebKit/gtk/webkit/webkitdefines.h
index b06a3bf..b0b607b 100644
--- a/WebKit/gtk/webkit/webkitdefines.h
+++ b/WebKit/gtk/webkit/webkitdefines.h
@@ -92,6 +92,15 @@ typedef struct _WebKitHitTestResultClass WebKitHitTestResultClass;
typedef struct _WebKitGeolocationPolicyDecision WebKitGeolocationPolicyDecision;
typedef struct _WebKitGeolocationPolicyDecisionClass WebKitGeolocationPolicyDecisionClass;
+typedef struct _WebKitViewportAttributes WebKitViewportAttributes;
+typedef struct _WebKitViewportAttributesClass WebKitViewportAttributesClass;
+
+typedef struct _WebKitWebPluginDatabase WebKitWebPluginDatabase;
+typedef struct _WebKitWebPluginDatabaseClass WebKitWebPluginDatabaseClass;
+
+typedef struct _WebKitWebPlugin WebKitWebPlugin;
+typedef struct _WebKitWebPluginClass WebKitWebPluginClass;
+
G_END_DECLS
#endif
diff --git a/WebKit/gtk/webkit/webkitdownload.cpp b/WebKit/gtk/webkit/webkitdownload.cpp
index 18b64ab..60b8e6d 100644
--- a/WebKit/gtk/webkit/webkitdownload.cpp
+++ b/WebKit/gtk/webkit/webkitdownload.cpp
@@ -19,8 +19,8 @@
*/
#include "config.h"
+#include "webkitdownload.h"
-#include <glib/gi18n-lib.h>
#include "GRefPtr.h"
#include "Noncopyable.h"
#include "NotImplemented.h"
@@ -28,14 +28,17 @@
#include "ResourceHandleInternal.h"
#include "ResourceRequest.h"
#include "ResourceResponse.h"
-#include "webkitdownload.h"
+#include "webkitdownloadprivate.h"
#include "webkitenumtypes.h"
+#include "webkitglobals.h"
+#include "webkitglobalsprivate.h"
#include "webkitmarshal.h"
+#include "webkitnetworkrequestprivate.h"
#include "webkitnetworkresponse.h"
-#include "webkitprivate.h"
-#include <wtf/text/CString.h>
-
+#include "webkitnetworkresponseprivate.h"
+#include <glib/gi18n-lib.h>
#include <glib/gstdio.h>
+#include <wtf/text/CString.h>
#ifdef ERROR
#undef ERROR
@@ -69,8 +72,6 @@ class DownloadClient : public Noncopyable, public ResourceHandleClient {
WebKitDownload* m_download;
};
-#define WEBKIT_DOWNLOAD_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_DOWNLOAD, WebKitDownloadPrivate))
-
struct _WebKitDownloadPrivate {
gchar* destinationURI;
gchar* suggestedFilename;
@@ -229,7 +230,7 @@ static void webkit_download_class_init(WebKitDownloadClass* downloadClass)
objectClass->get_property = webkit_download_get_property;
objectClass->set_property = webkit_download_set_property;
- webkit_init();
+ webkitInit();
/**
* WebKitDownload::error:
@@ -387,7 +388,7 @@ static void webkit_download_class_init(WebKitDownloadClass* downloadClass)
static void webkit_download_init(WebKitDownload* download)
{
- WebKitDownloadPrivate* priv = WEBKIT_DOWNLOAD_GET_PRIVATE(download);
+ WebKitDownloadPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(download, WEBKIT_TYPE_DOWNLOAD, WebKitDownloadPrivate);
download->priv = priv;
priv->downloadClient = new DownloadClient(download);
@@ -593,7 +594,7 @@ WebKitNetworkResponse* webkit_download_get_network_response(WebKitDownload* down
static void webkit_download_set_response(WebKitDownload* download, const ResourceResponse& response)
{
WebKitDownloadPrivate* priv = download->priv;
- priv->networkResponse = webkit_network_response_new_with_core_response(response);
+ priv->networkResponse = kitNew(response);
if (!response.isNull() && !response.suggestedFilename().isEmpty())
webkit_download_set_suggested_filename(download, response.suggestedFilename().utf8().data());
@@ -906,7 +907,7 @@ static void webkit_download_error(WebKitDownload* download, const ResourceError&
webkit_download_close_stream(download);
WebKitDownloadPrivate* priv = download->priv;
- PlatformRefPtr<WebKitDownload> protect(download);
+ GRefPtr<WebKitDownload> protect(download);
g_timer_stop(priv->timer);
webkit_download_set_status(download, WEBKIT_DOWNLOAD_STATUS_ERROR);
diff --git a/WebKit/gtk/webkit/webkitdownloadprivate.h b/WebKit/gtk/webkit/webkitdownloadprivate.h
new file mode 100644
index 0000000..13cc2a4
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitdownloadprivate.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitdownloadprivate_h
+#define webkitdownloadprivate_h
+
+#include "webkitdownload.h"
+
+extern "C" {
+
+WebKitDownload* webkit_download_new_with_handle(WebKitNetworkRequest*, WebCore::ResourceHandle*, const WebCore::ResourceResponse&);
+
+void webkit_download_set_suggested_filename(WebKitDownload*, const gchar* suggestedFilename);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp b/WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp
index 7afd8fa..2523c9b 100644
--- a/WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp
+++ b/WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp
@@ -20,10 +20,9 @@
#include "config.h"
#include "webkitgeolocationpolicydecision.h"
-#include "webkitprivate.h"
#include "Geolocation.h"
+#include "webkitgeolocationpolicydecisionprivate.h"
-using namespace WebKit;
using namespace WebCore;
/**
@@ -43,8 +42,6 @@ struct _WebKitGeolocationPolicyDecisionPrivate {
Geolocation* geolocation;
};
-#define WEBKIT_GEOLOCATION_POLICY_DECISION_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_GEOLOCATION_POLICY_DECISION, WebKitGeolocationPolicyDecisionPrivate))
-
static void webkit_geolocation_policy_decision_class_init(WebKitGeolocationPolicyDecisionClass* decisionClass)
{
g_type_class_add_private(decisionClass, sizeof(WebKitGeolocationPolicyDecisionPrivate));
@@ -52,7 +49,7 @@ static void webkit_geolocation_policy_decision_class_init(WebKitGeolocationPolic
static void webkit_geolocation_policy_decision_init(WebKitGeolocationPolicyDecision* decision)
{
- decision->priv = WEBKIT_GEOLOCATION_POLICY_DECISION_GET_PRIVATE(decision);
+ decision->priv = G_TYPE_INSTANCE_GET_PRIVATE(decision, WEBKIT_TYPE_GEOLOCATION_POLICY_DECISION, WebKitGeolocationPolicyDecisionPrivate);
}
WebKitGeolocationPolicyDecision* webkit_geolocation_policy_decision_new(WebKitWebFrame* frame, Geolocation* geolocation)
diff --git a/WebKit/gtk/webkit/webkitgeolocationpolicydecisionprivate.h b/WebKit/gtk/webkit/webkitgeolocationpolicydecisionprivate.h
new file mode 100644
index 0000000..d250044
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitgeolocationpolicydecisionprivate.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitgeolocationpolicydecisionprivate_h
+#define webkitgeolocationpolicydecisionprivate_h
+
+#include "webkitgeolocationpolicydecision.h"
+
+extern "C" {
+
+WebKitGeolocationPolicyDecision* webkit_geolocation_policy_decision_new(WebKitWebFrame*, WebCore::Geolocation*);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitglobals.cpp b/WebKit/gtk/webkit/webkitglobals.cpp
new file mode 100644
index 0000000..6b57533
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitglobals.cpp
@@ -0,0 +1,282 @@
+/*
+ * Copyright (C) 2007 Holger Hans Peter Freyther
+ * Copyright (C) 2008, 2010 Collabora Ltd.
+ *
+ * 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 "config.h"
+#include "webkitglobals.h"
+
+#include "ApplicationCacheStorage.h"
+#include "Chrome.h"
+#include "FrameNetworkingContextGtk.h"
+#include "GOwnPtr.h"
+#include "IconDatabase.h"
+#include "Logging.h"
+#include "MemoryCache.h"
+#include "Page.h"
+#include "PageCache.h"
+#include "PageGroup.h"
+#include "TextEncodingRegistry.h"
+#include "Pasteboard.h"
+#include "PasteboardHelperGtk.h"
+#include "ResourceHandle.h"
+#include "ResourceHandleClient.h"
+#include "ResourceHandleInternal.h"
+#include "ResourceResponse.h"
+#include "webkitglobalsprivate.h"
+#include "webkitsoupauthdialog.h"
+#include "webkitwebdatabase.h"
+#include "webkitwebplugindatabaseprivate.h"
+#include <libintl.h>
+#include <runtime/InitializeThreading.h>
+#include <stdlib.h>
+#include <wtf/Threading.h>
+
+static WebKitCacheModel cacheModel = WEBKIT_CACHE_MODEL_DEFAULT;
+
+using namespace WebCore;
+
+/**
+ * SECTION:webkit
+ * @short_description: Global functions controlling WebKit
+ *
+ * WebKit manages many resources which are not related to specific
+ * views. These functions relate to cross-view limits, such as cache
+ * sizes, database quotas, and the HTTP session management.
+ */
+
+/**
+ * webkit_get_default_session:
+ *
+ * Retrieves the default #SoupSession used by all web views.
+ * Note that the session features are added by WebKit on demand,
+ * so if you insert your own #SoupCookieJar before any network
+ * traffic occurs, WebKit will use it instead of the default.
+ *
+ * Return value: (transfer none): the default #SoupSession
+ *
+ * Since: 1.1.1
+ */
+SoupSession* webkit_get_default_session ()
+{
+ webkitInit();
+ return ResourceHandle::defaultSession();
+}
+
+/**
+ * webkit_set_cache_model:
+ * @cache_model: a #WebKitCacheModel
+ *
+ * Specifies a usage model for WebViews, which WebKit will use to
+ * determine its caching behavior. All web views follow the cache
+ * model. This cache model determines the RAM and disk space to use
+ * for caching previously viewed content .
+ *
+ * Research indicates that users tend to browse within clusters of
+ * documents that hold resources in common, and to revisit previously
+ * visited documents. WebKit and the frameworks below it include
+ * built-in caches that take advantage of these patterns,
+ * substantially improving document load speed in browsing
+ * situations. The WebKit cache model controls the behaviors of all of
+ * these caches, including various WebCore caches.
+ *
+ * Browsers can improve document load speed substantially by
+ * specifying WEBKIT_CACHE_MODEL_WEB_BROWSER. Applications without a
+ * browsing interface can reduce memory usage substantially by
+ * specifying WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER. Default value is
+ * WEBKIT_CACHE_MODEL_WEB_BROWSER.
+ *
+ * Since: 1.1.18
+ */
+void webkit_set_cache_model(WebKitCacheModel model)
+{
+ webkitInit();
+
+ if (cacheModel == model)
+ return;
+
+ // FIXME: Add disk cache handling when soup has the API
+ guint cacheTotalCapacity;
+ guint cacheMinDeadCapacity;
+ guint cacheMaxDeadCapacity;
+ gdouble deadDecodedDataDeletionInterval;
+ guint pageCacheCapacity;
+
+ switch (model) {
+ case WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER:
+ pageCacheCapacity = 0;
+ cacheTotalCapacity = 0;
+ cacheMinDeadCapacity = 0;
+ cacheMaxDeadCapacity = 0;
+ deadDecodedDataDeletionInterval = 0;
+ break;
+ case WEBKIT_CACHE_MODEL_WEB_BROWSER:
+ // Page cache capacity (in pages). Comment from Mac port:
+ // (Research indicates that value / page drops substantially after 3 pages.)
+ pageCacheCapacity = 3;
+ cacheTotalCapacity = 32 * 1024 * 1024;
+ cacheMinDeadCapacity = cacheTotalCapacity / 4;
+ cacheMaxDeadCapacity = cacheTotalCapacity / 2;
+ deadDecodedDataDeletionInterval = 60;
+ break;
+ default:
+ g_return_if_reached();
+ }
+
+ cache()->setCapacities(cacheMinDeadCapacity, cacheMaxDeadCapacity, cacheTotalCapacity);
+ cache()->setDeadDecodedDataDeletionInterval(deadDecodedDataDeletionInterval);
+ pageCache()->setCapacity(pageCacheCapacity);
+ cacheModel = model;
+}
+
+/**
+ * webkit_get_cache_model:
+ *
+ * Returns the current cache model. For more information about this
+ * value check the documentation of the function
+ * webkit_set_cache_model().
+ *
+ * Return value: the current #WebKitCacheModel
+ *
+ * Since: 1.1.18
+ */
+WebKitCacheModel webkit_get_cache_model()
+{
+ webkitInit();
+ return cacheModel;
+}
+
+/**
+ * webkit_get_web_plugin_database:
+ *
+ * Returns the current #WebKitWebPluginDatabase with information about
+ * all the plugins WebKit knows about in this instance.
+ *
+ * Return value: (transfer none): the current #WebKitWebPluginDatabase
+ *
+ * Since: 1.3.8
+ */
+WebKitWebPluginDatabase* webkit_get_web_plugin_database()
+{
+ static WebKitWebPluginDatabase* database = 0;
+
+ webkitInit();
+
+ if (!database)
+ database = webkit_web_plugin_database_new();
+
+ return database;
+}
+
+
+static GtkWidget* currentToplevelCallback(WebKitSoupAuthDialog* feature, SoupMessage* message, gpointer userData)
+{
+ gpointer messageData = g_object_get_data(G_OBJECT(message), "resourceHandle");
+ if (!messageData)
+ return NULL;
+
+ ResourceHandle* handle = static_cast<ResourceHandle*>(messageData);
+ if (!handle)
+ return NULL;
+
+ ResourceHandleInternal* d = handle->getInternal();
+ if (!d)
+ return NULL;
+
+ WebKit::FrameNetworkingContextGtk* context = static_cast<WebKit::FrameNetworkingContextGtk*>(d->m_context.get());
+ if (!context)
+ return NULL;
+
+ if (!context->coreFrame())
+ return NULL;
+
+ GtkWidget* toplevel = gtk_widget_get_toplevel(GTK_WIDGET(context->coreFrame()->page()->chrome()->platformPageClient()));
+ if (gtk_widget_is_toplevel(toplevel))
+ return toplevel;
+ else
+ return NULL;
+}
+
+static void closeIconDatabaseOnExit()
+{
+ iconDatabase()->close();
+}
+
+void webkitInit()
+{
+ static bool isInitialized = false;
+ if (isInitialized)
+ return;
+ isInitialized = true;
+
+ bindtextdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
+ bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
+
+ JSC::initializeThreading();
+ WTF::initializeMainThread();
+
+ WebCore::InitializeLoggingChannelsIfNecessary();
+
+ // We make sure the text codecs have been initialized, because
+ // that may only be done by the main thread.
+ atomicCanonicalTextEncodingName("UTF-8");
+
+ gchar* databaseDirectory = g_build_filename(g_get_user_data_dir(), "webkit", "databases", NULL);
+ webkit_set_web_database_directory_path(databaseDirectory);
+
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+ // FIXME: It should be possible for client applications to override the default appcache location
+ WebCore::cacheStorage().setCacheDirectory(databaseDirectory);
+#endif
+ g_free(databaseDirectory);
+
+ PageGroup::setShouldTrackVisitedLinks(true);
+
+ Pasteboard::generalPasteboard()->setHelper(WebKit::pasteboardHelperInstance());
+
+ iconDatabase()->setEnabled(true);
+
+ GOwnPtr<gchar> iconDatabasePath(g_build_filename(g_get_user_data_dir(), "webkit", "icondatabase", NULL));
+ iconDatabase()->open(iconDatabasePath.get());
+
+ atexit(closeIconDatabaseOnExit);
+
+ SoupSession* session = webkit_get_default_session();
+
+ SoupSessionFeature* authDialog = static_cast<SoupSessionFeature*>(g_object_new(WEBKIT_TYPE_SOUP_AUTH_DIALOG, NULL));
+ g_signal_connect(authDialog, "current-toplevel", G_CALLBACK(currentToplevelCallback), NULL);
+ soup_session_add_feature(session, authDialog);
+ g_object_unref(authDialog);
+
+ SoupSessionFeature* sniffer = static_cast<SoupSessionFeature*>(g_object_new(SOUP_TYPE_CONTENT_SNIFFER, NULL));
+ soup_session_add_feature(session, sniffer);
+ g_object_unref(sniffer);
+
+ soup_session_add_feature_by_type(session, SOUP_TYPE_CONTENT_DECODER);
+}
+
+namespace WebKit {
+
+PasteboardHelperGtk* pasteboardHelperInstance()
+{
+ static PasteboardHelperGtk* helper = new PasteboardHelperGtk();
+ return helper;
+}
+
+} /** end namespace WebKit */
+
diff --git a/WebKit/gtk/webkit/webkitglobals.h b/WebKit/gtk/webkit/webkitglobals.h
new file mode 100644
index 0000000..6d144fc
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitglobals.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitglobals_h
+#define webkitglobals_h
+
+#include "webkitdefines.h"
+#include <glib.h>
+#include <libsoup/soup.h>
+
+G_BEGIN_DECLS
+
+/*
+ * WebKitCacheModel:
+ * @WEBKIT_CACHE_MODEL_DEFAULT: The default cache model. This is
+ * WEBKIT_CACHE_MODEL_WEB_BROWSER.
+ * @WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER: Disable the cache completely, which
+ * substantially reduces memory usage. Useful for applications that only
+ * access local files.
+ * @WEBKIT_CACHE_MODEL_WEB_BROWSER: Improve document load speed substantially
+ * by caching previously viewed content.
+ *
+ * Enum values used for determining the webview cache model.
+ */
+typedef enum {
+ WEBKIT_CACHE_MODEL_DEFAULT,
+ WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER,
+ WEBKIT_CACHE_MODEL_WEB_BROWSER
+} WebKitCacheModel;
+
+WEBKIT_API SoupSession*
+webkit_get_default_session (void);
+
+WEBKIT_API WebKitWebPluginDatabase *
+webkit_get_web_plugin_database (void);
+
+WEBKIT_API void
+webkit_set_cache_model (WebKitCacheModel cache_model);
+
+WEBKIT_API WebKitCacheModel
+webkit_get_cache_model (void);
+
+G_END_DECLS
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitglobalsprivate.h b/WebKit/gtk/webkit/webkitglobalsprivate.h
new file mode 100644
index 0000000..5923f2e
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitglobalsprivate.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitglobalsprivate_h
+#define webkitglobalsprivate_h
+
+#include <glib.h>
+
+#define WEBKIT_PARAM_READABLE ((GParamFlags)(G_PARAM_READABLE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB))
+#define WEBKIT_PARAM_READWRITE ((GParamFlags)(G_PARAM_READWRITE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB))
+
+namespace WebKit {
+
+class PasteboardHelperGtk;
+PasteboardHelperGtk* pasteboardHelperInstance();
+
+}
+
+extern "C" {
+
+void webkitInit();
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkithittestresult.cpp b/WebKit/gtk/webkit/webkithittestresult.cpp
index 931289e..9632493 100644
--- a/WebKit/gtk/webkit/webkithittestresult.cpp
+++ b/WebKit/gtk/webkit/webkithittestresult.cpp
@@ -22,12 +22,15 @@
#include "webkithittestresult.h"
#include "GOwnPtr.h"
+#include "HitTestResult.h"
+#include "KURL.h"
+#include "WebKitDOMBinding.h"
#include "WebKitDOMNode.h"
#include "webkitenumtypes.h"
-#include "webkitprivate.h"
-#include <wtf/text/CString.h>
-
+#include "webkitglobals.h"
+#include "webkitglobalsprivate.h"
#include <glib/gi18n-lib.h>
+#include <wtf/text/CString.h>
/**
* SECTION:webkithittestresult
@@ -47,8 +50,6 @@ struct _WebKitHitTestResultPrivate {
WebKitDOMNode* innerNode;
};
-#define WEBKIT_HIT_TEST_RESULT_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_HIT_TEST_RESULT, WebKitHitTestResultPrivate))
-
enum {
PROP_0,
@@ -142,7 +143,7 @@ static void webkit_hit_test_result_class_init(WebKitHitTestResultClass* webHitTe
objectClass->get_property = webkit_hit_test_result_get_property;
objectClass->set_property = webkit_hit_test_result_set_property;
- webkit_init();
+ webkitInit();
/**
* WebKitHitTestResult:context:
@@ -228,5 +229,50 @@ static void webkit_hit_test_result_class_init(WebKitHitTestResultClass* webHitTe
static void webkit_hit_test_result_init(WebKitHitTestResult* web_hit_test_result)
{
- web_hit_test_result->priv = WEBKIT_HIT_TEST_RESULT_GET_PRIVATE(web_hit_test_result);
+ web_hit_test_result->priv = G_TYPE_INSTANCE_GET_PRIVATE(web_hit_test_result, WEBKIT_TYPE_HIT_TEST_RESULT, WebKitHitTestResultPrivate);
+}
+
+namespace WebKit {
+
+WebKitHitTestResult* kit(const WebCore::HitTestResult& result)
+{
+ guint context = WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT;
+ GOwnPtr<char> linkURI(0);
+ GOwnPtr<char> imageURI(0);
+ GOwnPtr<char> mediaURI(0);
+ WebKitDOMNode* node = 0;
+
+ if (!result.absoluteLinkURL().isEmpty()) {
+ context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK;
+ linkURI.set(g_strdup(result.absoluteLinkURL().string().utf8().data()));
+ }
+
+ if (!result.absoluteImageURL().isEmpty()) {
+ context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE;
+ imageURI.set(g_strdup(result.absoluteImageURL().string().utf8().data()));
+ }
+
+ if (!result.absoluteMediaURL().isEmpty()) {
+ context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_MEDIA;
+ mediaURI.set(g_strdup(result.absoluteMediaURL().string().utf8().data()));
+ }
+
+ if (result.isSelected())
+ context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION;
+
+ if (result.isContentEditable())
+ context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE;
+
+ if (result.innerNonSharedNode())
+ node = kit(result.innerNonSharedNode());
+
+ return WEBKIT_HIT_TEST_RESULT(g_object_new(WEBKIT_TYPE_HIT_TEST_RESULT,
+ "link-uri", linkURI.get(),
+ "image-uri", imageURI.get(),
+ "media-uri", mediaURI.get(),
+ "context", context,
+ "inner-node", node,
+ NULL));
+}
+
}
diff --git a/WebKit/gtk/webkit/webkithittestresultprivate.h b/WebKit/gtk/webkit/webkithittestresultprivate.h
new file mode 100644
index 0000000..237ac27
--- /dev/null
+++ b/WebKit/gtk/webkit/webkithittestresultprivate.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkithittestresultprivate_h
+#define webkithittestresultprivate_h
+
+#include "HitTestResult.h"
+#include "webkithittestresult.h"
+
+namespace WebKit {
+
+WebKitHitTestResult* kit(const WebCore::HitTestResult&);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitnetworkrequest.cpp b/WebKit/gtk/webkit/webkitnetworkrequest.cpp
index 6180efa..7005637 100644
--- a/WebKit/gtk/webkit/webkitnetworkrequest.cpp
+++ b/WebKit/gtk/webkit/webkitnetworkrequest.cpp
@@ -21,11 +21,11 @@
#include "config.h"
#include "webkitnetworkrequest.h"
+#include "GRefPtr.h"
#include "ResourceRequest.h"
-#include "webkitprivate.h"
-#include <wtf/text/CString.h>
-
+#include "webkitglobalsprivate.h"
#include <glib/gi18n-lib.h>
+#include <wtf/text/CString.h>
/**
* SECTION:webkitnetworkrequest
@@ -48,8 +48,6 @@ struct _WebKitNetworkRequestPrivate {
SoupMessage* message;
};
-#define WEBKIT_NETWORK_REQUEST_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_NETWORK_REQUEST, WebKitNetworkRequestPrivate))
-
enum {
PROP_0,
@@ -122,7 +120,7 @@ static void webkit_network_request_class_init(WebKitNetworkRequestClass* request
objectClass->get_property = webkit_network_request_get_property;
objectClass->set_property = webkit_network_request_set_property;
- webkit_init();
+ webkitInit();
/**
* WebKitNetworkRequest:uri:
@@ -157,20 +155,10 @@ static void webkit_network_request_class_init(WebKitNetworkRequestClass* request
static void webkit_network_request_init(WebKitNetworkRequest* request)
{
- WebKitNetworkRequestPrivate* priv = WEBKIT_NETWORK_REQUEST_GET_PRIVATE(request);
+ WebKitNetworkRequestPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(request, WEBKIT_TYPE_NETWORK_REQUEST, WebKitNetworkRequestPrivate);
request->priv = priv;
}
-// for internal use only
-WebKitNetworkRequest* webkit_network_request_new_with_core_request(const WebCore::ResourceRequest& resourceRequest)
-{
- PlatformRefPtr<SoupMessage> soupMessage(adoptPlatformRef(resourceRequest.toSoupMessage()));
- if (soupMessage)
- return WEBKIT_NETWORK_REQUEST(g_object_new(WEBKIT_TYPE_NETWORK_REQUEST, "message", soupMessage.get(), NULL));
-
- return WEBKIT_NETWORK_REQUEST(g_object_new(WEBKIT_TYPE_NETWORK_REQUEST, "uri", resourceRequest.url().string().utf8().data(), NULL));
-}
-
/**
* webkit_network_request_new:
* @uri: an URI
@@ -260,3 +248,26 @@ SoupMessage* webkit_network_request_get_message(WebKitNetworkRequest* request)
return priv->message;
}
+
+namespace WebKit {
+
+WebKitNetworkRequest* kitNew(const WebCore::ResourceRequest& resourceRequest)
+{
+ GRefPtr<SoupMessage> soupMessage(adoptGRef(resourceRequest.toSoupMessage()));
+ if (soupMessage)
+ return WEBKIT_NETWORK_REQUEST(g_object_new(WEBKIT_TYPE_NETWORK_REQUEST, "message", soupMessage.get(), NULL));
+
+ return WEBKIT_NETWORK_REQUEST(g_object_new(WEBKIT_TYPE_NETWORK_REQUEST, "uri", resourceRequest.url().string().utf8().data(), NULL));
+}
+
+WebCore::ResourceRequest core(WebKitNetworkRequest* request)
+{
+ SoupMessage* soupMessage = webkit_network_request_get_message(request);
+ if (soupMessage)
+ return WebCore::ResourceRequest(soupMessage);
+
+ WebCore::KURL url = WebCore::KURL(WebCore::KURL(), String::fromUTF8(webkit_network_request_get_uri(request)));
+ return WebCore::ResourceRequest(url);
+}
+
+}
diff --git a/WebKit/gtk/webkit/webkitnetworkrequestprivate.h b/WebKit/gtk/webkit/webkitnetworkrequestprivate.h
new file mode 100644
index 0000000..84b4593
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitnetworkrequestprivate.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitnetworkrequestprivate_h
+#define webkitnetworkrequestprivate_h
+
+namespace WebKit {
+
+WebCore::ResourceRequest core(WebKitNetworkRequest*);
+WebKitNetworkRequest* kitNew(const WebCore::ResourceRequest&);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitnetworkresponse.cpp b/WebKit/gtk/webkit/webkitnetworkresponse.cpp
index 0aca6d8..4b8661b 100644
--- a/WebKit/gtk/webkit/webkitnetworkresponse.cpp
+++ b/WebKit/gtk/webkit/webkitnetworkresponse.cpp
@@ -24,9 +24,9 @@
#include "GRefPtr.h"
#include "ResourceResponse.h"
-#include "webkitprivate.h"
-
+#include "webkitglobalsprivate.h"
#include <glib/gi18n-lib.h>
+#include <wtf/text/CString.h>
/**
* SECTION:webkitnetworkresponse
@@ -120,7 +120,7 @@ static void webkit_network_response_class_init(WebKitNetworkResponseClass* respo
objectClass->get_property = webkit_network_response_get_property;
objectClass->set_property = webkit_network_response_set_property;
- webkit_init();
+ webkitInit();
/**
* WebKitNetworkResponse:uri:
@@ -158,16 +158,6 @@ static void webkit_network_response_init(WebKitNetworkResponse* response)
response->priv = WEBKIT_NETWORK_RESPONSE_GET_PRIVATE(response);
}
-// for internal use only
-WebKitNetworkResponse* webkit_network_response_new_with_core_response(const WebCore::ResourceResponse& resourceResponse)
-{
- PlatformRefPtr<SoupMessage> soupMessage(adoptPlatformRef(resourceResponse.toSoupMessage()));
- if (soupMessage)
- return WEBKIT_NETWORK_RESPONSE(g_object_new(WEBKIT_TYPE_NETWORK_RESPONSE, "message", soupMessage.get(), NULL));
-
- return WEBKIT_NETWORK_RESPONSE(g_object_new(WEBKIT_TYPE_NETWORK_RESPONSE, "uri", resourceResponse.url().string().utf8().data(), NULL));
-}
-
/**
* webkit_network_response_new:
* @uri: an URI
@@ -259,3 +249,25 @@ SoupMessage* webkit_network_response_get_message(WebKitNetworkResponse* response
return priv->message;
}
+
+namespace WebKit {
+
+WebCore::ResourceResponse core(WebKitNetworkResponse* response)
+{
+ SoupMessage* soupMessage = webkit_network_response_get_message(response);
+ if (soupMessage)
+ return WebCore::ResourceResponse(soupMessage);
+
+ return WebCore::ResourceResponse();
+}
+
+WebKitNetworkResponse* kitNew(const WebCore::ResourceResponse& resourceResponse)
+{
+ GRefPtr<SoupMessage> soupMessage(adoptGRef(resourceResponse.toSoupMessage()));
+ if (soupMessage)
+ return WEBKIT_NETWORK_RESPONSE(g_object_new(WEBKIT_TYPE_NETWORK_RESPONSE, "message", soupMessage.get(), NULL));
+
+ return WEBKIT_NETWORK_RESPONSE(g_object_new(WEBKIT_TYPE_NETWORK_RESPONSE, "uri", resourceResponse.url().string().utf8().data(), NULL));
+}
+
+}
diff --git a/WebKit/gtk/webkit/webkitnetworkresponseprivate.h b/WebKit/gtk/webkit/webkitnetworkresponseprivate.h
new file mode 100644
index 0000000..ab38a50
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitnetworkresponseprivate.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitnetworkresponseprivate_h
+#define webkitnetworkresponseprivate_h
+
+#include "ResourceResponse.h"
+
+namespace WebKit {
+
+WebCore::ResourceResponse core(WebKitNetworkResponse*);
+WebKitNetworkResponse* kitNew(const WebCore::ResourceResponse&);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitprivate.cpp b/WebKit/gtk/webkit/webkitprivate.cpp
deleted file mode 100644
index 4ec6362..0000000
--- a/WebKit/gtk/webkit/webkitprivate.cpp
+++ /dev/null
@@ -1,364 +0,0 @@
-/*
- * Copyright (C) 2007 Holger Hans Peter Freyther
- * Copyright (C) 2008 Collabora Ltd.
- *
- * 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 "config.h"
-#include "webkitprivate.h"
-
-#include "ApplicationCacheStorage.h"
-#include "Chrome.h"
-#include "ChromeClientGtk.h"
-#include "Element.h"
-#include "Frame.h"
-#include "FrameLoader.h"
-#include "FrameLoaderClientGtk.h"
-#include "FrameNetworkingContextGtk.h"
-#include "GtkVersioning.h"
-#include "HTMLMediaElement.h"
-#include "HTMLNames.h"
-#include "HitTestResult.h"
-#include "IconDatabase.h"
-#include "Logging.h"
-#include "PageCache.h"
-#include "PageGroup.h"
-#include "Pasteboard.h"
-#include "PasteboardHelperGtk.h"
-#include "ResourceHandle.h"
-#include "ResourceHandleClient.h"
-#include "ResourceHandleInternal.h"
-#include "ResourceResponse.h"
-#include "SecurityOrigin.h"
-#include "TextEncodingRegistry.h"
-#include "WebKitDOMBinding.h"
-#include "webkitnetworkresponse.h"
-#include "webkitsoupauthdialog.h"
-#include "webkitversion.h"
-#include <libintl.h>
-#include <runtime/InitializeThreading.h>
-#include <stdlib.h>
-#include <wtf/Threading.h>
-
-#if ENABLE(VIDEO)
-#include "FullscreenVideoController.h"
-#endif
-
-#if ENABLE(DATABASE)
-#include "DatabaseTracker.h"
-#endif
-
-using namespace WebCore;
-
-namespace WebKit {
-
-WebKitWebView* getViewFromFrame(WebKitWebFrame* frame)
-{
- WebKitWebFramePrivate* priv = frame->priv;
- return priv->webView;
-}
-
-WebCore::Frame* core(WebKitWebFrame* frame)
-{
- if (!frame)
- return 0;
-
- WebKitWebFramePrivate* priv = frame->priv;
- return priv ? priv->coreFrame : 0;
-}
-
-WebKitWebFrame* kit(WebCore::Frame* coreFrame)
-{
- if (!coreFrame)
- return 0;
-
- ASSERT(coreFrame->loader());
- WebKit::FrameLoaderClient* client = static_cast<WebKit::FrameLoaderClient*>(coreFrame->loader()->client());
- return client ? client->webFrame() : 0;
-}
-
-WebCore::Page* core(WebKitWebView* webView)
-{
- if (!webView)
- return 0;
-
- WebKitWebViewPrivate* priv = webView->priv;
- return priv ? priv->corePage : 0;
-}
-
-WebKitWebView* kit(WebCore::Page* corePage)
-{
- if (!corePage)
- return 0;
-
- ASSERT(corePage->chrome());
- WebKit::ChromeClient* client = static_cast<WebKit::ChromeClient*>(corePage->chrome()->client());
- return client ? client->webView() : 0;
-}
-
-WebKitWebNavigationReason kit(WebCore::NavigationType type)
-{
- return (WebKitWebNavigationReason)type;
-}
-
-WebCore::NavigationType core(WebKitWebNavigationReason type)
-{
- return static_cast<WebCore::NavigationType>(type);
-}
-
-WebCore::ResourceRequest core(WebKitNetworkRequest* request)
-{
- SoupMessage* soupMessage = webkit_network_request_get_message(request);
- if (soupMessage)
- return ResourceRequest(soupMessage);
-
- KURL url = KURL(KURL(), String::fromUTF8(webkit_network_request_get_uri(request)));
- return ResourceRequest(url);
-}
-
-WebCore::ResourceResponse core(WebKitNetworkResponse* response)
-{
- SoupMessage* soupMessage = webkit_network_response_get_message(response);
- if (soupMessage)
- return ResourceResponse(soupMessage);
-
- return ResourceResponse();
-}
-
-WebCore::EditingBehaviorType core(WebKitEditingBehavior type)
-{
- return (WebCore::EditingBehaviorType)type;
-}
-
-WebKitHitTestResult* kit(const WebCore::HitTestResult& result)
-{
- guint context = WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT;
- GOwnPtr<char> linkURI(0);
- GOwnPtr<char> imageURI(0);
- GOwnPtr<char> mediaURI(0);
- WebKitDOMNode* node = 0;
-
- if (!result.absoluteLinkURL().isEmpty()) {
- context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK;
- linkURI.set(g_strdup(result.absoluteLinkURL().string().utf8().data()));
- }
-
- if (!result.absoluteImageURL().isEmpty()) {
- context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE;
- imageURI.set(g_strdup(result.absoluteImageURL().string().utf8().data()));
- }
-
- if (!result.absoluteMediaURL().isEmpty()) {
- context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_MEDIA;
- mediaURI.set(g_strdup(result.absoluteMediaURL().string().utf8().data()));
- }
-
- if (result.isSelected())
- context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION;
-
- if (result.isContentEditable())
- context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE;
-
- if (result.innerNonSharedNode())
- node = kit(result.innerNonSharedNode());
-
- return WEBKIT_HIT_TEST_RESULT(g_object_new(WEBKIT_TYPE_HIT_TEST_RESULT,
- "link-uri", linkURI.get(),
- "image-uri", imageURI.get(),
- "media-uri", mediaURI.get(),
- "context", context,
- "inner-node", node,
- NULL));
-}
-
-PasteboardHelperGtk* pasteboardHelperInstance()
-{
- static PasteboardHelperGtk* helper = new PasteboardHelperGtk();
- return helper;
-}
-
-} /** end namespace WebKit */
-
-static GtkWidget* currentToplevelCallback(WebKitSoupAuthDialog* feature, SoupMessage* message, gpointer userData)
-{
- gpointer messageData = g_object_get_data(G_OBJECT(message), "resourceHandle");
- if (!messageData)
- return NULL;
-
- ResourceHandle* handle = static_cast<ResourceHandle*>(messageData);
- if (!handle)
- return NULL;
-
- ResourceHandleInternal* d = handle->getInternal();
- if (!d)
- return NULL;
-
- WebKit::FrameNetworkingContextGtk* context = static_cast<WebKit::FrameNetworkingContextGtk*>(d->m_context.get());
- if (!context)
- return NULL;
-
- if (!context->coreFrame())
- return NULL;
-
- GtkWidget* toplevel = gtk_widget_get_toplevel(GTK_WIDGET(context->coreFrame()->page()->chrome()->platformPageClient()));
- if (gtk_widget_is_toplevel(toplevel))
- return toplevel;
- else
- return NULL;
-}
-
-static void closeIconDatabaseOnExit()
-{
- iconDatabase()->close();
-}
-
-#ifdef HAVE_GSETTINGS
-static bool isSchemaAvailable(const char* schemaID)
-{
- const char* const* availableSchemas = g_settings_list_schemas();
- char* const* iter = const_cast<char* const*>(availableSchemas);
-
- while (*iter) {
- if (g_str_equal(schemaID, *iter))
- return true;
- iter++;
- }
-
- return false;
-}
-
-GSettings* inspectorGSettings()
-{
- static GSettings* settings = 0;
-
- if (settings)
- return settings;
-
- const gchar* schemaID = "org.webkitgtk-"WEBKITGTK_API_VERSION_STRING".inspector";
-
- // Unfortunately GSettings will abort the process execution if the
- // schema is not installed, which is the case for when running
- // tests, or even the introspection dump at build time, so check
- // if we have the schema before trying to initialize it.
- if (!isSchemaAvailable(schemaID)) {
- g_warning("GSettings schema not found - settings will not be used or saved.");
- return 0;
- }
-
- settings = g_settings_new(schemaID);
-
- return settings;
-}
-#endif
-
-void webkit_init()
-{
- static bool isInitialized = false;
- if (isInitialized)
- return;
- isInitialized = true;
-
- bindtextdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
- bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
-
- JSC::initializeThreading();
- WTF::initializeMainThread();
-
- WebCore::InitializeLoggingChannelsIfNecessary();
-
- // We make sure the text codecs have been initialized, because
- // that may only be done by the main thread.
- atomicCanonicalTextEncodingName("UTF-8");
-
- // Page cache capacity (in pages). Comment from Mac port:
- // (Research indicates that value / page drops substantially after 3 pages.)
- // FIXME: Expose this with an API and/or calculate based on available resources
- webkit_set_cache_model(WEBKIT_CACHE_MODEL_WEB_BROWSER);
-
-#if ENABLE(DATABASE)
- gchar* databaseDirectory = g_build_filename(g_get_user_data_dir(), "webkit", "databases", NULL);
- webkit_set_web_database_directory_path(databaseDirectory);
-
- // FIXME: It should be possible for client applications to override the default appcache location
- WebCore::cacheStorage().setCacheDirectory(databaseDirectory);
- g_free(databaseDirectory);
-#endif
-
- PageGroup::setShouldTrackVisitedLinks(true);
-
- Pasteboard::generalPasteboard()->setHelper(WebKit::pasteboardHelperInstance());
-
- iconDatabase()->setEnabled(true);
-
- GOwnPtr<gchar> iconDatabasePath(g_build_filename(g_get_user_data_dir(), "webkit", "icondatabase", NULL));
- iconDatabase()->open(iconDatabasePath.get());
-
- atexit(closeIconDatabaseOnExit);
-
- SoupSession* session = webkit_get_default_session();
-
- SoupSessionFeature* authDialog = static_cast<SoupSessionFeature*>(g_object_new(WEBKIT_TYPE_SOUP_AUTH_DIALOG, NULL));
- g_signal_connect(authDialog, "current-toplevel", G_CALLBACK(currentToplevelCallback), NULL);
- soup_session_add_feature(session, authDialog);
- g_object_unref(authDialog);
-
- SoupSessionFeature* sniffer = static_cast<SoupSessionFeature*>(g_object_new(SOUP_TYPE_CONTENT_SNIFFER, NULL));
- soup_session_add_feature(session, sniffer);
- g_object_unref(sniffer);
-
- soup_session_add_feature_by_type(session, SOUP_TYPE_CONTENT_DECODER);
-}
-
-void webkit_white_list_access_from_origin(const gchar* sourceOrigin, const gchar* destinationProtocol, const gchar* destinationHost, bool allowDestinationSubdomains)
-{
- SecurityOrigin::addOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
-}
-
-void webkit_reset_origin_access_white_lists()
-{
- SecurityOrigin::resetOriginAccessWhitelists();
-}
-
-
-void webkitWebViewEnterFullscreen(WebKitWebView* webView, Node* node)
-{
- if (!node->hasTagName(HTMLNames::videoTag))
- return;
-
-#if ENABLE(VIDEO)
- HTMLMediaElement* videoElement = static_cast<HTMLMediaElement*>(node);
- WebKitWebViewPrivate* priv = webView->priv;
-
- // First exit Fullscreen for the old mediaElement.
- if (priv->fullscreenVideoController)
- priv->fullscreenVideoController->exitFullscreen();
-
- priv->fullscreenVideoController = new FullscreenVideoController;
- priv->fullscreenVideoController->setMediaElement(videoElement);
- priv->fullscreenVideoController->enterFullscreen();
-#endif
-}
-
-void webkitWebViewExitFullscreen(WebKitWebView* webView)
-{
-#if ENABLE(VIDEO)
- WebKitWebViewPrivate* priv = webView->priv;
- if (priv->fullscreenVideoController)
- priv->fullscreenVideoController->exitFullscreen();
-#endif
-}
-
diff --git a/WebKit/gtk/webkit/webkitprivate.h b/WebKit/gtk/webkit/webkitprivate.h
deleted file mode 100644
index e090ed4..0000000
--- a/WebKit/gtk/webkit/webkitprivate.h
+++ /dev/null
@@ -1,439 +0,0 @@
-/*
- * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
- * Copyright (C) 2008 Jan Michael C. Alonzo
- * Copyright (C) 2008 Collabora Ltd.
- * Copyright (C) 2010 Igalia S.L.
- *
- * 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.
- */
-
-#ifndef webkitprivate_h
-#define webkitprivate_h
-
-/*
- * This file knows the shared secret of WebKitWebView, WebKitWebFrame,
- * and WebKitNetworkRequest.
- * They are using WebCore which musn't be exposed to the outer world.
- */
-
-#include <webkit/webkitdefines.h>
-#include <webkit/webkitdownload.h>
-#include <webkit/webkithittestresult.h>
-#include <webkit/webkitnetworkrequest.h>
-#include <webkit/webkitwebview.h>
-#include <webkit/webkitwebdatasource.h>
-#include <webkit/webkitwebframe.h>
-#include <webkit/webkitwebpolicydecision.h>
-#include <webkit/webkitwebnavigationaction.h>
-#include <webkit/webkitwebresource.h>
-#include <webkit/webkitwebsettings.h>
-#include <webkit/webkitwebwindowfeatures.h>
-#include <webkit/webkitwebbackforwardlist.h>
-#include <webkit/webkitnetworkrequest.h>
-#include <webkit/webkitsecurityorigin.h>
-
-#include "ArchiveResource.h"
-#include "BackForwardListImpl.h"
-#include "DataObjectGtk.h"
-#include "DragActions.h"
-#include "Frame.h"
-#include "GOwnPtr.h"
-#include "Geolocation.h"
-#include "HistoryItem.h"
-#include "InspectorClientGtk.h"
-#include "IntPoint.h"
-#include "IntRect.h"
-#include "FrameLoaderClient.h"
-#include "FullscreenVideoController.h"
-#include "Node.h"
-#include "Page.h"
-#include "PlatformString.h"
-#include "ResourceHandle.h"
-#include "ResourceRequest.h"
-#include "ResourceResponse.h"
-#include "WindowFeatures.h"
-#include "SecurityOrigin.h"
-#include "Settings.h"
-#include <enchant.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/text/CString.h>
-
-#include <atk/atk.h>
-#include <glib.h>
-#include <libsoup/soup.h>
-
-class DownloadClient;
-
-namespace WebKit {
-
- class DocumentLoader;
- class PasteboardHelperGtk;
-
- WebKitWebView* getViewFromFrame(WebKitWebFrame*);
-
- WebCore::Frame* core(WebKitWebFrame*);
- WebKitWebFrame* kit(WebCore::Frame*);
-
- WebCore::Page* core(WebKitWebView*);
- WebKitWebView* kit(WebCore::Page*);
-
- WebCore::HistoryItem* core(WebKitWebHistoryItem*);
- WebKitWebHistoryItem* kit(PassRefPtr<WebCore::HistoryItem>);
-
- WebCore::BackForwardListImpl* core(WebKitWebBackForwardList*);
-
- WebKitWebNavigationReason kit(WebCore::NavigationType type);
- WebCore::NavigationType core(WebKitWebNavigationReason reason);
-
- WebCore::ResourceRequest core(WebKitNetworkRequest* request);
-
- WebCore::ResourceResponse core(WebKitNetworkResponse* response);
-
- WebCore::EditingBehaviorType core(WebKitEditingBehavior type);
-
- WebKitSecurityOrigin* kit(WebCore::SecurityOrigin*);
- WebCore::SecurityOrigin* core(WebKitSecurityOrigin*);
-
- WebKitHitTestResult* kit(const WebCore::HitTestResult&);
-
- PasteboardHelperGtk* pasteboardHelperInstance();
-
- typedef struct DroppingContext_ {
- WebKitWebView* webView;
- GdkDragContext* gdkContext;
- RefPtr<WebCore::DataObjectGtk> dataObject;
- WebCore::IntPoint lastMotionPosition;
- int pendingDataRequests;
- bool dropHappened;
- } DroppingContext;
-}
-
-extern "C" {
- void webkit_init();
-
-#ifdef HAVE_GSETTINGS
- GSettings* inspectorGSettings();
-#endif
-
-#define WEBKIT_PARAM_READABLE ((GParamFlags)(G_PARAM_READABLE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB))
-#define WEBKIT_PARAM_READWRITE ((GParamFlags)(G_PARAM_READWRITE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB))
-
- #define WEBKIT_WEB_VIEW_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_VIEW, WebKitWebViewPrivate))
- typedef struct _WebKitWebViewPrivate WebKitWebViewPrivate;
- struct _WebKitWebViewPrivate {
- WebCore::Page* corePage;
- PlatformRefPtr<WebKitWebSettings> webSettings;
- PlatformRefPtr<WebKitWebInspector> webInspector;
- PlatformRefPtr<WebKitWebWindowFeatures> webWindowFeatures;
-
- WebKitWebFrame* mainFrame;
- PlatformRefPtr<WebKitWebBackForwardList> backForwardList;
-
- PlatformRefPtr<GtkMenu> currentMenu;
- gint lastPopupXPosition;
- gint lastPopupYPosition;
-
- HashSet<GtkWidget*> children;
- bool editable;
- PlatformRefPtr<GtkIMContext> imContext;
-
- gboolean transparent;
-
- PlatformRefPtr<GtkAdjustment> horizontalAdjustment;
- PlatformRefPtr<GtkAdjustment> verticalAdjustment;
-
-#ifndef GTK_API_VERSION_2
- // GtkScrollablePolicy needs to be checked when
- // driving the scrollable adjustment values
- GtkScrollablePolicy horizontalScrollingPolicy;
- GtkScrollablePolicy verticalScrollingPolicy;
-#endif
-
- gboolean zoomFullContent;
- WebKitLoadStatus loadStatus;
- CString encoding;
- CString customEncoding;
-
- CString iconURI;
-
- gboolean disposing;
- gboolean usePrimaryForPaste;
-
-#if ENABLE(VIDEO)
- FullscreenVideoController* fullscreenVideoController;
-#endif
-
- // These are hosted here because the DataSource object is
- // created too late in the frame loading process.
- PlatformRefPtr<WebKitWebResource> mainResource;
- CString mainResourceIdentifier;
- PlatformRefPtr<GHashTable> subResources;
- CString tooltipText;
- WebCore::IntRect tooltipArea;
-
- int currentClickCount;
- WebCore::IntPoint previousClickPoint;
- guint previousClickButton;
- guint32 previousClickTime;
- HashMap<GdkDragContext*, RefPtr<WebCore::DataObjectGtk> > draggingDataObjects;
- HashMap<GdkDragContext*, WebKit::DroppingContext*> droppingContexts;
- };
-
- #define WEBKIT_WEB_FRAME_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_FRAME, WebKitWebFramePrivate))
- typedef struct _WebKitWebFramePrivate WebKitWebFramePrivate;
- struct _WebKitWebFramePrivate {
- WebCore::Frame* coreFrame;
- WebKitWebView* webView;
-
- gchar* name;
- gchar* title;
- gchar* uri;
- WebKitLoadStatus loadStatus;
- WebKitSecurityOrigin* origin;
- };
-
-#define WEBKIT_SECURITY_ORIGIN_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_SECURITY_ORIGIN, WebKitSecurityOriginPrivate))
- struct _WebKitSecurityOriginPrivate {
- RefPtr<WebCore::SecurityOrigin> coreOrigin;
- gchar* protocol;
- gchar* host;
- GHashTable* webDatabases;
-
- gboolean disposed;
- };
-
- WTF::String
- webkitUserAgent();
-
- void
- webkit_web_frame_core_frame_gone(WebKitWebFrame*);
-
- // WebKitWebHistoryItem private
- WebKitWebHistoryItem*
- webkit_web_history_item_new_with_core_item(PassRefPtr<WebCore::HistoryItem> historyItem);
-
- WEBKIT_API G_CONST_RETURN gchar*
- webkit_web_history_item_get_target(WebKitWebHistoryItem*);
-
- WEBKIT_API gboolean
- webkit_web_history_item_is_target_item(WebKitWebHistoryItem*);
-
- WEBKIT_API GList*
- webkit_web_history_item_get_children(WebKitWebHistoryItem*);
- // end WebKitWebHistoryItem private
-
- // WebKitWebResource private
- #define WEBKIT_WEB_RESOURCE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_RESOURCE, WebKitWebResourcePrivate))
- struct _WebKitWebResourcePrivate {
- WebCore::ArchiveResource* resource;
-
- gchar* uri;
- gchar* mimeType;
- gchar* textEncoding;
- gchar* frameName;
-
- GString* data;
- };
- WebKitWebResource*
- webkit_web_resource_new_with_core_resource(PassRefPtr<WebCore::ArchiveResource>);
-
- void
- webkit_web_resource_init_with_core_resource(WebKitWebResource*, PassRefPtr<WebCore::ArchiveResource>);
-
- // end WebKitWebResource private
-
- void
- webkit_web_inspector_set_inspector_client(WebKitWebInspector*, WebCore::Page*);
-
- void
- webkit_web_inspector_set_web_view(WebKitWebInspector *web_inspector, WebKitWebView *web_view);
-
- void
- webkit_web_inspector_set_inspected_uri(WebKitWebInspector* web_inspector, const gchar* inspected_uri);
-
- WEBKIT_API void
- webkit_web_inspector_execute_script(WebKitWebInspector* inspector, long callId, const gchar* script);
-
-
- WebKitWebWindowFeatures*
- webkit_web_window_features_new_from_core_features (const WebCore::WindowFeatures& features);
-
- void
- webkit_web_view_notify_ready (WebKitWebView* web_view);
-
- void
- webkit_web_view_request_download(WebKitWebView* web_view, WebKitNetworkRequest* request, const WebCore::ResourceResponse& response = WebCore::ResourceResponse(), WebCore::ResourceHandle* handle = 0);
-
- void
- webkit_web_view_add_resource(WebKitWebView*, const char*, WebKitWebResource*);
-
- void
- webkit_web_view_remove_resource(WebKitWebView*, const char*);
-
- WebKitWebResource*
- webkit_web_view_get_resource(WebKitWebView*, char*);
-
- WebKitWebResource*
- webkit_web_view_get_main_resource(WebKitWebView*);
-
- void
- webkit_web_view_clear_resources(WebKitWebView*);
-
- GList*
- webkit_web_view_get_subresources(WebKitWebView*);
-
- void
- webkit_web_view_set_tooltip_text(WebKitWebView*, const char*);
-
- GtkMenu*
- webkit_web_view_get_context_menu(WebKitWebView*);
-
- WEBKIT_API void
- webkit_web_view_execute_core_command_by_name(WebKitWebView* webView, const gchar* name, const gchar* value);
-
- WEBKIT_API gboolean
- webkit_web_view_is_command_enabled(WebKitWebView* webView, const gchar* name);
-
- WebKitDownload*
- webkit_download_new_with_handle(WebKitNetworkRequest* request, WebCore::ResourceHandle* handle, const WebCore::ResourceResponse& response);
-
- void
- webkit_download_set_suggested_filename(WebKitDownload* download, const gchar* suggestedFilename);
-
- WebKitWebPolicyDecision*
- webkit_web_policy_decision_new (WebKitWebFrame*, WebCore::FramePolicyFunction);
-
- void
- webkit_web_policy_decision_cancel (WebKitWebPolicyDecision* decision);
-
- WebKitNetworkRequest*
- webkit_network_request_new_with_core_request(const WebCore::ResourceRequest& resourceRequest);
-
- WebKitNetworkResponse*
- webkit_network_response_new_with_core_response(const WebCore::ResourceResponse& resourceResponse);
-
- WebKitGeolocationPolicyDecision*
- webkit_geolocation_policy_decision_new(WebKitWebFrame*, WebCore::Geolocation*);
-
- // FIXME: move this to webkitnetworkrequest.h once the API is agreed upon.
- WEBKIT_API SoupMessage*
- webkit_network_request_get_message(WebKitNetworkRequest* request);
-
- // FIXME: move this functionality into a 'WebKitWebDataSource' once implemented
- WEBKIT_API gchar*
- webkit_web_frame_get_response_mime_type(WebKitWebFrame* frame);
-
- // FIXME: Move these to webkitwebframe.h once their API has been discussed.
-
- WEBKIT_API GSList*
- webkit_web_frame_get_children (WebKitWebFrame* frame);
-
- WEBKIT_API gchar*
- webkit_web_frame_get_inner_text (WebKitWebFrame* frame);
-
- WEBKIT_API gchar*
- webkit_web_frame_dump_render_tree (WebKitWebFrame* frame);
-
- WEBKIT_API gchar*
- webkit_web_frame_counter_value_for_element_by_id (WebKitWebFrame* frame, const gchar* id);
-
- WEBKIT_API int
- webkit_web_frame_page_number_for_element_by_id(WebKitWebFrame* frame, const gchar* id, float pageWidth, float pageHeight);
-
- WEBKIT_API int
- webkit_web_frame_number_of_pages(WebKitWebFrame* frame, float pageWidth, float pageHeight);
-
- WEBKIT_API guint
- webkit_web_frame_get_pending_unload_event_count(WebKitWebFrame* frame);
-
- WEBKIT_API bool
- webkit_web_frame_pause_animation(WebKitWebFrame* frame, const gchar* name, double time, const gchar* element);
-
- WEBKIT_API bool
- webkit_web_frame_pause_transition(WebKitWebFrame* frame, const gchar* name, double time, const gchar* element);
-
- WEBKIT_API bool
- webkit_web_frame_pause_svg_animation(WebKitWebFrame* frame, const gchar* animationId, double time, const gchar* elementId);
-
- WEBKIT_API gchar*
- webkit_web_frame_marker_text_for_list_item(WebKitWebFrame* frame, JSContextRef context, JSValueRef nodeObject);
-
- WEBKIT_API unsigned int
- webkit_web_frame_number_of_active_animations(WebKitWebFrame* frame);
-
- WEBKIT_API void
- webkit_web_frame_suspend_animations(WebKitWebFrame* frame);
-
- WEBKIT_API void
- webkit_web_frame_resume_animations(WebKitWebFrame* frame);
-
- WEBKIT_API void
- webkit_web_frame_clear_main_frame_name(WebKitWebFrame* frame);
-
- WEBKIT_API AtkObject*
- webkit_web_frame_get_focused_accessible_element(WebKitWebFrame* frame);
-
- WEBKIT_API gchar*
- webkit_web_view_get_selected_text (WebKitWebView* web_view);
-
- WEBKIT_API void
- webkit_web_settings_add_extra_plugin_directory (WebKitWebView *web_view, const gchar* directory);
-
- GSList*
- webkit_web_settings_get_enchant_dicts(WebKitWebView* web_view);
-
- bool
- webkit_web_view_use_primary_for_paste(WebKitWebView* web_view);
-
- GHashTable*
- webkit_history_items(void);
-
- WEBKIT_API void
- webkit_gc_collect_javascript_objects();
-
- WEBKIT_API void
- webkit_gc_collect_javascript_objects_on_alternate_thread(gboolean waitUntilDone);
-
- WEBKIT_API gsize
- webkit_gc_count_javascript_objects();
-
- WEBKIT_API void
- webkit_application_cache_set_maximum_size(unsigned long long size);
-
- WEBKIT_API unsigned int
- webkit_worker_thread_count();
-
- WEBKIT_API void
- webkit_white_list_access_from_origin(const gchar* sourceOrigin, const gchar* destinationProtocol, const gchar* destinationHost, bool allowDestinationSubdomains);
-
- WEBKIT_API void
- webkit_reset_origin_access_white_lists();
-
- // WebKitWebDataSource private
- WebKitWebDataSource*
- webkit_web_data_source_new_with_loader(PassRefPtr<WebKit::DocumentLoader>);
-
- WEBKIT_API WebKitWebDatabase *
- webkit_security_origin_get_web_database(WebKitSecurityOrigin* securityOrigin, const char* databaseName);
-
- WEBKIT_API void
- webkit_web_frame_layout(WebKitWebFrame* frame);
-
- void webkitWebViewEnterFullscreen(WebKitWebView* webView, WebCore::Node* node);
- void webkitWebViewExitFullscreen(WebKitWebView* webView);
-}
-
-#endif
diff --git a/WebKit/gtk/webkit/webkitsecurityorigin.cpp b/WebKit/gtk/webkit/webkitsecurityorigin.cpp
index 92d19e7..5f9afae 100644
--- a/WebKit/gtk/webkit/webkitsecurityorigin.cpp
+++ b/WebKit/gtk/webkit/webkitsecurityorigin.cpp
@@ -18,15 +18,14 @@
*/
#include "config.h"
-#include "webkitwebdatabase.h"
+#include "webkitsecurityorigin.h"
-#include "webkitprivate.h"
-
-#include "PlatformString.h"
#include "DatabaseTracker.h"
-#include <wtf/text/CString.h>
-
+#include "PlatformString.h"
+#include "webkitglobalsprivate.h"
+#include "webkitsecurityoriginprivate.h"
#include <glib/gi18n-lib.h>
+#include <wtf/text/CString.h>
/**
* SECTION:webkitsecurityorigin
@@ -213,7 +212,7 @@ static void webkit_security_origin_class_init(WebKitSecurityOriginClass* klass)
static void webkit_security_origin_init(WebKitSecurityOrigin* securityOrigin)
{
- WebKitSecurityOriginPrivate* priv = WEBKIT_SECURITY_ORIGIN_GET_PRIVATE(securityOrigin);
+ WebKitSecurityOriginPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(securityOrigin, WEBKIT_TYPE_SECURITY_ORIGIN, WebKitSecurityOriginPrivate);
priv->webDatabases = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_object_unref);
securityOrigin->priv = priv;
}
@@ -379,46 +378,48 @@ GList* webkit_security_origin_get_all_web_databases(WebKitSecurityOrigin* securi
return databases;
}
-WebKitSecurityOrigin* WebKit::kit(WebCore::SecurityOrigin* coreOrigin)
+WebKitWebDatabase* webkit_security_origin_get_web_database(WebKitSecurityOrigin* securityOrigin, const gchar* databaseName)
{
- ASSERT(coreOrigin);
+ g_return_val_if_fail(WEBKIT_IS_SECURITY_ORIGIN(securityOrigin), NULL);
- GHashTable* table = webkit_security_origins();
- WebKitSecurityOrigin* origin = (WebKitSecurityOrigin*) g_hash_table_lookup(table, coreOrigin);
+ WebKitSecurityOriginPrivate* priv = securityOrigin->priv;
+ GHashTable* databaseHash = priv->webDatabases;
+ WebKitWebDatabase* database = (WebKitWebDatabase*) g_hash_table_lookup(databaseHash, databaseName);
- if (!origin) {
- origin = WEBKIT_SECURITY_ORIGIN(g_object_new(WEBKIT_TYPE_SECURITY_ORIGIN, NULL));
- origin->priv->coreOrigin = coreOrigin;
- g_hash_table_insert(table, coreOrigin, origin);
+ if (!database) {
+ database = WEBKIT_WEB_DATABASE(g_object_new(WEBKIT_TYPE_WEB_DATABASE,
+ "security-origin", securityOrigin,
+ "name", databaseName,
+ NULL));
+ g_hash_table_insert(databaseHash, g_strdup(databaseName), database);
}
- return origin;
+ return database;
}
+namespace WebKit {
-WebCore::SecurityOrigin* WebKit::core(WebKitSecurityOrigin* securityOrigin)
+WebCore::SecurityOrigin* core(WebKitSecurityOrigin* securityOrigin)
{
ASSERT(securityOrigin);
return securityOrigin->priv->coreOrigin.get();
}
-WebKitWebDatabase* webkit_security_origin_get_web_database(WebKitSecurityOrigin* securityOrigin, const gchar* databaseName)
+WebKitSecurityOrigin* kit(WebCore::SecurityOrigin* coreOrigin)
{
- g_return_val_if_fail(WEBKIT_IS_SECURITY_ORIGIN(securityOrigin), NULL);
+ ASSERT(coreOrigin);
- WebKitSecurityOriginPrivate* priv = securityOrigin->priv;
- GHashTable* databaseHash = priv->webDatabases;
- WebKitWebDatabase* database = (WebKitWebDatabase*) g_hash_table_lookup(databaseHash, databaseName);
+ GHashTable* table = webkit_security_origins();
+ WebKitSecurityOrigin* origin = (WebKitSecurityOrigin*) g_hash_table_lookup(table, coreOrigin);
- if (!database) {
- database = WEBKIT_WEB_DATABASE(g_object_new(WEBKIT_TYPE_WEB_DATABASE,
- "security-origin", securityOrigin,
- "name", databaseName,
- NULL));
- g_hash_table_insert(databaseHash, g_strdup(databaseName), database);
+ if (!origin) {
+ origin = WEBKIT_SECURITY_ORIGIN(g_object_new(WEBKIT_TYPE_SECURITY_ORIGIN, NULL));
+ origin->priv->coreOrigin = coreOrigin;
+ g_hash_table_insert(table, coreOrigin, origin);
}
- return database;
+ return origin;
}
+}
diff --git a/WebKit/gtk/webkit/webkitsecurityoriginprivate.h b/WebKit/gtk/webkit/webkitsecurityoriginprivate.h
new file mode 100644
index 0000000..5a4a87b
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitsecurityoriginprivate.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitsecurityoriginprivate_h
+#define webkitnavigationactionprivate_h
+
+#include "SecurityOrigin.h"
+#include "webkitsecurityorigin.h"
+
+namespace WebKit {
+
+WebKitSecurityOrigin* kit(WebCore::SecurityOrigin*);
+WebCore::SecurityOrigin* core(WebKitSecurityOrigin*);
+
+}
+
+extern "C" {
+
+struct _WebKitSecurityOriginPrivate {
+ RefPtr<WebCore::SecurityOrigin> coreOrigin;
+ gchar* protocol;
+ gchar* host;
+ GHashTable* webDatabases;
+
+ gboolean disposed;
+};
+
+WEBKIT_API WebKitWebDatabase* webkit_security_origin_get_web_database(WebKitSecurityOrigin*, const char*);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitsoupauthdialog.h b/WebKit/gtk/webkit/webkitsoupauthdialog.h
index db0ccb8..08b7c9f 100644
--- a/WebKit/gtk/webkit/webkitsoupauthdialog.h
+++ b/WebKit/gtk/webkit/webkitsoupauthdialog.h
@@ -17,14 +17,12 @@
* Boston, MA 02110-1301, USA.
*/
-#include <gtk/gtk.h>
-#include <libsoup/soup.h>
-
-#include <webkit/webkitdefines.h>
-
#ifndef webkitsoupauthdialog_h
#define webkitsoupauthdialog_h
+#include <gtk/gtk.h>
+#include <webkit/webkitdefines.h>
+
G_BEGIN_DECLS
#define WEBKIT_TYPE_SOUP_AUTH_DIALOG (webkit_soup_auth_dialog_get_type ())
diff --git a/WebKit/gtk/webkit/webkitviewportattributes.cpp b/WebKit/gtk/webkit/webkitviewportattributes.cpp
new file mode 100644
index 0000000..9a98e44
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitviewportattributes.cpp
@@ -0,0 +1,571 @@
+/*
+ * Copyright (C) 2010 Joone Hur <joone@kldp.org>
+ * Copyright (C) 2010 Collabora Ltd.
+ *
+ * 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 "config.h"
+#include "webkitviewportattributes.h"
+
+#include "Chrome.h"
+#include "Frame.h"
+#include "Page.h"
+#include "webkitglobalsprivate.h"
+#include "webkitviewportattributesprivate.h"
+#include "webkitwebviewprivate.h"
+#include <glib/gi18n-lib.h>
+
+/**
+ * SECTION:webkitviewportattributes
+ * @short_description: Represents the viewport properties of a web page
+ * @see_also: #WebKitWebView::viewport-attributes-recompute-requested
+ * @see_also: #WebKitWebView::viewport-attributes-changed
+ *
+ * #WebKitViewportAttributes offers the viewport properties to user agents to
+ * control the viewport layout. It contains the viewport size, initial scale with limits,
+ * and information about whether a user is able to scale the contents in the viewport.
+ * This makes a web page fit the device screen.
+ *
+ * The #WebKitWebView::viewport-attributes-changed signal will be emitted with #WebKitViewportAttributes
+ * when the viewport attributes are updated in the case of loading web pages contain
+ * the viewport properties and calling webkit_viewport_attributes_recompute.
+ *
+ * If the device size, available size, desktop width, or device DPI needs to be changed due to
+ * a consequence of an explicit browser request (caused by screen rotation, resizing, or similar reasons),
+ * You should call #webkit_viewport_attributes_recompute to recompute the viewport properties and
+ * override those values in the handler of #WebKitWebView::viewport-attributes-recompute-requested signal.
+ *
+ * For more information on the viewport properties, refer to the Safari reference library at
+ * http://developer.apple.com/safari/library/documentation/appleapplications/reference/safarihtmlref/articles/metatags.html
+ *
+ * <informalexample><programlisting>
+ * /<!-- -->* Connect to the viewport-attributes-changes signal *<!-- -->/
+ * WebKitViewportAttributes* attributes = webkit_web_view_get_viewport_attributes (web_view);
+ * g_signal_connect (web_view, "viewport-attributes-recompute-requested", G_CALLBACK (viewport_recompute_cb), window);
+ * g_signal_connect (web_view, "viewport-attributes-changed", G_CALLBACK (viewport_changed_cb), window);
+ * g_signal_connect (attributes, "notify::valid", G_CALLBACK (viewport_valid_changed_cb), web_view);
+ *
+ * /<!-- -->* Handle the viewport-attributes-recompute-requested signal to override the device width *<!-- -->/
+ * static void
+ * viewport_recompute_cb (WebKitWebView* web_view, WebKitViewportAttributes* attributes, GtkWidget* window)
+ * {
+ * int override_available_width = 480;
+ * g_object_set (G_OBJECT(attributes), "available-width", override_available_width, NULL);
+ * }
+ *
+ * /<!-- -->* Handle the viewport-attributes-changed signal to recompute the initial scale factor *<!-- -->/
+ * static void
+ * viewport_changed_cb (WebKitWebView* web_view, WebKitViewportAttributes* attributes, gpointer data)
+ * {
+ * gfloat initialScale;
+ * g_object_get (G_OBJECT (atributes), "initial-scale-factor", &initialScale, NULL);
+ * webkit_web_view_set_zoom_level (web_view, initialScale);
+ * }
+ *
+ * /<!-- -->* Handle the notify::valid signal to initialize the zoom level *<!-- -->/
+ * static void
+ * viewport_valid_changed_cb (WebKitViewportAttributes* attributes, GParamSpec* pspec, WebKitWebView* web_view)
+ * {
+ * gboolean is_valid;
+ * g_object_get (attributes, "valid", &is_valid, NULL);
+ * if (!is_valid)
+ * webkit_web_view_set_zoom_level (web_view, 1.0);
+ * }
+ * </programlisting></informalexample>
+ */
+
+using namespace WebKit;
+using namespace WebCore;
+
+enum {
+ PROP_0,
+
+ PROP_DEVICE_WIDTH,
+ PROP_DEVICE_HEIGHT,
+ PROP_AVAILABLE_WIDTH,
+ PROP_AVAILABLE_HEIGHT,
+ PROP_DESKTOP_WIDTH,
+ PROP_DEVICE_DPI,
+ PROP_WIDTH,
+ PROP_HEIGHT,
+ PROP_INITIAL_SCALE_FACTOR,
+ PROP_MINIMUM_SCALE_FACTOR,
+ PROP_MAXIMUM_SCALE_FACTOR,
+ PROP_DEVICE_PIXEL_RATIO,
+ PROP_USER_SCALABLE,
+ PROP_VALID
+};
+
+G_DEFINE_TYPE(WebKitViewportAttributes, webkit_viewport_attributes, G_TYPE_OBJECT);
+
+static void webkit_viewport_attributes_get_property(GObject* object, guint propertyID, GValue* value, GParamSpec* paramSpec);
+static void webkit_viewport_attributes_set_property(GObject* object, guint propertyID, const GValue* value, GParamSpec* paramSpec);
+
+static void webkit_viewport_attributes_class_init(WebKitViewportAttributesClass* kclass)
+{
+ GObjectClass* gobjectClass = G_OBJECT_CLASS(kclass);
+ gobjectClass->get_property = webkit_viewport_attributes_get_property;
+ gobjectClass->set_property = webkit_viewport_attributes_set_property;
+
+ /**
+ * WebKitViewportAttributs:device-width:
+ *
+ * The width of the screen. This value is always automatically
+ * pre-computed during a viewport attributes recomputation, and
+ * can be overridden by the handler of
+ * WebKitWebView::viewport-attributes-recompute-requested. You
+ * should not do that unless you have a very good reason.
+ *
+ * Since: 1.3.8
+ */
+ g_object_class_install_property(gobjectClass,
+ PROP_DEVICE_WIDTH,
+ g_param_spec_int(
+ "device-width",
+ _("Device Width"),
+ _("The width of the screen."),
+ 0,
+ G_MAXINT,
+ 0,
+ WEBKIT_PARAM_READWRITE));
+
+ /**
+ * WebKitViewportAttributs:device-height:
+ *
+ * The height of the screen. This value is always automatically
+ * pre-computed during a viewport attributes recomputation, and
+ * can be overriden by the handler of
+ * WebKitWebView::viewport-attributes-recompute-requested. You
+ * should not do that unless you have a very good reason.
+ *
+ * Since: 1.3.8
+ */
+ g_object_class_install_property(gobjectClass,
+ PROP_DEVICE_HEIGHT,
+ g_param_spec_int(
+ "device-height",
+ _("Device Height"),
+ _("The height of the screen."),
+ 0,
+ G_MAXINT,
+ 0,
+ WEBKIT_PARAM_READWRITE));
+
+ /**
+ * WebKitViewportAttributs:available-width:
+ *
+ * The width of the current visible area. This will usually be the
+ * same as the space allocated to the widget, but in some cases
+ * you may have decided to make the widget bigger than the visible
+ * area. This value is by default initialized to the size
+ * allocated by the widget, but you can override it in the handler
+ * of WebKitWebView::viewport-attributes-recompute-requested to
+ * let the engine know what the visible area is.
+ *
+ * Since: 1.3.8
+ */
+ g_object_class_install_property(gobjectClass,
+ PROP_AVAILABLE_WIDTH,
+ g_param_spec_int(
+ "available-width",
+ _("Available Width"),
+ _("The width of the visible area."),
+ 0,
+ G_MAXINT,
+ 0,
+ WEBKIT_PARAM_READWRITE));
+
+ /**
+ * WebKitViewportAttributs:available-height:
+ *
+ * The height of the current visible area. This will usually be the
+ * same as the space allocated to the widget, but in some cases
+ * you may have decided to make the widget bigger than the visible
+ * area. This value is by default initialized to the size
+ * allocated by the widget, but you can override it in the handler
+ * of WebKitWebView::viewport-attributes-recompute-requested to
+ * let the engine know what the visible area is.
+ *
+ * Since: 1.3.8
+ */
+ g_object_class_install_property(gobjectClass,
+ PROP_AVAILABLE_HEIGHT,
+ g_param_spec_int(
+ "available-height",
+ _("Available Height"),
+ _("The height of the visible area."),
+ 0,
+ G_MAXINT,
+ 0,
+ WEBKIT_PARAM_READWRITE));
+
+ /**
+ * WebKitViewportAttributs:desktop-width:
+ *
+ * The width of viewport that works well for most web pages designed for
+ * desktop. This value is initialized to 980 pixels by default and used
+ * during a viewport attributes recomputation. Also, it can be overriden by
+ * the handler of WebKitWebView::viewport-attributes-recompute-requested.
+ * You should not do that unless you have a very good reason.
+ *
+ * Since: 1.3.8
+ */
+ g_object_class_install_property(gobjectClass,
+ PROP_DESKTOP_WIDTH,
+ g_param_spec_int(
+ "desktop-width",
+ _("Desktop Width"),
+ _("The width of viewport that works well for most web pages designed for desktop."),
+ 0,
+ G_MAXINT,
+ 980,
+ WEBKIT_PARAM_READWRITE));
+
+ /**
+ * WebKitViewportAttributs:device-dpi:
+ *
+ * The number of dots per inch of the screen. This value is
+ * initialized to 160 dpi by default and used during a viewport
+ * attributes recomputation, because it is the dpi of the original
+ * iPhone and Android devices. Also, it can be overriden by the
+ * handler of WebKitWebView::viewport-attributes-recompute-requested.
+ * You should not do that unless you have a very good reason.
+ *
+ * Since: 1.3.8
+ */
+ g_object_class_install_property(gobjectClass,
+ PROP_DEVICE_DPI,
+ g_param_spec_int(
+ "device-dpi",
+ _("Device DPI"),
+ _("The number of dots per inch of the screen."),
+ 0,
+ G_MAXINT,
+ 160,
+ WEBKIT_PARAM_READWRITE));
+
+ /**
+ * WebKitViewportAttributs:width:
+ *
+ * The width of the viewport. Before getting this property,
+ * you need to make sure that #WebKitViewportAttributes is valid.
+ *
+ * Since: 1.3.8
+ */
+ g_object_class_install_property(gobjectClass,
+ PROP_WIDTH,
+ g_param_spec_int(
+ "width",
+ _("Width"),
+ _("The width of the viewport."),
+ 0,
+ G_MAXINT,
+ 0,
+ WEBKIT_PARAM_READABLE));
+
+ /**
+ * WebKitViewportAttributs:height:
+ *
+ * The height of the viewport. Before getting this property,
+ * you need to make sure that #WebKitViewportAttributes is valid.
+ *
+ * Since: 1.3.8
+ */
+ g_object_class_install_property(gobjectClass,
+ PROP_HEIGHT,
+ g_param_spec_int(
+ "height",
+ _("Height"),
+ _("The height of the viewport."),
+ 0,
+ G_MAXINT,
+ 0,
+ WEBKIT_PARAM_READABLE));
+
+ /**
+ * WebKitViewportAttributs:initial-scale-factor:
+ *
+ * The initial scale of the viewport. Before getting this property,
+ * you need to make sure that #WebKitViewportAttributes is valid.
+ *
+ * Since: 1.3.8
+ */
+ g_object_class_install_property(gobjectClass,
+ PROP_INITIAL_SCALE_FACTOR,
+ g_param_spec_float(
+ "initial-scale-factor",
+ _("Initial Scale Factor"),
+ _("The initial scale of the viewport."),
+ -1,
+ G_MAXFLOAT,
+ -1,
+ WEBKIT_PARAM_READABLE));
+
+ /**
+ * WebKitViewportAttributs:minimum-scale-factor:
+ *
+ * The minimum scale of the viewport. Before getting this property,
+ * you need to make sure that #WebKitViewportAttributes is valid.
+ *
+ * Since: 1.3.8
+ */
+ g_object_class_install_property(gobjectClass,
+ PROP_MINIMUM_SCALE_FACTOR,
+ g_param_spec_float(
+ "minimum-scale-factor",
+ _("Minimum Scale Factor"),
+ _("The minimum scale of the viewport."),
+ -1,
+ G_MAXFLOAT,
+ -1,
+ WEBKIT_PARAM_READABLE));
+
+ /**
+ * WebKitViewportAttributs:maximum-scale-factor:
+ *
+ * The maximum scale of the viewport. Before getting this property,
+ * you need to make sure that #WebKitViewportAttributes is valid.
+ *
+ * Since: 1.3.8
+ */
+ g_object_class_install_property(gobjectClass,
+ PROP_MAXIMUM_SCALE_FACTOR,
+ g_param_spec_float(
+ "maximum-scale-factor",
+ _("Maximum Scale Factor"),
+ _("The maximum scale of the viewport."),
+ -1,
+ G_MAXFLOAT,
+ -1,
+ WEBKIT_PARAM_READABLE));
+
+ /**
+ * WebKitViewportAttributs:device-pixel-ratio:
+ *
+ * The device pixel ratio of the viewport. Before getting this property,
+ * you need to make sure that #WebKitViewportAttributes is valid.
+ *
+ * Since: 1.3.8
+ */
+ g_object_class_install_property(gobjectClass,
+ PROP_DEVICE_PIXEL_RATIO,
+ g_param_spec_float(
+ "device-pixel-ratio",
+ _("Device Pixel Ratio"),
+ _("The device pixel ratio of the viewport."),
+ -1,
+ G_MAXFLOAT,
+ -1,
+ WEBKIT_PARAM_READABLE));
+
+ /**
+ * WebKitViewportAttributs:user-scalable:
+ *
+ * Determines whether or not the user can zoom in and out.
+ * Before getting this property, you need to make sure that
+ * #WebKitViewportAttributes is valid.
+ *
+ * Since: 1.3.8
+ */
+ g_object_class_install_property(gobjectClass,
+ PROP_USER_SCALABLE,
+ g_param_spec_boolean(
+ _("user-scalable"),
+ _("User Scalable"),
+ _("Determines whether or not the user can zoom in and out."),
+ TRUE,
+ WEBKIT_PARAM_READABLE));
+
+ /**
+ * WebKitViewportAttributs:valid:
+ *
+ * Determines whether or not the attributes are valid.
+ * #WebKitViewportAttributes are only valid on pages
+ * which have a viewport meta tag, and have already
+ * had the attributes calculated.
+ *
+ * Since: 1.3.8
+ */
+ g_object_class_install_property(gobjectClass,
+ PROP_VALID,
+ g_param_spec_boolean(
+ _("valid"),
+ _("Valid"),
+ _("Determines whether or not the attributes are valid, and can be used."),
+ FALSE,
+ WEBKIT_PARAM_READABLE));
+
+ g_type_class_add_private(kclass, sizeof(WebKitViewportAttributesPrivate));
+}
+
+static void webkit_viewport_attributes_init(WebKitViewportAttributes* viewport)
+{
+ viewport->priv = G_TYPE_INSTANCE_GET_PRIVATE(viewport, WEBKIT_TYPE_VIEWPORT_ATTRIBUTES, WebKitViewportAttributesPrivate);
+
+ viewport->priv->deviceWidth = 0;
+ viewport->priv->deviceHeight = 0;
+ viewport->priv->availableWidth = 0;
+ viewport->priv->availableHeight = 0;
+ viewport->priv->desktopWidth = 980; // This value works well for most web pages designed for desktop browsers.
+ viewport->priv->deviceDPI = 160; // It is the dpi of the original iPhone and Android devices.
+ viewport->priv->width = 0;
+ viewport->priv->height = 0;
+ viewport->priv->initialScaleFactor = -1;
+ viewport->priv->minimumScaleFactor = -1;
+ viewport->priv->maximumScaleFactor = -1;
+ viewport->priv->devicePixelRatio = -1;
+ viewport->priv->userScalable = TRUE;
+ viewport->priv->isValid = FALSE;
+}
+
+static void webkit_viewport_attributes_get_property(GObject* object, guint propertyID, GValue* value, GParamSpec* paramSpec)
+{
+ WebKitViewportAttributes* viewportAttributes = WEBKIT_VIEWPORT_ATTRIBUTES(object);
+ WebKitViewportAttributesPrivate* priv = viewportAttributes->priv;
+
+ switch (propertyID) {
+ case PROP_DEVICE_WIDTH:
+ g_value_set_int(value, priv->deviceWidth);
+ break;
+ case PROP_DEVICE_HEIGHT:
+ g_value_set_int(value, priv->deviceHeight);
+ break;
+ case PROP_AVAILABLE_WIDTH:
+ g_value_set_int(value, priv->availableWidth);
+ break;
+ case PROP_AVAILABLE_HEIGHT:
+ g_value_set_int(value, priv->availableHeight);
+ break;
+ case PROP_DESKTOP_WIDTH:
+ g_value_set_int(value, priv->desktopWidth);
+ break;
+ case PROP_DEVICE_DPI:
+ g_value_set_int(value, priv->deviceDPI);
+ break;
+ case PROP_WIDTH:
+ g_value_set_int(value, priv->width);
+ break;
+ case PROP_HEIGHT:
+ g_value_set_int(value, priv->height);
+ break;
+ case PROP_INITIAL_SCALE_FACTOR:
+ g_value_set_float(value, priv->initialScaleFactor);
+ break;
+ case PROP_MINIMUM_SCALE_FACTOR:
+ g_value_set_float(value, priv->minimumScaleFactor);
+ break;
+ case PROP_MAXIMUM_SCALE_FACTOR:
+ g_value_set_float(value, priv->maximumScaleFactor);
+ break;
+ case PROP_DEVICE_PIXEL_RATIO:
+ g_value_set_float(value, priv->devicePixelRatio);
+ break;
+ case PROP_USER_SCALABLE:
+ g_value_set_boolean(value, priv->userScalable);
+ break;
+ case PROP_VALID:
+ g_value_set_boolean(value, priv->isValid);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyID, paramSpec);
+ break;
+ }
+}
+
+static void webkit_viewport_attributes_set_property(GObject* object, guint propertyID, const GValue* value, GParamSpec* paramSpec)
+{
+ WebKitViewportAttributes* viewportAttributes = WEBKIT_VIEWPORT_ATTRIBUTES(object);
+ WebKitViewportAttributesPrivate* priv = viewportAttributes->priv;
+
+ switch (propertyID) {
+ case PROP_DEVICE_WIDTH:
+ priv->deviceWidth = g_value_get_int(value);
+ break;
+ case PROP_DEVICE_HEIGHT:
+ priv->deviceHeight = g_value_get_int(value);
+ break;
+ case PROP_AVAILABLE_WIDTH:
+ priv->availableWidth = g_value_get_int(value);
+ break;
+ case PROP_AVAILABLE_HEIGHT:
+ priv->availableHeight = g_value_get_int(value);
+ break;
+ case PROP_DESKTOP_WIDTH:
+ priv->desktopWidth = g_value_get_int(value);
+ break;
+ case PROP_DEVICE_DPI:
+ priv->deviceDPI = g_value_get_int(value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyID, paramSpec);
+ break;
+ }
+}
+
+void webkitViewportAttributesRecompute(WebKitViewportAttributes* viewportAttributes)
+{
+ WebKitViewportAttributesPrivate* priv = viewportAttributes->priv;
+ WebKitWebView* webView = priv->webView;
+
+ IntRect windowRect(webView->priv->corePage->chrome()->windowRect());
+ priv->deviceWidth = windowRect.width();
+ priv->deviceHeight = windowRect.height();
+
+ IntRect rect(webView->priv->corePage->chrome()->pageRect());
+ priv->availableWidth = rect.width();
+ priv->availableHeight = rect.height();
+
+ // First of all, we give the application an opportunity to override some of the values.
+ g_signal_emit_by_name(webView, "viewport-attributes-recompute-requested", viewportAttributes);
+
+ ViewportArguments arguments = webView->priv->corePage->mainFrame()->document()->viewportArguments();
+
+ ViewportAttributes attributes = computeViewportAttributes(arguments, priv->desktopWidth, priv->deviceWidth, priv->deviceHeight, priv->deviceDPI, IntSize(priv->availableWidth, priv->availableHeight));
+
+ priv->width = attributes.layoutSize.width();
+ priv->height = attributes.layoutSize.height();
+ priv->initialScaleFactor = attributes.initialScale;
+ priv->minimumScaleFactor = attributes.minimumScale;
+ priv->maximumScaleFactor = attributes.maximumScale;
+ priv->devicePixelRatio = attributes.devicePixelRatio;
+ priv->userScalable = arguments.userScalable;
+
+ if (!priv->isValid) {
+ priv->isValid = TRUE;
+ g_object_notify(G_OBJECT(viewportAttributes), "valid");
+ }
+
+ // Now let the application know it is safe to use the new values.
+ g_signal_emit_by_name(webView, "viewport-attributes-changed", viewportAttributes);
+}
+
+/**
+ * webkit_viewport_attributes_recompute:
+ * @viewportAttributes: a #WebKitViewportAttributes
+ *
+ * Recompute the optimal viewport attributes and emit the viewport-attribute-changed signal.
+ * The viewport-attributes-recompute-requested signal also will be handled to override
+ * the device size, available size, desktop width, or device DPI.
+ *
+ * Since: 1.3.8
+ */
+void webkit_viewport_attributes_recompute(WebKitViewportAttributes* viewportAttributes)
+{
+ if (!viewportAttributes->priv->isValid)
+ return;
+ webkitViewportAttributesRecompute(viewportAttributes);
+}
diff --git a/WebKit/gtk/webkit/webkitviewportattributes.h b/WebKit/gtk/webkit/webkitviewportattributes.h
new file mode 100644
index 0000000..7d90c1b
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitviewportattributes.h
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2010 Joone Hur <joone@kldp.org>
+ *
+ * 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.
+ */
+
+#ifndef webkitviewportattributes_h
+#define webkitviewportattributes_h
+
+#include <glib-object.h>
+#include <webkit/webkitdefines.h>
+
+G_BEGIN_DECLS
+
+#define WEBKIT_TYPE_VIEWPORT_ATTRIBUTES (webkit_viewport_attributes_get_type())
+#define WEBKIT_VIEWPORT_ATTRIBUTES(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_VIEWPORT_ATTRIBUTES, WebKitViewportAttributes))
+#define WEBKIT_VIEWPORT_ATTRIBUTES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_VIEWPORT_ATTRIBUTES, WebKitViewportAttributesClass))
+#define WEBKIT_IS_VIEWPORT_ATTRIBUTES(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_VIEWPORT_ATTRIBUTES))
+#define WEBKIT_IS_VIEWPORT_ATTRIBUTES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_VIEWPORT_ATTRIBUTES))
+#define WEBKIT_VIEWPORT_ATTRIBUTES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_VIEWPORT_ATTRIBUTES, WebKitViewportAttributesClass))
+
+typedef struct _WebKitViewportAttributesPrivate WebKitViewportAttributesPrivate;
+
+struct _WebKitViewportAttributes {
+ GObject parent_instance;
+
+ /*< private >*/
+ WebKitViewportAttributesPrivate *priv;
+};
+
+struct _WebKitViewportAttributesClass {
+ GObjectClass parent_class;
+
+ /* Padding for future expansion */
+ void (*_webkit_reserved0) (void);
+ void (*_webkit_reserved1) (void);
+ void (*_webkit_reserved2) (void);
+ void (*_webkit_reserved3) (void);
+};
+
+WEBKIT_API GType
+webkit_viewport_attributes_get_type (void);
+
+WEBKIT_API void
+webkit_viewport_attributes_recompute(WebKitViewportAttributes* viewportAttributes);
+
+G_END_DECLS
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitviewportattributesprivate.h b/WebKit/gtk/webkit/webkitviewportattributesprivate.h
new file mode 100644
index 0000000..11cb668
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitviewportattributesprivate.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitviewportattributesprivate_h
+#define webkitnavigationactionprivate_h
+
+#include <webkit/webkitviewportattributes.h>
+
+extern "C" {
+
+struct _WebKitViewportAttributesPrivate {
+ WebKitWebView* webView;
+ int deviceWidth;
+ int deviceHeight;
+ int availableWidth;
+ int availableHeight;
+ int desktopWidth;
+ int deviceDPI;
+
+ int width;
+ int height;
+ float initialScaleFactor;
+ float minimumScaleFactor;
+ float maximumScaleFactor;
+ float devicePixelRatio;
+ gboolean userScalable;
+ gboolean isValid;
+};
+
+
+void webkitViewportAttributesRecompute(WebKitViewportAttributes*);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp b/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp
index 9b5bf8b..62f7e8c 100644
--- a/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp
+++ b/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp
@@ -23,9 +23,13 @@
#include "BackForwardListImpl.h"
#include "HistoryItem.h"
-#include "webkitprivate.h"
+#include "Page.h"
+#include "webkitglobalsprivate.h"
+#include "webkitwebbackforwardlistprivate.h"
#include "webkitwebhistoryitem.h"
+#include "webkitwebhistoryitemprivate.h"
#include "webkitwebview.h"
+#include "webkitwebviewprivate.h"
#include <glib.h>
/**
@@ -55,8 +59,6 @@ struct _WebKitWebBackForwardListPrivate {
gboolean disposed;
};
-#define WEBKIT_WEB_BACK_FORWARD_LIST_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_BACK_FORWARD_LIST, WebKitWebBackForwardListPrivate))
-
G_DEFINE_TYPE(WebKitWebBackForwardList, webkit_web_back_forward_list, G_TYPE_OBJECT);
static void webkit_web_back_forward_list_dispose(GObject* object)
@@ -83,14 +85,14 @@ static void webkit_web_back_forward_list_class_init(WebKitWebBackForwardListClas
object_class->dispose = webkit_web_back_forward_list_dispose;
- webkit_init();
+ webkitInit();
g_type_class_add_private(klass, sizeof(WebKitWebBackForwardListPrivate));
}
static void webkit_web_back_forward_list_init(WebKitWebBackForwardList* webBackForwardList)
{
- webBackForwardList->priv = WEBKIT_WEB_BACK_FORWARD_LIST_GET_PRIVATE(webBackForwardList);
+ webBackForwardList->priv = G_TYPE_INSTANCE_GET_PRIVATE(webBackForwardList, WEBKIT_TYPE_WEB_BACK_FORWARD_LIST, WebKitWebBackForwardListPrivate);
}
/**
diff --git a/WebKit/gtk/webkit/webkitwebbackforwardlistprivate.h b/WebKit/gtk/webkit/webkitwebbackforwardlistprivate.h
new file mode 100644
index 0000000..79424c0
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebbackforwardlistprivate.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitwebbackforwardlistprivate_h
+#define webkitwebbackforwardlistprivate_h
+
+#include "BackForwardListImpl.h"
+
+namespace WebKit {
+
+WebCore::BackForwardListImpl* core(WebKitWebBackForwardList*);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebdatabase.cpp b/WebKit/gtk/webkit/webkitwebdatabase.cpp
index 680d9c9..1291986 100644
--- a/WebKit/gtk/webkit/webkitwebdatabase.cpp
+++ b/WebKit/gtk/webkit/webkitwebdatabase.cpp
@@ -20,13 +20,12 @@
#include "config.h"
#include "webkitwebdatabase.h"
-#include "webkitprivate.h"
-
#include "DatabaseDetails.h"
#include "DatabaseTracker.h"
-#include <wtf/text/CString.h>
-
+#include "webkitglobalsprivate.h"
+#include "webkitsecurityoriginprivate.h"
#include <glib/gi18n-lib.h>
+#include <wtf/text/CString.h>
/**
* SECTION:webkitwebdatabase
@@ -78,8 +77,6 @@ struct _WebKitWebDatabasePrivate {
static gchar* webkit_database_directory_path = NULL;
static guint64 webkit_default_database_quota = 5 * 1024 * 1024;
-#define WEBKIT_WEB_DATABASE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_DATABASE, WebKitWebDatabasePrivate))
-
static void webkit_web_database_set_security_origin(WebKitWebDatabase* webDatabase, WebKitSecurityOrigin* security_origin);
static void webkit_web_database_set_name(WebKitWebDatabase* webDatabase, const gchar* name);
@@ -251,7 +248,7 @@ static void webkit_web_database_class_init(WebKitWebDatabaseClass* klass)
static void webkit_web_database_init(WebKitWebDatabase* webDatabase)
{
- webDatabase->priv = WEBKIT_WEB_DATABASE_GET_PRIVATE(webDatabase);
+ webDatabase->priv = G_TYPE_INSTANCE_GET_PRIVATE(webDatabase, WEBKIT_TYPE_WEB_DATABASE, WebKitWebDatabasePrivate);
}
// Internal use only
diff --git a/WebKit/gtk/webkit/webkitwebdatasource.cpp b/WebKit/gtk/webkit/webkitwebdatasource.cpp
index 38c9c48..8538665 100644
--- a/WebKit/gtk/webkit/webkitwebdatasource.cpp
+++ b/WebKit/gtk/webkit/webkitwebdatasource.cpp
@@ -22,18 +22,21 @@
#include "ArchiveResource.h"
#include "DocumentLoaderGtk.h"
-#include "FrameLoaderClientGtk.h"
#include "FrameLoader.h"
+#include "FrameLoaderClientGtk.h"
#include "KURL.h"
#include "PlatformString.h"
#include "ResourceRequest.h"
-#include "runtime/InitializeThreading.h"
#include "SharedBuffer.h"
#include "SubstituteData.h"
+#include "runtime/InitializeThreading.h"
+#include "webkitglobalsprivate.h"
+#include "webkitnetworkrequestprivate.h"
+#include "webkitwebdatasourceprivate.h"
+#include "webkitwebframeprivate.h"
#include "webkitwebresource.h"
-#include "webkitprivate.h"
+#include "webkitwebviewprivate.h"
#include "wtf/Assertions.h"
-
#include <glib.h>
/**
@@ -72,8 +75,6 @@ struct _WebKitWebDataSourcePrivate {
gchar* unreachableURL;
};
-#define WEBKIT_WEB_DATA_SOURCE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_DATA_SOURCE, WebKitWebDataSourcePrivate))
-
G_DEFINE_TYPE(WebKitWebDataSource, webkit_web_data_source, G_TYPE_OBJECT);
static void webkit_web_data_source_dispose(GObject* object)
@@ -126,23 +127,14 @@ static void webkit_web_data_source_class_init(WebKitWebDataSourceClass* klass)
gobject_class->dispose = webkit_web_data_source_dispose;
gobject_class->finalize = webkit_web_data_source_finalize;
- webkit_init();
+ webkitInit();
g_type_class_add_private(gobject_class, sizeof(WebKitWebDataSourcePrivate));
}
static void webkit_web_data_source_init(WebKitWebDataSource* webDataSource)
{
- webDataSource->priv = WEBKIT_WEB_DATA_SOURCE_GET_PRIVATE(webDataSource);
-}
-
-WebKitWebDataSource* webkit_web_data_source_new_with_loader(PassRefPtr<WebKit::DocumentLoader> loader)
-{
- WebKitWebDataSource* webDataSource = WEBKIT_WEB_DATA_SOURCE(g_object_new(WEBKIT_TYPE_WEB_DATA_SOURCE, NULL));
- WebKitWebDataSourcePrivate* priv = webDataSource->priv;
- priv->loader = loader.releaseRef();
-
- return webDataSource;
+ webDataSource->priv = G_TYPE_INSTANCE_GET_PRIVATE(webDataSource, WEBKIT_TYPE_WEB_DATA_SOURCE, WebKitWebDataSourcePrivate);
}
/**
@@ -182,10 +174,8 @@ WebKitWebDataSource* webkit_web_data_source_new_with_request(WebKitNetworkReques
const gchar* uri = webkit_network_request_get_uri(request);
- WebKitWebDataSource* datasource;
- datasource = webkit_web_data_source_new_with_loader(
- WebKit::DocumentLoader::create(ResourceRequest(KURL(KURL(), String::fromUTF8(uri))),
- SubstituteData()));
+ ResourceRequest resourceRequest(ResourceRequest(KURL(KURL(), String::fromUTF8(uri))));
+ WebKitWebDataSource* datasource = kitNew(WebKit::DocumentLoader::create(resourceRequest, SubstituteData()));
WebKitWebDataSourcePrivate* priv = datasource->priv;
priv->initialRequest = request;
@@ -242,7 +232,7 @@ WebKitNetworkRequest* webkit_web_data_source_get_initial_request(WebKitWebDataSo
if (priv->initialRequest)
g_object_unref(priv->initialRequest);
- priv->initialRequest = webkit_network_request_new_with_core_request(request);
+ priv->initialRequest = kitNew(request);
return priv->initialRequest;
}
@@ -275,7 +265,7 @@ WebKitNetworkRequest* webkit_web_data_source_get_request(WebKitWebDataSource* we
if (priv->networkRequest)
g_object_unref(priv->networkRequest);
- priv->networkRequest = webkit_network_request_new_with_core_request(request);
+ priv->networkRequest = kitNew(request);
return priv->networkRequest;
}
@@ -318,7 +308,7 @@ G_CONST_RETURN gchar* webkit_web_data_source_get_encoding(WebKitWebDataSource* w
*/
gboolean webkit_web_data_source_is_loading(WebKitWebDataSource* webDataSource)
{
- g_return_val_if_fail(WEBKIT_IS_WEB_DATA_SOURCE(webDataSource), NULL);
+ g_return_val_if_fail(WEBKIT_IS_WEB_DATA_SOURCE(webDataSource), FALSE);
WebKitWebDataSourcePrivate* priv = webDataSource->priv;
@@ -437,3 +427,16 @@ GList* webkit_web_data_source_get_subresources(WebKitWebDataSource* webDataSourc
return webkit_web_view_get_subresources(webView);
}
+
+namespace WebKit {
+
+WebKitWebDataSource* kitNew(PassRefPtr<WebKit::DocumentLoader> loader)
+{
+ WebKitWebDataSource* webDataSource = WEBKIT_WEB_DATA_SOURCE(g_object_new(WEBKIT_TYPE_WEB_DATA_SOURCE, NULL));
+ WebKitWebDataSourcePrivate* priv = webDataSource->priv;
+ priv->loader = loader.releaseRef();
+
+ return webDataSource;
+}
+
+}
diff --git a/WebKit/gtk/webkit/webkitwebdatasourceprivate.h b/WebKit/gtk/webkit/webkitwebdatasourceprivate.h
new file mode 100644
index 0000000..5c18493
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebdatasourceprivate.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitwebdatasourceprivate_h
+#define webkitwebdatasourceprivate_h
+
+#include "RefPtr.h"
+#include "webkitwebdatasource.h"
+
+namespace WebKit {
+
+WebKitWebDataSource* kitNew(PassRefPtr<WebKit::DocumentLoader>);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebframe.cpp b/WebKit/gtk/webkit/webkitwebframe.cpp
index fcb5197..d0ea875 100644
--- a/WebKit/gtk/webkit/webkitwebframe.cpp
+++ b/WebKit/gtk/webkit/webkitwebframe.cpp
@@ -25,16 +25,11 @@
*/
#include "config.h"
-
-#include "webkitenumtypes.h"
#include "webkitwebframe.h"
-#include "webkitwebview.h"
-#include "webkitmarshal.h"
-#include "webkitprivate.h"
+#include "AXObjectCache.h"
#include "AccessibilityObjectWrapperAtk.h"
#include "AnimationController.h"
-#include "AXObjectCache.h"
#include "DOMObjectCache.h"
#include "DocumentLoader.h"
#include "DocumentLoaderGtk.h"
@@ -42,29 +37,37 @@
#include "FrameLoaderClientGtk.h"
#include "FrameTree.h"
#include "FrameView.h"
-#include <glib/gi18n-lib.h>
#include "GCController.h"
#include "GraphicsContext.h"
#include "GtkVersioning.h"
#include "HTMLFrameOwnerElement.h"
+#include "JSDOMBinding.h"
#include "JSDOMWindow.h"
#include "JSElement.h"
-#include "JSLock.h"
#include "PrintContext.h"
#include "RenderListItem.h"
-#include "RenderView.h"
#include "RenderTreeAsText.h"
-#include "JSDOMBinding.h"
+#include "RenderView.h"
#include "ScriptController.h"
#include "SubstituteData.h"
+#include "webkitenumtypes.h"
+#include "webkitglobalsprivate.h"
+#include "webkitmarshal.h"
+#include "webkitnetworkrequestprivate.h"
+#include "webkitnetworkresponseprivate.h"
+#include "webkitsecurityoriginprivate.h"
+#include "webkitwebframeprivate.h"
+#include "webkitwebview.h"
+#include "webkitwebviewprivate.h"
+#include <JavaScriptCore/APICast.h>
+#include <atk/atk.h>
+#include <glib/gi18n-lib.h>
+#include <wtf/text/CString.h>
+
#if ENABLE(SVG)
#include "SVGSMILElement.h"
#endif
-#include <atk/atk.h>
-#include <JavaScriptCore/APICast.h>
-#include <wtf/text/CString.h>
-
/**
* SECTION:webkitwebframe
* @short_description: The content of a #WebKitWebView
@@ -112,11 +115,11 @@ static guint webkit_web_frame_signals[LAST_SIGNAL] = { 0, };
G_DEFINE_TYPE(WebKitWebFrame, webkit_web_frame, G_TYPE_OBJECT)
-static void webkit_web_frame_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec)
+static void webkit_web_frame_get_property(GObject* object, guint propertyId, GValue* value, GParamSpec* paramSpec)
{
WebKitWebFrame* frame = WEBKIT_WEB_FRAME(object);
- switch(prop_id) {
+ switch (propertyId) {
case PROP_NAME:
g_value_set_string(value, webkit_web_frame_get_name(frame));
break;
@@ -136,7 +139,7 @@ static void webkit_web_frame_get_property(GObject* object, guint prop_id, GValue
g_value_set_enum(value, webkit_web_frame_get_vertical_scrollbar_policy(frame));
break;
default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
+ G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, paramSpec);
break;
}
}
@@ -155,7 +158,7 @@ void webkit_web_frame_core_frame_gone(WebKitWebFrame* frame)
static WebKitWebDataSource* webkit_web_frame_get_data_source_from_core_loader(WebCore::DocumentLoader* loader)
{
- return loader ? static_cast<WebKit::DocumentLoader*>(loader)->dataSource() : NULL;
+ return loader ? static_cast<WebKit::DocumentLoader*>(loader)->dataSource() : 0;
}
static void webkit_web_frame_finalize(GObject* object)
@@ -178,7 +181,7 @@ static void webkit_web_frame_finalize(GObject* object)
static void webkit_web_frame_class_init(WebKitWebFrameClass* frameClass)
{
- webkit_init();
+ webkitInit();
/*
* signals
@@ -187,8 +190,8 @@ static void webkit_web_frame_class_init(WebKitWebFrameClass* frameClass)
G_TYPE_FROM_CLASS(frameClass),
(GSignalFlags)G_SIGNAL_RUN_LAST,
0,
- NULL,
- NULL,
+ 0,
+ 0,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
@@ -204,8 +207,8 @@ static void webkit_web_frame_class_init(WebKitWebFrameClass* frameClass)
G_TYPE_FROM_CLASS(frameClass),
(GSignalFlags)G_SIGNAL_RUN_LAST,
0,
- NULL,
- NULL,
+ 0,
+ 0,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
@@ -222,8 +225,8 @@ static void webkit_web_frame_class_init(WebKitWebFrameClass* frameClass)
G_TYPE_FROM_CLASS(frameClass),
(GSignalFlags)G_SIGNAL_RUN_LAST,
0,
- NULL,
- NULL,
+ 0,
+ 0,
g_cclosure_marshal_VOID__BOOLEAN,
G_TYPE_NONE, 1,
G_TYPE_BOOLEAN);
@@ -241,8 +244,8 @@ static void webkit_web_frame_class_init(WebKitWebFrameClass* frameClass)
G_TYPE_FROM_CLASS(frameClass),
(GSignalFlags)G_SIGNAL_RUN_LAST,
0,
- NULL,
- NULL,
+ 0,
+ 0,
webkit_marshal_VOID__STRING,
G_TYPE_NONE, 1,
G_TYPE_STRING);
@@ -251,8 +254,8 @@ static void webkit_web_frame_class_init(WebKitWebFrameClass* frameClass)
G_TYPE_FROM_CLASS(frameClass),
(GSignalFlags)G_SIGNAL_RUN_LAST,
0,
- NULL,
- NULL,
+ 0,
+ 0,
webkit_marshal_VOID__STRING_STRING,
G_TYPE_NONE, 2,
G_TYPE_STRING, G_TYPE_STRING);
@@ -287,7 +290,7 @@ static void webkit_web_frame_class_init(WebKitWebFrameClass* frameClass)
(GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
0,
g_signal_accumulator_true_handled,
- NULL,
+ 0,
webkit_marshal_BOOLEAN__VOID,
G_TYPE_BOOLEAN, 0);
@@ -305,21 +308,21 @@ static void webkit_web_frame_class_init(WebKitWebFrameClass* frameClass)
g_param_spec_string("name",
_("Name"),
_("The name of the frame"),
- NULL,
+ 0,
WEBKIT_PARAM_READABLE));
g_object_class_install_property(objectClass, PROP_TITLE,
g_param_spec_string("title",
_("Title"),
_("The document title of the frame"),
- NULL,
+ 0,
WEBKIT_PARAM_READABLE));
g_object_class_install_property(objectClass, PROP_URI,
g_param_spec_string("uri",
_("URI"),
_("The current URI of the contents displayed by the frame"),
- NULL,
+ 0,
WEBKIT_PARAM_READABLE));
/**
@@ -378,12 +381,13 @@ static void webkit_web_frame_class_init(WebKitWebFrameClass* frameClass)
static void webkit_web_frame_init(WebKitWebFrame* frame)
{
- WebKitWebFramePrivate* priv = WEBKIT_WEB_FRAME_GET_PRIVATE(frame);
+ WebKitWebFramePrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(frame, WEBKIT_TYPE_WEB_FRAME, WebKitWebFramePrivate);
// TODO: Move constructor code here.
frame->priv = priv;
}
+
/**
* webkit_web_frame_new:
* @web_view: the controlling #WebKitWebView
@@ -397,18 +401,18 @@ static void webkit_web_frame_init(WebKitWebFrame* frame)
**/
WebKitWebFrame* webkit_web_frame_new(WebKitWebView* webView)
{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL);
+ g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
WebKitWebFrame* frame = WEBKIT_WEB_FRAME(g_object_new(WEBKIT_TYPE_WEB_FRAME, NULL));
WebKitWebFramePrivate* priv = frame->priv;
- WebKitWebViewPrivate* viewPriv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView);
+ WebKitWebViewPrivate* viewPriv = webView->priv;
priv->webView = webView;
WebKit::FrameLoaderClient* client = new WebKit::FrameLoaderClient(frame);
priv->coreFrame = Frame::create(viewPriv->corePage, 0, client).get();
priv->coreFrame->init();
- priv->origin = NULL;
+ priv->origin = 0;
return frame;
}
@@ -423,7 +427,7 @@ WebKitWebFrame* webkit_web_frame_new(WebKitWebView* webView)
*/
G_CONST_RETURN gchar* webkit_web_frame_get_title(WebKitWebFrame* frame)
{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
WebKitWebFramePrivate* priv = frame->priv;
return priv->title;
@@ -439,7 +443,7 @@ G_CONST_RETURN gchar* webkit_web_frame_get_title(WebKitWebFrame* frame)
*/
G_CONST_RETURN gchar* webkit_web_frame_get_uri(WebKitWebFrame* frame)
{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
WebKitWebFramePrivate* priv = frame->priv;
return priv->uri;
@@ -458,7 +462,7 @@ G_CONST_RETURN gchar* webkit_web_frame_get_uri(WebKitWebFrame* frame)
*/
WebKitWebView* webkit_web_frame_get_web_view(WebKitWebFrame* frame)
{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
WebKitWebFramePrivate* priv = frame->priv;
return priv->webView;
@@ -474,7 +478,7 @@ WebKitWebView* webkit_web_frame_get_web_view(WebKitWebFrame* frame)
*/
G_CONST_RETURN gchar* webkit_web_frame_get_name(WebKitWebFrame* frame)
{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
WebKitWebFramePrivate* priv = frame->priv;
@@ -500,11 +504,11 @@ G_CONST_RETURN gchar* webkit_web_frame_get_name(WebKitWebFrame* frame)
*/
WebKitWebFrame* webkit_web_frame_get_parent(WebKitWebFrame* frame)
{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
Frame* coreFrame = core(frame);
if (!coreFrame)
- return NULL;
+ return 0;
return kit(coreFrame->tree()->parent());
}
@@ -571,7 +575,7 @@ void webkit_web_frame_load_string(WebKitWebFrame* frame, const gchar* content, c
g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame));
g_return_if_fail(content);
- webkit_web_frame_load_data(frame, content, contentMimeType, contentEncoding, baseUri, NULL);
+ webkit_web_frame_load_data(frame, content, contentMimeType, contentEncoding, baseUri, 0);
}
/**
@@ -592,7 +596,7 @@ void webkit_web_frame_load_alternate_string(WebKitWebFrame* frame, const gchar*
g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame));
g_return_if_fail(content);
- webkit_web_frame_load_data(frame, content, NULL, NULL, baseURL, unreachableURL);
+ webkit_web_frame_load_data(frame, content, 0, 0, baseURL, unreachableURL);
}
/**
@@ -671,12 +675,12 @@ void webkit_web_frame_reload(WebKitWebFrame* frame)
*/
WebKitWebFrame* webkit_web_frame_find_frame(WebKitWebFrame* frame, const gchar* name)
{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
- g_return_val_if_fail(name, NULL);
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
+ g_return_val_if_fail(name, 0);
Frame* coreFrame = core(frame);
if (!coreFrame)
- return NULL;
+ return 0;
String nameString = String::fromUTF8(name);
return kit(coreFrame->tree()->find(AtomicString(nameString)));
@@ -693,11 +697,11 @@ WebKitWebFrame* webkit_web_frame_find_frame(WebKitWebFrame* frame, const gchar*
*/
JSGlobalContextRef webkit_web_frame_get_global_context(WebKitWebFrame* frame)
{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
Frame* coreFrame = core(frame);
if (!coreFrame)
- return NULL;
+ return 0;
return toGlobalRef(coreFrame->script()->globalObject(mainThreadNormalWorld())->globalExec());
}
@@ -714,7 +718,7 @@ JSGlobalContextRef webkit_web_frame_get_global_context(WebKitWebFrame* frame)
*/
WebKitWebDataSource* webkit_web_frame_get_data_source(WebKitWebFrame* frame)
{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
Frame* coreFrame = core(frame);
return webkit_web_frame_get_data_source_from_core_loader(coreFrame->loader()->documentLoader());
@@ -736,161 +740,12 @@ WebKitWebDataSource* webkit_web_frame_get_data_source(WebKitWebFrame* frame)
*/
WebKitWebDataSource* webkit_web_frame_get_provisional_data_source(WebKitWebFrame* frame)
{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
Frame* coreFrame = core(frame);
return webkit_web_frame_get_data_source_from_core_loader(coreFrame->loader()->provisionalDocumentLoader());
}
-/**
- * webkit_web_frame_get_children:
- * @frame: a #WebKitWebFrame
- *
- * Return value: child frames of @frame
- */
-GSList* webkit_web_frame_get_children(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return NULL;
-
- GSList* children = NULL;
- for (Frame* child = coreFrame->tree()->firstChild(); child; child = child->tree()->nextSibling()) {
- FrameLoader* loader = child->loader();
- WebKit::FrameLoaderClient* client = static_cast<WebKit::FrameLoaderClient*>(loader->client());
- if (client)
- children = g_slist_append(children, client->webFrame());
- }
-
- return children;
-}
-
-/**
- * webkit_web_frame_get_inner_text:
- * @frame: a #WebKitWebFrame
- *
- * Return value: inner text of @frame
- */
-gchar* webkit_web_frame_get_inner_text(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return g_strdup("");
-
- FrameView* view = coreFrame->view();
-
- if (view && view->layoutPending())
- view->layout();
-
- Element* documentElement = coreFrame->document()->documentElement();
- String string = documentElement->innerText();
- return g_strdup(string.utf8().data());
-}
-
-/**
- * webkit_web_frame_dump_render_tree:
- * @frame: a #WebKitWebFrame
- *
- * Return value: Non-recursive render tree dump of @frame
- */
-gchar* webkit_web_frame_dump_render_tree(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return g_strdup("");
-
- FrameView* view = coreFrame->view();
-
- if (view && view->layoutPending())
- view->layout();
-
- String string = externalRepresentation(coreFrame);
- return g_strdup(string.utf8().data());
-}
-
-/**
- * webkit_web_frame_counter_value_for_element_by_id:
- * @frame: a #WebKitWebFrame
- * @id: an element ID string
- *
- * Return value: The counter value of element @id in @frame
- */
-gchar* webkit_web_frame_counter_value_for_element_by_id(WebKitWebFrame* frame, const gchar* id)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return 0;
-
- Element* coreElement = coreFrame->document()->getElementById(AtomicString(id));
- if (!coreElement)
- return 0;
- String counterValue = counterValueForElement(coreElement);
- return g_strdup(counterValue.utf8().data());
-}
-
-/**
- * webkit_web_frame_page_number_for_element_by_id
- * @frame: a #WebKitWebFrame
- * @id: an element ID string
- * @pageWidth: width of a page
- * @pageHeight: height of a page
- *
- * Return value: The number of page where the specified element will be put
- */
-int webkit_web_frame_page_number_for_element_by_id(WebKitWebFrame* frame, const gchar* id, float pageWidth, float pageHeight)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return -1;
-
- Element* coreElement = coreFrame->document()->getElementById(AtomicString(id));
- if (!coreElement)
- return -1;
- return PrintContext::pageNumberForElement(coreElement, FloatSize(pageWidth, pageHeight));
-}
-
-/**
- * webkit_web_frame_number_of_pages
- * @frame: a #WebKitWebFrame
- * @pageWidth: width of a page
- * @pageHeight: height of a page
- *
- * Return value: The number of pages to be printed.
- */
-int webkit_web_frame_number_of_pages(WebKitWebFrame* frame, float pageWidth, float pageHeight)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return -1;
-
- return PrintContext::numberOfPages(coreFrame, FloatSize(pageWidth, pageHeight));
-}
-
-/**
- * webkit_web_frame_get_pending_unload_event_count:
- * @frame: a #WebKitWebFrame
- *
- * Return value: number of pending unload events
- */
-guint webkit_web_frame_get_pending_unload_event_count(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
-
- return core(frame)->domWindow()->pendingUnloadEventListeners();
-}
-
static void begin_print_callback(GtkPrintOperation* op, GtkPrintContext* context, gpointer user_data)
{
PrintContext* printContext = reinterpret_cast<PrintContext*>(user_data);
@@ -950,7 +805,7 @@ GtkPrintOperationResult webkit_web_frame_print_full(WebKitWebFrame* frame, GtkPr
GtkWidget* topLevel = gtk_widget_get_toplevel(GTK_WIDGET(webkit_web_frame_get_web_view(frame)));
if (!gtk_widget_is_toplevel(topLevel))
- topLevel = NULL;
+ topLevel = 0;
Frame* coreFrame = core(frame);
if (!coreFrame)
@@ -1001,81 +856,6 @@ void webkit_web_frame_print(WebKitWebFrame* frame)
}
}
-bool webkit_web_frame_pause_animation(WebKitWebFrame* frame, const gchar* name, double time, const gchar* element)
-{
- ASSERT(core(frame));
- Element* coreElement = core(frame)->document()->getElementById(AtomicString(element));
- if (!coreElement || !coreElement->renderer())
- return false;
- return core(frame)->animation()->pauseAnimationAtTime(coreElement->renderer(), AtomicString(name), time);
-}
-
-bool webkit_web_frame_pause_transition(WebKitWebFrame* frame, const gchar* name, double time, const gchar* element)
-{
- ASSERT(core(frame));
- Element* coreElement = core(frame)->document()->getElementById(AtomicString(element));
- if (!coreElement || !coreElement->renderer())
- return false;
- return core(frame)->animation()->pauseTransitionAtTime(coreElement->renderer(), AtomicString(name), time);
-}
-
-bool webkit_web_frame_pause_svg_animation(WebKitWebFrame* frame, const gchar* animationId, double time, const gchar* elementId)
-{
- ASSERT(core(frame));
-#if ENABLE(SVG)
- Document* document = core(frame)->document();
- if (!document || !document->svgExtensions())
- return false;
- Element* coreElement = document->getElementById(AtomicString(animationId));
- if (!coreElement || !SVGSMILElement::isSMILElement(coreElement))
- return false;
- return document->accessSVGExtensions()->sampleAnimationAtTime(elementId, static_cast<SVGSMILElement*>(coreElement), time);
-#else
- return false;
-#endif
-}
-
-gchar* webkit_web_frame_marker_text_for_list_item(WebKitWebFrame* frame, JSContextRef context, JSValueRef nodeObject)
-{
- JSC::ExecState* exec = toJS(context);
- Element* element = toElement(toJS(exec, nodeObject));
- if (!element)
- return 0;
-
- return g_strdup(markerTextForListItem(element).utf8().data());
-}
-
-unsigned int webkit_web_frame_number_of_active_animations(WebKitWebFrame* frame)
-{
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return 0;
-
- AnimationController* controller = coreFrame->animation();
- if (!controller)
- return 0;
-
- return controller->numberOfActiveAnimations();
-}
-
-void webkit_web_frame_suspend_animations(WebKitWebFrame* frame)
-{
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return;
-
- coreFrame->animation()->suspendAnimations();
-}
-
-void webkit_web_frame_resume_animations(WebKitWebFrame* frame)
-{
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return;
-
- coreFrame->animation()->resumeAnimations();
-}
-
gchar* webkit_web_frame_get_response_mime_type(WebKitWebFrame* frame)
{
Frame* coreFrame = core(frame);
@@ -1100,56 +880,6 @@ WebKitLoadStatus webkit_web_frame_get_load_status(WebKitWebFrame* frame)
return priv->loadStatus;
}
-void webkit_web_frame_clear_main_frame_name(WebKitWebFrame* frame)
-{
- g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame));
-
- core(frame)->tree()->clearName();
-}
-
-void webkit_gc_collect_javascript_objects()
-{
- gcController().garbageCollectNow();
-}
-
-void webkit_gc_collect_javascript_objects_on_alternate_thread(gboolean waitUntilDone)
-{
- gcController().garbageCollectOnAlternateThreadForDebugging(waitUntilDone);
-}
-
-gsize webkit_gc_count_javascript_objects()
-{
- JSC::JSLock lock(JSC::SilenceAssertionsOnly);
- return JSDOMWindow::commonJSGlobalData()->heap.objectCount();
-
-}
-
-AtkObject* webkit_web_frame_get_focused_accessible_element(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
-
-#if HAVE(ACCESSIBILITY)
- if (!AXObjectCache::accessibilityEnabled())
- AXObjectCache::enableAccessibility();
-
- WebKitWebFramePrivate* priv = frame->priv;
- if (!priv->coreFrame || !priv->coreFrame->document())
- return NULL;
-
- RenderView* root = toRenderView(priv->coreFrame->document()->renderer());
- if (!root)
- return NULL;
-
- AtkObject* wrapper = priv->coreFrame->document()->axObjectCache()->getOrCreate(root)->wrapper();
- if (!wrapper)
- return NULL;
-
- return webkit_accessible_get_focused_element(WEBKIT_ACCESSIBLE(wrapper));
-#else
- return NULL;
-#endif
-}
-
GtkPolicyType webkit_web_frame_get_horizontal_scrollbar_policy(WebKitWebFrame* frame)
{
g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), GTK_POLICY_AUTOMATIC);
@@ -1204,7 +934,7 @@ WebKitSecurityOrigin* webkit_web_frame_get_security_origin(WebKitWebFrame* frame
{
WebKitWebFramePrivate* priv = frame->priv;
if (!priv->coreFrame || !priv->coreFrame->document() || !priv->coreFrame->document()->securityOrigin())
- return NULL;
+ return 0;
if (priv->origin && priv->origin->priv->coreOrigin.get() == priv->coreFrame->document()->securityOrigin())
return priv->origin;
@@ -1216,19 +946,6 @@ WebKitSecurityOrigin* webkit_web_frame_get_security_origin(WebKitWebFrame* frame
return priv->origin;
}
-void webkit_web_frame_layout(WebKitWebFrame* frame)
-{
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return;
-
- FrameView* view = coreFrame->view();
- if (!view)
- return;
-
- view->layout();
-}
-
/**
* webkit_web_frame_get_network_response:
* @frame: a #WebKitWebFrame
@@ -1246,11 +963,40 @@ WebKitNetworkResponse* webkit_web_frame_get_network_response(WebKitWebFrame* fra
{
Frame* coreFrame = core(frame);
if (!coreFrame)
- return NULL;
+ return 0;
WebCore::DocumentLoader* loader = coreFrame->loader()->activeDocumentLoader();
if (!loader)
- return NULL;
+ return 0;
+
+ return kitNew(loader->response());
+}
+
+namespace WebKit {
+
+WebKitWebView* getViewFromFrame(WebKitWebFrame* frame)
+{
+ WebKitWebFramePrivate* priv = frame->priv;
+ return priv->webView;
+}
+
+WebCore::Frame* core(WebKitWebFrame* frame)
+{
+ if (!frame)
+ return 0;
+
+ WebKitWebFramePrivate* priv = frame->priv;
+ return priv ? priv->coreFrame : 0;
+}
+
+WebKitWebFrame* kit(WebCore::Frame* coreFrame)
+{
+ if (!coreFrame)
+ return 0;
+
+ ASSERT(coreFrame->loader());
+ WebKit::FrameLoaderClient* client = static_cast<WebKit::FrameLoaderClient*>(coreFrame->loader()->client());
+ return client ? client->webFrame() : 0;
+}
- return webkit_network_response_new_with_core_response(loader->response());
}
diff --git a/WebKit/gtk/webkit/webkitwebframeprivate.h b/WebKit/gtk/webkit/webkitwebframeprivate.h
new file mode 100644
index 0000000..80210d8
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebframeprivate.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitwebframeprivate_h
+#define webkitwebframeprivate_h
+
+#include "Frame.h"
+#include "webkitwebframe.h"
+
+namespace WebKit {
+
+WebKitWebView* getViewFromFrame(WebKitWebFrame*);
+
+WebCore::Frame* core(WebKitWebFrame*);
+WebKitWebFrame* kit(WebCore::Frame*);
+
+}
+
+extern "C" {
+
+typedef struct _WebKitWebFramePrivate WebKitWebFramePrivate;
+struct _WebKitWebFramePrivate {
+ WebCore::Frame* coreFrame;
+ WebKitWebView* webView;
+
+ gchar* name;
+ gchar* title;
+ gchar* uri;
+ WebKitLoadStatus loadStatus;
+ WebKitSecurityOrigin* origin;
+};
+
+void webkit_web_frame_core_frame_gone(WebKitWebFrame*);
+
+// FIXME: move this functionality into 'WebKitWebDataSource'?
+WEBKIT_API gchar* webkit_web_frame_get_response_mime_type(WebKitWebFrame*);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebhistoryitem.cpp b/WebKit/gtk/webkit/webkitwebhistoryitem.cpp
index ce30704..eabdc49 100644
--- a/WebKit/gtk/webkit/webkitwebhistoryitem.cpp
+++ b/WebKit/gtk/webkit/webkitwebhistoryitem.cpp
@@ -19,15 +19,14 @@
*/
#include "config.h"
-
#include "webkitwebhistoryitem.h"
-#include "webkitprivate.h"
-
-#include <glib.h>
-#include <glib/gi18n-lib.h>
#include "HistoryItem.h"
#include "PlatformString.h"
+#include "webkitglobalsprivate.h"
+#include "webkitwebhistoryitemprivate.h"
+#include <glib.h>
+#include <glib/gi18n-lib.h>
#include <wtf/text/CString.h>
/**
@@ -62,8 +61,6 @@ struct _WebKitWebHistoryItemPrivate {
gboolean disposed;
};
-#define WEBKIT_WEB_HISTORY_ITEM_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_HISTORY_ITEM, WebKitWebHistoryItemPrivate))
-
enum {
PROP_0,
@@ -130,7 +127,7 @@ static void webkit_web_history_item_class_init(WebKitWebHistoryItemClass* klass)
gobject_class->set_property = webkit_web_history_item_set_property;
gobject_class->get_property = webkit_web_history_item_get_property;
- webkit_init();
+ webkitInit();
/**
* WebKitWebHistoryItem:title:
@@ -217,7 +214,7 @@ static void webkit_web_history_item_class_init(WebKitWebHistoryItemClass* klass)
static void webkit_web_history_item_init(WebKitWebHistoryItem* webHistoryItem)
{
- webHistoryItem->priv = WEBKIT_WEB_HISTORY_ITEM_GET_PRIVATE(webHistoryItem);
+ webHistoryItem->priv = G_TYPE_INSTANCE_GET_PRIVATE(webHistoryItem, WEBKIT_TYPE_WEB_HISTORY_ITEM, WebKitWebHistoryItemPrivate);
}
static void webkit_web_history_item_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec)
diff --git a/WebKit/gtk/webkit/webkitwebhistoryitemprivate.h b/WebKit/gtk/webkit/webkitwebhistoryitemprivate.h
new file mode 100644
index 0000000..22b50ee
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebhistoryitemprivate.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitwebhistoryitemprivate_h
+#define webkitwebhistoryitemprivate_h
+
+#include "HistoryItem.h"
+
+namespace WebKit {
+
+WebCore::HistoryItem* core(WebKitWebHistoryItem*);
+WebKitWebHistoryItem* kit(PassRefPtr<WebCore::HistoryItem>);
+
+}
+
+extern "C" {
+
+GHashTable* webkit_history_items();
+
+WebKitWebHistoryItem* webkit_web_history_item_new_with_core_item(PassRefPtr<WebCore::HistoryItem>);
+
+WEBKIT_API G_CONST_RETURN gchar* webkit_web_history_item_get_target(WebKitWebHistoryItem*);
+
+WEBKIT_API gboolean webkit_web_history_item_is_target_item(WebKitWebHistoryItem*);
+
+WEBKIT_API GList* webkit_web_history_item_get_children(WebKitWebHistoryItem*);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebinspector.cpp b/WebKit/gtk/webkit/webkitwebinspector.cpp
index 626df32..1fa2fad 100644
--- a/WebKit/gtk/webkit/webkitwebinspector.cpp
+++ b/WebKit/gtk/webkit/webkitwebinspector.cpp
@@ -22,9 +22,9 @@
#include "config.h"
#include "webkitwebinspector.h"
+#include "DumpRenderTreeSupportGtk.h"
#include "FocusController.h"
#include "Frame.h"
-#include <glib/gi18n-lib.h>
#include "HitTestRequest.h"
#include "HitTestResult.h"
#include "InspectorClientGtk.h"
@@ -33,8 +33,10 @@
#include "RenderLayer.h"
#include "RenderView.h"
#include "webkit/WebKitDOMNodePrivate.h"
+#include "webkitglobalsprivate.h"
#include "webkitmarshal.h"
-#include "webkitprivate.h"
+#include "webkitwebinspectorprivate.h"
+#include <glib/gi18n-lib.h>
/**
* SECTION:webkitwebinspector
@@ -97,8 +99,6 @@ struct _WebKitWebInspectorPrivate {
gchar* inspected_uri;
};
-#define WEBKIT_WEB_INSPECTOR_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_INSPECTOR, WebKitWebInspectorPrivate))
-
static void webkit_web_inspector_finalize(GObject* object);
static void webkit_web_inspector_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec);
@@ -325,7 +325,7 @@ static void webkit_web_inspector_class_init(WebKitWebInspectorClass* klass)
static void webkit_web_inspector_init(WebKitWebInspector* web_inspector)
{
- web_inspector->priv = WEBKIT_WEB_INSPECTOR_GET_PRIVATE(web_inspector);
+ web_inspector->priv = G_TYPE_INSTANCE_GET_PRIVATE(web_inspector, WEBKIT_TYPE_WEB_INSPECTOR, WebKitWebInspectorPrivate);
}
static void webkit_web_inspector_finalize(GObject* object)
@@ -578,3 +578,42 @@ void webkit_web_inspector_execute_script(WebKitWebInspector* webInspector, long
WebKitWebInspectorPrivate* priv = webInspector->priv;
priv->page->inspectorController()->evaluateForTestInFrontend(callId, script);
}
+
+#ifdef HAVE_GSETTINGS
+static bool isSchemaAvailable(const char* schemaID)
+{
+ const char* const* availableSchemas = g_settings_list_schemas();
+ char* const* iter = const_cast<char* const*>(availableSchemas);
+
+ while (*iter) {
+ if (g_str_equal(schemaID, *iter))
+ return true;
+ iter++;
+ }
+
+ return false;
+}
+
+GSettings* inspectorGSettings()
+{
+ static GSettings* settings = 0;
+ if (settings)
+ return settings;
+
+ // Unfortunately GSettings will abort the process execution if the schema is not
+ // installed, which is the case for when running tests, or even the introspection dump
+ // at build time, so check if we have the schema before trying to initialize it.
+ const gchar* schemaID = "org.webkitgtk-"WEBKITGTK_API_VERSION_STRING".inspector";
+ if (!isSchemaAvailable(schemaID)) {
+
+ // This warning is very common on the build bots, which hides valid warnings.
+ // Skip printing it if we are running inside DumpRenderTree.
+ if (!DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled())
+ g_warning("GSettings schema not found - settings will not be used or saved.");
+ return 0;
+ }
+
+ settings = g_settings_new(schemaID);
+ return settings;
+}
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebinspectorprivate.h b/WebKit/gtk/webkit/webkitwebinspectorprivate.h
new file mode 100644
index 0000000..46d57b0
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebinspectorprivate.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitwebinspectorprivate_h
+#define webkitwebinspectorprivate_h
+
+extern "C" {
+
+#ifdef HAVE_GSETTINGS
+GSettings* inspectorGSettings();
+#endif
+
+void webkit_web_inspector_set_inspector_client(WebKitWebInspector*, WebCore::Page*);
+
+void webkit_web_inspector_set_web_view(WebKitWebInspector*, WebKitWebView*);
+
+void webkit_web_inspector_set_inspected_uri(WebKitWebInspector*, const gchar*);
+
+WEBKIT_API void webkit_web_inspector_execute_script(WebKitWebInspector*, long callId, const gchar* script);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebnavigationaction.cpp b/WebKit/gtk/webkit/webkitwebnavigationaction.cpp
index ce5dd92..9f13f28 100644
--- a/WebKit/gtk/webkit/webkitwebnavigationaction.cpp
+++ b/WebKit/gtk/webkit/webkitwebnavigationaction.cpp
@@ -18,16 +18,14 @@
*/
#include "config.h"
+#include "webkitwebnavigationaction.h"
-#include <wtf/Assertions.h>
#include "FrameLoaderTypes.h"
-
-#include <glib/gi18n-lib.h>
-#include "webkitwebnavigationaction.h"
-#include "webkitprivate.h"
#include "webkitenumtypes.h"
-
+#include "webkitglobalsprivate.h"
+#include <glib/gi18n-lib.h>
#include <string.h>
+#include <wtf/Assertions.h>
static void webkit_web_navigation_action_set_target_frame(WebKitWebNavigationAction* navigationAction, const gchar* targetFrame);
@@ -48,8 +46,6 @@ struct _WebKitWebNavigationActionPrivate {
gchar* targetFrame;
};
-#define WEBKIT_WEB_NAVIGATION_ACTION_GET_PRIVATE(obj)(G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_NAVIGATION_ACTION, WebKitWebNavigationActionPrivate))
-
enum {
PROP_0,
@@ -118,7 +114,7 @@ static void webkit_web_navigation_action_set_property(GObject* object, guint pro
static void webkit_web_navigation_action_init(WebKitWebNavigationAction* navigationAction)
{
- navigationAction->priv = WEBKIT_WEB_NAVIGATION_ACTION_GET_PRIVATE(navigationAction);
+ navigationAction->priv = G_TYPE_INSTANCE_GET_PRIVATE(navigationAction, WEBKIT_TYPE_WEB_NAVIGATION_ACTION, WebKitWebNavigationActionPrivate);
}
static void webkit_web_navigation_action_finalize(GObject* obj)
@@ -369,3 +365,17 @@ static void webkit_web_navigation_action_set_target_frame(WebKitWebNavigationAct
navigationAction->priv->targetFrame = g_strdup(targetFrame);
g_object_notify(G_OBJECT(navigationAction), "target-frame");
}
+
+namespace WebKit {
+
+WebKitWebNavigationReason kit(WebCore::NavigationType type)
+{
+ return (WebKitWebNavigationReason)type;
+}
+
+WebCore::NavigationType core(WebKitWebNavigationReason type)
+{
+ return static_cast<WebCore::NavigationType>(type);
+}
+
+}
diff --git a/WebKit/gtk/webkit/webkitwebnavigationactionprivate.h b/WebKit/gtk/webkit/webkitwebnavigationactionprivate.h
new file mode 100644
index 0000000..a8bc5ca
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebnavigationactionprivate.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitwebnavigationactionprivate_h
+#define webkitnavigationactionprivate_h
+
+#include <webkit/webkitwebnavigationaction.h>
+
+namespace WebKit {
+
+WebKitWebNavigationReason kit(WebCore::NavigationType);
+WebCore::NavigationType core(WebKitWebNavigationReason);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebplugin.cpp b/WebKit/gtk/webkit/webkitwebplugin.cpp
new file mode 100644
index 0000000..52d5965
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebplugin.cpp
@@ -0,0 +1,251 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+#include "webkitwebplugin.h"
+
+#include "PluginPackage.h"
+#include "webkitglobalsprivate.h"
+#include "webkitwebpluginprivate.h"
+#include <glib/gi18n-lib.h>
+
+/**
+ * SECTION:webkitwebplugin
+ * @short_description: Represents a plugin, enabling fine-grained control
+ * @see_also: #WebKitWebPluginDatabase
+ *
+ * This object represents a single plugin, found by WebKitGTK+ while
+ * scanning the various usual directories. This object can be used to
+ * get more information about a plugin, and enable/disable it,
+ * allowing fine-grained control of plugins. The list of available
+ * plugins can be obtained from the #WebKitWebPluginDatabase object.
+ */
+
+using namespace WebCore;
+
+enum {
+ PROP_0,
+
+ PROP_ENABLED
+};
+
+G_DEFINE_TYPE(WebKitWebPlugin, webkit_web_plugin, G_TYPE_OBJECT)
+
+static void freeMIMEType(WebKitWebPluginMIMEType* mimeType)
+{
+ if (mimeType->name)
+ g_free(mimeType->name);
+ if (mimeType->description)
+ g_free(mimeType->description);
+ if (mimeType->extensions)
+ g_strfreev(mimeType->extensions);
+ g_slice_free(WebKitWebPluginMIMEType, mimeType);
+}
+
+static void webkit_web_plugin_finalize(GObject* object)
+{
+ WebKitWebPlugin* plugin = WEBKIT_WEB_PLUGIN(object);
+ WebKitWebPluginPrivate* priv = plugin->priv;
+
+ g_slist_foreach(priv->mimeTypes, (GFunc)freeMIMEType, 0);
+ g_slist_free(priv->mimeTypes);
+
+ delete plugin->priv;
+
+ G_OBJECT_CLASS(webkit_web_plugin_parent_class)->finalize(object);
+}
+
+static void webkit_web_plugin_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* paramSpec)
+{
+ WebKitWebPlugin* plugin = WEBKIT_WEB_PLUGIN(object);
+
+ switch (prop_id) {
+ case PROP_ENABLED:
+ g_value_set_boolean(value, webkit_web_plugin_get_enabled(plugin));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, paramSpec);
+ }
+}
+
+static void webkit_web_plugin_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* paramSpec)
+{
+ WebKitWebPlugin* plugin = WEBKIT_WEB_PLUGIN(object);
+
+ switch (prop_id) {
+ case PROP_ENABLED:
+ webkit_web_plugin_set_enabled(plugin, g_value_get_boolean(value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, paramSpec);
+ }
+}
+
+static void webkit_web_plugin_class_init(WebKitWebPluginClass* klass)
+{
+ webkitInit();
+
+ GObjectClass* gobjectClass = reinterpret_cast<GObjectClass*>(klass);
+
+ gobjectClass->finalize = webkit_web_plugin_finalize;
+ gobjectClass->get_property = webkit_web_plugin_get_property;
+ gobjectClass->set_property = webkit_web_plugin_set_property;
+
+ g_object_class_install_property(gobjectClass,
+ PROP_ENABLED,
+ g_param_spec_boolean("enabled",
+ _("Enabled"),
+ _("Whether the plugin is enabled"),
+ FALSE,
+ WEBKIT_PARAM_READWRITE));
+}
+
+static void webkit_web_plugin_init(WebKitWebPlugin *plugin)
+{
+ plugin->priv = new WebKitWebPluginPrivate();
+ plugin->priv->mimeTypes = 0;
+}
+
+namespace WebKit {
+WebKitWebPlugin* kitNew(WebCore::PluginPackage* package)
+{
+ WebKitWebPlugin* plugin = WEBKIT_WEB_PLUGIN(g_object_new(WEBKIT_TYPE_WEB_PLUGIN, 0));
+
+ plugin->priv->corePlugin = package;
+
+ return plugin;
+}
+}
+
+/**
+ * webkit_web_plugin_get_name:
+ * @plugin: a #WebKitWebPlugin
+ *
+ * Returns: the name string for @plugin.
+ *
+ * Since: 1.3.8
+ */
+const char* webkit_web_plugin_get_name(WebKitWebPlugin* plugin)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_PLUGIN(plugin), 0);
+
+ WebKitWebPluginPrivate* priv = plugin->priv;
+
+ if (!priv->name.length())
+ priv->name = priv->corePlugin->name().utf8();
+
+ return priv->name.data();
+}
+
+/**
+ * webkit_web_plugin_get_description:
+ * @plugin: a #WebKitWebPlugin
+ *
+ * Returns: the description string for @plugin.
+ *
+ * Since: 1.3.8
+ */
+const char* webkit_web_plugin_get_description(WebKitWebPlugin* plugin)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_PLUGIN(plugin), 0);
+
+ WebKitWebPluginPrivate* priv = plugin->priv;
+
+ if (!priv->description.length())
+ priv->description = priv->corePlugin->description().utf8();
+
+ return priv->description.data();
+}
+
+/**
+ * webkit_web_plugin_get_mimetypes:
+ * @plugin: a #WebKitWebPlugin
+ *
+ * Returns all the #WebKitWebPluginMIMEType that @plugin is handling
+ * at the moment.
+ *
+ * Returns: (transfer none) (element-type WebKitWebPluginMIMEType): a #GSList of #WebKitWebPluginMIMEType
+ *
+ * Since: 1.3.8
+ */
+GSList* webkit_web_plugin_get_mimetypes(WebKitWebPlugin* plugin)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_PLUGIN(plugin), 0);
+
+ WebKitWebPluginPrivate* priv = plugin->priv;
+
+ if (priv->mimeTypes)
+ return priv->mimeTypes;
+
+ const MIMEToDescriptionsMap& mimeToDescriptions = priv->corePlugin->mimeToDescriptions();
+ MIMEToDescriptionsMap::const_iterator end = mimeToDescriptions.end();
+
+ for (MIMEToDescriptionsMap::const_iterator it = mimeToDescriptions.begin(); it != end; ++it) {
+ WebKitWebPluginMIMEType* mimeType = g_slice_new0(WebKitWebPluginMIMEType);
+ mimeType->name = g_strdup(it->first.utf8().data());
+ mimeType->description = g_strdup(it->second.utf8().data());
+
+ Vector<String> extensions = priv->corePlugin->mimeToExtensions().get(it->first);
+ mimeType->extensions = static_cast<gchar**>(g_malloc0(extensions.size() + 1));
+ for (unsigned i = 0; i < extensions.size(); i++)
+ mimeType->extensions[i] = g_strdup(extensions[i].utf8().data());
+
+ priv->mimeTypes = g_slist_append(priv->mimeTypes, mimeType);
+ }
+
+ return priv->mimeTypes;
+}
+
+/**
+ * webkit_web_plugin_set_enabled:
+ * @plugin: a #WebKitWebPlugin
+ * @enabled: whether to enable the plugin
+ *
+ * Sets the enabled status of the @plugin.
+ *
+ * Since: 1.3.8
+ */
+void webkit_web_plugin_set_enabled(WebKitWebPlugin* plugin, gboolean enabled)
+{
+ g_return_if_fail(WEBKIT_IS_WEB_PLUGIN(plugin));
+ WebKitWebPluginPrivate* priv = plugin->priv;
+
+ ASSERT(priv->corePlugin);
+ if (priv->corePlugin->isEnabled() == enabled)
+ return;
+
+ priv->corePlugin->setEnabled(enabled);
+
+ g_object_notify(G_OBJECT(plugin), "enabled");
+}
+
+/**
+ * webkit_web_plugin_get_enabled:
+ * @plugin: a #WebKitWebPlugin
+ *
+ * Returns: %TRUE if the plugin is enabled, %FALSE otherwise
+ *
+ * Since: 1.3.8
+ */
+gboolean webkit_web_plugin_get_enabled(WebKitWebPlugin* plugin)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_PLUGIN(plugin), FALSE);
+
+ ASSERT(plugin->priv->corePlugin);
+ return plugin->priv->corePlugin->isEnabled();
+}
diff --git a/WebKit/gtk/webkit/webkitwebplugin.h b/WebKit/gtk/webkit/webkitwebplugin.h
new file mode 100644
index 0000000..3514d1e
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebplugin.h
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef webkitwebplugin_h
+#define webkitwebplugin_h
+
+#include <glib-object.h>
+
+#include <webkit/webkitdefines.h>
+
+G_BEGIN_DECLS
+
+#define WEBKIT_TYPE_WEB_PLUGIN (webkit_web_plugin_get_type())
+#define WEBKIT_WEB_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_PLUGIN, WebKitWebPlugin))
+#define WEBKIT_WEB_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_PLUGIN, WebKitWebPluginClass))
+#define WEBKIT_IS_WEB_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_PLUGIN))
+#define WEBKIT_IS_WEB_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_PLUGIN))
+#define WEBKIT_WEB_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_PLUGIN, WebKitWebPluginClass))
+
+typedef struct _WebKitWebPluginPrivate WebKitWebPluginPrivate;
+
+/**
+ * WebKitWebPluginMIMEType:
+ * @name: the name of the MIME type.
+ * @description: the description of the MIME type.
+ * @extensions: a %NULL-terminated array with the extensions
+ * associated with this MIME type.
+ *
+ * A structure representing one of the MIME types associated with a
+ * plugin. A #GSList of these objects will be returned by
+ * #webkit_web_plugin_get_mimetypes, use
+ * #webkit_web_plugin_mime_type_list_free to free it.
+ *
+ * Since: 1.3.8
+ */
+typedef struct _WebKitWebPluginMIMEType {
+ char* name;
+ char* description;
+ char** extensions;
+} WebKitWebPluginMIMEType;
+
+struct _WebKitWebPluginClass {
+ GObjectClass parentClass;
+};
+
+struct _WebKitWebPlugin {
+ GObject parentInstance;
+
+ WebKitWebPluginPrivate* priv;
+};
+
+WEBKIT_API GType
+webkit_web_plugin_get_type (void) G_GNUC_CONST;
+
+WEBKIT_API const char*
+webkit_web_plugin_get_name (WebKitWebPlugin*);
+
+WEBKIT_API const char*
+webkit_web_plugin_get_description (WebKitWebPlugin*);
+
+WEBKIT_API GSList*
+webkit_web_plugin_get_mimetypes (WebKitWebPlugin*);
+
+WEBKIT_API void
+webkit_web_plugin_set_enabled (WebKitWebPlugin*, gboolean);
+
+WEBKIT_API gboolean
+webkit_web_plugin_get_enabled (WebKitWebPlugin*);
+
+G_END_DECLS
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebplugindatabase.cpp b/WebKit/gtk/webkit/webkitwebplugindatabase.cpp
new file mode 100644
index 0000000..2d36115
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebplugindatabase.cpp
@@ -0,0 +1,151 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+#include "webkitwebplugindatabase.h"
+
+#include "PluginDatabase.h"
+#include "webkitglobalsprivate.h"
+#include "webkitwebplugindatabaseprivate.h"
+#include "webkitwebpluginprivate.h"
+
+/**
+ * SECTION:webkitwebplugindatabase
+ * @short_description: Provides information about the plugins the engine knows about
+ * @see_also: #WebKitWebPlugin
+ *
+ * This object allows you to query information about the plugins found
+ * by the engine while scanning the usual directories. You can then
+ * use the #WebKitWebPlugin objects to get more information or
+ * enable/disable individual plugins.
+ */
+
+using namespace WebKit;
+using namespace WebCore;
+
+G_DEFINE_TYPE(WebKitWebPluginDatabase, webkit_web_plugin_database, G_TYPE_OBJECT)
+
+static void webkit_web_plugin_database_dispose(GObject* object)
+{
+ G_OBJECT_CLASS(webkit_web_plugin_database_parent_class)->dispose(object);
+}
+
+static void webkit_web_plugin_database_class_init(WebKitWebPluginDatabaseClass* klass)
+{
+ webkitInit();
+
+ GObjectClass* gobjectClass = reinterpret_cast<GObjectClass*>(klass);
+
+ gobjectClass->dispose = webkit_web_plugin_database_dispose;
+
+ g_type_class_add_private(klass, sizeof(WebKitWebPluginDatabasePrivate));
+}
+
+static void webkit_web_plugin_database_init(WebKitWebPluginDatabase* database)
+{
+ WebKitWebPluginDatabasePrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(database, WEBKIT_TYPE_WEB_PLUGIN_DATABASE, WebKitWebPluginDatabasePrivate);
+ database->priv = priv;
+
+ priv->coreDatabase = PluginDatabase::installedPlugins();
+}
+
+/**
+ * webkit_web_plugin_database_list_free:
+ * @list: a #WebKitWebPluginDatabasePluginList
+ *
+ * Frees @list.
+ *
+ * Since: 1.3.8
+ */
+void webkit_web_plugin_database_plugins_list_free(GSList* list)
+{
+ g_return_if_fail(list);
+
+ for (GSList* p = list; p; p = p->next)
+ g_object_unref(p->data);
+
+ g_slist_free(list);
+}
+
+/**
+ * webkit_web_plugin_database_get_plugins:
+ * @database: a #WebKitWebPluginDatabase
+ *
+ * Returns all #WebKitWebPlugin available in @database.
+ * The returned list must be freed with webkit_web_plugin_database_plugins_list_free()
+ *
+ * Returns: (transfer full) (element-type WebKitWebPlugin): a #GSList of #WebKitWebPlugin
+ *
+ * Since: 1.3.8
+ */
+GSList* webkit_web_plugin_database_get_plugins(WebKitWebPluginDatabase* database)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_PLUGIN_DATABASE(database), 0);
+
+ GSList* gPlugins = 0;
+ const Vector<PluginPackage*>& plugins = database->priv->coreDatabase->plugins();
+
+ for (unsigned int i = 0; i < plugins.size(); ++i) {
+ PluginPackage* plugin = plugins[i];
+ gPlugins = g_slist_append(gPlugins, kitNew(plugin));
+ }
+
+ return gPlugins;
+}
+
+/**
+ * webkit_web_plugin_database_get_plugin_for_mimetype:
+ * @database: a #WebKitWebPluginDatabase
+ * @mimeType: a mime type
+ *
+ * Returns the #WebKitWebPlugin that is handling @mimeType in the
+ * @database, or %NULL if there's none doing so.
+ *
+ * Returns: (transfer full): a #WebKitWebPlugin
+ *
+ * Since: 1.3.8
+ */
+WebKitWebPlugin* webkit_web_plugin_database_get_plugin_for_mimetype(WebKitWebPluginDatabase* database, const char* mimeType)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_PLUGIN_DATABASE(database), 0);
+ g_return_val_if_fail(mimeType, 0);
+
+ return kitNew(database->priv->coreDatabase->pluginForMIMEType(mimeType));
+}
+
+/**
+ * webkit_web_plugin_database_refresh:
+ * @database: a #WebKitWebPluginDatabase
+ *
+ * Refreshes @database adding new plugins that are now in use and
+ * removing those that have been disabled or are otherwise no longer
+ * available.
+ *
+ * Since: 1.3.8
+ */
+void webkit_web_plugin_database_refresh(WebKitWebPluginDatabase* database)
+{
+ g_return_if_fail(WEBKIT_IS_WEB_PLUGIN_DATABASE(database));
+
+ database->priv->coreDatabase->refresh();
+}
+
+WebKitWebPluginDatabase* webkit_web_plugin_database_new(void)
+{
+ return WEBKIT_WEB_PLUGIN_DATABASE(g_object_new(WEBKIT_TYPE_WEB_PLUGIN_DATABASE, 0));
+}
diff --git a/WebKit/gtk/webkit/webkitwebplugindatabase.h b/WebKit/gtk/webkit/webkitwebplugindatabase.h
new file mode 100644
index 0000000..0b02c26
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebplugindatabase.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef webkitwebplugindatabase_h
+#define webkitwebplugindatabase_h
+
+#include <glib-object.h>
+
+#include <webkit/webkitdefines.h>
+
+G_BEGIN_DECLS
+
+#define WEBKIT_TYPE_WEB_PLUGIN_DATABASE (webkit_web_plugin_database_get_type())
+#define WEBKIT_WEB_PLUGIN_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_PLUGIN_DATABASE, WebKitWebPluginDatabase))
+#define WEBKIT_WEB_PLUGIN_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_PLUGIN_DATABASE, WebKitWebPluginDatabaseClass))
+#define WEBKIT_IS_WEB_PLUGIN_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_PLUGIN_DATABASE))
+#define WEBKIT_IS_WEB_PLUGIN_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_PLUGIN_DATABASE))
+#define WEBKIT_WEB_PLUGIN_DATABASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_PLUGIN_DATABASE, WebKitWebPluginDatabaseClass))
+
+typedef struct _WebKitWebPluginDatabasePrivate WebKitWebPluginDatabasePrivate;
+
+struct _WebKitWebPluginDatabaseClass {
+ GObjectClass parentClass;
+};
+
+struct _WebKitWebPluginDatabase {
+ GObject parentInstance;
+
+ WebKitWebPluginDatabasePrivate* priv;
+};
+
+WEBKIT_API GType
+webkit_web_plugin_database_get_type (void) G_GNUC_CONST;
+
+WEBKIT_API void
+webkit_web_plugin_database_plugins_list_free (GSList*);
+
+WEBKIT_API GSList*
+webkit_web_plugin_database_get_plugins (WebKitWebPluginDatabase*);
+
+WEBKIT_API WebKitWebPlugin*
+webkit_web_plugin_database_get_plugin_for_mimetype (WebKitWebPluginDatabase*, const char *);
+
+WEBKIT_API void
+webkit_web_plugin_database_refresh (WebKitWebPluginDatabase*);
+
+G_END_DECLS
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebplugindatabaseprivate.h b/WebKit/gtk/webkit/webkitwebplugindatabaseprivate.h
new file mode 100644
index 0000000..199aede
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebplugindatabaseprivate.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitwebplugindatabaseprivate_h
+#define webkitwebplugindatabaseprivate_h
+
+#include <glib-object.h>
+
+namespace WebCore {
+class PluginDatabase;
+}
+
+extern "C" {
+
+typedef struct _WebKitWebPluginDatabasePrivate WebKitWebPluginDatabasePrivate;
+struct _WebKitWebPluginDatabasePrivate {
+ WebCore::PluginDatabase* coreDatabase;
+};
+
+WebKitWebPluginDatabase* webkit_web_plugin_database_new();
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebpluginprivate.h b/WebKit/gtk/webkit/webkitwebpluginprivate.h
new file mode 100644
index 0000000..4ae204b
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebpluginprivate.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef webkitwebpluginprivate_h
+#define webkitwebpluginprivate_h
+
+#include "webkitwebplugin.h"
+#include <glib-object.h>
+#include <wtf/text/CString.h>
+
+namespace WebCore {
+class PluginPackage;
+}
+
+namespace WebKit {
+WebKitWebPlugin* kitNew(WebCore::PluginPackage* package);
+}
+
+extern "C" {
+
+typedef struct _WebKitWebPluginPrivate WebKitWebPluginPrivate;
+struct _WebKitWebPluginPrivate {
+ RefPtr<WebCore::PluginPackage> corePlugin;
+ CString name;
+ CString description;
+ GSList* mimeTypes;
+};
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebpolicydecision.cpp b/WebKit/gtk/webkit/webkitwebpolicydecision.cpp
index 5ef6310..624ff9a 100644
--- a/WebKit/gtk/webkit/webkitwebpolicydecision.cpp
+++ b/WebKit/gtk/webkit/webkitwebpolicydecision.cpp
@@ -18,11 +18,12 @@
*/
#include "config.h"
-
#include "webkitwebpolicydecision.h"
+#include "FrameLoaderClient.h"
#include "FrameLoaderTypes.h"
-#include "webkitprivate.h"
+#include "webkitwebframeprivate.h"
+#include "webkitwebpolicydecisionprivate.h"
using namespace WebKit;
using namespace WebCore;
@@ -45,8 +46,6 @@ struct _WebKitWebPolicyDecisionPrivate {
gboolean isCancelled;
};
-#define WEBKIT_WEB_POLICY_DECISION_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_POLICY_DECISION, WebKitWebPolicyDecisionPrivate))
-
static void webkit_web_policy_decision_class_init(WebKitWebPolicyDecisionClass* decisionClass)
{
g_type_class_add_private(decisionClass, sizeof(WebKitWebPolicyDecisionPrivate));
@@ -54,7 +53,7 @@ static void webkit_web_policy_decision_class_init(WebKitWebPolicyDecisionClass*
static void webkit_web_policy_decision_init(WebKitWebPolicyDecision* decision)
{
- decision->priv = WEBKIT_WEB_POLICY_DECISION_GET_PRIVATE(decision);
+ decision->priv = G_TYPE_INSTANCE_GET_PRIVATE(decision, WEBKIT_TYPE_WEB_POLICY_DECISION, WebKitWebPolicyDecisionPrivate);
}
WebKitWebPolicyDecision* webkit_web_policy_decision_new(WebKitWebFrame* frame, WebCore::FramePolicyFunction function)
diff --git a/WebKit/gtk/webkit/webkitwebpolicydecisionprivate.h b/WebKit/gtk/webkit/webkitwebpolicydecisionprivate.h
new file mode 100644
index 0000000..2d264ab
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebpolicydecisionprivate.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitwebpolicydecisionprivate_h
+#define webkitwebpolicydecisionprivate_h
+
+#include "webkitwebpolicydecision.h"
+
+extern "C" {
+
+WebKitWebPolicyDecision* webkit_web_policy_decision_new(WebKitWebFrame*, WebCore::FramePolicyFunction);
+
+void webkit_web_policy_decision_cancel(WebKitWebPolicyDecision*);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebresource.cpp b/WebKit/gtk/webkit/webkitwebresource.cpp
index fb0acfc..b7f4036 100644
--- a/WebKit/gtk/webkit/webkitwebresource.cpp
+++ b/WebKit/gtk/webkit/webkitwebresource.cpp
@@ -18,21 +18,20 @@
*/
#include "config.h"
-
#include "webkitwebresource.h"
-#include "webkitprivate.h"
#include "ArchiveResource.h"
#include "KURL.h"
#include "PlatformString.h"
#include "SharedBuffer.h"
#include "webkitenumtypes.h"
+#include "webkitglobalsprivate.h"
#include "webkitmarshal.h"
-#include "wtf/Assertions.h"
-#include <wtf/text/CString.h>
-
+#include "webkitwebresourceprivate.h"
#include <glib.h>
#include <glib/gi18n-lib.h>
+#include <wtf/Assertions.h>
+#include <wtf/text/CString.h>
/**
* SECTION:webkitwebresource
@@ -44,7 +43,6 @@
*/
using namespace WebCore;
-using namespace WebKit;
enum {
PROP_0,
@@ -217,7 +215,7 @@ static void webkit_web_resource_set_property(GObject* object, guint prop_id, con
static void webkit_web_resource_init(WebKitWebResource* webResource)
{
- webResource->priv = WEBKIT_WEB_RESOURCE_GET_PRIVATE(webResource);
+ webResource->priv = G_TYPE_INSTANCE_GET_PRIVATE(webResource, WEBKIT_TYPE_WEB_RESOURCE, WebKitWebResourcePrivate);
}
// internal use only
diff --git a/WebKit/gtk/webkit/webkitwebresourceprivate.h b/WebKit/gtk/webkit/webkitwebresourceprivate.h
new file mode 100644
index 0000000..2ae3d05
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebresourceprivate.h
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitwebresourceprivate_h
+#define webkitwebresourceprivate_h
+
+#include "ArchiveResource.h"
+#include "webkitwebresource.h"
+
+extern "C" {
+
+struct _WebKitWebResourcePrivate {
+ WebCore::ArchiveResource* resource;
+
+ gchar* uri;
+ gchar* mimeType;
+ gchar* textEncoding;
+ gchar* frameName;
+
+ GString* data;
+};
+
+WebKitWebResource* webkit_web_resource_new_with_core_resource(PassRefPtr<WebCore::ArchiveResource>);
+
+void webkit_web_resource_init_with_core_resource(WebKitWebResource*, PassRefPtr<WebCore::ArchiveResource>);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebsettings.cpp b/WebKit/gtk/webkit/webkitwebsettings.cpp
index 2661b82..3deae30 100644
--- a/WebKit/gtk/webkit/webkitwebsettings.cpp
+++ b/WebKit/gtk/webkit/webkitwebsettings.cpp
@@ -26,17 +26,19 @@
#include "config.h"
#include "webkitwebsettings.h"
-#include "webkitenumtypes.h"
-#include "webkitprivate.h"
-#include "webkitversion.h"
-
+#include "EditingBehavior.h"
#include "FileSystem.h"
-#include "PluginDatabase.h"
#include "Language.h"
+#include "PluginDatabase.h"
+#include "webkitenumtypes.h"
+#include "webkitglobalsprivate.h"
+#include "webkitversion.h"
+#include "webkitwebsettingsprivate.h"
+#include <enchant.h>
#include <wtf/text/CString.h>
#include <wtf/text/StringConcatenate.h>
-
#include <glib/gi18n-lib.h>
+
#if OS(UNIX)
#include <sys/utsname.h>
#endif
@@ -110,6 +112,7 @@ struct _WebKitWebSettingsPrivate {
gboolean auto_resize_window;
gboolean enable_java_applet;
gboolean enable_hyperlink_auditing;
+ gboolean enable_fullscreen;
};
#define WEBKIT_WEB_SETTINGS_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_SETTINGS, WebKitWebSettingsPrivate))
@@ -161,7 +164,8 @@ enum {
PROP_ENABLE_PAGE_CACHE,
PROP_AUTO_RESIZE_WINDOW,
PROP_ENABLE_JAVA_APPLET,
- PROP_ENABLE_HYPERLINK_AUDITING
+ PROP_ENABLE_HYPERLINK_AUDITING,
+ PROP_ENABLE_FULLSCREEN
};
// Create a default user agent string
@@ -240,7 +244,7 @@ static void webkit_web_settings_class_init(WebKitWebSettingsClass* klass)
gobject_class->set_property = webkit_web_settings_set_property;
gobject_class->get_property = webkit_web_settings_get_property;
- webkit_init();
+ webkitInit();
GParamFlags flags = (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT);
@@ -902,12 +906,21 @@ static void webkit_web_settings_class_init(WebKitWebSettingsClass* klass)
FALSE,
flags));
+ /* Undocumented for now */
+ g_object_class_install_property(gobject_class,
+ PROP_ENABLE_FULLSCREEN,
+ g_param_spec_boolean("enable-fullscreen",
+ _("Enable Fullscreen"),
+ _("Whether the Mozilla style API should be enabled."),
+ FALSE,
+ flags));
+
g_type_class_add_private(klass, sizeof(WebKitWebSettingsPrivate));
}
static void webkit_web_settings_init(WebKitWebSettings* web_settings)
{
- web_settings->priv = WEBKIT_WEB_SETTINGS_GET_PRIVATE(web_settings);
+ web_settings->priv = G_TYPE_INSTANCE_GET_PRIVATE(web_settings, WEBKIT_TYPE_WEB_SETTINGS, WebKitWebSettingsPrivate);
}
static EnchantBroker* get_enchant_broker()
@@ -950,6 +963,13 @@ static void webkit_web_settings_finalize(GObject* object)
G_OBJECT_CLASS(webkit_web_settings_parent_class)->finalize(object);
}
+static void getAvailableDictionariesCallback(const char* const languageTag, const char* const, const char* const, const char* const, void* data)
+{
+ Vector<CString>* dicts = static_cast<Vector<CString>*>(data);
+
+ dicts->append(languageTag);
+}
+
static void webkit_web_settings_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec)
{
WebKitWebSettings* web_settings = WEBKIT_WEB_SETTINGS(object);
@@ -1064,6 +1084,14 @@ static void webkit_web_settings_set_property(GObject* object, guint prop_id, con
if (enchant_broker_dict_exists(broker, language)) {
dict = enchant_broker_request_dict(broker, language);
spellDictionaries = g_slist_append(spellDictionaries, dict);
+ } else {
+ // No dictionaries selected, we get one from the list
+ Vector<CString> allDictionaries;
+ enchant_broker_list_dicts(broker, getAvailableDictionariesCallback, &allDictionaries);
+ if (!allDictionaries.isEmpty()) {
+ dict = enchant_broker_request_dict(broker, allDictionaries[0].data());
+ spellDictionaries = g_slist_append(spellDictionaries, dict);
+ }
}
}
g_slist_foreach(priv->enchant_dicts, free_spell_checking_language, 0);
@@ -1128,6 +1156,9 @@ static void webkit_web_settings_set_property(GObject* object, guint prop_id, con
case PROP_ENABLE_HYPERLINK_AUDITING:
priv->enable_hyperlink_auditing = g_value_get_boolean(value);
break;
+ case PROP_ENABLE_FULLSCREEN:
+ priv->enable_fullscreen = g_value_get_boolean(value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
@@ -1275,6 +1306,9 @@ static void webkit_web_settings_get_property(GObject* object, guint prop_id, GVa
case PROP_ENABLE_HYPERLINK_AUDITING:
g_value_set_boolean(value, priv->enable_hyperlink_auditing);
break;
+ case PROP_ENABLE_FULLSCREEN:
+ g_value_set_boolean(value, priv->enable_fullscreen);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
@@ -1350,6 +1384,7 @@ WebKitWebSettings* webkit_web_settings_copy(WebKitWebSettings* web_settings)
"auto-resize-window", priv->auto_resize_window,
"enable-java-applet", priv->enable_java_applet,
"enable-hyperlink-auditing", priv->enable_hyperlink_auditing,
+ "enable-fullscreen", priv->enable_fullscreen,
NULL));
return copy;
@@ -1372,24 +1407,6 @@ void webkit_web_settings_add_extra_plugin_directory(WebKitWebView* webView, cons
}
/**
- * webkit_web_settings_get_enchant_dicts:
- * @web_view: a #WebKitWebView
- *
- * Internal use only. Retrieves a GSList of EnchantDicts from the
- * #WebKitWebSettings of @web_view.
- *
- * Since: 1.1.22
- */
-GSList* webkit_web_settings_get_enchant_dicts(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
-
- WebKitWebSettings* settings = webkit_web_view_get_settings(webView);
-
- return settings->priv->enchant_dicts;
-}
-
-/**
* webkit_web_settings_get_user_agent:
* @web_settings: a #WebKitWebSettings
*
@@ -1406,3 +1423,21 @@ G_CONST_RETURN gchar* webkit_web_settings_get_user_agent(WebKitWebSettings* webS
return priv->user_agent;
}
+
+GSList* webkitWebViewGetEnchantDicts(WebKitWebView* webView)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
+
+ WebKitWebSettings* settings = webkit_web_view_get_settings(webView);
+
+ return settings->priv->enchant_dicts;
+}
+
+namespace WebKit {
+
+WebCore::EditingBehaviorType core(WebKitEditingBehavior type)
+{
+ return (WebCore::EditingBehaviorType)type;
+}
+
+}
diff --git a/WebKit/gtk/webkit/webkitwebsettingsprivate.h b/WebKit/gtk/webkit/webkitwebsettingsprivate.h
new file mode 100644
index 0000000..9700ba5
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebsettingsprivate.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitwebsettingsprivate_h
+#define webkitwebsettingsprivate_h
+
+#include "webkitwebsettings.h"
+
+extern "C" {
+
+WEBKIT_API void webkit_web_settings_add_extra_plugin_directory(WebKitWebView*, const gchar* directory);
+
+GSList* webkitWebViewGetEnchantDicts(WebKitWebView*);
+
+WTF::String webkitUserAgent();
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebview.cpp b/WebKit/gtk/webkit/webkitwebview.cpp
index 3e888f8..bd3538c 100644
--- a/WebKit/gtk/webkit/webkitwebview.cpp
+++ b/WebKit/gtk/webkit/webkitwebview.cpp
@@ -10,6 +10,7 @@
* Copyright (C) 2009, 2010 Igalia S.L.
* Copyright (C) 2009 Movial Creative Technologies Inc.
* Copyright (C) 2009 Bobby Powers
+ * Copyright (C) 2010 Joone Hur <joone@kldp.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -29,26 +30,15 @@
#include "config.h"
#include "webkitwebview.h"
-#include "webkitdownload.h"
-#include "webkitenumtypes.h"
-#include "webkitgeolocationpolicydecision.h"
-#include "webkitmarshal.h"
-#include "webkitnetworkrequest.h"
-#include "webkitnetworkresponse.h"
-#include "webkitprivate.h"
-#include "webkitwebinspector.h"
-#include "webkitwebbackforwardlist.h"
-#include "webkitwebhistoryitem.h"
-
#include "AXObjectCache.h"
#include "AbstractDatabase.h"
#include "BackForwardListImpl.h"
-#include "MemoryCache.h"
+#include "Chrome.h"
#include "ChromeClientGtk.h"
#include "ClipboardUtilitiesGtk.h"
+#include "ContextMenu.h"
#include "ContextMenuClientGtk.h"
#include "ContextMenuController.h"
-#include "ContextMenu.h"
#include "Cursor.h"
#include "Document.h"
#include "DocumentLoader.h"
@@ -56,29 +46,29 @@
#include "DragClientGtk.h"
#include "DragController.h"
#include "DragData.h"
-#include "EditorClientGtk.h"
#include "Editor.h"
+#include "EditorClientGtk.h"
#include "EventHandler.h"
#include "FloatQuad.h"
#include "FocusController.h"
#include "FrameLoader.h"
#include "FrameLoaderTypes.h"
#include "FrameView.h"
-#include <glib/gi18n-lib.h>
-#include <GOwnPtr.h>
-#include <GOwnPtrGtk.h>
+#include "GOwnPtrGtk.h"
#include "GraphicsContext.h"
#include "GtkVersioning.h"
+#include "HTMLNames.h"
#include "HitTestRequest.h"
#include "HitTestResult.h"
#include "IconDatabase.h"
#include "InspectorClientGtk.h"
+#include "MemoryCache.h"
#include "MouseEventWithHitTestResults.h"
#include "NotImplemented.h"
#include "PageCache.h"
#include "Pasteboard.h"
-#include "PasteboardHelperGtk.h"
#include "PasteboardHelper.h"
+#include "PasteboardHelperGtk.h"
#include "PlatformKeyboardEvent.h"
#include "PlatformWheelEvent.h"
#include "ProgressTracker.h"
@@ -86,10 +76,35 @@
#include "ResourceHandle.h"
#include "ScriptValue.h"
#include "Scrollbar.h"
+#include "Settings.h"
#include "webkit/WebKitDOMDocumentPrivate.h"
-#include <wtf/text/CString.h>
-
+#include "webkitdownload.h"
+#include "webkitdownloadprivate.h"
+#include "webkitenumtypes.h"
+#include "webkitgeolocationpolicydecision.h"
+#include "webkitglobalsprivate.h"
+#include "webkithittestresultprivate.h"
+#include "webkitmarshal.h"
+#include "webkitnetworkrequest.h"
+#include "webkitnetworkresponse.h"
+#include "webkitviewportattributes.h"
+#include "webkitviewportattributesprivate.h"
+#include "webkitwebbackforwardlist.h"
+#include "webkitwebframeprivate.h"
+#include "webkitwebhistoryitem.h"
+#include "webkitwebhistoryitemprivate.h"
+#include "webkitwebinspector.h"
+#include "webkitwebinspectorprivate.h"
+#include "webkitwebpolicydecision.h"
+#include "webkitwebresource.h"
+#include "webkitwebsettingsprivate.h"
+#include "webkitwebplugindatabaseprivate.h"
+#include "webkitwebwindowfeatures.h"
+#include "webkitwebviewprivate.h"
#include <gdk/gdkkeysyms.h>
+#include <glib/gi18n-lib.h>
+#include <wtf/gobject/GOwnPtr.h>
+#include <wtf/text/CString.h>
/**
* SECTION:webkitwebview
@@ -107,7 +122,7 @@
*
* <programlisting>
* /<!-- -->* Create the widgets *<!-- -->/
- * GtkWidget *main_window = gtk_window_new (GTK_WIDGET_TOPLEVEL);
+ * GtkWidget *main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
* GtkWidget *scrolled_window = gtk_scrolled_window_new (NULL, NULL);
* GtkWidget *web_view = webkit_web_view_new ();
*
@@ -125,7 +140,6 @@
*/
static const double defaultDPI = 96.0;
-static WebKitCacheModel cacheModel;
static IntPoint globalPointForClientPoint(GdkWindow* window, const IntPoint& clientPoint);
using namespace WebKit;
@@ -173,7 +187,6 @@ enum {
GEOLOCATION_POLICY_DECISION_CANCELLED,
ONLOAD_EVENT,
FRAME_CREATED,
-
SHOULD_BEGIN_EDITING,
SHOULD_END_EDITING,
SHOULD_INSERT_NODE,
@@ -185,6 +198,8 @@ enum {
EDITING_BEGAN,
USER_CHANGED_CONTENTS,
EDITING_ENDED,
+ VIEWPORT_ATTRIBUTES_RECOMPUTE_REQUESTED,
+ VIEWPORT_ATTRIBUTES_CHANGED,
LAST_SIGNAL
};
@@ -199,6 +214,7 @@ enum {
PROP_EDITABLE,
PROP_SETTINGS,
PROP_WEB_INSPECTOR,
+ PROP_VIEWPORT_ATTRIBUTES,
PROP_WINDOW_FEATURES,
PROP_TRANSPARENT,
PROP_ZOOM_LEVEL,
@@ -237,7 +253,7 @@ static GtkIMContext* webkit_web_view_get_im_context(WebKitWebView*);
static void PopupMenuPositionFunc(GtkMenu* menu, gint *x, gint *y, gboolean *pushIn, gpointer userData)
{
WebKitWebView* view = WEBKIT_WEB_VIEW(userData);
- WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(view);
+ WebKitWebViewPrivate* priv = view->priv;
GdkScreen* screen = gtk_widget_get_screen(GTK_WIDGET(view));
GtkRequisition menuSize;
@@ -265,6 +281,25 @@ static Node* getFocusedNode(Frame* frame)
return 0;
}
+static void contextMenuItemActivated(GtkMenuItem* item, ContextMenuController* controller)
+{
+ ContextMenuItem contextItem(item);
+ controller->contextMenuItemSelected(&contextItem);
+}
+
+static void contextMenuConnectActivate(GtkMenuItem* item, ContextMenuController* controller)
+{
+ if (GTK_IS_SEPARATOR_MENU_ITEM(item))
+ return;
+
+ if (GtkWidget* menu = gtk_menu_item_get_submenu(item)) {
+ gtk_container_foreach(GTK_CONTAINER(menu), (GtkCallback)contextMenuConnectActivate, controller);
+ return;
+ }
+
+ g_signal_connect(item, "activate", G_CALLBACK(contextMenuItemActivated), controller);
+}
+
static gboolean webkit_web_view_forward_context_menu_event(WebKitWebView* webView, const PlatformMouseEvent& event)
{
Page* page = core(webView);
@@ -305,7 +340,8 @@ static gboolean webkit_web_view_forward_context_menu_event(WebKitWebView* webVie
// If coreMenu is NULL, this means WebCore decided to not create
// the default context menu; this may happen when the page is
// handling the right-click for reasons other than the context menu.
- ContextMenu* coreMenu = page->contextMenuController()->contextMenu();
+ ContextMenuController* controller = page->contextMenuController();
+ ContextMenu* coreMenu = controller->contextMenu();
if (!coreMenu)
return mousePressEventResult;
@@ -323,22 +359,23 @@ static gboolean webkit_web_view_forward_context_menu_event(WebKitWebView* webVie
if (!menu)
return FALSE;
+ // We connect the "activate" signal here rather than in ContextMenuGtk to avoid
+ // a layering violation. ContextMenuGtk should not know about the ContextMenuController.
+ gtk_container_foreach(GTK_CONTAINER(menu), (GtkCallback)contextMenuConnectActivate, controller);
+
g_signal_emit(webView, webkit_web_view_signals[POPULATE_POPUP], 0, menu);
- GList* items = gtk_container_get_children(GTK_CONTAINER(menu));
- bool empty = !g_list_nth(items, 0);
- g_list_free(items);
- if (empty)
+ // If the context menu is now empty, don't show it.
+ GOwnPtr<GList> items(gtk_container_get_children(GTK_CONTAINER(menu)));
+ if (!items)
return FALSE;
- WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView);
+ WebKitWebViewPrivate* priv = webView->priv;
priv->currentMenu = menu;
priv->lastPopupXPosition = event.globalX();
priv->lastPopupYPosition = event.globalY();
- gtk_menu_popup(menu, NULL, NULL,
- &PopupMenuPositionFunc,
- webView, event.button() + 1, gtk_get_current_event_time());
+ gtk_menu_popup(menu, 0, 0, &PopupMenuPositionFunc, webView, event.button() + 1, gtk_get_current_event_time());
return TRUE;
}
@@ -508,6 +545,9 @@ static void webkit_web_view_get_property(GObject* object, guint prop_id, GValue*
case PROP_WEB_INSPECTOR:
g_value_set_object(value, webkit_web_view_get_inspector(webView));
break;
+ case PROP_VIEWPORT_ATTRIBUTES:
+ g_value_set_object(value, webkit_web_view_get_viewport_attributes(webView));
+ break;
case PROP_WINDOW_FEATURES:
g_value_set_object(value, webkit_web_view_get_window_features(webView));
break;
@@ -1355,6 +1395,7 @@ static void webkit_web_view_dispose(GObject* object)
}
priv->webInspector.clear();
+ priv->viewportAttributes.clear();
priv->webWindowFeatures.clear();
priv->mainResource.clear();
priv->subResources.clear();
@@ -1399,23 +1440,36 @@ static AtkObject* webkit_web_view_get_accessible(GtkWidget* widget)
{
WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
if (!core(webView))
- return NULL;
+ return 0;
AXObjectCache::enableAccessibility();
Frame* coreFrame = core(webView)->mainFrame();
if (!coreFrame)
- return NULL;
+ return 0;
Document* doc = coreFrame->document();
if (!doc)
- return NULL;
+ return 0;
- AccessibilityObject* coreAccessible = doc->axObjectCache()->getOrCreate(doc->renderer());
- if (!coreAccessible || !coreAccessible->wrapper())
- return NULL;
+ AccessibilityObject* rootAccessible = doc->axObjectCache()->rootObject();
+ if (!rootAccessible)
+ return 0;
+
+ // We need to return the root accessibility object's first child
+ // to get to the actual ATK Object associated with the web view.
+ // See https://bugs.webkit.org/show_bug.cgi?id=51932
+ AtkObject* axRoot = rootAccessible->wrapper();
+ if (!axRoot || !ATK_IS_OBJECT(axRoot))
+ return 0;
- return coreAccessible->wrapper();
+ AtkObject* axWebView = atk_object_ref_accessible_child(ATK_OBJECT(axRoot), 0);
+ if (!axWebView || !ATK_IS_OBJECT(axWebView))
+ return 0;
+
+ // We don't want the extra reference returned by ref_accessible_child.
+ g_object_unref(axWebView);
+ return axWebView;
}
static gdouble webViewGetDPI(WebKitWebView* webView)
@@ -1477,7 +1531,7 @@ static IntPoint globalPointForClientPoint(GdkWindow* window, const IntPoint& cli
static void webkit_web_view_drag_end(GtkWidget* widget, GdkDragContext* context)
{
WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
- WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView);
+ WebKitWebViewPrivate* priv = webView->priv;
// This might happen if a drag is still in progress after a WebKitWebView
// is disposed and before it is finalized.
@@ -1515,7 +1569,7 @@ static void webkit_web_view_drag_end(GtkWidget* widget, GdkDragContext* context)
static void webkit_web_view_drag_data_get(GtkWidget* widget, GdkDragContext* context, GtkSelectionData* selectionData, guint info, guint)
{
- WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(WEBKIT_WEB_VIEW(widget));
+ WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW(widget)->priv;
// This might happen if a drag is still in progress after a WebKitWebView
// is diposed and before it is finalized.
@@ -1652,7 +1706,7 @@ static gboolean webkit_web_view_drag_drop(GtkWidget* widget, GdkDragContext* con
#if GTK_CHECK_VERSION(2, 12, 0)
static gboolean webkit_web_view_query_tooltip(GtkWidget *widget, gint x, gint y, gboolean keyboard_mode, GtkTooltip *tooltip)
{
- WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(widget);
+ WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW(widget)->priv;
if (keyboard_mode) {
WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
@@ -1670,8 +1724,10 @@ static gboolean webkit_web_view_query_tooltip(GtkWidget *widget, gint x, gint y,
if (titleNode->isElementNode()) {
String title = static_cast<Element*>(titleNode)->title();
if (!title.isEmpty()) {
- GdkRectangle area = coreFrame->view()->contentsToWindow(node->getRect());
- gtk_tooltip_set_tip_area(tooltip, &area);
+ if (FrameView* view = coreFrame->view()) {
+ GdkRectangle area = view->contentsToWindow(node->getRect());
+ gtk_tooltip_set_tip_area(tooltip, &area);
+ }
gtk_tooltip_set_text(tooltip, title.utf8().data());
return TRUE;
@@ -1716,7 +1772,7 @@ static void webkit_web_view_class_init(WebKitWebViewClass* webViewClass)
{
GtkBindingSet* binding_set;
- webkit_init();
+ webkitInit();
/*
* Signals
@@ -2716,6 +2772,55 @@ static void webkit_web_view_class_init(WebKitWebViewClass* webViewClass)
g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
/*
+ * WebKitWebView::viewport-attributes-recompute-requested
+ * @web_view: the object which received the signal
+ * @viewport_attributes: the #WebKitViewportAttributes which has the viewport attributes.
+ *
+ * The #WebKitWebView::viewport-attributes-recompute-requested
+ * signal will be emitted when a page with a viewport meta tag
+ * loads and when webkit_viewport_attributes_recompute is called.
+ *
+ * The #WebKitViewportAttributes will have device size, available size,
+ * desktop width, and device DPI pre-filled by values that make sense
+ * for the current screen and widget, but you can override those values
+ * if you have special requirements (for instance, if you made your
+ * widget bigger than the available visible area, you should override
+ * the available-width and available-height properties to the actual
+ * visible area).
+ *
+ * Since: 1.3.8
+ */
+ webkit_web_view_signals[VIEWPORT_ATTRIBUTES_RECOMPUTE_REQUESTED] = g_signal_new("viewport-attributes-recompute-requested",
+ G_TYPE_FROM_CLASS(webViewClass),
+ (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
+ 0,
+ 0, 0,
+ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE, 1,
+ WEBKIT_TYPE_VIEWPORT_ATTRIBUTES);
+
+ /*
+ * WebKitWebView::viewport-attributes-changed
+ * @web_view: the object which received the signal
+ * @viewport_attributes: the #WebKitViewportAttributes which has the viewport attributes.
+ *
+ * The #WebKitWebView::viewport-attributes-changed signal will be emitted
+ * after the emission of #WebKitWebView::viewport-attributes-recompute-requested
+ * and the subsequent viewport attribute recomputation. At this point,
+ * if the #WebKitViewportAttributes are valid, the viewport attributes are available.
+ *
+ * Since: 1.3.8
+ */
+ webkit_web_view_signals[VIEWPORT_ATTRIBUTES_CHANGED] = g_signal_new("viewport-attributes-changed",
+ G_TYPE_FROM_CLASS(webViewClass),
+ (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
+ 0,
+ 0, 0,
+ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE, 1,
+ WEBKIT_TYPE_VIEWPORT_ATTRIBUTES);
+
+ /*
* implementations of virtual methods
*/
webViewClass->create_web_view = webkit_web_view_real_create_web_view;
@@ -2959,6 +3064,20 @@ static void webkit_web_view_class_init(WebKitWebViewClass* webViewClass)
WEBKIT_PARAM_READABLE));
/**
+ * WebKitWebView:viewport-attributes:
+ *
+ * The associated #WebKitViewportAttributes instance.
+ *
+ * Since: 1.3.8
+ */
+ g_object_class_install_property(objectClass, PROP_VIEWPORT_ATTRIBUTES,
+ g_param_spec_object("viewport-attributes",
+ _("Viewport Attributes"),
+ _("The associated WebKitViewportAttributes instance"),
+ WEBKIT_TYPE_VIEWPORT_ATTRIBUTES,
+ WEBKIT_PARAM_READABLE));
+
+ /**
* WebKitWebView:window-features:
*
* An associated WebKitWebWindowFeatures instance.
@@ -3157,7 +3276,7 @@ static void webkit_web_view_update_settings(WebKitWebView* webView)
javaScriptCanAccessClipboard, enableOfflineWebAppCache,
enableUniversalAccessFromFileURI, enableFileAccessFromFileURI,
enableDOMPaste, tabKeyCyclesThroughElements,
- enableSiteSpecificQuirks, usePageCache, enableJavaApplet, enableHyperlinkAuditing;
+ enableSiteSpecificQuirks, usePageCache, enableJavaApplet, enableHyperlinkAuditing, enableFullscreen;
WebKitEditingBehavior editingBehavior;
@@ -3196,6 +3315,7 @@ static void webkit_web_view_update_settings(WebKitWebView* webView)
"enable-page-cache", &usePageCache,
"enable-java-applet", &enableJavaApplet,
"enable-hyperlink-auditing", &enableHyperlinkAuditing,
+ "enable-fullscreen", &enableFullscreen,
NULL);
settings->setDefaultTextEncodingName(defaultEncoding);
@@ -3225,7 +3345,7 @@ static void webkit_web_view_update_settings(WebKitWebView* webView)
settings->setJavaScriptCanOpenWindowsAutomatically(javascriptCanOpenWindows);
settings->setJavaScriptCanAccessClipboard(javaScriptCanAccessClipboard);
settings->setOfflineWebApplicationCacheEnabled(enableOfflineWebAppCache);
- settings->setEditingBehaviorType(core(editingBehavior));
+ settings->setEditingBehaviorType(static_cast<WebCore::EditingBehaviorType>(editingBehavior));
settings->setAllowUniversalAccessFromFileURLs(enableUniversalAccessFromFileURI);
settings->setAllowFileAccessFromFileURLs(enableFileAccessFromFileURI);
settings->setDOMPasteAllowed(enableDOMPaste);
@@ -3233,7 +3353,9 @@ static void webkit_web_view_update_settings(WebKitWebView* webView)
settings->setUsesPageCache(usePageCache);
settings->setJavaEnabled(enableJavaApplet);
settings->setHyperlinkAuditingEnabled(enableHyperlinkAuditing);
-
+#if ENABLE(FULLSCREEN_API)
+ settings->setFullScreenEnabled(enableFullscreen);
+#endif
Page* page = core(webView);
if (page)
page->setTabKeyCyclesThroughElements(tabKeyCyclesThroughElements);
@@ -3329,7 +3451,7 @@ static void webkit_web_view_settings_notify(WebKitWebSettings* webSettings, GPar
else if (name == g_intern_string("enable-offline-web-application-cache"))
settings->setOfflineWebApplicationCacheEnabled(g_value_get_boolean(&value));
else if (name == g_intern_string("editing-behavior"))
- settings->setEditingBehaviorType(core(static_cast<WebKitEditingBehavior>(g_value_get_enum(&value))));
+ settings->setEditingBehaviorType(static_cast<WebCore::EditingBehaviorType>(g_value_get_enum(&value)));
else if (name == g_intern_string("enable-universal-access-from-file-uris"))
settings->setAllowUniversalAccessFromFileURLs(g_value_get_boolean(&value));
else if (name == g_intern_string("enable-file-access-from-file-uris"))
@@ -3355,7 +3477,7 @@ static void webkit_web_view_settings_notify(WebKitWebSettings* webSettings, GPar
static void webkit_web_view_init(WebKitWebView* webView)
{
- WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView);
+ WebKitWebViewPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(webView, WEBKIT_TYPE_WEB_VIEW, WebKitWebViewPrivate);
webView->priv = priv;
// This is the placement new syntax: http://www.parashift.com/c++-faq-lite/dtors.html#faq-11.10
// It allows us to call a constructor on manually allocated locations in memory. We must use it
@@ -3364,7 +3486,7 @@ static void webkit_web_view_init(WebKitWebView* webView)
// members, which ensures they are initialized properly.
new (priv) WebKitWebViewPrivate();
- priv->imContext = adoptPlatformRef(gtk_im_multicontext_new());
+ priv->imContext = adoptGRef(gtk_im_multicontext_new());
Page::PageClients pageClients;
pageClients.chromeClient = new WebKit::ChromeClient(webView);
@@ -3382,9 +3504,13 @@ static void webkit_web_view_init(WebKitWebView* webView)
// We also add a simple wrapper class to provide the public
// interface for the Web Inspector.
- priv->webInspector = adoptPlatformRef(WEBKIT_WEB_INSPECTOR(g_object_new(WEBKIT_TYPE_WEB_INSPECTOR, NULL)));
+ priv->webInspector = adoptGRef(WEBKIT_WEB_INSPECTOR(g_object_new(WEBKIT_TYPE_WEB_INSPECTOR, NULL)));
webkit_web_inspector_set_inspector_client(priv->webInspector.get(), priv->corePage);
+ // And our ViewportAttributes friend.
+ priv->viewportAttributes = adoptGRef(WEBKIT_VIEWPORT_ATTRIBUTES(g_object_new(WEBKIT_TYPE_VIEWPORT_ATTRIBUTES, NULL)));
+ priv->viewportAttributes->priv->webView = webView;
+
// The smart pointer will call g_object_ref_sink on these adjustments.
priv->horizontalAdjustment = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
priv->verticalAdjustment = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
@@ -3394,17 +3520,17 @@ static void webkit_web_view_init(WebKitWebView* webView)
priv->lastPopupXPosition = priv->lastPopupYPosition = -1;
priv->editable = false;
- priv->backForwardList = adoptPlatformRef(webkit_web_back_forward_list_new_with_web_view(webView));
+ priv->backForwardList = adoptGRef(webkit_web_back_forward_list_new_with_web_view(webView));
priv->zoomFullContent = FALSE;
- priv->webSettings = adoptPlatformRef(webkit_web_settings_new());
+ priv->webSettings = adoptGRef(webkit_web_settings_new());
webkit_web_view_update_settings(webView);
g_signal_connect(priv->webSettings.get(), "notify", G_CALLBACK(webkit_web_view_settings_notify), webView);
- priv->webWindowFeatures = adoptPlatformRef(webkit_web_window_features_new());
+ priv->webWindowFeatures = adoptGRef(webkit_web_window_features_new());
- priv->subResources = adoptPlatformRef(g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_object_unref));
+ priv->subResources = adoptGRef(g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_object_unref));
priv->currentClickCount = 0;
priv->previousClickButton = 0;
@@ -3524,6 +3650,29 @@ WebKitWebInspector* webkit_web_view_get_inspector(WebKitWebView* webView)
return webView->priv->webInspector.get();
}
+/**
+ * webkit_web_view_get_viewport_attributes:
+ * @webView: a #WebKitWebView
+ *
+ * Obtains the #WebKitViewportAttributes associated with the
+ * #WebKitWebView. Every #WebKitWebView object has a
+ * #WebKitWebViewporAttributes object attached to it as soon as it is
+ * created, so this function will only return NULL if the argument is
+ * not a valid #WebKitWebView. Do note however that the viewport
+ * attributes object only contains valid information when the current
+ * page has a viewport meta tag. You can check whether the data should
+ * be used by checking the #WebKitViewport:valid property.
+ *
+ * Return value: (transfer none): the #WebKitViewportAttributes instance.
+ *
+ * Since: 1.3.8
+ */
+WebKitViewportAttributes* webkit_web_view_get_viewport_attributes(WebKitWebView* webView)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
+ return webView->priv->viewportAttributes.get();
+}
+
// internal
static void webkit_web_view_set_window_features(WebKitWebView* webView, WebKitWebWindowFeatures* webWindowFeatures)
{
@@ -4000,7 +4149,7 @@ void webkit_web_view_execute_script(WebKitWebView* webView, const gchar* script)
}
/**
- * webkit_web_view_cut_clipboard:
+ * webkit_web_view_can_cut_clipboard:
* @webView: a #WebKitWebView
*
* Determines whether or not it is currently possible to cut to the clipboard.
@@ -4016,7 +4165,7 @@ gboolean webkit_web_view_can_cut_clipboard(WebKitWebView* webView)
}
/**
- * webkit_web_view_copy_clipboard:
+ * webkit_web_view_can_copy_clipboard:
* @webView: a #WebKitWebView
*
* Determines whether or not it is currently possible to copy to the clipboard.
@@ -4032,7 +4181,7 @@ gboolean webkit_web_view_can_copy_clipboard(WebKitWebView* webView)
}
/**
- * webkit_web_view_paste_clipboard:
+ * webkit_web_view_can_paste_clipboard:
* @webView: a #WebKitWebView
*
* Determines whether or not it is currently possible to paste from the clipboard.
@@ -4754,16 +4903,17 @@ gboolean webkit_web_view_get_view_source_mode (WebKitWebView* webView)
}
// Internal subresource management
-void webkit_web_view_add_resource(WebKitWebView* webView, const char* identifier, WebKitWebResource* webResource)
+void webkit_web_view_add_main_resource(WebKitWebView* webView, const char* identifier, WebKitWebResource* webResource)
{
WebKitWebViewPrivate* priv = webView->priv;
- if (!priv->mainResource) {
- priv->mainResource = adoptPlatformRef(webResource);
- priv->mainResourceIdentifier = identifier;
- return;
- }
+ priv->mainResource = adoptGRef(webResource);
+ priv->mainResourceIdentifier = identifier;
+}
+void webkit_web_view_add_resource(WebKitWebView* webView, const char* identifier, WebKitWebResource* webResource)
+{
+ WebKitWebViewPrivate* priv = webView->priv;
g_hash_table_insert(priv->subResources.get(), g_strdup(identifier), webResource);
}
@@ -4804,8 +4954,6 @@ WebKitWebResource* webkit_web_view_get_main_resource(WebKitWebView* webView)
void webkit_web_view_clear_resources(WebKitWebView* webView)
{
WebKitWebViewPrivate* priv = webView->priv;
- priv->mainResourceIdentifier = "";
- priv->mainResource = 0;
if (priv->subResources)
g_hash_table_remove_all(priv->subResources.get());
@@ -4917,141 +5065,67 @@ webkit_web_view_get_dom_document(WebKitWebView* webView)
return kit(doc);
}
-/**
- * SECTION:webkit
- * @short_description: Global functions controlling WebKit
- *
- * WebKit manages many resources which are not related to specific
- * views. These functions relate to cross-view limits, such as cache
- * sizes, database quotas, and the HTTP session management.
- */
-
-/**
- * webkit_get_default_session:
- *
- * Retrieves the default #SoupSession used by all web views.
- * Note that the session features are added by WebKit on demand,
- * so if you insert your own #SoupCookieJar before any network
- * traffic occurs, WebKit will use it instead of the default.
- *
- * Return value: (transfer none): the default #SoupSession
- *
- * Since: 1.1.1
- */
-SoupSession* webkit_get_default_session ()
+GtkMenu* webkit_web_view_get_context_menu(WebKitWebView* webView)
{
- webkit_init();
- return ResourceHandle::defaultSession();
+ g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
+
+#if ENABLE(CONTEXT_MENUS)
+ ContextMenu* menu = core(webView)->contextMenuController()->contextMenu();
+ if (!menu)
+ return 0;
+ return menu->platformDescription();
+#else
+ return 0;
+#endif
}
-/**
- * webkit_set_cache_model:
- * @cache_model: a #WebKitCacheModel
- *
- * Specifies a usage model for WebViews, which WebKit will use to
- * determine its caching behavior. All web views follow the cache
- * model. This cache model determines the RAM and disk space to use
- * for caching previously viewed content .
- *
- * Research indicates that users tend to browse within clusters of
- * documents that hold resources in common, and to revisit previously
- * visited documents. WebKit and the frameworks below it include
- * built-in caches that take advantage of these patterns,
- * substantially improving document load speed in browsing
- * situations. The WebKit cache model controls the behaviors of all of
- * these caches, including various WebCore caches.
- *
- * Browsers can improve document load speed substantially by
- * specifying WEBKIT_CACHE_MODEL_WEB_BROWSER. Applications without a
- * browsing interface can reduce memory usage substantially by
- * specifying WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER. Default value is
- * WEBKIT_CACHE_MODEL_WEB_BROWSER.
- *
- * Since: 1.1.18
- */
-void webkit_set_cache_model(WebKitCacheModel model)
+void webViewEnterFullscreen(WebKitWebView* webView, Node* node)
{
- webkit_init();
-
- if (cacheModel == model)
+ if (!node->hasTagName(HTMLNames::videoTag))
return;
- // FIXME: Add disk cache handling when soup has the API
- guint cacheTotalCapacity;
- guint cacheMinDeadCapacity;
- guint cacheMaxDeadCapacity;
- gdouble deadDecodedDataDeletionInterval;
- guint pageCacheCapacity;
-
- switch (model) {
- case WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER:
- pageCacheCapacity = 0;
- cacheTotalCapacity = 0;
- cacheMinDeadCapacity = 0;
- cacheMaxDeadCapacity = 0;
- deadDecodedDataDeletionInterval = 0;
- break;
- case WEBKIT_CACHE_MODEL_WEB_BROWSER:
- pageCacheCapacity = 3;
- cacheTotalCapacity = 32 * 1024 * 1024;
- cacheMinDeadCapacity = cacheTotalCapacity / 4;
- cacheMaxDeadCapacity = cacheTotalCapacity / 2;
- deadDecodedDataDeletionInterval = 60;
- break;
- default:
- g_return_if_reached();
- }
+#if ENABLE(VIDEO)
+ HTMLMediaElement* videoElement = static_cast<HTMLMediaElement*>(node);
+ WebKitWebViewPrivate* priv = webView->priv;
+
+ // First exit Fullscreen for the old mediaElement.
+ if (priv->fullscreenVideoController)
+ priv->fullscreenVideoController->exitFullscreen();
- cache()->setCapacities(cacheMinDeadCapacity, cacheMaxDeadCapacity, cacheTotalCapacity);
- cache()->setDeadDecodedDataDeletionInterval(deadDecodedDataDeletionInterval);
- pageCache()->setCapacity(pageCacheCapacity);
- cacheModel = model;
+ priv->fullscreenVideoController = new FullscreenVideoController;
+ priv->fullscreenVideoController->setMediaElement(videoElement);
+ priv->fullscreenVideoController->enterFullscreen();
+#endif
}
-/**
- * webkit_get_cache_model:
- *
- * Returns the current cache model. For more information about this
- * value check the documentation of the function
- * webkit_set_cache_model().
- *
- * Return value: the current #WebKitCacheModel
- *
- * Since: 1.1.18
- */
-WebKitCacheModel webkit_get_cache_model()
+void webViewExitFullscreen(WebKitWebView* webView)
{
- webkit_init();
- return cacheModel;
+#if ENABLE(VIDEO)
+ WebKitWebViewPrivate* priv = webView->priv;
+ if (priv->fullscreenVideoController)
+ priv->fullscreenVideoController->exitFullscreen();
+#endif
}
-void webkit_web_view_execute_core_command_by_name(WebKitWebView* webView, const gchar* name, const gchar* value)
+namespace WebKit {
+
+WebCore::Page* core(WebKitWebView* webView)
{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
- g_return_if_fail(name);
- g_return_if_fail(value);
+ if (!webView)
+ return 0;
- core(webView)->focusController()->focusedOrMainFrame()->editor()->command(name).execute(value);
+ WebKitWebViewPrivate* priv = webView->priv;
+ return priv ? priv->corePage : 0;
}
-gboolean webkit_web_view_is_command_enabled(WebKitWebView* webView, const gchar* name)
+WebKitWebView* kit(WebCore::Page* corePage)
{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
- g_return_val_if_fail(name, FALSE);
+ if (!corePage)
+ return 0;
- return core(webView)->focusController()->focusedOrMainFrame()->editor()->command(name).isEnabled();
+ ASSERT(corePage->chrome());
+ WebKit::ChromeClient* client = static_cast<WebKit::ChromeClient*>(corePage->chrome()->client());
+ return client ? client->webView() : 0;
}
-GtkMenu* webkit_web_view_get_context_menu(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
-
-#if ENABLE(CONTEXT_MENUS)
- ContextMenu* menu = core(webView)->contextMenuController()->contextMenu();
- if (!menu)
- return 0;
- return menu->platformDescription();
-#else
- return 0;
-#endif
}
diff --git a/WebKit/gtk/webkit/webkitwebview.h b/WebKit/gtk/webkit/webkitwebview.h
index cf8e669..1838bfe 100644
--- a/WebKit/gtk/webkit/webkitwebview.h
+++ b/WebKit/gtk/webkit/webkitwebview.h
@@ -50,11 +50,6 @@ typedef enum {
WEBKIT_NAVIGATION_RESPONSE_DOWNLOAD
} WebKitNavigationResponse;
-typedef enum {
- WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER = 1,
- WEBKIT_CACHE_MODEL_WEB_BROWSER
-} WebKitCacheModel;
-
typedef enum
{
WEBKIT_WEB_VIEW_TARGET_INFO_HTML,
@@ -348,9 +343,6 @@ WEBKIT_API void
webkit_web_view_set_full_content_zoom (WebKitWebView *webView,
gboolean full_content_zoom);
-WEBKIT_API SoupSession*
-webkit_get_default_session (void);
-
WEBKIT_API const gchar*
webkit_web_view_get_encoding (WebKitWebView * webView);
@@ -405,15 +397,12 @@ webkit_web_view_get_hit_test_result (WebKitWebView *webView,
WEBKIT_API G_CONST_RETURN gchar *
webkit_web_view_get_icon_uri (WebKitWebView *webView);
-WEBKIT_API void
-webkit_set_cache_model (WebKitCacheModel cache_model);
-
-WEBKIT_API WebKitCacheModel
-webkit_get_cache_model (void);
-
WEBKIT_API WebKitDOMDocument *
webkit_web_view_get_dom_document (WebKitWebView *webView);
+WEBKIT_API WebKitViewportAttributes*
+webkit_web_view_get_viewport_attributes (WebKitWebView *webView);
+
G_END_DECLS
#endif
diff --git a/WebKit/gtk/webkit/webkitwebviewprivate.h b/WebKit/gtk/webkit/webkitwebviewprivate.h
new file mode 100644
index 0000000..29da1fe
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebviewprivate.h
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008, 2010 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitwebviewprivate_h
+#define webkitwebviewprivate_h
+
+#include "DataObjectGtk.h"
+#include "FullscreenVideoController.h"
+#include "GOwnPtr.h"
+#include "ResourceHandle.h"
+#include <webkit/webkitwebview.h>
+
+namespace WebKit {
+
+WebCore::Page* core(WebKitWebView*);
+WebKitWebView* kit(WebCore::Page*);
+
+
+typedef struct DroppingContext_ {
+ WebKitWebView* webView;
+ GdkDragContext* gdkContext;
+ RefPtr<WebCore::DataObjectGtk> dataObject;
+ WebCore::IntPoint lastMotionPosition;
+ int pendingDataRequests;
+ bool dropHappened;
+} DroppingContext;
+
+}
+
+extern "C" {
+
+#define WEBKIT_WEB_VIEW_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_VIEW, WebKitWebViewPrivate))
+typedef struct _WebKitWebViewPrivate WebKitWebViewPrivate;
+struct _WebKitWebViewPrivate {
+ WebCore::Page* corePage;
+ GRefPtr<WebKitWebSettings> webSettings;
+ GRefPtr<WebKitWebInspector> webInspector;
+ GRefPtr<WebKitViewportAttributes> viewportAttributes;
+ GRefPtr<WebKitWebWindowFeatures> webWindowFeatures;
+
+ WebKitWebFrame* mainFrame;
+ GRefPtr<WebKitWebBackForwardList> backForwardList;
+
+ GRefPtr<GtkMenu> currentMenu;
+ gint lastPopupXPosition;
+ gint lastPopupYPosition;
+
+ HashSet<GtkWidget*> children;
+ bool editable;
+ GRefPtr<GtkIMContext> imContext;
+
+ gboolean transparent;
+
+ GRefPtr<GtkAdjustment> horizontalAdjustment;
+ GRefPtr<GtkAdjustment> verticalAdjustment;
+
+#ifndef GTK_API_VERSION_2
+ // GtkScrollablePolicy needs to be checked when
+ // driving the scrollable adjustment values
+ GtkScrollablePolicy horizontalScrollingPolicy;
+ GtkScrollablePolicy verticalScrollingPolicy;
+#endif
+
+ gboolean zoomFullContent;
+ WebKitLoadStatus loadStatus;
+ CString encoding;
+ CString customEncoding;
+
+ CString iconURI;
+
+ gboolean disposing;
+ gboolean usePrimaryForPaste;
+
+#if ENABLE(VIDEO)
+ FullscreenVideoController* fullscreenVideoController;
+#endif
+
+ // These are hosted here because the DataSource object is
+ // created too late in the frame loading process.
+ GRefPtr<WebKitWebResource> mainResource;
+ CString mainResourceIdentifier;
+ GRefPtr<GHashTable> subResources;
+ CString tooltipText;
+ WebCore::IntRect tooltipArea;
+
+ int currentClickCount;
+ WebCore::IntPoint previousClickPoint;
+ guint previousClickButton;
+ guint32 previousClickTime;
+ HashMap<GdkDragContext*, RefPtr<WebCore::DataObjectGtk> > draggingDataObjects;
+ HashMap<GdkDragContext*, WebKit::DroppingContext*> droppingContexts;
+};
+
+void webkit_web_view_notify_ready(WebKitWebView*);
+
+void webkit_web_view_request_download(WebKitWebView*, WebKitNetworkRequest*, const WebCore::ResourceResponse& = WebCore::ResourceResponse(), WebCore::ResourceHandle* = 0);
+
+void webkit_web_view_add_resource(WebKitWebView*, const char*, WebKitWebResource*);
+void webkit_web_view_add_main_resource(WebKitWebView*, const char*, WebKitWebResource*);
+void webkit_web_view_remove_resource(WebKitWebView*, const char*);
+WebKitWebResource* webkit_web_view_get_resource(WebKitWebView*, char*);
+WebKitWebResource* webkit_web_view_get_main_resource(WebKitWebView*);
+void webkit_web_view_clear_resources(WebKitWebView*);
+GList* webkit_web_view_get_subresources(WebKitWebView*);
+
+void webkit_web_view_set_tooltip_text(WebKitWebView*, const char*);
+GtkMenu* webkit_web_view_get_context_menu(WebKitWebView*);
+
+WEBKIT_API gchar* webkit_web_view_get_selected_text(WebKitWebView*);
+bool webkit_web_view_use_primary_for_paste(WebKitWebView*);
+
+void webViewEnterFullscreen(WebKitWebView* webView, WebCore::Node*);
+void webViewExitFullscreen(WebKitWebView* webView);
+
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebwindowfeatures.cpp b/WebKit/gtk/webkit/webkitwebwindowfeatures.cpp
index e5d65bd..93e08ac 100644
--- a/WebKit/gtk/webkit/webkitwebwindowfeatures.cpp
+++ b/WebKit/gtk/webkit/webkitwebwindowfeatures.cpp
@@ -19,10 +19,11 @@
*/
#include "config.h"
+#include "webkitwebwindowfeatures.h"
#include "WindowFeatures.h"
-#include "webkitwebwindowfeatures.h"
-#include "webkitprivate.h"
+#include "webkitglobalsprivate.h"
+#include "webkitwebwindowfeaturesprivate.h"
/**
* SECTION:webkitwebwindowfeatures
@@ -100,7 +101,7 @@ static void webkit_web_window_features_class_init(WebKitWebWindowFeaturesClass*
GParamFlags flags = (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT);
- webkit_init();
+ webkitInit();
/**
* WebKitWebWindowFeatures:x:
@@ -276,7 +277,7 @@ static void webkit_web_window_features_class_init(WebKitWebWindowFeaturesClass*
static void webkit_web_window_features_init(WebKitWebWindowFeatures* web_window_features)
{
- web_window_features->priv = WEBKIT_WEB_WINDOW_FEATURES_GET_PRIVATE(web_window_features);
+ web_window_features->priv = G_TYPE_INSTANCE_GET_PRIVATE(web_window_features, WEBKIT_TYPE_WEB_WINDOW_FEATURES, WebKitWebWindowFeaturesPrivate);
}
static void webkit_web_window_features_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec)
@@ -378,35 +379,6 @@ WebKitWebWindowFeatures* webkit_web_window_features_new()
return WEBKIT_WEB_WINDOW_FEATURES(g_object_new(WEBKIT_TYPE_WEB_WINDOW_FEATURES, NULL));
}
-// for internal use only
-WebKitWebWindowFeatures* webkit_web_window_features_new_from_core_features(const WebCore::WindowFeatures& features)
-{
- WebKitWebWindowFeatures *webWindowFeatures = webkit_web_window_features_new();
-
- if(features.xSet)
- g_object_set(webWindowFeatures, "x", static_cast<int>(features.x), NULL);
-
- if(features.ySet)
- g_object_set(webWindowFeatures, "y", static_cast<int>(features.y), NULL);
-
- if(features.widthSet)
- g_object_set(webWindowFeatures, "width", static_cast<int>(features.width), NULL);
-
- if(features.heightSet)
- g_object_set(webWindowFeatures, "height", static_cast<int>(features.height), NULL);
-
- g_object_set(webWindowFeatures,
- "toolbar-visible", features.toolBarVisible,
- "statusbar-visible", features.statusBarVisible,
- "scrollbar-visible", features.scrollbarsVisible,
- "menubar-visible", features.menuBarVisible,
- "locationbar-visible", features.locationBarVisible,
- "fullscreen", features.fullscreen,
- NULL);
-
- return webWindowFeatures;
-}
-
/**
* webkit_web_window_features_equal:
* @features1: a #WebKitWebWindowFeatures instance
@@ -443,3 +415,35 @@ gboolean webkit_web_window_features_equal(WebKitWebWindowFeatures* features1, We
return TRUE;
return FALSE;
}
+
+namespace WebKit {
+
+WebKitWebWindowFeatures* kitNew(const WebCore::WindowFeatures& features)
+{
+ WebKitWebWindowFeatures *webWindowFeatures = webkit_web_window_features_new();
+
+ if(features.xSet)
+ g_object_set(webWindowFeatures, "x", static_cast<int>(features.x), NULL);
+
+ if(features.ySet)
+ g_object_set(webWindowFeatures, "y", static_cast<int>(features.y), NULL);
+
+ if(features.widthSet)
+ g_object_set(webWindowFeatures, "width", static_cast<int>(features.width), NULL);
+
+ if(features.heightSet)
+ g_object_set(webWindowFeatures, "height", static_cast<int>(features.height), NULL);
+
+ g_object_set(webWindowFeatures,
+ "toolbar-visible", features.toolBarVisible,
+ "statusbar-visible", features.statusBarVisible,
+ "scrollbar-visible", features.scrollbarsVisible,
+ "menubar-visible", features.menuBarVisible,
+ "locationbar-visible", features.locationBarVisible,
+ "fullscreen", features.fullscreen,
+ NULL);
+
+ return webWindowFeatures;
+}
+
+}
diff --git a/WebKit/gtk/webkit/webkitwebwindowfeaturesprivate.h b/WebKit/gtk/webkit/webkitwebwindowfeaturesprivate.h
new file mode 100644
index 0000000..6ea919b
--- /dev/null
+++ b/WebKit/gtk/webkit/webkitwebwindowfeaturesprivate.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Jan Michael C. Alonzo
+ * Copyright (C) 2008 Collabora Ltd.
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * 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.
+ */
+
+#ifndef webkitwebwindowfeaturesprivate_h
+#define webkitwebwindowfeaturesprivate_h
+
+#include "webkitwebwindowfeatures.h"
+
+namespace WebKit {
+
+WebKitWebWindowFeatures* kitNew(const WebCore::WindowFeatures&);
+
+}
+
+#endif
diff --git a/WebKit/haiku/ChangeLog b/WebKit/haiku/ChangeLog
index 723c957..4315bb5 100644
--- a/WebKit/haiku/ChangeLog
+++ b/WebKit/haiku/ChangeLog
@@ -1,3 +1,56 @@
+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
+
+ - Add client functions to notify that a frame has been added or
+ removed from the page cache.
+
+ * WebCoreSupport/FrameLoaderClientHaiku.cpp:
+ (WebCore::FrameLoaderClientHaiku::didSaveToPageCache):
+ (WebCore::FrameLoaderClientHaiku::didRestoreFromPageCache):
+ * WebCoreSupport/FrameLoaderClientHaiku.h:
+
+2010-12-22 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Editor.h doesn't need to include SelectionController.h
+ https://bugs.webkit.org/show_bug.cgi?id=51441
+
+ Renamed SelectionController::EDirection to SelectionDirection.
+
+ * WebCoreSupport/EditorClientHaiku.cpp:
+ (WebCore::EditorClientHaiku::handleKeyboardEvent):
+
+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.
+
+ * WebCoreSupport/EditorClientHaiku.h:
+ (WebCore::EditorClientHaiku::requestCheckingOfString):
+
+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 signature defined in base class.
+
+ * WebCoreSupport/EditorClientHaiku.cpp:
+ (WebCore::EditorClientHaiku::getGuessesForWord):
+ * WebCoreSupport/EditorClientHaiku.h:
+
2010-11-08 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
diff --git a/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp b/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp
index bdd7eb8..2b175d8 100644
--- a/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp
+++ b/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp
@@ -253,36 +253,36 @@ void EditorClientHaiku::handleKeyboardEvent(KeyboardEvent* event)
if (start->isContentEditable()) {
switch (kevent->windowsVirtualKeyCode()) {
case VK_BACK:
- frame->editor()->deleteWithDirection(SelectionController::DirectionBackward,
+ frame->editor()->deleteWithDirection(DirectionBackward,
kevent->ctrlKey() ? WordGranularity : CharacterGranularity,
false, true);
break;
case VK_DELETE:
- frame->editor()->deleteWithDirection(SelectionController::DirectionForward,
+ frame->editor()->deleteWithDirection(DirectionForward,
kevent->ctrlKey() ? WordGranularity : CharacterGranularity,
false, true);
break;
case VK_LEFT:
frame->selection()->modify(kevent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
- SelectionController::DirectionLeft,
+ DirectionLeft,
kevent->ctrlKey() ? WordGranularity : CharacterGranularity,
true);
break;
case VK_RIGHT:
frame->selection()->modify(kevent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
- SelectionController::DirectionRight,
+ DirectionRight,
kevent->ctrlKey() ? WordGranularity : CharacterGranularity,
true);
break;
case VK_UP:
frame->selection()->modify(kevent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
- SelectionController::DirectionBackward,
+ DirectionBackward,
kevent->ctrlKey() ? ParagraphGranularity : LineGranularity,
true);
break;
case VK_DOWN:
frame->selection()->modify(kevent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
- SelectionController::DirectionForward,
+ DirectionForward,
kevent->ctrlKey() ? ParagraphGranularity : LineGranularity,
true);
break;
@@ -461,7 +461,7 @@ bool EditorClientHaiku::spellingUIIsShowing()
return false;
}
-void EditorClientHaiku::getGuessesForWord(const String&, Vector<String>&)
+void EditorClientHaiku::getGuessesForWord(const String& word, const String& context, Vector<String>& guesses)
{
notImplemented();
}
diff --git a/WebKit/haiku/WebCoreSupport/EditorClientHaiku.h b/WebKit/haiku/WebCoreSupport/EditorClientHaiku.h
index 5cbec27..ca270e9 100644
--- a/WebKit/haiku/WebCoreSupport/EditorClientHaiku.h
+++ b/WebKit/haiku/WebCoreSupport/EditorClientHaiku.h
@@ -107,9 +107,10 @@ namespace WebCore {
virtual void updateSpellingUIWithMisspelledWord(const String&);
virtual void showSpellingUI(bool show);
virtual bool spellingUIIsShowing();
- virtual void getGuessesForWord(const String&, Vector<String>& guesses);
+ virtual void getGuessesForWord(const String& word, const String& context, Vector<String>& guesses);
virtual void willSetInputMethodState();
virtual void setInputMethodState(bool enabled);
+ virtual void requestCheckingOfString(SpellChecker*, int, const String&) {}
bool isEditing() const;
diff --git a/WebKit/haiku/WebCoreSupport/FrameLoaderClientHaiku.cpp b/WebKit/haiku/WebCoreSupport/FrameLoaderClientHaiku.cpp
index 74625c5..48c65a1 100644
--- a/WebKit/haiku/WebCoreSupport/FrameLoaderClientHaiku.cpp
+++ b/WebKit/haiku/WebCoreSupport/FrameLoaderClientHaiku.cpp
@@ -857,6 +857,14 @@ void FrameLoaderClientHaiku::transitionToCommittedForNewPage()
m_frame->view()->setScrollbarModes(owner->scrollingMode(), owner->scrollingMode());
}
+void FrameLoaderClientHaiku::didSaveToPageCache()
+{
+}
+
+void FrameLoaderClientHaiku::didRestoreFromPageCache()
+{
+}
+
void FrameLoaderClientHaiku::dispatchDidBecomeFrameset(bool)
{
}
diff --git a/WebKit/haiku/WebCoreSupport/FrameLoaderClientHaiku.h b/WebKit/haiku/WebCoreSupport/FrameLoaderClientHaiku.h
index dcdb1a0..e54ba03 100644
--- a/WebKit/haiku/WebCoreSupport/FrameLoaderClientHaiku.h
+++ b/WebKit/haiku/WebCoreSupport/FrameLoaderClientHaiku.h
@@ -151,6 +151,9 @@ namespace WebCore {
virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*);
virtual void transitionToCommittedForNewPage();
+ virtual void didSaveToPageCache();
+ virtual void didRestoreFromPageCache();
+
virtual void dispatchDidBecomeFrameset(bool);
virtual void updateGlobalHistory();
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index fe5c984..5bd9ff5 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,791 @@
+2011-01-07 Jer Noble <jer.noble@apple.com>
+
+ Yet another Leopard build fix: NSRect and CGRect are not inter-
+ changable in 32-bit.
+
+ * WebView/WebFullScreenController.mm:
+ (-[WebFullScreenController exitFullscreen]):
+
+2011-01-07 Jer Noble <jer.noble@apple.com>
+
+ Fix the Leopard build: Replace CoreAnimation SL-only functions
+ with Leopard equivalents.
+
+ * WebView/WebFullScreenController.mm:
+ (+[CATransaction setDisableActions:]):
+ (+[CATransaction setAnimationDuration:]):
+ (-[WebFullScreenController _animationDuration]):
+ (-[WebFullscreenWindow initWithContentRect:styleMask:backing:defer:]):
+
+2010-12-21 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Implement WebKit Full Screen support.
+ https://bugs.webkit.org/show_bug.cgi?id=49481
+ rdar://problem/8247444
+
+ Support the new fullscreen Chrome client requests. WebView will pass
+ through these requests to a WebFullscreenController.
+
+ * WebCoreSupport/WebChromeClient.h: Add fullScreenRendererChanged().
+ * WebView/WebView.mm:
+ (-[WebView _supportsFullScreenForElement:WebCore::]): Check to see if the fullscreen pref has been enabled.
+ (-[WebView _enterFullScreenForElement:WebCore::]): Create a WebFullScreenController.
+ (-[WebView _exitFullScreenForElement:WebCore::]): Request that the WebFullScreenController exit fullscreen.
+ (-[WebView _fullScreenRendererChanged:WebCore::]): Notify the WebFullScreenController that its renderer has changed.
+ * WebView/WebViewData.h: Add ivar newFullscreenController.
+
+2010-12-17 Jer Noble <jer@kokode.apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Implement WebKit Full Screen support.
+ https://bugs.webkit.org/show_bug.cgi?id=49481
+ rdar://problem/8247444
+
+ This patch implements the FullScreen APIs using the new RenderFullScreen renderer and the new
+ Document client APIs. The RenderFullScreen renderer's CALayer is hosted in a new, fullscreen
+ window, and a custom CAAnimation animates that layer between the initial screen rect of the
+ full screen element, to its final value. WebFullscreenController will swap the WebView out of
+ its original window, and into the fullscreen window. The controller will replace the WebView
+ with a placeholder view, so that if the placeholder moves or resized while the WebView is
+ absent, the WebView will move back to the correct location when exiting fullscreen.
+
+ * WebView/WebFullscreenController.h: Added.
+ * WebView/WebFullscreenController.mm: Added.
+ (-[WebFullscreenController windowDidExitFullscreen:]): Close the fullscreen window.
+ (-[WebFullscreenController windowDidEnterFullscreen:]): Swap the webView back into the fullscreen window.
+ (-[WebFullscreenController animationDidStop:finished:]): Call windowDid{Exit|Enter}FullScreen as appropriate.
+ (-[WebFullscreenController applicationDidResignActive:]):
+ (-[WebFullscreenController applicationDidChangeScreenParameters:]): Resize the fullscreen window to match
+ the new screen parameters.
+ (-[WebFullscreenController enterFullscreen:]): Set up the animation that will take the fullscreen element
+ from its original screen rect into fullscreen.
+ (-[WebFullscreenController exitFullscreen]): Swap the webView back into its original window.
+ Set up the animation that will take the fullscreen element back into its original screen
+ rect.
+ (-[WebFullscreenController _updatePowerAssertions]): Now checks _isAnyMoviePlaying to determine
+ whether to disable screensaver and sleep.
+ (-[WebFullscreenController _isAnyMoviePlaying]): Walks through the sub-tree starting at the fullscreen element
+ looking for HTMLVideoElements; returns whether any are found to be playing.
+ (-[WebFullscreenController _animationDuration]): Returns the current animation duration, affected by control
+ and shift keys.
+ (-[WebFullscreenWindow canBecomeKeyWindow]): Allow the window to become key.
+ (-[WebFullscreenWindow keyDown:]): Handle the 'Esc' key.
+ (-[WebFullscreenWindow cancelOperation:]): Request to exit fullscreen.
+ (-[WebFullscreenWindow rendererLayer]): Convenience accessor.
+ (-[WebFullscreenWindow setRendererLayer:]): Ditto.
+ (-[WebFullscreenWindow backgroundLayer]): Ditto.
+ (-[WebFullscreenWindow animationView]): Ditto.
+ (MediaEventListener::MediaEventListener): Implements the EventListener protocol.
+ (MediaEventListener::handleEvent): Tells its delegate to _updatePowerAssertions.
+
+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.
+
+ * WebView/WebHTMLView.mm:
+ (-[WebHTMLView drawRect:]):
+ * WebView/WebView.mm:
+ (layerSyncRunLoopObserverCallBack):
+
+2011-01-06 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 52035 - Unregistering DOMWrapperWorlds is unsafe
+
+ The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's
+ destructor early, in order to release wrappers once we know we no longer intend to use them.
+ Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to
+ lose any state stored on them) it is not okay to deregister the world from the JSGlobalData.
+ A sequence of events that triggers the bug would look like this:
+
+ (1) Create a DOMWrapperWorld.
+ (2) Register a timer in the world.
+ (3) Call unregisterWorld() on the world.
+ (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document.
+ (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've
+ called forgetWorld() none exists.
+ (6) Attempt to add a wrapper to a NULL map.
+
+ Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away.
+
+ * WebView/WebScriptWorld.mm:
+ (-[WebScriptWorld unregisterWorld]):
+
+2011-01-04 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WK2: Support Accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=51859
+
+ Use rootObject() method to get top of AX tree.
+
+ * WebCoreSupport/WebFrameLoaderClient.h:
+ (WebFrameLoaderClient::accessibilityRemoteObject):
+ * WebView/WebFrame.mm:
+ (-[WebFrame setAccessibleName:]):
+ (-[WebFrame accessibilityRoot]):
+ * WebView/WebFrameInternal.h:
+ * WebView/WebFramePrivate.h:
+ * WebView/WebHTMLView.mm:
+ (-[WebHTMLView accessibilityAttributeValue:]):
+ (-[WebHTMLView accessibilityFocusedUIElement]):
+ (-[WebHTMLView accessibilityHitTest:]):
+ (-[WebHTMLView _accessibilityParentForSubview:]):
+
+2011-01-04 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/51889> WebFrameLoaderClient::createMediaPlayerProxyPlugin() should use WebCore::PluginInfo.name
+
+ Reviewed by Eric Carlson.
+
+ This originally broke in r61581. It is inside an
+ ENABLE(PLUGIN_PROXY_FOR_VIDEO) macro, so it didn't break the Mac
+ build then.
+
+ * WebCoreSupport/WebFrameLoaderClient.mm: Call
+ (WebFrameLoaderClient::createMediaPlayerProxyPlugin): Updated to
+ use WebCore::PluginInfo.name instead of
+ -[WebBasePluginPackage name].
+
+2011-01-02 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Simon Fraser.
+
+ <rdar://problem/8812159> Update copyright strings
+
+ * Info.plist:
+
+2010-12-29 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Ada Chan.
+
+ <rdar://problem/8758191> REGRESSION (r72887): Mail crashes when doing searches in a message due to method name conflict
+ https://bugs.webkit.org/show_bug.cgi?id=51717
+
+ Renamed -findString:options: to -_findString:options: in the WebDocumentOptionsSearching
+ protocol to avoid conflict with -[WebHTMLView(MailExtras) findString:options:] which Mail defines.
+
+ * WebView/WebDocumentInternal.h:
+ * WebView/WebHTMLView.mm:
+ (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
+ (-[WebHTMLView _findString:options:]):
+ * WebView/WebView.mm:
+ (findString):
+
+2010-12-28 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Sam Weinig.
+
+ Substitute // MARK: for compiler-specific #pragma mark
+ https://bugs.webkit.org/show_bug.cgi?id=51657
+
+ For consistency, we should substitute "// MARK:" for compiler-
+ specific "#pragma mark" in the source files for the Mac port.
+
+ * History/WebHistory.mm:
+ * Plugins/WebBaseNetscapePluginView.mm:
+ * Plugins/WebNetscapePluginView.mm:
+ * WebCoreSupport/WebInspectorClient.mm:
+ * WebCoreSupport/WebSecurityOrigin.mm:
+ * WebView/WebPDFView.mm:
+ * WebView/WebVideoFullscreenController.mm:
+ * WebView/WebVideoFullscreenHUDWindowController.mm:
+
+2010-12-23 Yongjun Zhang <yongjun_zhang@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit crashes at DebuggerCallFrame::functionName() if m_callFrame is the top global callframe.
+ https://bugs.webkit.org/show_bug.cgi?id=38535
+
+ WebScriptDebugger in WebKit has empty implementations for willExecuteProgram and didExecuteProgram. As a result,
+ if the top call frame is from a program, WebKitScriptDebugger doesn't record that callframe as the top frame, and
+ WebScriptDebugger's callframe stack is wrong from this point. That could cause crash if we trying to access the top
+ call frame from this stack when an exception throws because the saved top frame could be invalid.
+
+ To fix that, we need to maintain the call frame stack in willExecuteProgram and didExecuteProgram, as we did in
+ callEvent and returnEvent.
+
+ * WebView/WebScriptDebugger.mm:
+ (WebScriptDebugger::willExecuteProgram):
+ (WebScriptDebugger::didExecuteProgram):
+
+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
+
+ - Add client functions to notify that a frame has been added or
+ removed from the page cache.
+
+ * WebCoreSupport/WebFrameLoaderClient.h:
+ * WebCoreSupport/WebFrameLoaderClient.mm:
+ (WebFrameLoaderClient::didSaveToPageCache):
+ (WebFrameLoaderClient::didRestoreFromPageCache):
+
+2010-12-22 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Editor.h doesn't need to include SelectionController.h
+ https://bugs.webkit.org/show_bug.cgi?id=51441
+
+ Renamed SelectionController::EDirection to SelectionDirection.
+
+ * WebView/WebFrame.mm:
+ (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:granularity:]):
+ Takes SelectionDirection instead of SelectionController::EDirection.
+ * WebView/WebFrameInternal.h:
+ * WebView/WebTextCompletionController.mm:
+ (-[WebTextCompletionController doCompletion]): Calls _rangeByAlteringCurrentSelection:SelectionController.
+
+2010-12-22 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Cache snapshots of plug-ins before painting, to avoid script running during painting
+ https://bugs.webkit.org/show_bug.cgi?id=51493
+
+ When FrameView is asked to do a flattening paint (e.g. when Safari snapshots,
+ or when printing), plug-ins which otherwise use the CA rendering model
+ are sent a paint event. Some plug-ins may run script while handling this event,
+ or out of process plug-ins may process queued requests at this time. Running
+ script while inside layout or painting can have bad consequences, because it
+ can result in arbitrary changes to the render tree.
+
+ This patch avoids sending plug-ins paint events inside of painting. Instead,
+ we ask the plug-ins to cache a snapshot before we paint, and then the software
+ paint simply draws that snapshot.
+
+ * Plugins/Hosted/WebHostedNetscapePluginView.mm:
+ (-[WebHostedNetscapePluginView drawRect:]): If we have a cached snapshot,
+ draw it. Also only send the snapshot message to the plugin proxy if we
+ know we're snapshotting, since even if creating the snapshot image failed,
+ we still don't want to call to the plug-in.
+
+ * Plugins/WebBaseNetscapePluginView.h: Add a retained NSImage member for the snapshot.
+ * Plugins/WebBaseNetscapePluginView.mm:
+ (-[WebBaseNetscapePluginView cacheSnapshot]): Create an image and draw the snapshot into it.
+ (-[WebBaseNetscapePluginView clearCachedSnapshot]): Clear the snapshot.
+
+ * Plugins/WebNetscapePluginView.mm:
+ (-[WebNetscapePluginView drawRect:]): If we have a cached snapshot, use it.
+ * WebCoreSupport/WebFrameLoaderClient.mm:
+ (NetscapePluginWidget::notifyWidget): Implement notifyWidget() and use it
+ to cache and clear the snapshots.
+
+2010-12-21 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Darin Adler.
+
+ -[WebBasePluginPackage isNativeLibraryData:] integer underflows on zero-sized data
+ https://bugs.webkit.org/show_bug.cgi?id=51431
+ <rdar://problem/8791757>
+
+ * Plugins/WebBasePluginPackage.mm:
+ (-[WebBasePluginPackage isNativeLibraryData:]): Change an arithmetic expression so
+ it doesn't underflow.
+
+2010-12-16 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Cameron Zwarich.
+
+ REGRESSION(r74172): 125 java tests fail on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=51214
+
+ The regression was caused by an incorrectly adding sizeof(struct fat_header)
+ to a pointer for uint32_t as supposed to uint8_t.
+
+ Fixed the bug by explicitly casting it to uint8_t* before the addition.
+
+ * Plugins/WebBasePluginPackage.mm:
+ (-[WebBasePluginPackage isNativeLibraryData:]):
+
+2010-12-15 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Clang -Wcast-align gives an error in WebBasePluginPackage.mm
+ https://bugs.webkit.org/show_bug.cgi?id=51144
+
+ Fix an alignment issue. OSSwapInt32 takes data that is 32-bit aligned on ARM, but
+ we were calling it on a byte array 32 bits at a time. While this is okay in practice,
+ since TCMalloc won't give us a non-32-bit aligned block array of bytes and Vector's
+ inline storage is at the beginning of the Vector, it is still better to fix this
+ and silence the warning.
+
+ * Plugins/WebBasePluginPackage.mm:
+ (swapIntsInHeader):
+ (-[WebBasePluginPackage isNativeLibraryData:]):
+
+2010-12-14 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video>
+
+ * History/WebHistoryItem.mm:
+ (-[WebHistoryItem description]): Test whether the string is empty rather than incorrectly
+ always including the target in the output.
+
+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
+
+ * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Changed default to false.
+
+2010-12-13 Mike Thole <mthole@apple.com>
+
+ Rubber-stamped by John Sullivan.
+
+ https://bugs.webkit.org/show_bug.cgi?id=50956
+ WebAuthenticationPanel.nib appears to have a cut-off sentence
+
+ Replace the sentence fragment in the sheet layout with "<-- do not localize -->" style text.
+ The contents of this text field are updated dynamically before the sheet is displayed.
+
+ * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
+ * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
+
+2010-12-13 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=50758
+ <rdar://problem/8722094>
+ Defer loading print stylesheets
+
+ Expose SPI for DRT for making resources load serially. This is useful for testing resource load order.
+
+ * WebView/WebView.mm:
+ (+[WebView _setLoadResourcesSerially:forHost:]):
+ * WebView/WebViewPrivate.h:
+
+2010-12-09 Matthew Delaney <mdelaney@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Adopt new CG API for canvas
+ https://bugs.webkit.org/show_bug.cgi?id=50591
+
+ * WebCoreSupport/WebSystemInterface.mm:
+
+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 asynchronous spell checking API to WebEditorClient using
+ -[NSSpellChecker requestCheckingOfString].
+ Note that WebEditorSpellCheckResponder is a small class to receive
+ requested spell-checking result. Note that this feature is
+ disabled at default.
+
+ Also added [WebPreferences setAsynchronousSpellCheckingEnabled:] to
+ enable the feature from LayoutTestController.
+
+ * WebCoreSupport/WebEditorClient.h:
+ * WebCoreSupport/WebEditorClient.mm:
+ (-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:results:]):
+ (-[WebEditorSpellCheckResponder perform]):
+ (toCoreSpellingResult):
+ (-[WebEditorSpellCheckResponder WTF::WebCore::]):
+ (WebEditorClient::requestCheckingOfString):
+ * WebView/WebPreferenceKeysPrivate.h:
+ * WebView/WebPreferences.mm:
+ (+[WebPreferences initialize]):
+ (-[WebPreferences setAsynchronousSpellCheckingEnabled:]):
+ (-[WebPreferences asynchronousSpellCheckingEnabled]):
+ * WebView/WebPreferencesPrivate.h:
+ * WebView/WebView.mm:
+ (-[WebView _preferencesChangedNotification:]):
+
+2010-12-09 Anders Carlsson <andersca@apple.com>
+
+ Fix a bug uncovered by clang++.
+
+ * WebView/WebHTMLView.mm:
+ (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
+
+2010-12-09 Anders Carlsson <andersca@apple.com>
+
+ Clang++ build fixes.
+
+ Silence a couple of warnings.
+
+ * WebView/WebFrame.mm:
+ (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
+ (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
+ * WebView/WebTextCompletionController.mm:
+ (-[WebTextCompletionController filterKeyDown:]):
+
+2010-12-09 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PgUp, PgDown should respect
+ writing-mode. This first part of the patch just patches Mac WebKit 1 views.
+
+ * WebView/WebFrameView.mm:
+ (-[WebFrameView _isVerticalDocument]):
+ (-[WebFrameView _isFlippedDocument]):
+ (-[WebFrameView _scrollToEndOfDocument]):
+ (-[WebFrameView _pageInBlockProgressionDirection:]):
+ (-[WebFrameView scrollPageUp:]):
+ (-[WebFrameView scrollPageDown:]):
+
+2010-12-08 Andy Estes <aestes@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Enable pre-HTML5 parser quirks for Apple Mail.app
+ https://bugs.webkit.org/show_bug.cgi?id=50727
+
+ * WebView/WebView.mm:
+ (-[WebView _needsPreHTML5ParserQuirks]): Return true if the embedding
+ application is Mail.app.
+
+2010-12-08 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by John Sullivan.
+
+ REGRESSION: r73429-r73490: Some Contextual menu items non-functional, such as Open Link in New Tab
+ https://bugs.webkit.org/show_bug.cgi?id=50683
+
+ If our context menu item already has an action, don't overwrite the action with the context menu
+ forwarder.
+
+ * WebView/WebHTMLView.mm:
+ (setMenuItemTarget):
+
+2010-12-08 Anders Carlsson <andersca@apple.com>
+
+ Remove an unused variable.
+
+ * WebView/WebDynamicScrollBarsView.mm:
+ (-[WebDynamicScrollBarsView setScrollOrigin:updatePosition:]):
+
+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.
+
+ * WebCoreSupport/WebContextMenuClient.mm:
+ (WebContextMenuClient::getCustomMenuFromDefaultItems):
+ (WebContextMenuClient::contextMenuItemSelected):
+ * WebView/WebHTMLView.mm:
+ (-[WebMenuTarget validateMenuItem:]):
+
+2010-12-07 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Part of Layering Violation in ContextMenu
+ https://bugs.webkit.org/show_bug.cgi?id=50586
+
+ Move WebMenuTarget from ContextMenuMac to here, because having it in ContextMenuMac
+ was a layering violation. Also, make sure we set the menu item targets for all menu
+ items before showing them, because the ContextMenu constructor doesn't do that anymore.
+
+ * WebView/WebHTMLView.mm:
+ (+[WebMenuTarget sharedMenuTarget]): Moved from ContextMenuMac.mm.
+ (-[WebMenuTarget WebCore::]): Ditto.
+ (-[WebMenuTarget setMenuController:WebCore::]): Ditto.
+ (-[WebMenuTarget forwardContextMenuAction:]): Ditto.
+ (-[WebMenuTarget validateMenuItem:]): Ditto.
+
+ (setMenuItemTarget): Sets the target of the NSMenuItem to the shared WebMenuTarget.
+ (setMenuTargets): Recursively iterates over all NSMenuItems in an NSMenu (including
+ submenus), and calls setMenuItemTarget on them.
+ (-[WebHTMLView menuForEvent:]): Call setMenuTarget on all the menu items before adding
+ them to the menu.
+
+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
+
+ * WebView/WebPDFView.mm:
+ (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Pass security origin.
+
+2010-12-07 Martin Robinson <mrobinson@igalia.com>
+
+ Unreviewed, rolling out r73392.
+ http://trac.webkit.org/changeset/73392
+ https://bugs.webkit.org/show_bug.cgi?id=50489
+
+ This commit caused crashes on the GTK+ bots
+
+ * WebView/WebFrame.mm:
+ (-[WebFrame _canProvideDocumentSource]):
+
+2010-12-07 Kenichi Ishibashi <bashi@google.com>
+
+ Reviewed by Kent Tamura.
+
+ Let HTMLObjectElement be a form associated element
+ https://bugs.webkit.org/show_bug.cgi?id=48821
+
+ Modified to use FormAssociatedElement instead of HTMLFormControlElement.
+
+ * WebView/WebHTMLRepresentation.mm:
+ (-[WebHTMLRepresentation elementWithName:inForm:]): Modified to use
+ FormAssociatedElement instead of HTMLFormControlElement.
+ (-[WebHTMLRepresentation controlsInForm:]): Ditto.
+
+2010-12-06 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Update calls to DocumentWriter.
+ https://bugs.webkit.org/show_bug.cgi?id=50489
+
+ * WebView/WebFrame.mm:
+ (-[WebFrame _canProvideDocumentSource]):
+
+2010-12-06 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
+
+ Got rid of GraphicsLayer::nativeLayer() call, replacing it with
+ GraphicsLayer::platformLayer().
+
+ * WebCoreSupport/WebChromeClient.mm:
+ (WebChromeClient::attachRootGraphicsLayer):
+
+2010-12-04 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKit part of <rdar://problem/8145955> Add text search API for counting/marking/highlighting matches in a range
+ https://bugs.webkit.org/show_bug.cgi?id=50530
+
+ * WebView/WebDocumentInternal.h: Added a DOMRange parameter to -countMatchesForText:options:limit:markMatches:
+ * WebView/WebHTMLView.mm:
+ (-[WebHTMLView countMatchesForText:inDOMRange:options:limit:markMatches:]): Added DOMRange parameter,
+ which is passed through to WebCore.
+ * WebView/WebPDFView.mm:
+ (isFrameInRange): Added this helper function.
+ (-[WebPDFView countMatchesForText:inDOMRange:options:limit:markMatches:]): Added DOMRange parameter and
+ a check if the frame is in the range.
+ * WebView/WebView.mm:
+ (-[WebView countMatchesForText:options:highlight:limit:markMatches:]): Now calls the inDOMRange: version.
+ (-[WebView countMatchesForText:inDOMRange:options:highlight:limit:markMatches:]): Added DOMRange
+ parameter, which is passed to document views' -countMatchesForText:inDOMRange:options:limit:markMatches:.
+ * WebView/WebViewPrivate.h:
+
+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
+
+ * WebView/WebPreferences.mm:
+ (+[WebPreferences initialize]): Enable "HyperlinkAuditing" by default.
+
+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>
+
+ * WebCoreSupport/WebEditorClient.h: Adopted new signature of dismissCorrectionPanel.
+
+ * WebCoreSupport/WebEditorClient.mm:
+ (WebEditorClient::~WebEditorClient): Adopted new signature of dismissCorrectionPanel.
+ (WebEditorClient::showCorrectionPanel): Added more user dictionary learning code.
+ (WebEditorClient::dismissCorrectionPanel): Adopted new signature of dismissCorrectionPanel.
+
+2010-12-02 Simon Fraser <simon.fraser@apple.com>
+
+ Revert r73217 and r73227 because of continued bustage.
+
+ * WebCoreSupport/WebChromeClient.mm:
+ (WebChromeClient::attachRootGraphicsLayer):
+
+2010-12-02 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
+
+ Got rid of GraphicsLayer::nativeLayer() call, replacing it with
+ GraphicsLayer::platformLayer().
+
+ * WebCoreSupport/WebChromeClient.mm:
+ (WebChromeClient::attachRootGraphicsLayer):
+
+2010-12-02 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/8708730> Objects reported as being leaked due to lack of autorelease pool
+
+ * Misc/WebNSFileManagerExtras.m:
+ (setMetaData): Create an autorelease pool for the duration of the thread body.
+
+2010-12-02 John Knottenbelt <jknotten@chromium.org>
+
+ Reviewed by Steve Block.
+
+ Move requestGeolocationPermissionForFrame to GeolocationClient
+ https://bugs.webkit.org/show_bug.cgi?id=50061
+
+ This change facilitates client-based geolocation implementation by
+ bringing together permission control into the geolocation client
+ interface.
+
+ Move method ChromeClient::requestGeolocationPermissionForFrame to
+ GeolocationClient::requestPermission, and supporting class
+ WebGeolocationPolicyListener. The moved code is unchanged except
+ that requestPermission now takes only one argument (Geolocation*)
+ and the Frame parameter is retrieved from the Geolocation object.
+
+ * WebCoreSupport/WebChromeClient.h:
+ * WebCoreSupport/WebChromeClient.mm:
+ * WebCoreSupport/WebGeolocationClient.h:
+ (WebGeolocationClient::cancelPermissionRequest):
+ * WebCoreSupport/WebGeolocationClient.mm:
+ (WebGeolocationClient::requestPermission):
+ (-[WebGeolocationPolicyListener initWithGeolocation:]):
+ (-[WebGeolocationPolicyListener allow]):
+ (-[WebGeolocationPolicyListener deny]):
+
+2010-12-02 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Eric Carlson.
+
+ Style Fixes in WebPluginController
+ https://bugs.webkit.org/show_bug.cgi?id=50397
+
+ * Plugins/WebPluginController.mm:
+ (-[WebPluginController startAllPlugins]):
+ (-[WebPluginController stopAllPlugins]):
+
+2010-12-02 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Slightly speculative fix for:
+
+ <rdar://problem/8712674>
+ <https://bugs.webkit.org/show_bug.cgi?id=50393>
+ setStringValue: sometimes called with nil in [WebAuthenticationPanel setUpForChallenge]
+
+ * Panels/WebAuthenticationPanel.m:
+ (-[WebAuthenticationPanel setUpForChallenge:]):
+ If the realm is nil, use @"" instead.
+
+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>
+
+ This patch is for supporting multiple correction suggestion panel on Mac OS X.
+ The behavior and implementation is similar to that of reversion candiate panel.
+
+ * WebCoreSupport/WebEditorClient.h: Adopted new signatures defined in base class.
+
+ * WebCoreSupport/WebEditorClient.mm: Adopted new signatures defined in base class.
+ Added code to handle new multiple suggestion canidate panel type.
+ (WebEditorClient::showCorrectionPanel):
+ (WebEditorClient::getGuessesForWord):
+
+2010-12-01 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=46645
+
+ Part 1 of making scrolling work with vertical text. This patch generalizes the scrollOriginX concept
+ recently added for horizontal RTL documents and applies it to writing modes as well. Now the
+ scrollOrigin is a point, since you can start off locked to the bottom or locked to the right.
+
+ This patch also fixes numerous bugs with the scrollOrigin code using native Mac NSScrollViews and
+ makes them behave the same as the cross-platform code (allowing for cross-platform results to be
+ landed).
+
+ * WebView/WebDynamicScrollBarsView.mm:
+ (-[WebDynamicScrollBarsView adjustForScrollOriginChange]):
+ (-[WebDynamicScrollBarsView updateScrollers]):
+ (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
+ (-[WebDynamicScrollBarsView setScrollOrigin:updatePosition:]):
+ (-[WebDynamicScrollBarsView scrollOrigin]):
+ * WebView/WebFrameView.mm:
+ (-[WebFrameView _scrollToBeginningOfDocument]):
+ (-[WebFrameView _scrollToEndOfDocument]):
+
+2010-11-29 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit Mac 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.
+
+ * WebView/WebDocumentInternal.h: Removed -markAllMatchesForText:caseSensitive:limit: and
+ replaced -countMatchesForText:caseSensitive:limit:markMatches: with a WebFindOptions-based
+ method. Declared a WebDocumentOptionsSearching protocol with a new -findString:options:
+ method. Made WebHTMLView conform to the new protocol.
+ * WebView/WebHTMLView.mm:
+ (coreOptions): Added. Converts WebFindOptions to WebCore FindOptions.
+ (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Changed to use
+ -findString:options:.
+ (-[WebHTMLView countMatchesForText:options:limit:markMatches:]): Changed to use WebFindOptions.
+ (-[WebHTMLView findString:options:]): Added. Calls through to WebCore::Editor::findString().
+ * WebView/WebPDFView.mm:
+ (-[WebPDFView countMatchesForText:options:limit:markMatches:]): Changed to use WebFindOptions.
+ * WebView/WebView.mm:
+ (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]): Now calls through to
+ -countMatchesForText:options:highlight:limit:markMatches.
+ (-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]): Ditto.
+ (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]): Now calls through to
+ -findString:options:.
+ (incrementFrame): Changed to use WebFindOptions.
+ (findString): Added this helper method that performs the search using the best supported
+ method for the document view.
+ (-[WebView findString:options:]): Changed -searchFor::::: into this.
+ (-[WebView canMarkAllTextMatches]):
+ (-[WebView countMatchesForText:options:highlight:limit:markMatches:]): Updated to use
+ WebFindOptions.
+ (-[WebView unmarkAllTextMatches]): Updated for change to incrementFrame.
+ (-[WebView rectsForTextMatches]): Ditto.
+ * WebView/WebViewPrivate.h: Added WebFindOptions, -findString:options:, and WebFindOptions version
+ of countMatchesForText:.
+
2010-11-29 Jeremy Moskovich <jeremy@chromium.org>
Reviewed by David Hyatt.
@@ -1901,6 +2689,32 @@
2010-09-08 MORITA Hajime <morrita@google.com>
+ Reviewed by Ojan Vafai.
+
+ spellcheck does not check pasted text
+ https://bugs.webkit.org/show_bug.cgi?id=40092
+
+ Implemented async spell-check APIs on WebEditorClient.
+ The implementations are using [NSSpellChecker requestCheckingOfString]
+ which is available only on Mac OS 10.6 or later.
+
+ Note that [NSSpellChecker requestCheckingOfString] could invoke
+ the callback block on on of their worker thread, so we need to
+ return the result to the main thread where WebCore is running.
+ For that purpose, we made WebEditorSpellCheckResponder class.
+
+ Test: editing/spelling/spellcheck-pasted-text-001.html
+
+ * WebCoreSupport/WebEditorClient.h:
+ * WebCoreSupport/WebEditorClient.mm:
+ (WebEditorClient::isAsynchronousSpellCheckingEnabled): Added.
+ (-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:results:]): Added.
+ (-[WebEditorSpellCheckResponder perform]): Added.
+ (WebEditorClient::requestCheckingOfString): Added.
+ * WebView/WebFramePrivate.h:
+
+2010-09-08 MORITA Hajime <morrita@google.com>
+
Reviewed by Tony Chang.
spelling underline gets lost on backspace
diff --git a/WebKit/mac/Configurations/Version.xcconfig b/WebKit/mac/Configurations/Version.xcconfig
index e0ce9cb..f0d3c1f 100644
--- a/WebKit/mac/Configurations/Version.xcconfig
+++ b/WebKit/mac/Configurations/Version.xcconfig
@@ -22,7 +22,7 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MAJOR_VERSION = 534;
-MINOR_VERSION = 13;
+MINOR_VERSION = 16;
TINY_VERSION = 0;
FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION);
diff --git a/WebKit/mac/History/WebHistory.mm b/WebKit/mac/History/WebHistory.mm
index af40a24..00cee78 100644
--- a/WebKit/mac/History/WebHistory.mm
+++ b/WebKit/mac/History/WebHistory.mm
@@ -110,7 +110,7 @@ private:
@implementation WebHistoryPrivate
-#pragma mark OBJECT FRAMEWORK
+// MARK: OBJECT FRAMEWORK
+ (void)initialize
{
@@ -146,7 +146,7 @@ private:
[super finalize];
}
-#pragma mark MODIFYING CONTENTS
+// MARK: MODIFYING CONTENTS
static void getDayBoundaries(NSTimeInterval interval, NSTimeInterval& beginningOfDay, NSTimeInterval& beginningOfNextDay)
{
@@ -399,7 +399,7 @@ static inline WebHistoryDateKey dateKey(NSTimeInterval date)
[self addItem:entry discardDuplicate:NO];
}
-#pragma mark DATE-BASED RETRIEVAL
+// MARK: DATE-BASED RETRIEVAL
- (NSArray *)orderedLastVisitedDays
{
@@ -431,7 +431,7 @@ static inline WebHistoryDateKey dateKey(NSTimeInterval date)
return _entriesByDate->get(dateKey).get();
}
-#pragma mark URL MATCHING
+// MARK: URL MATCHING
- (WebHistoryItem *)itemForURLString:(NSString *)URLString
{
@@ -453,7 +453,7 @@ static inline WebHistoryDateKey dateKey(NSTimeInterval date)
return [_entriesByURL allValues];
}
-#pragma mark ARCHIVING/UNARCHIVING
+// MARK: ARCHIVING/UNARCHIVING
- (void)setHistoryAgeInDaysLimit:(int)limit
{
@@ -676,7 +676,7 @@ static inline WebHistoryDateKey dateKey(NSTimeInterval date)
[super dealloc];
}
-#pragma mark MODIFYING CONTENTS
+// MARK: MODIFYING CONTENTS
- (void)_sendNotification:(NSString *)name entries:(NSArray *)entries
{
@@ -707,7 +707,7 @@ static inline WebHistoryDateKey dateKey(NSTimeInterval date)
entries:newEntries];
}
-#pragma mark DATE-BASED RETRIEVAL
+// MARK: DATE-BASED RETRIEVAL
- (NSArray *)orderedLastVisitedDays
{
@@ -719,7 +719,7 @@ static inline WebHistoryDateKey dateKey(NSTimeInterval date)
return [_historyPrivate orderedItemsLastVisitedOnDay:date];
}
-#pragma mark URL MATCHING
+// MARK: URL MATCHING
- (BOOL)containsURL:(NSURL *)URL
{
@@ -731,7 +731,7 @@ static inline WebHistoryDateKey dateKey(NSTimeInterval date)
return [_historyPrivate itemForURL:URL];
}
-#pragma mark SAVING TO DISK
+// MARK: SAVING TO DISK
- (BOOL)loadFromURL:(NSURL *)URL error:(NSError **)error
{
diff --git a/WebKit/mac/History/WebHistoryItem.mm b/WebKit/mac/History/WebHistoryItem.mm
index 48baa7c..de56180 100644
--- a/WebKit/mac/History/WebHistoryItem.mm
+++ b/WebKit/mac/History/WebHistoryItem.mm
@@ -219,7 +219,7 @@ void WKNotifyHistoryItemChanged(HistoryItem*)
ASSERT_MAIN_THREAD();
HistoryItem* coreItem = core(_private);
NSMutableString *result = [NSMutableString stringWithFormat:@"%@ %@", [super description], (NSString*)coreItem->urlString()];
- if (coreItem->target()) {
+ if (!coreItem->target().isEmpty()) {
NSString *target = coreItem->target();
[result appendFormat:@" in \"%@\"", target];
}
diff --git a/WebKit/mac/Info.plist b/WebKit/mac/Info.plist
index 7232293..34ec7d4 100644
--- a/WebKit/mac/Info.plist
+++ b/WebKit/mac/Info.plist
@@ -7,7 +7,7 @@
<key>CFBundleExecutable</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleGetInfoString</key>
- <string>${BUNDLE_VERSION}, Copyright 2003-2010 Apple Inc.</string>
+ <string>${BUNDLE_VERSION}, Copyright 2003-2011 Apple Inc.</string>
<key>CFBundleIdentifier</key>
<string>com.apple.${PRODUCT_NAME}</string>
<key>CFBundleInfoDictionaryVersion</key>
diff --git a/WebKit/mac/Misc/WebNSFileManagerExtras.m b/WebKit/mac/Misc/WebNSFileManagerExtras.m
index ad48fb8..cafb69d 100644
--- a/WebKit/mac/Misc/WebNSFileManagerExtras.m
+++ b/WebKit/mac/Misc/WebNSFileManagerExtras.m
@@ -94,6 +94,7 @@ typedef struct MetaDataInfo
static void *setMetaData(void* context)
{
MetaDataInfo *info = (MetaDataInfo *)context;
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
WKSetMetadataURL((NSString *)info->URLString, (NSString *)info->referrer, (NSString *)info->path);
if (info->URLString)
@@ -102,8 +103,10 @@ static void *setMetaData(void* context)
CFRelease(info->referrer);
if (info->path)
CFRelease(info->path);
-
+
free(info);
+ [pool drain];
+
return 0;
}
diff --git a/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib b/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib
index 047952d..1e684d5 100644
--- a/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib
+++ b/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib
@@ -1,11 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.02">
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1050</int>
- <string key="IBDocument.SystemVersion">9G55</string>
- <string key="IBDocument.InterfaceBuilderVersion">670</string>
- <string key="IBDocument.AppKitVersion">949.34</string>
- <string key="IBDocument.HIToolboxVersion">353.00</string>
+ <string key="IBDocument.SystemVersion">10J530</string>
+ <string key="IBDocument.InterfaceBuilderVersion">804</string>
+ <string key="IBDocument.AppKitVersion">1038.35</string>
+ <string key="IBDocument.HIToolboxVersion">461.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="NS.object.0">804</string>
+ </object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="6"/>
@@ -14,6 +18,10 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+ <integer value="1" key="NS.object.0"/>
+ </object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="563121920">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSCustomObject" id="238662661">
@@ -28,13 +36,14 @@
<object class="NSWindowTemplate" id="118512579">
<int key="NSWindowStyleMask">1</int>
<int key="NSWindowBacking">2</int>
- <string key="NSWindowRect">{{93, 72}, {424, 279}}</string>
+ <string key="NSWindowRect">{{93, 97}, {424, 254}}</string>
<int key="NSWTFlags">1886912512</int>
<string key="NSWindowTitle">Log In</string>
<string key="NSWindowClass">NonBlockingPanel</string>
<object class="NSMutableString" key="NSViewClass">
<characters key="NS.bytes">View</characters>
</object>
+ <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
<object class="NSView" key="NSWindowView" id="327235052">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
@@ -43,7 +52,7 @@
<object class="NSTextField" id="705333610">
<reference key="NSNextResponder" ref="327235052"/>
<int key="NSvFlags">266</int>
- <string key="NSFrame">{{101, 225}, {306, 34}}</string>
+ <string key="NSFrame">{{101, 200}, {306, 34}}</string>
<reference key="NSSuperview" ref="327235052"/>
<int key="NSTag">1</int>
<bool key="NSEnabled">YES</bool>
@@ -53,18 +62,18 @@
<string key="NSContents">To view this page, you must log in to this area on www.server.com:</string>
<object class="NSFont" key="NSSupport" id="897649771">
<string key="NSName">LucidaGrande</string>
- <double key="NSSize">1.300000e+01</double>
+ <double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
- <int key="NSTag">1</int>
<reference key="NSControlView" ref="705333610"/>
+ <int key="NSTag">1</int>
<object class="NSColor" key="NSBackgroundColor" id="475108766">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
+ <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<object class="NSColor" key="NSTextColor" id="644083014">
@@ -91,11 +100,11 @@
<string key="NSContents">Your password will be sent unencrypted.</string>
<object class="NSFont" key="NSSupport">
<string key="NSName">LucidaGrande</string>
- <double key="NSSize">1.100000e+01</double>
+ <double key="NSSize">11</double>
<int key="NSfFlags">3100</int>
</object>
- <int key="NSTag">2</int>
<reference key="NSControlView" ref="199018347"/>
+ <int key="NSTag">2</int>
<reference key="NSBackgroundColor" ref="475108766"/>
<reference key="NSTextColor" ref="644083014"/>
</object>
@@ -116,7 +125,7 @@
<int key="NSButtonFlags2">1</int>
<object class="NSFont" key="NSAlternateImage" id="784044296">
<string key="NSName">Helvetica</string>
- <double key="NSSize">1.300000e+01</double>
+ <double key="NSSize">13</double>
<int key="NSfFlags">16</int>
</object>
<string key="NSAlternateContents"/>
@@ -158,8 +167,8 @@
<int key="NSCellFlags2">4195328</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="897649771"/>
- <int key="NSTag">3</int>
<reference key="NSControlView" ref="71972597"/>
+ <int key="NSTag">3</int>
<bool key="NSDrawsBackground">YES</bool>
<object class="NSColor" key="NSBackgroundColor" id="301231121">
<int key="NSColorSpace">6</int>
@@ -190,8 +199,8 @@
<int key="NSCellFlags2">4195328</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="897649771"/>
- <int key="NSTag">4</int>
<reference key="NSControlView" ref="368270689"/>
+ <int key="NSTag">4</int>
<bool key="NSDrawsBackground">YES</bool>
<reference key="NSBackgroundColor" ref="301231121"/>
<reference key="NSTextColor" ref="577315227"/>
@@ -234,7 +243,7 @@
<int key="NSvFlags">268</int>
<object class="NSMutableSet" key="NSDragTypes">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="set.sortedObjects">
+ <object class="NSArray" key="set.sortedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>Apple PDF pasteboard type</string>
<string>Apple PICT pasteboard type</string>
@@ -244,7 +253,7 @@
<string>NeXT TIFF v4.0 pasteboard type</string>
</object>
</object>
- <string key="NSFrame">{{20, 195}, {64, 64}}</string>
+ <string key="NSFrame">{{20, 170}, {64, 64}}</string>
<reference key="NSSuperview" ref="327235052"/>
<bool key="NSEnabled">YES</bool>
<object class="NSImageCell" key="NSCell" id="375502905">
@@ -283,32 +292,31 @@
<object class="NSTextField" id="1000280557">
<reference key="NSNextResponder" ref="327235052"/>
<int key="NSvFlags">290</int>
- <string key="NSFrame">{{113, 175}, {282, 42}}</string>
+ <string key="NSFrame">{{113, 175}, {282, 17}}</string>
<reference key="NSSuperview" ref="327235052"/>
<int key="NSTag">3</int>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="96725843">
<int key="NSCellFlags">-2078147071</int>
<int key="NSCellFlags2">4194560</int>
- <string type="base64-UTF8" key="NSContents">R29vZ2xlIEFjY291bnQgKGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vKScnIENlcnRpZmllZCBieTogVmVy
-aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</string>
+ <string key="NSContents">&lt;-- do not localize; will contain realm name --&gt;</string>
<object class="NSFont" key="NSSupport">
<string key="NSName">LucidaGrande</string>
- <double key="NSSize">1.100000e+01</double>
+ <double key="NSSize">11</double>
<int key="NSfFlags">16</int>
</object>
- <int key="NSTag">3</int>
<reference key="NSControlView" ref="1000280557"/>
+ <int key="NSTag">3</int>
<reference key="NSBackgroundColor" ref="301231121"/>
<reference key="NSTextColor" ref="577315227"/>
</object>
</object>
</object>
- <string key="NSFrameSize">{424, 279}</string>
+ <string key="NSFrameSize">{424, 254}</string>
<reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {2560, 1578}}</string>
- <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
+ <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
<string key="NSFrameAutosaveName">Authentication Panel</string>
</object>
</object>
@@ -483,7 +491,7 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
<int key="objectID">-2</int>
<reference key="object" ref="238662661"/>
<reference key="parent" ref="498544300"/>
- <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
+ <string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
@@ -684,7 +692,7 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-3.IBPluginDependency</string>
<string>-3.ImportedFromIB2</string>
@@ -737,9 +745,9 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1" id="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -751,45 +759,43 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>NSSecureTextField</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
- <string>{{288, 709}, {424, 279}}</string>
+ <integer value="1"/>
+ <string>{{288, 734}, {424, 254}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<integer value="1"/>
- <string>{{288, 709}, {424, 279}}</string>
- <reference ref="9"/>
- <integer value="0" id="6"/>
- <reference ref="6"/>
+ <string>{{288, 734}, {424, 254}}</string>
+ <integer value="1"/>
+ <integer value="0"/>
+ <integer value="0"/>
<string>{424, 282}</string>
<string>{424, 282}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
+ <reference key="dict.sortedKeys" ref="498544300"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
@@ -797,9 +803,7 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
+ <reference key="dict.sortedKeys" ref="498544300"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
@@ -935,6 +939,20 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">mac/WebView/WebFrameLoadDelegatePrivate.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">mac/WebView/WebHistoryDelegate.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
<string key="minorKey">mac/WebView/WebPolicyDelegate.h</string>
</object>
</object>
@@ -970,7 +988,7 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
<string key="className">NSObject</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>webViewClose:</string>
<string>webViewFocus:</string>
@@ -987,6 +1005,40 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
<string>WebView</string>
</object>
</object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>webViewClose:</string>
+ <string>webViewFocus:</string>
+ <string>webViewRunModal:</string>
+ <string>webViewShow:</string>
+ <string>webViewUnfocus:</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBActionInfo">
+ <string key="name">webViewClose:</string>
+ <string key="candidateClassName">WebView</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">webViewFocus:</string>
+ <string key="candidateClassName">WebView</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">webViewRunModal:</string>
+ <string key="candidateClassName">WebView</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">webViewShow:</string>
+ <string key="candidateClassName">WebView</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">webViewUnfocus:</string>
+ <string key="candidateClassName">WebView</string>
+ </object>
+ </object>
+ </object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">mac/WebView/WebUIDelegate.h</string>
@@ -1022,6 +1074,13 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
</object>
<object class="IBPartialClassDescription">
<string key="className">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">mac/Plugins/WebBaseNetscapePluginView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSView</string>
<string key="superclassName">NSResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBUserSource</string>
@@ -1064,7 +1123,7 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>cancel:</string>
<string>logIn:</string>
@@ -1075,9 +1134,28 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
<string>id</string>
</object>
</object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>cancel:</string>
+ <string>logIn:</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBActionInfo">
+ <string key="name">cancel:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">logIn:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ </object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>callback</string>
<string>imageView</string>
@@ -1097,11 +1175,65 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
<string>id</string>
<string>id</string>
<string>id</string>
- <string>id</string>
+ <string>NSTextField</string>
<string>id</string>
<string>id</string>
</object>
</object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>callback</string>
+ <string>imageView</string>
+ <string>mainLabel</string>
+ <string>panel</string>
+ <string>password</string>
+ <string>remember</string>
+ <string>separateRealmLabel</string>
+ <string>smallLabel</string>
+ <string>username</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">callback</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">imageView</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">mainLabel</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">panel</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">password</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">remember</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">separateRealmLabel</string>
+ <string key="candidateClassName">NSTextField</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">smallLabel</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">username</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ </object>
<reference key="sourceIdentifier" ref="1064703436"/>
</object>
<object class="IBPartialClassDescription">
@@ -1109,7 +1241,7 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
<string key="superclassName">NSView</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>alignCenter:</string>
<string>alignJustified:</string>
@@ -1190,6 +1322,200 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
<string>id</string>
</object>
</object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>alignCenter:</string>
+ <string>alignJustified:</string>
+ <string>alignLeft:</string>
+ <string>alignRight:</string>
+ <string>changeAttributes:</string>
+ <string>changeColor:</string>
+ <string>changeDocumentBackgroundColor:</string>
+ <string>changeFont:</string>
+ <string>checkSpelling:</string>
+ <string>copy:</string>
+ <string>copyFont:</string>
+ <string>cut:</string>
+ <string>delete:</string>
+ <string>goBack:</string>
+ <string>goForward:</string>
+ <string>makeTextLarger:</string>
+ <string>makeTextSmaller:</string>
+ <string>makeTextStandardSize:</string>
+ <string>moveToBeginningOfSentence:</string>
+ <string>moveToBeginningOfSentenceAndModifySelection:</string>
+ <string>moveToEndOfSentence:</string>
+ <string>moveToEndOfSentenceAndModifySelection:</string>
+ <string>paste:</string>
+ <string>pasteAsPlainText:</string>
+ <string>pasteAsRichText:</string>
+ <string>pasteFont:</string>
+ <string>performFindPanelAction:</string>
+ <string>reload:</string>
+ <string>reloadFromOrigin:</string>
+ <string>selectSentence:</string>
+ <string>showGuessPanel:</string>
+ <string>startSpeaking:</string>
+ <string>stopLoading:</string>
+ <string>stopSpeaking:</string>
+ <string>takeStringURLFrom:</string>
+ <string>toggleContinuousSpellChecking:</string>
+ <string>toggleSmartInsertDelete:</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBActionInfo">
+ <string key="name">alignCenter:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">alignJustified:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">alignLeft:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">alignRight:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">changeAttributes:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">changeColor:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">changeDocumentBackgroundColor:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">changeFont:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">checkSpelling:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">copy:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">copyFont:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">cut:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">delete:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">goBack:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">goForward:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">makeTextLarger:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">makeTextSmaller:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">makeTextStandardSize:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">moveToBeginningOfSentence:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">moveToBeginningOfSentenceAndModifySelection:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">moveToEndOfSentence:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">moveToEndOfSentenceAndModifySelection:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">paste:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">pasteAsPlainText:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">pasteAsRichText:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">pasteFont:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">performFindPanelAction:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">reload:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">reloadFromOrigin:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">selectSentence:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">showGuessPanel:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">startSpeaking:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">stopLoading:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">stopSpeaking:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">takeStringURLFrom:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">toggleContinuousSpellChecking:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">toggleSmartInsertDelete:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ </object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">mac/WebView/WebView.h</string>
@@ -1199,7 +1525,7 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
<string key="className">WebView</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>_openFrameInNewWindowFromMenu:</string>
<string>_searchWithGoogleFromMenu:</string>
@@ -1212,6 +1538,30 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
<string>id</string>
</object>
</object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>_openFrameInNewWindowFromMenu:</string>
+ <string>_searchWithGoogleFromMenu:</string>
+ <string>_searchWithSpotlightFromMenu:</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBActionInfo">
+ <string key="name">_openFrameInNewWindowFromMenu:</string>
+ <string key="candidateClassName">NSMenuItem</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">_searchWithGoogleFromMenu:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">_searchWithSpotlightFromMenu:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ </object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">mac/WebView/WebViewInternal.h</string>
@@ -1221,10 +1571,15 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
<string key="className">WebView</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>outdent:</string>
<string>resetPageZoom:</string>
+ <string>toggleAutomaticDashSubstitution:</string>
+ <string>toggleAutomaticLinkDetection:</string>
+ <string>toggleAutomaticQuoteSubstitution:</string>
+ <string>toggleAutomaticSpellingCorrection:</string>
+ <string>toggleAutomaticTextReplacement:</string>
<string>toggleGrammarChecking:</string>
<string>zoomPageIn:</string>
<string>zoomPageOut:</string>
@@ -1236,6 +1591,70 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>outdent:</string>
+ <string>resetPageZoom:</string>
+ <string>toggleAutomaticDashSubstitution:</string>
+ <string>toggleAutomaticLinkDetection:</string>
+ <string>toggleAutomaticQuoteSubstitution:</string>
+ <string>toggleAutomaticSpellingCorrection:</string>
+ <string>toggleAutomaticTextReplacement:</string>
+ <string>toggleGrammarChecking:</string>
+ <string>zoomPageIn:</string>
+ <string>zoomPageOut:</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBActionInfo">
+ <string key="name">outdent:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">resetPageZoom:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">toggleAutomaticDashSubstitution:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">toggleAutomaticLinkDetection:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">toggleAutomaticQuoteSubstitution:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">toggleAutomaticSpellingCorrection:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">toggleAutomaticTextReplacement:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">toggleGrammarChecking:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">zoomPageIn:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">zoomPageOut:</string>
+ <string key="candidateClassName">id</string>
+ </object>
</object>
</object>
<reference key="sourceIdentifier" ref="153972132"/>
@@ -1249,8 +1668,42 @@ aVNpZ24gSW5jLiBHZXQgbW9yZSBpbmZvcm1hdGlvbiBieSBjbGlja2luZyAnJ0NlcnRpZmljYXRlA</s
</object>
</object>
</object>
+ <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">QuartzCore.framework/Headers/CIImageProvider.h</string>
+ </object>
+ </object>
+ </object>
</object>
<int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+ <integer value="1050" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
+ <integer value="3000" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../../../WebKit.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
diff --git a/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib b/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib
index 12b1f8d..5bd4806 100644
--- a/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib
+++ b/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib
Binary files differ
diff --git a/WebKit/mac/Panels/WebAuthenticationPanel.m b/WebKit/mac/Panels/WebAuthenticationPanel.m
index c9442da..a8b4764 100644
--- a/WebKit/mac/Panels/WebAuthenticationPanel.m
+++ b/WebKit/mac/Panels/WebAuthenticationPanel.m
@@ -129,6 +129,8 @@
}
NSString *realm = [space realm];
+ if (!realm)
+ realm = @"";
NSString *message;
// Consider the realm name to be "simple" if it does not contain any whitespace or newline characters.
diff --git a/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm b/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm
index 362dd97..e13808d 100644
--- a/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm
+++ b/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm
@@ -403,6 +403,12 @@ extern "C" {
- (void)drawRect:(NSRect)rect
{
+ if (_cachedSnapshot) {
+ NSRect sourceRect = { NSZeroPoint, [_cachedSnapshot.get() size] };
+ [_cachedSnapshot.get() drawInRect:[self bounds] fromRect:sourceRect operation:NSCompositeSourceOver fraction:1];
+ return;
+ }
+
if (_proxy) {
if (_softwareRenderer) {
if ([NSGraphicsContext currentContextDrawingToScreen]) {
@@ -410,7 +416,7 @@ extern "C" {
_proxy->didDraw();
} else
_proxy->print(reinterpret_cast<CGContextRef>([[NSGraphicsContext currentContext] graphicsPort]), [self bounds].size.width, [self bounds].size.height);
- } else if ([self inFlatteningPaint] && [self supportsSnapshotting]) {
+ } else if (_snapshotting && [self supportsSnapshotting]) {
_proxy->snapshot(reinterpret_cast<CGContextRef>([[NSGraphicsContext currentContext] graphicsPort]), [self bounds].size.width, [self bounds].size.height);
}
diff --git a/WebKit/mac/Plugins/WebBaseNetscapePluginView.h b/WebKit/mac/Plugins/WebBaseNetscapePluginView.h
index 1a4b6bb..0f39730 100644
--- a/WebKit/mac/Plugins/WebBaseNetscapePluginView.h
+++ b/WebKit/mac/Plugins/WebBaseNetscapePluginView.h
@@ -70,11 +70,13 @@ class WebHaltablePlugin;
BOOL _isPrivateBrowsingEnabled;
BOOL _isHalted;
BOOL _hasBeenHalted;
+ BOOL _snapshotting;
RefPtr<WebCore::HTMLPlugInElement> _element;
RetainPtr<NSString> _MIMEType;
RetainPtr<NSURL> _baseURL;
RetainPtr<NSURL> _sourceURL;
+ RetainPtr<NSImage> _cachedSnapshot;
OwnPtr<WebHaltablePlugin> _haltable;
@@ -129,7 +131,10 @@ class WebHaltablePlugin;
- (void)removeWindowObservers;
- (BOOL)shouldClipOutPlugin;
- (BOOL)inFlatteningPaint;
+
- (BOOL)supportsSnapshotting;
+- (void)cacheSnapshot;
+- (void)clearCachedSnapshot;
- (BOOL)convertFromX:(double)sourceX andY:(double)sourceY space:(NPCoordinateSpace)sourceSpace
toX:(double *)destX andY:(double *)destY space:(NPCoordinateSpace)destSpace;
diff --git a/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm b/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm
index b6b8b64..7f73443 100644
--- a/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm
+++ b/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm
@@ -579,6 +579,23 @@ String WebHaltablePlugin::pluginName() const
return [_pluginPackage.get() supportsSnapshotting];
}
+- (void)cacheSnapshot
+{
+ NSImage *snapshot = [[NSImage alloc] initWithSize: [self bounds].size];
+ _snapshotting = YES;
+ [snapshot lockFocus];
+ [self drawRect:[self bounds]];
+ [snapshot unlockFocus];
+ _snapshotting = NO;
+
+ _cachedSnapshot.adoptNS(snapshot);
+}
+
+- (void)clearCachedSnapshot
+{
+ _cachedSnapshot.clear();
+}
+
- (BOOL)hasBeenHalted
{
return _hasBeenHalted;
@@ -673,7 +690,7 @@ String WebHaltablePlugin::pluginName() const
}
}
-#pragma mark NOTIFICATIONS
+// MARK: NOTIFICATIONS
- (void)windowWillClose:(NSNotification *)notification
{
diff --git a/WebKit/mac/Plugins/WebBasePluginPackage.mm b/WebKit/mac/Plugins/WebBasePluginPackage.mm
index 78b0a7f..05b084a 100644
--- a/WebKit/mac/Plugins/WebBasePluginPackage.mm
+++ b/WebKit/mac/Plugins/WebBasePluginPackage.mm
@@ -343,31 +343,32 @@ static NSString *pathByResolvingSymlinksAndAliases(NSString *thePath)
equalIgnoringCase(pluginInfo.file, JavaCFMPluginFilename);
}
-static inline void swapIntsInHeader(uint8_t* bytes, unsigned length)
+static inline void swapIntsInHeader(uint32_t* rawData, size_t length)
{
- for (unsigned i = 0; i < length; i += 4)
- *(uint32_t*)(bytes + i) = OSSwapInt32(*(uint32_t *)(bytes + i));
+ for (size_t i = 0; i < length; ++i)
+ rawData[i] = OSSwapInt32(rawData[i]);
}
- (BOOL)isNativeLibraryData:(NSData *)data
{
- Vector<uint8_t, 512> bytes([data length]);
- memcpy(bytes.data(), [data bytes], bytes.size());
+ NSUInteger sizeInBytes = [data length];
+ Vector<uint32_t, 128> rawData((sizeInBytes + 3) / 4);
+ memcpy(rawData.data(), [data bytes], sizeInBytes);
unsigned numArchs = 0;
struct fat_arch singleArch = { 0, 0, 0, 0, 0 };
struct fat_arch* archs = 0;
- if (bytes.size() >= sizeof(struct mach_header_64)) {
- uint32_t magic = *reinterpret_cast<uint32_t*>(bytes.data());
+ if (sizeInBytes >= sizeof(struct mach_header_64)) {
+ uint32_t magic = *rawData.data();
if (magic == MH_MAGIC || magic == MH_CIGAM) {
// We have a 32-bit thin binary
- struct mach_header* header = (struct mach_header*)bytes.data();
+ struct mach_header* header = (struct mach_header*)rawData.data();
// Check if we need to swap the bytes
if (magic == MH_CIGAM)
- swapIntsInHeader(bytes.data(), bytes.size());
+ swapIntsInHeader(rawData.data(), rawData.size());
singleArch.cputype = header->cputype;
singleArch.cpusubtype = header->cpusubtype;
@@ -376,11 +377,11 @@ static inline void swapIntsInHeader(uint8_t* bytes, unsigned length)
numArchs = 1;
} else if (magic == MH_MAGIC_64 || magic == MH_CIGAM_64) {
// We have a 64-bit thin binary
- struct mach_header_64* header = (struct mach_header_64*)bytes.data();
+ struct mach_header_64* header = (struct mach_header_64*)rawData.data();
// Check if we need to swap the bytes
if (magic == MH_CIGAM_64)
- swapIntsInHeader(bytes.data(), bytes.size());
+ swapIntsInHeader(rawData.data(), rawData.size());
singleArch.cputype = header->cputype;
singleArch.cpusubtype = header->cpusubtype;
@@ -392,12 +393,12 @@ static inline void swapIntsInHeader(uint8_t* bytes, unsigned length)
// Check if we need to swap the bytes
if (magic == FAT_CIGAM)
- swapIntsInHeader(bytes.data(), bytes.size());
+ swapIntsInHeader(rawData.data(), rawData.size());
- archs = (struct fat_arch*)(bytes.data() + sizeof(struct fat_header));
- numArchs = ((struct fat_header *)bytes.data())->nfat_arch;
+ archs = (struct fat_arch*)((uint8_t*)rawData.data() + sizeof(struct fat_header));
+ numArchs = ((struct fat_header *)rawData.data())->nfat_arch;
- unsigned maxArchs = (bytes.size() - sizeof(struct fat_header)) / sizeof(struct fat_arch);
+ unsigned maxArchs = (sizeInBytes - sizeof(struct fat_header)) / sizeof(struct fat_arch);
if (numArchs > maxArchs)
numArchs = maxArchs;
}
diff --git a/WebKit/mac/Plugins/WebNetscapePluginView.mm b/WebKit/mac/Plugins/WebNetscapePluginView.mm
index 48574bf..b215c8d 100644
--- a/WebKit/mac/Plugins/WebNetscapePluginView.mm
+++ b/WebKit/mac/Plugins/WebNetscapePluginView.mm
@@ -199,7 +199,7 @@ typedef struct {
WKSendUserChangeNotifications();
}
-#pragma mark EVENTS
+// MARK: EVENTS
// The WindowRef created by -[NSWindow windowRef] has a QuickDraw GrafPort that covers
// the entire window frame (or structure region to use the Carbon term) rather then just the window content.
@@ -859,7 +859,7 @@ static inline void getNPRect(const NSRect& nr, NPRect& npr)
[self didCallPlugInFunction];
}
-#pragma mark WEB_NETSCAPE_PLUGIN
+// MARK: WEB_NETSCAPE_PLUGIN
- (BOOL)isNewWindowEqualToOldWindow
{
@@ -1342,7 +1342,7 @@ static inline void getNPRect(const NSRect& nr, NPRect& npr)
}
#endif
-#pragma mark NSVIEW
+// MARK: NSVIEW
- (id)initWithFrame:(NSRect)frame
pluginPackage:(WebNetscapePluginPackage *)pluginPackage
@@ -1426,7 +1426,13 @@ static inline void getNPRect(const NSRect& nr, NPRect& npr)
- (void)drawRect:(NSRect)rect
{
- if (drawingModel == NPDrawingModelCoreAnimation && (![self inFlatteningPaint] || ![self supportsSnapshotting]))
+ if (_cachedSnapshot) {
+ NSRect sourceRect = { NSZeroPoint, [_cachedSnapshot.get() size] };
+ [_cachedSnapshot.get() drawInRect:[self bounds] fromRect:sourceRect operation:NSCompositeSourceOver fraction:1];
+ return;
+ }
+
+ if (drawingModel == NPDrawingModelCoreAnimation && (!_snapshotting || ![self supportsSnapshotting]))
return;
if (!_isStarted)
diff --git a/WebKit/mac/Plugins/WebPluginController.mm b/WebKit/mac/Plugins/WebPluginController.mm
index 9c037c2..c802d4c 100644
--- a/WebKit/mac/Plugins/WebPluginController.mm
+++ b/WebKit/mac/Plugins/WebPluginController.mm
@@ -174,8 +174,8 @@ static NSMutableSet *pluginViews = nil;
if ([_views count] > 0)
LOG(Plugins, "starting WebKit plugins : %@", [_views description]);
- int i, count = [_views count];
- for (i = 0; i < count; i++) {
+ int count = [_views count];
+ for (int i = 0; i < count; i++) {
id aView = [_views objectAtIndex:i];
if ([aView respondsToSelector:@selector(webPlugInStart)]) {
JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
@@ -197,13 +197,13 @@ static NSMutableSet *pluginViews = nil;
LOG(Plugins, "stopping WebKit plugins: %@", [_views description]);
}
- int i, count = [_views count];
- for (i = 0; i < count; i++)
+ int viewsCount = [_views count];
+ for (int i = 0; i < viewsCount; i++)
[self stopOnePlugin:[_views objectAtIndex:i]];
#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
- count = [_viewsNotInDocument count];
- for (i = 0; i < count; i++)
+ int viewsNotInDocumentCount = [_viewsNotInDocument count];
+ for (int i = 0; i < viewsNotInDocumentCount; i++)
[self stopOnePlugin:[_viewsNotInDocument objectAtIndex:i]];
#endif
@@ -333,8 +333,8 @@ static void cancelOutstandingCheck(const void *item, void *context)
[self _cancelOutstandingChecks];
- int i, count = [_views count];
- for (i = 0; i < count; i++) {
+ int viewsCount = [_views count];
+ for (int i = 0; i < viewsCount; i++) {
id aView = [_views objectAtIndex:i];
[self destroyOnePlugin:aView];
@@ -348,8 +348,8 @@ static void cancelOutstandingCheck(const void *item, void *context)
}
#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
- count = [_viewsNotInDocument count];
- for (i = 0; i < count; i++)
+ int viewsNotInDocumentCount = [_viewsNotInDocument count];
+ for (int i = 0; i < viewsNotInDocumentCount; i++)
[self destroyOnePlugin:[_viewsNotInDocument objectAtIndex:i]];
#endif
diff --git a/WebKit/mac/WebCoreSupport/WebChromeClient.h b/WebKit/mac/WebCoreSupport/WebChromeClient.h
index a5f49e3..05db524 100644
--- a/WebKit/mac/WebCoreSupport/WebChromeClient.h
+++ b/WebKit/mac/WebCoreSupport/WebChromeClient.h
@@ -164,6 +164,7 @@ public:
virtual bool supportsFullscreenForNode(const WebCore::Node*);
virtual void enterFullscreenForNode(WebCore::Node*);
virtual void exitFullscreenForNode(WebCore::Node*);
+ virtual void fullScreenRendererChanged(WebCore::RenderBox*);
#endif
#if ENABLE(FULLSCREEN_API)
@@ -172,7 +173,9 @@ public:
virtual void exitFullScreenForElement(WebCore::Element*);
#endif
- virtual void requestGeolocationPermissionForFrame(WebCore::Frame*, WebCore::Geolocation*);
+ // FIXME: Remove once all ports are using client-based geolocation. https://bugs.webkit.org/show_bug.cgi?id=40373
+ // For client-based geolocation, these two methods have moved to WebGeolocationClient. https://bugs.webkit.org/show_bug.cgi?id=50061
+ virtual void requestGeolocationPermissionForFrame(WebCore::Frame*, WebCore::Geolocation*) { }
virtual void cancelGeolocationPermissionRequestForFrame(WebCore::Frame*, WebCore::Geolocation*) { }
virtual bool selectItemWritingDirectionIsNatural();
diff --git a/WebKit/mac/WebCoreSupport/WebChromeClient.mm b/WebKit/mac/WebCoreSupport/WebChromeClient.mm
index fe95989..a2c4ee5 100644
--- a/WebKit/mac/WebCoreSupport/WebChromeClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebChromeClient.mm
@@ -29,6 +29,7 @@
#import "WebChromeClient.h"
+#import "DOMElementInternal.h"
#import "DOMNodeInternal.h"
#import "WebDefaultUIDelegate.h"
#import "WebDelegateImplementationCaching.h"
@@ -55,7 +56,6 @@
#import <WebCore/FloatRect.h>
#import <WebCore/Frame.h>
#import <WebCore/FrameLoadRequest.h>
-#import <WebCore/Geolocation.h>
#import <WebCore/HTMLNames.h>
#import <WebCore/HitTestResult.h>
#import <WebCore/Icon.h>
@@ -102,13 +102,6 @@ using namespace WebCore;
- (id)initWithChooser:(PassRefPtr<FileChooser>)chooser;
@end
-@interface WebGeolocationPolicyListener : NSObject <WebGeolocationPolicyListener>
-{
- RefPtr<Geolocation> _geolocation;
-}
-- (id)initWithGeolocation:(Geolocation*)geolocation;
-@end
-
#if ENABLE(FULLSCREEN_API)
@interface WebKitFullScreenListener : NSObject <WebKitFullScreenListener>
@@ -781,7 +774,7 @@ void WebChromeClient::attachRootGraphicsLayer(Frame* frame, GraphicsLayer* graph
WebHTMLView *webHTMLView = (WebHTMLView *)documentView;
if (graphicsLayer)
- [webHTMLView attachRootLayer:graphicsLayer->nativeLayer()];
+ [webHTMLView attachRootLayer:graphicsLayer->platformLayer()];
else
[webHTMLView detachRootLayer];
END_BLOCK_OBJC_EXCEPTIONS;
@@ -830,46 +823,45 @@ void WebChromeClient::exitFullscreenForNode(Node*)
bool WebChromeClient::supportsFullScreenForElement(const Element* element)
{
- return CallUIDelegateReturningBoolean(false, m_webView, @selector(webView:supportsFullScreenForElement:), kit(const_cast<WebCore::Element*>(element)));
+ SEL selector = @selector(webView:supportsFullScreenForElement:);
+ if ([[m_webView UIDelegate] respondsToSelector:selector])
+ return CallUIDelegateReturningBoolean(false, m_webView, selector, kit(const_cast<WebCore::Element*>(element)));
+ return [m_webView _supportsFullScreenForElement:const_cast<WebCore::Element*>(element)];
}
void WebChromeClient::enterFullScreenForElement(Element* element)
{
- WebKitFullScreenListener* listener = [[WebKitFullScreenListener alloc] initWithElement:element];
- CallUIDelegate(m_webView, @selector(webView:enterFullScreenForElement:listener:), kit(element), listener);
- [listener release];
+ SEL selector = @selector(webView:enterFullScreenForElement:listener:);
+ if ([[m_webView UIDelegate] respondsToSelector:selector]) {
+ WebKitFullScreenListener* listener = [[WebKitFullScreenListener alloc] initWithElement:element];
+ CallUIDelegate(m_webView, selector, kit(element), listener);
+ [listener release];
+ } else
+ [m_webView _enterFullScreenForElement:element];
}
void WebChromeClient::exitFullScreenForElement(Element* element)
{
- WebKitFullScreenListener* listener = [[WebKitFullScreenListener alloc] initWithElement:element];
- CallUIDelegate(m_webView, @selector(webView:exitFullScreenForElement:listener:), kit(element), listener);
- [listener release];
+ SEL selector = @selector(webView:exitFullScreenForElement:listener:);
+ if ([[m_webView UIDelegate] respondsToSelector:selector]) {
+ WebKitFullScreenListener* listener = [[WebKitFullScreenListener alloc] initWithElement:element];
+ CallUIDelegate(m_webView, selector, kit(element), listener);
+ [listener release];
+ } else
+ [m_webView _exitFullScreenForElement:element];
}
-#endif
-
-void WebChromeClient::requestGeolocationPermissionForFrame(Frame* frame, Geolocation* geolocation)
+void WebChromeClient::fullScreenRendererChanged(RenderBox* renderer)
{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
-
- SEL selector = @selector(webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener:);
- if (![[m_webView UIDelegate] respondsToSelector:selector]) {
- geolocation->setIsAllowed(false);
- return;
- }
-
- WebSecurityOrigin *webOrigin = [[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:frame->document()->securityOrigin()];
- WebGeolocationPolicyListener* listener = [[WebGeolocationPolicyListener alloc] initWithGeolocation:geolocation];
-
- CallUIDelegate(m_webView, selector, webOrigin, kit(frame), listener);
-
- [webOrigin release];
- [listener release];
-
- END_BLOCK_OBJC_EXCEPTIONS;
+ SEL selector = @selector(webView:fullScreenRendererChanged:);
+ if ([[m_webView UIDelegate] respondsToSelector:selector])
+ CallUIDelegate(m_webView, selector, (id)renderer);
+ else
+ [m_webView _fullScreenRendererChanged:renderer];
}
+#endif
+
@implementation WebOpenPanelResultListener
- (id)initWithChooser:(PassRefPtr<FileChooser>)chooser
@@ -932,28 +924,6 @@ void WebChromeClient::requestGeolocationPermissionForFrame(Frame* frame, Geoloca
@end
-@implementation WebGeolocationPolicyListener
-
-- (id)initWithGeolocation:(Geolocation*)geolocation
-{
- if (!(self = [super init]))
- return nil;
- _geolocation = geolocation;
- return self;
-}
-
-- (void)allow
-{
- _geolocation->setIsAllowed(true);
-}
-
-- (void)deny
-{
- _geolocation->setIsAllowed(false);
-}
-
-@end
-
#if ENABLE(FULLSCREEN_API)
@implementation WebKitFullScreenListener
diff --git a/WebKit/mac/WebCoreSupport/WebContextMenuClient.mm b/WebKit/mac/WebCoreSupport/WebContextMenuClient.mm
index f3a85f0..c5a1035 100644
--- a/WebKit/mac/WebCoreSupport/WebContextMenuClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebContextMenuClient.mm
@@ -42,8 +42,10 @@
#import "WebViewFactory.h"
#import "WebViewInternal.h"
#import <WebCore/ContextMenu.h>
+#import <WebCore/ContextMenuController.h>
#import <WebCore/KURL.h>
#import <WebCore/LocalizedStrings.h>
+#import <WebCore/Page.h>
#import <WebCore/RuntimeApplicationChecks.h>
#import <WebKit/DOMPrivate.h>
@@ -278,7 +280,7 @@ NSMutableArray* WebContextMenuClient::getCustomMenuFromDefaultItems(ContextMenu*
if (![delegate respondsToSelector:selector])
return defaultMenu->platformDescription();
- NSDictionary *element = [[[WebElementDictionary alloc] initWithHitTestResult:defaultMenu->hitTestResult()] autorelease];
+ NSDictionary *element = [[[WebElementDictionary alloc] initWithHitTestResult:[m_webView page]->contextMenuController()->hitTestResult()] autorelease];
BOOL preVersion3Client = isPreVersion3Client();
if (preVersion3Client) {
@@ -308,7 +310,7 @@ void WebContextMenuClient::contextMenuItemSelected(ContextMenuItem* item, const
id delegate = [m_webView UIDelegate];
SEL selector = @selector(webView:contextMenuItemSelected:forElement:);
if ([delegate respondsToSelector:selector]) {
- NSDictionary *element = [[WebElementDictionary alloc] initWithHitTestResult:parentMenu->hitTestResult()];
+ NSDictionary *element = [[WebElementDictionary alloc] initWithHitTestResult:[m_webView page]->contextMenuController()->hitTestResult()];
NSMenuItem *platformItem = item->releasePlatformDescription();
CallUIDelegate(m_webView, selector, platformItem, element);
diff --git a/WebKit/mac/WebCoreSupport/WebEditorClient.h b/WebKit/mac/WebCoreSupport/WebEditorClient.h
index 23cf312..8a54ca9 100644
--- a/WebKit/mac/WebCoreSupport/WebEditorClient.h
+++ b/WebKit/mac/WebCoreSupport/WebEditorClient.h
@@ -129,12 +129,13 @@ public:
virtual void updateSpellingUIWithMisspelledWord(const WTF::String&);
virtual void showSpellingUI(bool show);
virtual bool spellingUIIsShowing();
- virtual void getGuessesForWord(const WTF::String&, WTF::Vector<WTF::String>& guesses);
+ virtual void getGuessesForWord(const WTF::String& word, const WTF::String& context, WTF::Vector<WTF::String>& guesses);
virtual void willSetInputMethodState();
virtual void setInputMethodState(bool enabled);
+ virtual void requestCheckingOfString(WebCore::SpellChecker*, int, const WTF::String&);
#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
- virtual void showCorrectionPanel(WebCore::CorrectionPanelInfo::PanelType, const WebCore::FloatRect& boundingBoxOfReplacedString, const WTF::String& replacedString, const WTF::String& replacementString, WebCore::Editor*);
- virtual void dismissCorrectionPanel(WebCore::CorrectionWasRejectedOrNot);
+ virtual void showCorrectionPanel(WebCore::CorrectionPanelInfo::PanelType, const WebCore::FloatRect& boundingBoxOfReplacedString, const WTF::String& replacedString, const WTF::String& replacementString, const WTF::Vector<WTF::String>& alternativeReplacementStrings, WebCore::Editor*);
+ virtual void dismissCorrectionPanel(WebCore::ReasonForDismissingCorrectionPanel);
virtual bool isShowingCorrectionPanel();
#endif
private:
@@ -147,5 +148,7 @@ private:
#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
BOOL m_correctionPanelIsShown;
+ BOOL m_correctionPanelIsDismissedExternally;
+ WebCore::ReasonForDismissingCorrectionPanel m_reasonForDismissingCorrectionPanel;
#endif
};
diff --git a/WebKit/mac/WebCoreSupport/WebEditorClient.mm b/WebKit/mac/WebCoreSupport/WebEditorClient.mm
index 9efa766..d3b38de 100644
--- a/WebKit/mac/WebCoreSupport/WebEditorClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebEditorClient.mm
@@ -63,6 +63,7 @@
#import <WebCore/LegacyWebArchive.h>
#import <WebCore/PlatformKeyboardEvent.h>
#import <WebCore/PlatformString.h>
+#import <WebCore/SpellChecker.h>
#import <WebCore/UserTypingGestureIndicator.h>
#import <WebCore/WebCoreObjCExtras.h>
#import <runtime/InitializeThreading.h>
@@ -77,6 +78,22 @@ using namespace WTF;
using namespace HTMLNames;
+#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
+static inline NSCorrectionBubbleType correctionBubbleType(CorrectionPanelInfo::PanelType panelType)
+{
+ switch (panelType) {
+ case CorrectionPanelInfo::PanelTypeCorrection:
+ return NSCorrectionBubbleTypeCorrection;
+ case CorrectionPanelInfo::PanelTypeReversion:
+ return NSCorrectionBubbleTypeReversion;
+ case CorrectionPanelInfo::PanelTypeSpellingSuggestions:
+ return NSCorrectionBubbleTypeGuesses;
+ }
+ ASSERT_NOT_REACHED();
+ return NSCorrectionBubbleTypeCorrection;
+}
+#endif
+
@interface NSAttributedString (WebNSAttributedStringDetails)
- (id)_initWithDOMRange:(DOMRange*)range;
- (DOMDocumentFragment*)_documentFromRange:(NSRange)range document:(DOMDocument*)document documentAttributes:(NSDictionary *)dict subresources:(NSArray **)subresources;
@@ -194,7 +211,7 @@ WebEditorClient::WebEditorClient(WebView *webView)
WebEditorClient::~WebEditorClient()
{
#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
- dismissCorrectionPanel(WebCore::CorrectionWasNotRejected);
+ dismissCorrectionPanel(ReasonForDismissingCorrectionPanelIgnored);
#endif
}
@@ -856,8 +873,8 @@ void WebEditorClient::updateSpellingUIWithGrammarString(const String& badGrammar
}
#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
-void WebEditorClient::showCorrectionPanel(WebCore::CorrectionPanelInfo::PanelType panelType, const FloatRect& boundingBoxOfReplacedString, const String& replacedString, const String& replacementString, Editor* editor) {
- dismissCorrectionPanel(WebCore::CorrectionWasNotRejected);
+void WebEditorClient::showCorrectionPanel(WebCore::CorrectionPanelInfo::PanelType panelType, const FloatRect& boundingBoxOfReplacedString, const String& replacedString, const String& replacementString, const Vector<String>& alternativeReplacementStrings, Editor* editor) {
+ dismissCorrectionPanel(ReasonForDismissingCorrectionPanelIgnored);
NSRect boundingBoxAsNSRect = boundingBoxOfReplacedString;
NSRect webViewFrame = m_webView.frame;
@@ -868,25 +885,52 @@ void WebEditorClient::showCorrectionPanel(WebCore::CorrectionPanelInfo::PanelTyp
NSString *replacementStringAsNSString = replacementString;
m_correctionPanelIsShown = YES;
- NSCorrectionBubbleType bubbleType = panelType == WebCore::CorrectionPanelInfo::PanelTypeCorrection ? NSCorrectionBubbleTypeCorrection : NSCorrectionBubbleTypeReversion;
- [[NSSpellChecker sharedSpellChecker] showCorrectionBubbleOfType:bubbleType primaryString:replacementStringAsNSString alternativeStrings:nil forStringInRect:boundingBoxAsNSRect view:m_webView completionHandler:^(NSString *acceptedString) {
- if (!acceptedString && bubbleType == NSCorrectionBubbleTypeCorrection) {
- [[NSSpellChecker sharedSpellChecker] recordResponse:NSCorrectionResponseRejected toCorrection:replacementStringAsNSString forWord:replacedStringAsNSString language:nil inSpellDocumentWithTag:[m_webView spellCheckerDocumentTag]];
- editor->handleRejectedCorrection();
- } else if (acceptedString && bubbleType == NSCorrectionBubbleTypeReversion) {
- [[NSSpellChecker sharedSpellChecker] recordResponse:NSCorrectionResponseReverted toCorrection:replacedStringAsNSString forWord:replacementStringAsNSString language:nil inSpellDocumentWithTag:[m_webView spellCheckerDocumentTag]];
- editor->handleRejectedCorrection();
+ m_correctionPanelIsDismissedExternally = NO;
+ m_reasonForDismissingCorrectionPanel = ReasonForDismissingCorrectionPanelIgnored;
+
+ NSCorrectionBubbleType bubbleType = correctionBubbleType(panelType);
+ NSMutableArray *alternativeStrings = nil;
+ if (!alternativeReplacementStrings.isEmpty()) {
+ size_t size = alternativeReplacementStrings.size();
+ alternativeStrings = [NSMutableArray arrayWithCapacity:size];
+ for (size_t i = 0; i < size; ++i)
+ [alternativeStrings addObject:(NSString*)alternativeReplacementStrings[i]];
+ }
+ NSSpellChecker *spellChecker = [NSSpellChecker sharedSpellChecker];
+ [[NSSpellChecker sharedSpellChecker] showCorrectionBubbleOfType:bubbleType primaryString:replacementStringAsNSString alternativeStrings:alternativeStrings forStringInRect:boundingBoxAsNSRect view:m_webView completionHandler:^(NSString *acceptedString) {
+ switch (bubbleType) {
+ case NSCorrectionBubbleTypeCorrection:
+ if (acceptedString)
+ [spellChecker recordResponse:NSCorrectionResponseAccepted toCorrection:acceptedString forWord:replacedStringAsNSString language:nil inSpellDocumentWithTag:spellCheckerDocumentTag()];
+ else {
+ if (!m_correctionPanelIsDismissedExternally || m_reasonForDismissingCorrectionPanel == ReasonForDismissingCorrectionPanelCancelled)
+ [spellChecker recordResponse:NSCorrectionResponseRejected toCorrection:replacementStringAsNSString forWord:replacedStringAsNSString language:nil inSpellDocumentWithTag:spellCheckerDocumentTag()];
+ else
+ [spellChecker recordResponse:NSCorrectionResponseIgnored toCorrection:replacementStringAsNSString forWord:replacedStringAsNSString language:nil inSpellDocumentWithTag:spellCheckerDocumentTag()];
+ }
+ break;
+ case NSCorrectionBubbleTypeReversion:
+ if (acceptedString)
+ [spellChecker recordResponse:NSCorrectionResponseReverted toCorrection:replacedStringAsNSString forWord:acceptedString language:nil inSpellDocumentWithTag:spellCheckerDocumentTag()];
+ break;
+ case NSCorrectionBubbleTypeGuesses:
+ if (acceptedString)
+ [[NSSpellChecker sharedSpellChecker] recordResponse:NSCorrectionResponseAccepted toCorrection:acceptedString forWord:replacedStringAsNSString language:nil inSpellDocumentWithTag:[m_webView spellCheckerDocumentTag]];
+ break;
}
+ editor->handleCorrectionPanelResult(String(acceptedString));
}];
}
-void WebEditorClient::dismissCorrectionPanel(WebCore::CorrectionWasRejectedOrNot correctionWasRejectedOrNot)
+void WebEditorClient::dismissCorrectionPanel(ReasonForDismissingCorrectionPanel reasonForDismissing)
{
if (isShowingCorrectionPanel()) {
- if (correctionWasRejectedOrNot == CorrectionWasRejected)
- [[NSSpellChecker sharedSpellChecker] cancelCorrectionBubbleForView:m_webView];
- else
+ m_correctionPanelIsDismissedExternally = YES;
+ m_reasonForDismissingCorrectionPanel = reasonForDismissing;
+ if (reasonForDismissing == ReasonForDismissingCorrectionPanelAccepted)
[[NSSpellChecker sharedSpellChecker] dismissCorrectionBubbleForView:m_webView];
+ else
+ [[NSSpellChecker sharedSpellChecker] cancelCorrectionBubbleForView:m_webView];
m_correctionPanelIsShown = NO;
}
}
@@ -916,11 +960,22 @@ bool WebEditorClient::spellingUIIsShowing()
return [[[NSSpellChecker sharedSpellChecker] spellingPanel] isVisible];
}
-void WebEditorClient::getGuessesForWord(const String& word, WTF::Vector<String>& guesses)
-{
+void WebEditorClient::getGuessesForWord(const String& word, const String& context, Vector<String>& guesses) {
+ guesses.clear();
+#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
+ NSString* language = nil;
+ NSOrthography* orthography = nil;
+ NSSpellChecker *checker = [NSSpellChecker sharedSpellChecker];
+ if (context.length()) {
+ [checker checkString:context range:NSMakeRange(0, context.length()) types:NSTextCheckingTypeOrthography options:0 inSpellDocumentWithTag:spellCheckerDocumentTag() orthography:&orthography wordCount:0];
+ language = [checker languageForWordRange:NSMakeRange(0, context.length()) inString:context orthography:orthography];
+ }
+ NSArray* stringsArray = [checker guessesForWordRange:NSMakeRange(0, word.length()) inString:word language:language inSpellDocumentWithTag:spellCheckerDocumentTag()];
+#else
NSArray* stringsArray = [[NSSpellChecker sharedSpellChecker] guessesForWord:word];
+#endif
unsigned count = [stringsArray count];
- guesses.clear();
+
if (count > 0) {
NSEnumerator* enumerator = [stringsArray objectEnumerator];
NSString* string;
@@ -936,3 +991,73 @@ void WebEditorClient::willSetInputMethodState()
void WebEditorClient::setInputMethodState(bool)
{
}
+
+#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
+@interface WebEditorSpellCheckResponder : NSObject
+{
+ WebCore::SpellChecker* _sender;
+ int _sequence;
+ RetainPtr<NSArray> _results;
+}
+- (id)initWithSender:(WebCore::SpellChecker*)sender sequence:(int)sequence results:(NSArray*)results;
+- (void)perform;
+- (WTF::Vector<WebCore::SpellCheckingResult>) _coreResults;
+@end
+
+@implementation WebEditorSpellCheckResponder
+- (id)initWithSender:(WebCore::SpellChecker*)sender sequence:(int)sequence results:(NSArray*)results
+{
+ self = [super init];
+ if (!self)
+ return nil;
+ _sender = sender;
+ _sequence = sequence;
+ _results = results;
+ return self;
+}
+
+- (void)perform
+{
+ _sender->didCheck(_sequence, [self _coreResults]);
+}
+
+static SpellCheckingResult toCoreSpellingResult(NSTextCheckingResult* result)
+{
+ NSTextCheckingType type = [result resultType];
+ NSRange range = [result range];
+ DocumentMarker::MarkerType coreType;
+ if (type & NSTextCheckingTypeSpelling)
+ coreType = DocumentMarker::Spelling;
+ else if (type & NSTextCheckingTypeGrammar)
+ coreType = DocumentMarker::Grammar;
+ else
+ coreType = DocumentMarker::AllMarkers;
+
+ return SpellCheckingResult(coreType, range.location, range.length);
+}
+
+- (WTF::Vector<WebCore::SpellCheckingResult>)_coreResults
+{
+ WTF::Vector<WebCore::SpellCheckingResult> coreResults;
+ coreResults.reserveCapacity([_results.get() count]);
+ for (NSTextCheckingResult* result in _results.get())
+ coreResults.append(toCoreSpellingResult(result));
+ return coreResults;
+}
+
+@end
+#endif
+
+void WebEditorClient::requestCheckingOfString(WebCore::SpellChecker* sender, int sequence, const String& text)
+{
+#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
+ NSRange range = NSMakeRange(0, text.length());
+ NSRunLoop* currentLoop = [NSRunLoop currentRunLoop];
+ [[NSSpellChecker sharedSpellChecker] requestCheckingOfString:text range:range types:NSTextCheckingAllSystemTypes options:0 inSpellDocumentWithTag:0
+ completionHandler:^(NSInteger, NSArray* results, NSOrthography*, NSInteger) {
+ [currentLoop performSelector:@selector(perform)
+ target:[[[WebEditorSpellCheckResponder alloc] initWithSender:sender sequence:sequence results:results] autorelease]
+ argument:nil order:0 modes:[NSArray arrayWithObject:NSDefaultRunLoopMode]];
+ }];
+#endif
+}
diff --git a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h
index 2b3b2cc..9de4246 100644
--- a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h
+++ b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h
@@ -175,6 +175,9 @@ private:
virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*);
virtual void transitionToCommittedForNewPage();
+ virtual void didSaveToPageCache();
+ virtual void didRestoreFromPageCache();
+
virtual void dispatchDidBecomeFrameset(bool);
virtual bool canHandleRequest(const WebCore::ResourceRequest&) const;
@@ -224,6 +227,10 @@ private:
virtual jobject javaApplet(NSView*);
#endif
+#if PLATFORM(MAC)
+ virtual RemoteAXObjectRef accessibilityRemoteObject() { return 0; }
+#endif
+
void setOriginalURLForDownload(WebDownload *, const WebCore::ResourceRequest&) const;
RetainPtr<WebFramePolicyListener> setUpPolicyListener(WebCore::FramePolicyFunction);
diff --git a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
index 5968084..227d13a 100644
--- a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
@@ -1253,6 +1253,14 @@ void WebFrameLoaderClient::transitionToCommittedForNewPage()
}
}
+void WebFrameLoaderClient::didSaveToPageCache()
+{
+}
+
+void WebFrameLoaderClient::didRestoreFromPageCache()
+{
+}
+
void WebFrameLoaderClient::dispatchDidBecomeFrameset(bool)
{
}
@@ -1568,7 +1576,25 @@ public:
else if (event->type() == eventNames().mouseoutEvent)
[(WebBaseNetscapePluginView *)platformWidget() handleMouseExited:currentNSEvent];
}
-
+
+private:
+ virtual void notifyWidget(WidgetNotification notification)
+ {
+ switch (notification) {
+ case WillPaintFlattened: {
+ BEGIN_BLOCK_OBJC_EXCEPTIONS;
+ [(WebBaseNetscapePluginView *)platformWidget() cacheSnapshot];
+ END_BLOCK_OBJC_EXCEPTIONS;
+ break;
+ }
+ case DidPaintFlattened: {
+ BEGIN_BLOCK_OBJC_EXCEPTIONS;
+ [(WebBaseNetscapePluginView *)platformWidget() clearCachedSnapshot];
+ END_BLOCK_OBJC_EXCEPTIONS;
+ break;
+ }
+ }
+ }
};
#if USE(PLUGIN_HOST_PROCESS)
@@ -1840,7 +1866,7 @@ PassRefPtr<Widget> WebFrameLoaderClient::createMediaPlayerProxyPlugin(const IntS
if (errorCode) {
NSError *error = [[NSError alloc] _initWithPluginErrorCode:errorCode
- contentURL:URL pluginPageURL:nil pluginName:[pluginPackage name] MIMEType:mimeType];
+ contentURL:URL pluginPageURL:nil pluginName:[pluginPackage pluginInfo].name MIMEType:mimeType];
WebNullPluginView *nullView = [[[WebNullPluginView alloc] initWithFrame:NSMakeRect(0, 0, size.width(), size.height())
error:error DOMElement:kit(element)] autorelease];
view = nullView;
diff --git a/WebKit/mac/WebCoreSupport/WebGeolocationClient.h b/WebKit/mac/WebCoreSupport/WebGeolocationClient.h
index 5ea3369..b8e7b87 100644
--- a/WebKit/mac/WebCoreSupport/WebGeolocationClient.h
+++ b/WebKit/mac/WebCoreSupport/WebGeolocationClient.h
@@ -26,7 +26,8 @@
#import <WebCore/GeolocationClient.h>
namespace WebCore {
- class GeolocationPosition;
+class Geolocation;
+class GeolocationPosition;
}
@class WebView;
@@ -43,6 +44,9 @@ public:
WebCore::GeolocationPosition* lastPosition();
+ void requestPermission(WebCore::Geolocation*);
+ void cancelPermissionRequest(WebCore::Geolocation*) { };
+
private:
WebView *m_webView;
};
diff --git a/WebKit/mac/WebCoreSupport/WebGeolocationClient.mm b/WebKit/mac/WebCoreSupport/WebGeolocationClient.mm
index a635b44..b52b7bc 100644
--- a/WebKit/mac/WebCoreSupport/WebGeolocationClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebGeolocationClient.mm
@@ -25,11 +25,25 @@
#import "WebGeolocationClient.h"
+#import "WebDelegateImplementationCaching.h"
+#import "WebFrameInternal.h"
#import "WebGeolocationPositionInternal.h"
+#import "WebSecurityOriginInternal.h"
+#import "WebUIDelegatePrivate.h"
#import "WebViewInternal.h"
+#import <WebCore/BlockExceptions.h>
+#import <WebCore/Frame.h>
+#import <WebCore/Geolocation.h>
using namespace WebCore;
+@interface WebGeolocationPolicyListener : NSObject <WebGeolocationPolicyListener>
+{
+ RefPtr<Geolocation> _geolocation;
+}
+- (id)initWithGeolocation:(Geolocation*)geolocation;
+@end
+
WebGeolocationClient::WebGeolocationClient(WebView *webView)
: m_webView(webView)
{
@@ -50,6 +64,28 @@ void WebGeolocationClient::stopUpdating()
[[m_webView _geolocationProvider] unregisterWebView:m_webView];
}
+void WebGeolocationClient::requestPermission(Geolocation* geolocation)
+{
+ BEGIN_BLOCK_OBJC_EXCEPTIONS;
+
+ SEL selector = @selector(webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener:);
+ if (![[m_webView UIDelegate] respondsToSelector:selector]) {
+ geolocation->setIsAllowed(false);
+ return;
+ }
+
+ Frame *frame = geolocation->frame();
+ WebSecurityOrigin *webOrigin = [[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:frame->document()->securityOrigin()];
+ WebGeolocationPolicyListener* listener = [[WebGeolocationPolicyListener alloc] initWithGeolocation:geolocation];
+
+ CallUIDelegate(m_webView, selector, webOrigin, kit(frame), listener);
+
+ [webOrigin release];
+ [listener release];
+
+ END_BLOCK_OBJC_EXCEPTIONS;
+}
+
GeolocationPosition* WebGeolocationClient::lastPosition()
{
#if ENABLE(CLIENT_BASED_GEOLOCATION)
@@ -58,3 +94,26 @@ GeolocationPosition* WebGeolocationClient::lastPosition()
return 0;
#endif
}
+
+@implementation WebGeolocationPolicyListener
+
+- (id)initWithGeolocation:(Geolocation*)geolocation
+{
+ if (!(self = [super init]))
+ return nil;
+ _geolocation = geolocation;
+ return self;
+}
+
+- (void)allow
+{
+ _geolocation->setIsAllowed(true);
+}
+
+- (void)deny
+{
+ _geolocation->setIsAllowed(false);
+}
+
+@end
+
diff --git a/WebKit/mac/WebCoreSupport/WebInspectorClient.mm b/WebKit/mac/WebCoreSupport/WebInspectorClient.mm
index b08c161..5beedcf 100644
--- a/WebKit/mac/WebCoreSupport/WebInspectorClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebInspectorClient.mm
@@ -69,7 +69,7 @@ using namespace WebCore;
- (void)destroyInspectorView:(bool)notifyInspectorController;
@end
-#pragma mark -
+// MARK: -
@interface WebNodeHighlighter : NSObject {
@private
@@ -81,7 +81,7 @@ using namespace WebCore;
- (void)hideHighlight;
@end
-#pragma mark -
+// MARK: -
WebInspectorClient::WebInspectorClient(WebView *webView)
@@ -208,7 +208,7 @@ void WebInspectorFrontendClient::updateWindowTitle() const
}
-#pragma mark -
+// MARK: -
@implementation WebInspectorWindowController
- (id)init
@@ -271,7 +271,7 @@ void WebInspectorFrontendClient::updateWindowTitle() const
[super dealloc];
}
-#pragma mark -
+// MARK: -
- (WebView *)webView
{
@@ -307,7 +307,7 @@ void WebInspectorFrontendClient::updateWindowTitle() const
return window;
}
-#pragma mark -
+// MARK: -
- (BOOL)windowShouldClose:(id)sender
{
@@ -385,7 +385,7 @@ void WebInspectorFrontendClient::updateWindowTitle() const
}
}
-#pragma mark -
+// MARK: -
- (void)attach
{
@@ -465,8 +465,8 @@ void WebInspectorFrontendClient::updateWindowTitle() const
[_webView close];
}
-#pragma mark -
-#pragma mark WebNodeHighlight delegate
+// MARK: -
+// MARK: WebNodeHighlight delegate
- (void)didAttachWebNodeHighlight:(WebNodeHighlight *)highlight
{
@@ -478,15 +478,15 @@ void WebInspectorFrontendClient::updateWindowTitle() const
[_inspectedWebView setCurrentNodeHighlight:nil];
}
-#pragma mark -
-#pragma mark UI delegate
+// MARK: -
+// MARK: UI delegate
- (NSUInteger)webView:(WebView *)sender dragDestinationActionMaskForDraggingInfo:(id <NSDraggingInfo>)draggingInfo
{
return WebDragDestinationActionNone;
}
-#pragma mark -
+// MARK: -
// These methods can be used by UI elements such as menu items and toolbar buttons when the inspector is the key window.
@@ -534,7 +534,7 @@ void WebInspectorFrontendClient::updateWindowTitle() const
@end
-#pragma mark -
+// MARK: -
@implementation WebNodeHighlighter
- (id)initWithInspectedWebView:(WebView *)webView
@@ -550,7 +550,7 @@ void WebInspectorFrontendClient::updateWindowTitle() const
[super dealloc];
}
-#pragma mark -
+// MARK: -
- (void)highlightNode:(DOMNode *)node
{
@@ -575,8 +575,8 @@ void WebInspectorFrontendClient::updateWindowTitle() const
_currentHighlight = nil;
}
-#pragma mark -
-#pragma mark WebNodeHighlight delegate
+// MARK: -
+// MARK: WebNodeHighlight delegate
- (void)didAttachWebNodeHighlight:(WebNodeHighlight *)highlight
{
diff --git a/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm b/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm
index f19dcb5..385d869 100644
--- a/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm
+++ b/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm
@@ -124,8 +124,8 @@ using namespace WebCore;
@end
-#pragma mark -
-#pragma mark WebQuotaManagers
+// MARK: -
+// MARK: WebQuotaManagers
@implementation WebSecurityOrigin (WebQuotaManagers)
@@ -146,8 +146,8 @@ using namespace WebCore;
@end
-#pragma mark -
-#pragma mark Deprecated
+// MARK: -
+// MARK: Deprecated
// FIXME: The following methods are deprecated and should removed later.
// Clients should instead get a WebQuotaManager, and query / set the quota via the Manager.
diff --git a/WebKit/mac/WebCoreSupport/WebSystemInterface.mm b/WebKit/mac/WebCoreSupport/WebSystemInterface.mm
index 2c57646..e1c1058 100644
--- a/WebKit/mac/WebCoreSupport/WebSystemInterface.mm
+++ b/WebKit/mac/WebCoreSupport/WebSystemInterface.mm
@@ -121,6 +121,8 @@ void InitWebCoreSystemInterface(void)
INIT(CreateCTLineWithUniCharProvider);
#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
INIT(CreateCTTypesetterWithUniCharProviderAndOptions);
+ INIT(IOSurfaceContextCreate);
+ INIT(IOSurfaceContextCreateImage);
#endif
didInit = true;
diff --git a/WebKit/mac/WebView/WebDocumentInternal.h b/WebKit/mac/WebView/WebDocumentInternal.h
index 0f63d75..bcb6c07 100644
--- a/WebKit/mac/WebView/WebDocumentInternal.h
+++ b/WebKit/mac/WebView/WebDocumentInternal.h
@@ -28,6 +28,7 @@
#import <WebKit/WebDocumentPrivate.h>
#import <WebKit/WebHTMLView.h>
+#import <WebKit/WebViewPrivate.h>
#if MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4
#define WebNSUInteger unsigned int
@@ -61,12 +62,15 @@
@protocol WebMultipleTextMatches <NSObject>
- (void)setMarkedTextMatchesAreHighlighted:(BOOL)newValue;
- (BOOL)markedTextMatchesAreHighlighted;
-- (WebNSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag limit:(WebNSUInteger)limit;
-- (WebNSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag limit:(WebNSUInteger)limit markMatches:(BOOL)markMatches;
+- (WebNSUInteger)countMatchesForText:(NSString *)string inDOMRange:(DOMRange *)range options:(WebFindOptions)options limit:(WebNSUInteger)limit markMatches:(BOOL)markMatches;
- (void)unmarkAllTextMatches;
- (NSArray *)rectsForTextMatches;
@end
+@protocol WebDocumentOptionsSearching <NSObject>
+// Prefixed with an underscore to avoid conflict with Mail's -[WebHTMLView(MailExtras) findString:options:].
+- (BOOL)_findString:(NSString *)string options:(WebFindOptions)options;
+@end
/* Used to save and restore state in the view, typically when going back/forward */
@protocol _WebDocumentViewState <NSObject>
@@ -76,7 +80,7 @@
- (void)setViewState:(id)statePList;
@end
-@interface WebHTMLView (WebDocumentInternalProtocols) <WebDocumentElement, WebMultipleTextMatches>
+@interface WebHTMLView (WebDocumentInternalProtocols) <WebDocumentElement, WebMultipleTextMatches, WebDocumentOptionsSearching>
@end
#undef WebNSUInteger
diff --git a/WebKit/mac/WebView/WebDynamicScrollBarsView.mm b/WebKit/mac/WebView/WebDynamicScrollBarsView.mm
index 480d146..79c3067 100644
--- a/WebKit/mac/WebView/WebDynamicScrollBarsView.mm
+++ b/WebKit/mac/WebView/WebDynamicScrollBarsView.mm
@@ -63,12 +63,14 @@ struct WebDynamicScrollBarsViewPrivate {
bool horizontalScrollingAllowedButScrollerHidden;
bool verticalScrollingAllowedButScrollerHidden;
- // scrollOriginX is 0 for LTR page and is the negative of left layout overflow value for RTL page.
- int scrollOriginX;
+ // scrollOrigin is set for various combinations of writing mode and direction.
+ // See the comment next to the corresponding member in ScrollView.h.
+ NSPoint scrollOrigin;
// Flag to indicate that the scrollbar thumb's initial position needs to
// be manually set.
- bool setScrollbarThumbInitialPosition;
+ bool scrollOriginChanged;
+ NSPoint scrollPositionExcludingOrigin;
bool inProgrammaticScroll;
};
@@ -215,27 +217,22 @@ struct WebDynamicScrollBarsViewPrivate {
#endif
}
-- (void)refreshInitialScrollbarPosition
+- (void)adjustForScrollOriginChange
{
- if (_private->setScrollbarThumbInitialPosition) {
- NSView *documentView = [self documentView];
- NSRect documentRect = [documentView bounds];
+ if (!_private->scrollOriginChanged)
+ return;
- // If scrollOriginX is non-zero that means that there's a left overflow <=> this is an RTL document and thus
- // the initial position of the horizontal scrollbar thumb should be on the right.
- // FIXME: If knowledge of document directionality is ever propagated to the scroll view, it probably makes
- // more sense to use the directionality directly in the below if statement, rather than doing so indirectly
- // through scrollOriginX.
- if (_private->scrollOriginX != 0) {
- // The call to [NSView scrollPoint:] fires off notification the handler for which needs to know that
- // we're setting the initial scroll position so it doesn't interpret this as a user action and
- // fire off a JS event.
- _private->inProgrammaticScroll = true;
- [documentView scrollPoint:NSMakePoint(NSMaxX(documentRect) - NSWidth([self contentViewFrame]), 0)];
- _private->inProgrammaticScroll = false;
- }
- _private->setScrollbarThumbInitialPosition = false;
- }
+ _private->scrollOriginChanged = false;
+
+ NSView *documentView = [self documentView];
+ NSRect documentRect = [documentView bounds];
+
+ // The call to [NSView scrollPoint:] fires off notification the handler for which needs to know that
+ // we're setting the initial scroll position so it doesn't interpret this as a user action and
+ // fire off a JS event.
+ _private->inProgrammaticScroll = true;
+ [documentView scrollPoint:NSMakePoint(_private->scrollPositionExcludingOrigin.x + documentRect.origin.x, _private->scrollPositionExcludingOrigin.y + documentRect.origin.y)];
+ _private->inProgrammaticScroll = false;
}
static const unsigned cMaxUpdateScrollbarsPass = 2;
@@ -339,14 +336,12 @@ static const unsigned cMaxUpdateScrollbarsPass = 2;
if (hasHorizontalScroller != newHasHorizontalScroller) {
_private->inUpdateScrollers = YES;
[self setHasHorizontalScroller:newHasHorizontalScroller];
-
- // For RTL documents, we need to set the initial position of the
- // horizontal scrollbar thumb to be on the right.
- if (newHasHorizontalScroller)
- _private->setScrollbarThumbInitialPosition = true;
-
_private->inUpdateScrollers = NO;
needsLayout = YES;
+ NSView *documentView = [self documentView];
+ NSRect documentRect = [documentView bounds];
+ if (documentRect.origin.y < 0 && !newHasHorizontalScroller)
+ [documentView setBoundsOrigin:NSMakePoint(documentRect.origin.x, documentRect.origin.y + 15)];
}
if (hasVerticalScroller != newHasVerticalScroller) {
@@ -354,6 +349,10 @@ static const unsigned cMaxUpdateScrollbarsPass = 2;
[self setHasVerticalScroller:newHasVerticalScroller];
_private->inUpdateScrollers = NO;
needsLayout = YES;
+ NSView *documentView = [self documentView];
+ NSRect documentRect = [documentView bounds];
+ if (documentRect.origin.x < 0 && !newHasVerticalScroller)
+ [documentView setBoundsOrigin:NSMakePoint(documentRect.origin.x + 15, documentRect.origin.y)];
}
if (needsLayout && _private->inUpdateScrollersLayoutPass < cMaxUpdateScrollbarsPass &&
@@ -410,7 +409,7 @@ static const unsigned cMaxUpdateScrollbarsPass = 2;
// The call to [NSView reflectScrolledClipView] sets the scrollbar thumb
// position to 0 (the left) when the view is initially displayed.
// This call updates the initial position correctly.
- [self refreshInitialScrollbarPosition];
+ [self adjustForScrollOriginChange];
#if USE(ACCELERATED_COMPOSITING) && defined(BUILDING_ON_LEOPARD)
NSView *documentView = [self documentView];
@@ -573,22 +572,29 @@ static const unsigned cMaxUpdateScrollbarsPass = 2;
return [super accessibilityIsIgnored];
}
-- (void)setScrollOriginX:(int)scrollOriginX
+- (void)setScrollOrigin:(NSPoint)scrollOrigin updatePosition:(BOOL)updatePosition
{
- _private->scrollOriginX = scrollOriginX;
-
+ // The cross-platform ScrollView call already checked to see if the old/new scroll origins were the same or not
+ // so we don't have to check for equivalence here.
+ _private->scrollOrigin = scrollOrigin;
id docView = [self documentView];
- if (scrollOriginX != [docView bounds].origin.x) {
- // "-[self scrollOriginX]" is equal to the left layout overflow.
- // Make Document bounds origin x coordinate correspond to the left overflow so the entire canvas is covered by the document.
- [docView setBoundsOrigin:NSMakePoint(-scrollOriginX, [docView bounds].origin.y)];
- }
+ NSRect visibleRect = [self documentVisibleRect];
+
+ [docView setBoundsOrigin:NSMakePoint(-scrollOrigin.x, -scrollOrigin.y)];
+
+ _private->scrollOriginChanged = true;
+
+ // Maintain our original position in the presence of the new scroll origin.
+ _private->scrollPositionExcludingOrigin = NSMakePoint(visibleRect.origin.x + scrollOrigin.x, visibleRect.origin.y + scrollOrigin.y);
+
+ if (updatePosition) // Otherwise we'll just let the snap happen when we update for the resize.
+ [self adjustForScrollOriginChange];
}
-- (int)scrollOriginX
+- (NSPoint)scrollOrigin
{
- return _private->scrollOriginX;
+ return _private->scrollOrigin;
}
@end
diff --git a/WebKit/mac/WebView/WebFrame.mm b/WebKit/mac/WebView/WebFrame.mm
index d1d4953..5c2f256 100644
--- a/WebKit/mac/WebView/WebFrame.mm
+++ b/WebKit/mac/WebView/WebFrame.mm
@@ -56,11 +56,12 @@
#import <WebCore/AccessibilityObject.h>
#import <WebCore/AnimationController.h>
#import <WebCore/CSSMutableStyleDeclaration.h>
+#import <WebCore/CachedResourceLoader.h>
#import <WebCore/Chrome.h>
#import <WebCore/ColorMac.h>
#import <WebCore/DOMImplementation.h>
-#import <WebCore/CachedResourceLoader.h>
#import <WebCore/DocumentFragment.h>
+#import <WebCore/DocumentMarkerController.h>
#import <WebCore/EventHandler.h>
#import <WebCore/EventNames.h>
#import <WebCore/Frame.h>
@@ -653,7 +654,7 @@ static inline WebDataSource *dataSource(DocumentLoader* loader)
// This bizarre set of rules matches behavior from WebKit for Safari 2.0.
// If you don't like it, use -[WebScriptObject evaluateWebScript:] or
// JSEvaluateScript instead, since they have less surprising semantics.
- if (!result || !result.isBoolean() && !result.isString() && !result.isNumber())
+ if (!result || (!result.isBoolean() && !result.isString() && !result.isNumber()))
return @"";
JSLock lock(SilenceAssertionsOnly);
@@ -688,27 +689,7 @@ static inline WebDataSource *dataSource(DocumentLoader* loader)
return _private->coreFrame->view() ? _private->coreFrame->view()->needsLayout() : false;
}
-- (id)_accessibilityTree
-{
-#if HAVE(ACCESSIBILITY)
- if (!AXObjectCache::accessibilityEnabled()) {
- AXObjectCache::enableAccessibility();
- if ([[NSApp accessibilityAttributeValue:NSAccessibilityEnhancedUserInterfaceAttribute] boolValue])
- AXObjectCache::enableEnhancedUserInterfaceAccessibility();
- }
-
- if (!_private->coreFrame || !_private->coreFrame->document())
- return nil;
- RenderView* root = toRenderView(_private->coreFrame->document()->renderer());
- if (!root)
- return nil;
- return _private->coreFrame->document()->axObjectCache()->getOrCreate(root)->wrapper();
-#else
- return nil;
-#endif
-}
-
-- (DOMRange *)_rangeByAlteringCurrentSelection:(SelectionController::EAlteration)alteration direction:(SelectionController::EDirection)direction granularity:(TextGranularity)granularity
+- (DOMRange *)_rangeByAlteringCurrentSelection:(SelectionController::EAlteration)alteration direction:(SelectionDirection)direction granularity:(TextGranularity)granularity
{
if (_private->coreFrame->selection()->isNone())
return nil;
@@ -1297,7 +1278,7 @@ static inline WebDataSource *dataSource(DocumentLoader* loader)
// This bizarre set of rules matches behavior from WebKit for Safari 2.0.
// If you don't like it, use -[WebScriptObject evaluateWebScript:] or
// JSEvaluateScript instead, since they have less surprising semantics.
- if (!result || !result.isBoolean() && !result.isString() && !result.isNumber())
+ if (!result || (!result.isBoolean() && !result.isString() && !result.isNumber()))
return @"";
JSLock lock(SilenceAssertionsOnly);
@@ -1338,13 +1319,14 @@ static inline WebDataSource *dataSource(DocumentLoader* loader)
if (!AXObjectCache::accessibilityEnabled())
return;
- RenderView* root = toRenderView(_private->coreFrame->document()->renderer());
- if (!root)
+ if (!_private->coreFrame || !_private->coreFrame->document())
return;
- AccessibilityObject* rootObject = _private->coreFrame->document()->axObjectCache()->getOrCreate(root);
- String strName(name);
- rootObject->setAccessibleName(strName);
+ AccessibilityObject* rootObject = _private->coreFrame->document()->axObjectCache()->rootObject();
+ if (rootObject) {
+ String strName(name);
+ rootObject->setAccessibleName(strName);
+ }
#endif
}
@@ -1365,6 +1347,27 @@ static inline WebDataSource *dataSource(DocumentLoader* loader)
return coreFrame->editor()->selectionStartHasSpellingMarkerFor(from, length);
}
+- (id)accessibilityRoot
+{
+#if HAVE(ACCESSIBILITY)
+ if (!AXObjectCache::accessibilityEnabled()) {
+ AXObjectCache::enableAccessibility();
+ if ([[NSApp accessibilityAttributeValue:NSAccessibilityEnhancedUserInterfaceAttribute] boolValue])
+ AXObjectCache::enableEnhancedUserInterfaceAccessibility();
+ }
+
+ if (!_private->coreFrame || !_private->coreFrame->document())
+ return nil;
+
+ AccessibilityObject* rootObject = _private->coreFrame->document()->axObjectCache()->rootObject();
+ if (rootObject)
+ return rootObject->wrapper();
+ return nil;
+#else
+ return nil;
+#endif
+}
+
@end
@implementation WebFrame
diff --git a/WebKit/mac/WebView/WebFrameInternal.h b/WebKit/mac/WebView/WebFrameInternal.h
index 8cdc272..7ff5e75 100644
--- a/WebKit/mac/WebView/WebFrameInternal.h
+++ b/WebKit/mac/WebView/WebFrameInternal.h
@@ -138,9 +138,7 @@ WebView *getWebView(WebFrame *webFrame);
- (NSRect)_firstRectForDOMRange:(DOMRange *)range;
- (void)_scrollDOMRangeToVisible:(DOMRange *)range;
-- (id)_accessibilityTree;
-
-- (DOMRange *)_rangeByAlteringCurrentSelection:(WebCore::SelectionController::EAlteration)alteration direction:(WebCore::SelectionController::EDirection)direction granularity:(WebCore::TextGranularity)granularity;
+- (DOMRange *)_rangeByAlteringCurrentSelection:(WebCore::SelectionController::EAlteration)alteration direction:(WebCore::SelectionDirection)direction granularity:(WebCore::TextGranularity)granularity;
- (NSRange)_convertToNSRange:(WebCore::Range*)range;
- (DOMRange *)_convertNSRangeToDOMRange:(NSRange)range;
- (NSRange)_convertDOMRangeToNSRange:(DOMRange *)range;
diff --git a/WebKit/mac/WebView/WebFramePrivate.h b/WebKit/mac/WebView/WebFramePrivate.h
index b0cb0f3..ddfa5cc 100644
--- a/WebKit/mac/WebView/WebFramePrivate.h
+++ b/WebKit/mac/WebView/WebFramePrivate.h
@@ -142,4 +142,7 @@ typedef enum {
// Returns whether there is a spelling marker in the specified range of the focused node.
- (BOOL)hasSpellingMarker:(int)location length:(int)length;
+// The top of the accessibility tree.
+- (id)accessibilityRoot;
+
@end
diff --git a/WebKit/mac/WebView/WebFrameView.mm b/WebKit/mac/WebView/WebFrameView.mm
index 40ee0b1..82efa6d 100644
--- a/WebKit/mac/WebView/WebFrameView.mm
+++ b/WebKit/mac/WebView/WebFrameView.mm
@@ -529,6 +529,35 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl
return frame->eventHandler()->scrollOverflow(direction, granularity);
}
+
+- (BOOL)_isVerticalDocument
+{
+ Frame* coreFrame = [self _web_frame];
+ if (!coreFrame)
+ return YES;
+ Document* document = coreFrame->document();
+ if (!document)
+ return YES;
+ RenderObject* renderView = document->renderer();
+ if (!renderView)
+ return YES;
+ return renderView->style()->isHorizontalWritingMode();
+}
+
+- (BOOL)_isFlippedDocument
+{
+ Frame* coreFrame = [self _web_frame];
+ if (!coreFrame)
+ return NO;
+ Document* document = coreFrame->document();
+ if (!document)
+ return NO;
+ RenderObject* renderView = document->renderer();
+ if (!renderView)
+ return NO;
+ return renderView->style()->isFlippedBlocksWritingMode();
+}
+
- (BOOL)_scrollToBeginningOfDocument
{
if ([self _scrollOverflowInDirection:ScrollUp granularity:ScrollByDocument])
@@ -536,7 +565,8 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl
if (![self _isScrollable])
return NO;
NSPoint point = [[[self _scrollView] documentView] frame].origin;
- point.x += [[self _scrollView] scrollOriginX];
+ point.x += [[self _scrollView] scrollOrigin].x;
+ point.y += [[self _scrollView] scrollOrigin].y;
return [[self _contentView] _scrollTo:&point animate:YES];
}
@@ -547,8 +577,28 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl
if (![self _isScrollable])
return NO;
NSRect frame = [[[self _scrollView] documentView] frame];
- NSPoint point = NSMakePoint(frame.origin.x, NSMaxY(frame));
- point.x += [[self _scrollView] scrollOriginX];
+
+ bool isVertical = [self _isVerticalDocument];
+ bool isFlipped = [self _isFlippedDocument];
+
+ NSPoint point;
+ if (isVertical) {
+ if (!isFlipped)
+ point = NSMakePoint(frame.origin.x, NSMaxY(frame));
+ else
+ point = NSMakePoint(frame.origin.x, NSMinY(frame));
+ } else {
+ if (!isFlipped)
+ point = NSMakePoint(NSMaxX(frame), frame.origin.y);
+ else
+ point = NSMakePoint(NSMinX(frame), frame.origin.y);
+ }
+
+ // Reset the position opposite to the block progression direction.
+ if (isVertical)
+ point.x += [[self _scrollView] scrollOrigin].x;
+ else
+ point.y += [[self _scrollView] scrollOrigin].y;
return [[self _contentView] _scrollTo:&point animate:YES];
}
@@ -641,6 +691,16 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl
return [self _scrollHorizontallyBy:left ? -delta : delta];
}
+- (BOOL)_pageInBlockProgressionDirection:(BOOL)forward
+{
+ // Determine whether we're calling _pageVertically or _pageHorizontally.
+ BOOL isVerticalDocument = [self _isVerticalDocument];
+ BOOL isFlippedBlock = [self _isFlippedDocument];
+ if (isVerticalDocument)
+ return [self _pageVertically:isFlippedBlock ? !forward : forward];
+ return [self _pageHorizontally:isFlippedBlock ? !forward : forward];
+}
+
- (BOOL)_scrollLineVertically:(BOOL)up
{
if ([self _scrollOverflowInDirection:up ? ScrollUp : ScrollDown granularity:ScrollByLine])
@@ -667,7 +727,7 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl
- (void)scrollPageUp:(id)sender
{
- if (![self _pageVertically:YES]) {
+ if (![self _pageInBlockProgressionDirection:YES]) {
// If we were already at the top, tell the next responder to scroll if it can.
[[self nextResponder] tryToPerform:@selector(scrollPageUp:) with:sender];
}
@@ -675,7 +735,7 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl
- (void)scrollPageDown:(id)sender
{
- if (![self _pageVertically:NO]) {
+ if (![self _pageInBlockProgressionDirection:NO]) {
// If we were already at the bottom, tell the next responder to scroll if it can.
[[self nextResponder] tryToPerform:@selector(scrollPageDown:) with:sender];
}
diff --git a/WebKit/mac/WebView/WebFullScreenController.h b/WebKit/mac/WebView/WebFullScreenController.h
new file mode 100644
index 0000000..f867dc2
--- /dev/null
+++ b/WebKit/mac/WebView/WebFullScreenController.h
@@ -0,0 +1,78 @@
+/*
+ * 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.
+ */
+
+#if ENABLE(FULLSCREEN_API)
+
+#import <wtf/RefPtr.h>
+
+@class WebWindowFadeAnimation;
+@class WebView;
+namespace WebCore {
+ class Element;
+ class RenderBox;
+ class EventListener;
+}
+
+@interface WebFullScreenController : NSWindowController {
+@private
+ RefPtr<WebCore::Element> _element;
+ WebCore::RenderBox* _renderer; // (set)
+ RefPtr<WebCore::Element> _replacementElement;
+ NSWindow *_backgroundFullscreenWindow; // (retain)
+ WebWindowFadeAnimation *_fadeAnimation; // (retain)
+ WebView *_webView;
+ NSView* _placeholderView;
+ CALayer* _rendererLayer;
+ CALayer* _backgroundLayer;
+ RefPtr<WebCore::EventListener> _mediaEventListener;
+
+ BOOL _isAnimating;
+ BOOL _isFullscreen;
+ BOOL _isWindowLoaded;
+ BOOL _forceDisableAnimation;
+ BOOL _isPlaying;
+ uint32_t _idleDisplaySleepAssertion;
+ uint32_t _idleSystemSleepAssertion;
+ NSTimer *_tickleTimer;
+ SystemUIMode _savedUIMode;
+ SystemUIOptions _savedUIOptions;
+ CGRect _initialFrame;
+}
+
+- (WebView*)webView;
+- (void)setWebView:(WebView*)webView;
+
+- (void)setElement:(PassRefPtr<WebCore::Element>)element;
+- (WebCore::Element*)element;
+
+- (void)setRenderer:(WebCore::RenderBox*)renderer;
+- (WebCore::RenderBox*)renderer;
+
+- (void)enterFullscreen:(NSScreen *)screen;
+- (void)exitFullscreen;
+
+@end
+
+#endif // ENABLE(FULLSCREEN_API)
diff --git a/WebKit/mac/WebView/WebFullScreenController.mm b/WebKit/mac/WebView/WebFullScreenController.mm
new file mode 100644
index 0000000..a958e90
--- /dev/null
+++ b/WebKit/mac/WebView/WebFullScreenController.mm
@@ -0,0 +1,923 @@
+/*
+ * Copyright (C) 2009 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.
+ */
+
+#if ENABLE(FULLSCREEN_API)
+
+#import "WebFullScreenController.h"
+
+#import "WebPreferencesPrivate.h"
+#import "WebWindowAnimation.h"
+#import "WebViewInternal.h"
+#import <IOKit/pwr_mgt/IOPMLib.h>
+#import <WebCore/AnimationList.h>
+#import <WebCore/CSSPropertyNames.h>
+#import <WebCore/Color.h>
+#import <WebCore/Document.h>
+#import <WebCore/DOMDocument.h>
+#import <WebCore/DOMDocumentInternal.h>
+#import <WebCore/DOMHTMLElement.h>
+#import <WebCore/DOMWindow.h>
+#import <WebCore/EventListener.h>
+#import <WebCore/EventNames.h>
+#import <WebCore/HTMLElement.h>
+#import <WebCore/HTMLNames.h>
+#import <WebCore/HTMLMediaElement.h>
+#import <WebCore/IntRect.h>
+#import <WebCore/NodeList.h>
+#import <WebCore/SoftLinking.h>
+#import <WebCore/RenderBlock.h>
+#import <WebCore/RenderLayer.h>
+#import <WebCore/RenderLayerBacking.h>
+#import <objc/objc-runtime.h>
+#import <wtf/UnusedParam.h>
+
+static const NSTimeInterval tickleTimerInterval = 1.0;
+static NSString* const isEnteringFullscreenKey = @"isEnteringFullscreen";
+
+using namespace WebCore;
+
+#if defined(BUILDING_ON_LEOPARD)
+@interface CATransaction(SnowLeopardConvenienceFunctions)
++ (void)setDisableActions:(BOOL)flag;
++ (void)setAnimationDuration:(CFTimeInterval)dur;
+@end
+
+@implementation CATransaction(SnowLeopardConvenienceFunctions)
++ (void)setDisableActions:(BOOL)flag
+{
+ [self setValue:[NSNumber numberWithBool:flag] forKey:kCATransactionDisableActions];
+}
+
++ (void)setAnimationDuration:(CFTimeInterval)dur
+{
+ [self setValue:[NSNumber numberWithDouble:dur] forKey:kCATransactionAnimationDuration];
+}
+@end
+
+#endif
+
+@interface WebFullscreenWindow : NSWindow
+#if !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_TIGER)
+<NSAnimationDelegate>
+#endif
+{
+ NSView* _animationView;
+
+ CALayer* _rendererLayer;
+ CALayer* _backgroundLayer;
+}
+- (CALayer*)rendererLayer;
+- (void)setRendererLayer:(CALayer*)rendererLayer;
+- (CALayer*)backgroundLayer;
+- (NSView*)animationView;
+@end
+
+class MediaEventListener : public EventListener {
+public:
+ static PassRefPtr<MediaEventListener> create(WebFullScreenController* delegate);
+ virtual bool operator==(const EventListener&);
+ virtual void handleEvent(ScriptExecutionContext*, Event*);
+
+private:
+ MediaEventListener(WebFullScreenController* delegate);
+ WebFullScreenController* delegate;
+};
+
+@interface WebFullScreenController(Private)
+- (void)_requestExitFullscreenWithAnimation:(BOOL)animation;
+- (void)_updateMenuAndDockForFullscreen;
+- (void)_updatePowerAssertions;
+- (WebFullscreenWindow *)_fullscreenWindow;
+- (Document*)_document;
+- (CFTimeInterval)_animationDuration;
+- (BOOL)_isAnyMoviePlaying;
+@end
+
+@interface NSWindow(IsOnActiveSpaceAdditionForTigerAndLeopard)
+- (BOOL)isOnActiveSpace;
+@end
+
+@implementation WebFullScreenController
+
+#pragma mark -
+#pragma mark Initialization
+- (id)init
+{
+ // Do not defer window creation, to make sure -windowNumber is created (needed by WebWindowScaleAnimation).
+ NSWindow *window = [[WebFullscreenWindow alloc] initWithContentRect:NSZeroRect styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO];
+ self = [super initWithWindow:window];
+ [window release];
+ if (!self)
+ return nil;
+ [self windowDidLoad];
+ _mediaEventListener = MediaEventListener::create(self);
+ return self;
+
+}
+
+- (void)dealloc
+{
+ ASSERT(!_tickleTimer);
+
+ [self setWebView:nil];
+ [_placeholderView release];
+
+ [[NSNotificationCenter defaultCenter] removeObserver:self];
+ [super dealloc];
+}
+
+- (void)windowDidLoad
+{
+#ifdef BUILDING_ON_TIGER
+ // WebFullScreenController is not supported on Tiger:
+ ASSERT_NOT_REACHED();
+#else
+
+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidResignActive:) name:NSApplicationDidResignActiveNotification object:NSApp];
+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidChangeScreenParameters:) name:NSApplicationDidChangeScreenParametersNotification object:NSApp];
+#endif
+}
+
+#pragma mark -
+#pragma mark Accessors
+
+- (WebView*)webView
+{
+ return _webView;
+}
+
+- (void)setWebView:(WebView *)webView
+{
+ [webView retain];
+ [_webView release];
+ _webView = webView;
+}
+
+- (Element*)element
+{
+ return _element.get();
+}
+
+- (void)setElement:(PassRefPtr<Element>)element
+{
+#ifdef BUILDING_ON_TIGER
+ // WebFullScreenController is not supported on Tiger:
+ ASSERT_NOT_REACHED();
+#else
+ // When a new Element is set as the current full screen element, register event
+ // listeners on that Element's window, listening for changes in media play states.
+ // We will use these events to determine whether to disable the screensaver and
+ // display sleep timers when playing video in full screen. Make sure to unregister
+ // the events on the old element's window, if necessary, as well.
+
+ EventNames& eventNames = WebCore::eventNames();
+
+ if (_element) {
+ DOMWindow* window = _element->document()->domWindow();
+ if (window) {
+ window->removeEventListener(eventNames.playEvent, _mediaEventListener.get(), true);
+ window->removeEventListener(eventNames.pauseEvent, _mediaEventListener.get(), true);
+ window->removeEventListener(eventNames.endedEvent, _mediaEventListener.get(), true);
+ }
+ }
+
+ _element = element;
+
+ if (_element) {
+ DOMWindow* window = _element->document()->domWindow();
+ if (window) {
+ window->addEventListener(eventNames.playEvent, _mediaEventListener, true);
+ window->addEventListener(eventNames.pauseEvent, _mediaEventListener, true);
+ window->addEventListener(eventNames.endedEvent, _mediaEventListener, true);
+ }
+ }
+#endif
+}
+
+- (RenderBox*)renderer
+{
+ return _renderer;
+}
+
+- (void)setRenderer:(RenderBox*)renderer
+{
+#ifdef BUILDING_ON_TIGER
+ // WebFullScreenController is not supported on Tiger:
+ ASSERT_NOT_REACHED();
+#else
+ _renderer = renderer;
+#endif
+}
+
+#pragma mark -
+#pragma mark Notifications
+
+- (void)windowDidExitFullscreen:(BOOL)finished
+{
+ if (!_isAnimating)
+ return;
+
+ if (_isFullscreen)
+ return;
+
+ NSDisableScreenUpdates();
+ ASSERT(_element);
+ [self _document]->setFullScreenRendererBackgroundColor(Color::black);
+ [self _document]->webkitDidExitFullScreenForElement(_element.get());
+ [self setElement:nil];
+
+ if (finished) {
+ [self _updateMenuAndDockForFullscreen];
+ [self _updatePowerAssertions];
+
+ [[_webView window] display];
+ [[self _fullscreenWindow] setRendererLayer:nil];
+ [[self window] close];
+ }
+
+ NSEnableScreenUpdates();
+
+ _isAnimating = NO;
+ [self autorelease]; // Associated -retain is in -exitFullscreen.
+}
+
+- (void)windowDidEnterFullscreen:(BOOL)finished
+{
+ if (!_isAnimating)
+ return;
+
+ if (!_isFullscreen)
+ return;
+
+ NSDisableScreenUpdates();
+ [self _document]->webkitDidEnterFullScreenForElement(_element.get());
+ [self _document]->setFullScreenRendererBackgroundColor(Color::black);
+
+ if (finished) {
+ [self _updateMenuAndDockForFullscreen];
+ [self _updatePowerAssertions];
+ [NSCursor setHiddenUntilMouseMoves:YES];
+
+ // Move the webView into our fullscreen Window
+ if (!_placeholderView)
+ _placeholderView = [[NSView alloc] init];
+
+ // Do not swap the placeholder into place if already is in a window,
+ // assuming the placeholder's window will always be the webView's
+ // original window.
+ if (![_placeholderView window]) {
+ WebView* webView = [self webView];
+ [_placeholderView setFrame:[webView frame]];
+ [_placeholderView setAutoresizingMask:[webView autoresizingMask]];
+ [_placeholderView removeFromSuperview];
+ [[webView superview] replaceSubview:webView with:_placeholderView];
+
+ [[[self window] contentView] addSubview:webView];
+ [webView setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
+ [webView setFrame:[[[self window] contentView] bounds]];
+ }
+
+ WebFullscreenWindow* window = [self _fullscreenWindow];
+ [window setBackgroundColor:[NSColor blackColor]];
+ [window setOpaque:YES];
+
+ [CATransaction begin];
+ [CATransaction setDisableActions:YES];
+ [[[window animationView] layer] setOpacity:0];
+ [CATransaction commit];
+ }
+ NSEnableScreenUpdates();
+
+ _isAnimating = NO;
+}
+
+- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)finished
+{
+ BOOL isEnteringFullscreenAnimation = [[anim valueForKey:isEnteringFullscreenKey] boolValue];
+
+ if (!isEnteringFullscreenAnimation)
+ [self windowDidExitFullscreen:finished];
+ else
+ [self windowDidEnterFullscreen:finished];
+}
+
+- (void)applicationDidResignActive:(NSNotification*)notification
+{
+ // Check to see if the fullscreenWindow is on the active space; this function is available
+ // on 10.6 and later, so default to YES if the function is not available:
+ NSWindow* fullscreenWindow = [self _fullscreenWindow];
+ BOOL isOnActiveSpace = ([fullscreenWindow respondsToSelector:@selector(isOnActiveSpace)] ? [fullscreenWindow isOnActiveSpace] : YES);
+
+ // Replicate the QuickTime Player (X) behavior when losing active application status:
+ // Is the fullscreen screen the main screen? (Note: this covers the case where only a
+ // single screen is available.) Is the fullscreen screen on the current space? IFF so,
+ // then exit fullscreen mode.
+ if ([fullscreenWindow screen] == [[NSScreen screens] objectAtIndex:0] && isOnActiveSpace)
+ [self _requestExitFullscreenWithAnimation:NO];
+}
+
+- (void)applicationDidChangeScreenParameters:(NSNotification*)notification
+{
+ // The user may have changed the main screen by moving the menu bar, or they may have changed
+ // the Dock's size or location, or they may have changed the fullscreen screen's dimensions.
+ // Update our presentation parameters, and ensure that the full screen window occupies the
+ // entire screen:
+ [self _updateMenuAndDockForFullscreen];
+ NSWindow* window = [self window];
+ [window setFrame:[[window screen] frame] display:YES];
+}
+
+#pragma mark -
+#pragma mark Exposed Interface
+
+- (void)enterFullscreen:(NSScreen *)screen
+{
+ // Disable animation if we are already in full-screen mode.
+ BOOL shouldAnimate = !_isFullscreen;
+
+ if (_isAnimating) {
+ // The CAAnimation delegate functions will only be called the
+ // next trip through the run-loop, so manually call the delegate
+ // function here, letting it know the animation did not complete:
+ [self windowDidExitFullscreen:NO];
+ ASSERT(!_isAnimating);
+ }
+ _isFullscreen = YES;
+ _isAnimating = YES;
+
+ // setElement: must be called with a non-nil value before calling enterFullscreen:.
+ ASSERT(_element);
+
+ NSDisableScreenUpdates();
+
+ if (!screen)
+ screen = [NSScreen mainScreen];
+ NSRect screenFrame = [screen frame];
+
+ WebView* webView = [self webView];
+ NSRect webViewFrame = [webView convertRectToBase:[webView frame]];
+ webViewFrame.origin = [[webView window] convertBaseToScreen:webViewFrame.origin];
+
+ NSRect elementFrame = _element->screenRect();
+
+ // In the case of a multi-monitor setup where the webView straddles two
+ // monitors, we must create a window large enough to contain the destination
+ // frame and the initial frame.
+ NSRect windowFrame = NSUnionRect(screenFrame, elementFrame);
+ [[self window] setFrame:windowFrame display:YES];
+
+ // In a previous incarnation, the NSWindow attached to this controller may have
+ // been on a different screen. Temporarily change the collectionBehavior of the window:
+ NSWindowCollectionBehavior behavior = [[self window] collectionBehavior];
+ [[self window] setCollectionBehavior:NSWindowCollectionBehaviorCanJoinAllSpaces];
+ [[self window] makeKeyAndOrderFront:self];
+ [[self window] setCollectionBehavior:behavior];
+
+ NSView* animationView = [[self _fullscreenWindow] animationView];
+ NSRect viewBounds = [animationView bounds];
+
+ NSRect backgroundBounds = {[[self window] convertScreenToBase:screenFrame.origin], screenFrame.size};
+ backgroundBounds = [animationView convertRectFromBase:backgroundBounds];
+ // Flip the background layer's coordinate system.
+ backgroundBounds.origin.y = windowFrame.size.height - NSMaxY(backgroundBounds);
+
+ // Set our fullscreen element's initial frame, and flip the coordinate systems from
+ // screen coordinates (bottom/left) to layer coordinates (top/left):
+ _initialFrame = NSRectToCGRect(NSIntersectionRect(elementFrame, webViewFrame));
+ _initialFrame.origin.y = screenFrame.size.height - CGRectGetMaxY(_initialFrame);
+
+ // Inform the document that we will begin entering full screen. This will change
+ // pseudo-classes on the fullscreen element and the document element.
+ Document* document = [self _document];
+ document->webkitWillEnterFullScreenForElement(_element.get());
+
+ // Check to see if the fullscreen renderer is composited. If not, accelerated graphics
+ // may be disabled. In this case, do not attempt to animate the contents into place;
+ // merely snap to the final position:
+ if (!shouldAnimate || !_renderer || !_renderer->layer()->isComposited()) {
+ [self windowDidEnterFullscreen:YES];
+ NSEnableScreenUpdates();
+ return;
+ }
+
+ // Set up the final style of the FullScreen render block. Set an absolute
+ // width and height equal to the size of the screen, and anchor the layer
+ // at the top, left at (0,0). The RenderFullScreen style is already set
+ // to position:fixed.
+ [self _document]->setFullScreenRendererSize(IntSize(screenFrame.size));
+ [self _document]->setFullScreenRendererBackgroundColor(Color::transparent);
+
+ // Cause the document to layout, thus calculating a new fullscreen element size:
+ [self _document]->updateLayout();
+
+ // FIXME: try to use the fullscreen element's calculated x, y, width, and height instead of the
+ // renderBox functions:
+ RenderBox* childRenderer = _renderer->firstChildBox();
+ CGRect destinationFrame = CGRectMake(childRenderer->x(), childRenderer->y(), childRenderer->width(), childRenderer->height());
+
+ // Some properties haven't propogated from the GraphicsLayer to the CALayer yet. So
+ // tell the renderer's layer to sync it's compositing state:
+ GraphicsLayer* rendererGraphics = _renderer->layer()->backing()->graphicsLayer();
+ rendererGraphics->syncCompositingState();
+
+ CALayer* rendererLayer = rendererGraphics->platformLayer();
+ [[self _fullscreenWindow] setRendererLayer:rendererLayer];
+
+ CFTimeInterval duration = [self _animationDuration];
+
+ // Create a transformation matrix that will transform the renderer layer such that
+ // the fullscreen element appears to move from its starting position and size to its
+ // final one. Perform the transformation in two steps, using the CALayer's matrix
+ // math to calculate the effects of each step:
+ // 1. Apply a scale tranform to shrink the apparent size of the layer to the original
+ // element screen size.
+ // 2. Apply a translation transform to move the shrunk layer into the same screen position
+ // as the original element.
+ CATransform3D shrinkTransform = CATransform3DMakeScale(_initialFrame.size.width / destinationFrame.size.width, _initialFrame.size.height / destinationFrame.size.height, 1);
+ [rendererLayer setTransform:shrinkTransform];
+ CGRect shrunkDestinationFrame = [rendererLayer convertRect:destinationFrame toLayer:[animationView layer]];
+ CATransform3D moveTransform = CATransform3DMakeTranslation(_initialFrame.origin.x - shrunkDestinationFrame.origin.x, _initialFrame.origin.y - shrunkDestinationFrame.origin.y, 0);
+ CATransform3D finalTransform = CATransform3DConcat(shrinkTransform, moveTransform);
+ [rendererLayer setTransform:finalTransform];
+ CGRect translatedDestinationFrame = [rendererLayer convertRect:destinationFrame toLayer:[animationView layer]];
+
+ CALayer* backgroundLayer = [[self _fullscreenWindow] backgroundLayer];
+
+ // Start the opacity animation. We can use implicit animations here because we don't care when
+ // the animation finishes.
+ [CATransaction begin];
+ [CATransaction setAnimationDuration:duration];
+ [backgroundLayer setOpacity:1];
+ [CATransaction commit];
+
+ // Use a CABasicAnimation here for the zoom effect. We want to be notified that the animation has
+ // completed by way of the CAAnimation delegate.
+ CABasicAnimation* zoomAnimation = [CABasicAnimation animationWithKeyPath:@"transform"];
+ [zoomAnimation setFromValue:[NSValue valueWithCATransform3D:finalTransform]];
+ [zoomAnimation setToValue:[NSValue valueWithCATransform3D:CATransform3DIdentity]];
+ [zoomAnimation setDelegate:self];
+ [zoomAnimation setDuration:duration];
+ [zoomAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
+ [zoomAnimation setFillMode:kCAFillModeForwards];
+ [zoomAnimation setValue:(id)kCFBooleanTrue forKey:isEnteringFullscreenKey];
+
+ // Disable implicit animations and set the layer's transformation matrix to its final state.
+ [CATransaction begin];
+ [CATransaction setDisableActions:YES];
+ [rendererLayer setTransform:CATransform3DIdentity];
+ [rendererLayer addAnimation:zoomAnimation forKey:@"zoom"];
+ [backgroundLayer setFrame:NSRectToCGRect(backgroundBounds)];
+ [CATransaction commit];
+
+ NSEnableScreenUpdates();
+}
+
+- (void)exitFullscreen
+{
+ if (!_isFullscreen)
+ return;
+
+ CATransform3D startTransform = CATransform3DIdentity;
+ if (_isAnimating) {
+ if (_renderer && _renderer->layer()->isComposited()) {
+ CALayer* rendererLayer = _renderer->layer()->backing()->graphicsLayer()->platformLayer();
+ startTransform = [[rendererLayer presentationLayer] transform];
+ }
+
+ // The CAAnimation delegate functions will only be called the
+ // next trip through the run-loop, so manually call the delegate
+ // function here, letting it know the animation did not complete:
+ [self windowDidEnterFullscreen:NO];
+ ASSERT(!_isAnimating);
+ }
+ _isFullscreen = NO;
+ _isAnimating = YES;
+
+ NSDisableScreenUpdates();
+
+ // The user may have moved the fullscreen window in Spaces, so temporarily change
+ // the collectionBehavior of the webView's window:
+ NSWindow* webWindow = [[self webView] window];
+ NSWindowCollectionBehavior behavior = [webWindow collectionBehavior];
+ [webWindow setCollectionBehavior:NSWindowCollectionBehaviorCanJoinAllSpaces];
+ [webWindow orderWindow:NSWindowBelow relativeTo:[[self window] windowNumber]];
+ [webWindow setCollectionBehavior:behavior];
+
+ // The fullscreen animation may have been cancelled before the
+ // webView was moved to the fullscreen window. Check to see
+ // if the _placeholderView exists and is in a window before
+ // attempting to swap the webView back to it's original tree:
+ if (_placeholderView && [_placeholderView window]) {
+ // Move the webView back to its own native window:
+ WebView* webView = [self webView];
+ [webView setFrame:[_placeholderView frame]];
+ [webView setAutoresizingMask:[_placeholderView autoresizingMask]];
+ [webView removeFromSuperview];
+ [[_placeholderView superview] replaceSubview:_placeholderView with:webView];
+
+ // Because the animation view is layer-hosted, make sure to
+ // disable animations when changing the layer's opacity. Other-
+ // wise, the content will appear to fade into view.
+ [CATransaction begin];
+ [CATransaction setDisableActions:YES];
+ WebFullscreenWindow* window = [self _fullscreenWindow];
+ [[[window animationView] layer] setOpacity:1];
+ [window setBackgroundColor:[NSColor clearColor]];
+ [window setOpaque:NO];
+ [CATransaction commit];
+ }
+
+ NSView* animationView = [[self _fullscreenWindow] animationView];
+ CGRect layerEndFrame = NSRectToCGRect([animationView convertRect:NSRectFromCGRect(_initialFrame) fromView:nil]);
+
+ // The _renderer might be NULL due to its ancestor being removed:
+ CGRect layerStartFrame = CGRectZero;
+ if (_renderer) {
+ RenderBox* childRenderer = _renderer->firstChildBox();
+ layerStartFrame = CGRectMake(childRenderer->x(), childRenderer->y(), childRenderer->width(), childRenderer->height());
+ }
+
+ [self _document]->webkitWillExitFullScreenForElement(_element.get());
+ [self _document]->updateLayout();
+
+ // We have to retain ourselves because we want to be alive for the end of the animation.
+ // If our owner releases us we could crash if this is not the case.
+ // Balanced in windowDidExitFullscreen
+ [self retain];
+
+ // Check to see if the fullscreen renderer is composited. If not, accelerated graphics
+ // may be disabled. In this case, do not attempt to animate the contents into place;
+ // merely snap to the final position:
+ if (!_renderer || !_renderer->layer()->isComposited()) {
+ [self windowDidExitFullscreen:YES];
+ NSEnableScreenUpdates();
+ return;
+ }
+
+ GraphicsLayer* rendererGraphics = _renderer->layer()->backing()->graphicsLayer();
+
+ [self _document]->setFullScreenRendererBackgroundColor(Color::transparent);
+
+ rendererGraphics->syncCompositingState();
+
+ CALayer* rendererLayer = rendererGraphics->platformLayer();
+ [[self _fullscreenWindow] setRendererLayer:rendererLayer];
+
+ // Create a transformation matrix that will transform the renderer layer such that
+ // the fullscreen element appears to move from the full screen to its original position
+ // and size. Perform the transformation in two steps, using the CALayer's matrix
+ // math to calculate the effects of each step:
+ // 1. Apply a scale tranform to shrink the apparent size of the layer to the original
+ // element screen size.
+ // 2. Apply a translation transform to move the shrunk layer into the same screen position
+ // as the original element.
+ CATransform3D shrinkTransform = CATransform3DMakeScale(layerEndFrame.size.width / layerStartFrame.size.width, layerEndFrame.size.height / layerStartFrame.size.height, 1);
+ [rendererLayer setTransform:shrinkTransform];
+ CGRect shrunkDestinationFrame = [rendererLayer convertRect:layerStartFrame toLayer:[animationView layer]];
+ CATransform3D moveTransform = CATransform3DMakeTranslation(layerEndFrame.origin.x - shrunkDestinationFrame.origin.x, layerEndFrame.origin.y - shrunkDestinationFrame.origin.y, 0);
+ CATransform3D finalTransform = CATransform3DConcat(shrinkTransform, moveTransform);
+ [rendererLayer setTransform:finalTransform];
+ CGRect translatedDestinationFrame = [rendererLayer convertRect:layerStartFrame toLayer:[animationView layer]];
+
+ CFTimeInterval duration = [self _animationDuration];
+
+ CALayer* backgroundLayer = [[self _fullscreenWindow] backgroundLayer];
+ [CATransaction begin];
+ [CATransaction setAnimationDuration:duration];
+ [backgroundLayer setOpacity:0];
+ [CATransaction commit];
+
+ CABasicAnimation* zoomAnimation = [CABasicAnimation animationWithKeyPath:@"transform"];
+ [zoomAnimation setFromValue:[NSValue valueWithCATransform3D:startTransform]];
+ [zoomAnimation setToValue:[NSValue valueWithCATransform3D:finalTransform]];
+ [zoomAnimation setDelegate:self];
+ [zoomAnimation setDuration:duration];
+ [zoomAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
+ [zoomAnimation setFillMode:kCAFillModeBoth];
+ [zoomAnimation setRemovedOnCompletion:NO];
+ [zoomAnimation setValue:(id)kCFBooleanFalse forKey:isEnteringFullscreenKey];
+
+ [rendererLayer addAnimation:zoomAnimation forKey:@"zoom"];
+
+ NSEnableScreenUpdates();
+}
+
+#pragma mark -
+#pragma mark Internal Interface
+
+- (void)_updateMenuAndDockForFullscreen
+{
+ // NSApplicationPresentationOptions is available on > 10.6 only:
+#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
+ NSApplicationPresentationOptions options = NSApplicationPresentationDefault;
+ NSScreen* fullscreenScreen = [[self window] screen];
+
+ if (_isFullscreen) {
+ // Auto-hide the menu bar if the fullscreenScreen contains the menu bar:
+ // NOTE: if the fullscreenScreen contains the menu bar but not the dock, we must still
+ // auto-hide the dock, or an exception will be thrown.
+ if ([[NSScreen screens] objectAtIndex:0] == fullscreenScreen)
+ options |= (NSApplicationPresentationAutoHideMenuBar | NSApplicationPresentationAutoHideDock);
+ // Check if the current screen contains the dock by comparing the screen's frame to its
+ // visibleFrame; if a dock is present, the visibleFrame will differ. If the current screen
+ // contains the dock, hide it.
+ else if (!NSEqualRects([fullscreenScreen frame], [fullscreenScreen visibleFrame]))
+ options |= NSApplicationPresentationAutoHideDock;
+ }
+
+ if ([NSApp respondsToSelector:@selector(setPresentationOptions:)])
+ [NSApp setPresentationOptions:options];
+ else
+#endif
+ SetSystemUIMode(_isFullscreen ? kUIModeNormal : kUIModeAllHidden, 0);
+}
+
+#if !defined(BUILDING_ON_TIGER) // IOPMAssertionCreateWithName not defined on < 10.5
+- (void)_disableIdleDisplaySleep
+{
+ if (_idleDisplaySleepAssertion == kIOPMNullAssertionID)
+#if defined(BUILDING_ON_LEOPARD) // IOPMAssertionCreateWithName is not defined in the 10.5 SDK
+ IOPMAssertionCreate(kIOPMAssertionTypeNoDisplaySleep, kIOPMAssertionLevelOn, &_idleDisplaySleepAssertion);
+#else // IOPMAssertionCreate is depreciated in > 10.5
+ IOPMAssertionCreateWithName(kIOPMAssertionTypeNoDisplaySleep, kIOPMAssertionLevelOn, CFSTR("WebKit playing a video fullscreen."), &_idleDisplaySleepAssertion);
+#endif
+}
+
+- (void)_enableIdleDisplaySleep
+{
+ if (_idleDisplaySleepAssertion != kIOPMNullAssertionID) {
+ IOPMAssertionRelease(_idleDisplaySleepAssertion);
+ _idleDisplaySleepAssertion = kIOPMNullAssertionID;
+ }
+}
+
+- (void)_disableIdleSystemSleep
+{
+ if (_idleSystemSleepAssertion == kIOPMNullAssertionID)
+#if defined(BUILDING_ON_LEOPARD) // IOPMAssertionCreateWithName is not defined in the 10.5 SDK
+ IOPMAssertionCreate(kIOPMAssertionTypeNoIdleSleep, kIOPMAssertionLevelOn, &_idleSystemSleepAssertion);
+#else // IOPMAssertionCreate is depreciated in > 10.5
+ IOPMAssertionCreateWithName(kIOPMAssertionTypeNoIdleSleep, kIOPMAssertionLevelOn, CFSTR("WebKit playing a video fullscreen."), &_idleSystemSleepAssertion);
+#endif
+}
+
+- (void)_enableIdleSystemSleep
+{
+ if (_idleSystemSleepAssertion != kIOPMNullAssertionID) {
+ IOPMAssertionRelease(_idleSystemSleepAssertion);
+ _idleSystemSleepAssertion = kIOPMNullAssertionID;
+ }
+}
+
+- (void)_enableTickleTimer
+{
+ [_tickleTimer invalidate];
+ [_tickleTimer release];
+ _tickleTimer = [[NSTimer scheduledTimerWithTimeInterval:tickleTimerInterval target:self selector:@selector(_tickleTimerFired) userInfo:nil repeats:YES] retain];
+}
+
+- (void)_disableTickleTimer
+{
+ [_tickleTimer invalidate];
+ [_tickleTimer release];
+ _tickleTimer = nil;
+}
+
+- (void)_tickleTimerFired
+{
+ UpdateSystemActivity(OverallAct);
+}
+#endif
+
+- (void)_updatePowerAssertions
+{
+#if !defined(BUILDING_ON_TIGER)
+ BOOL isPlaying = [self _isAnyMoviePlaying];
+
+ if (isPlaying && _isFullscreen) {
+ [self _disableIdleSystemSleep];
+ [self _disableIdleDisplaySleep];
+ [self _enableTickleTimer];
+ } else {
+ [self _enableIdleSystemSleep];
+ [self _enableIdleDisplaySleep];
+ [self _disableTickleTimer];
+ }
+#endif
+}
+
+- (void)_requestExit
+{
+ [self exitFullscreen];
+ _forceDisableAnimation = NO;
+}
+
+- (void)_requestExitFullscreenWithAnimation:(BOOL)animation
+{
+ _forceDisableAnimation = !animation;
+ [self performSelector:@selector(_requestExit) withObject:nil afterDelay:0];
+
+}
+
+- (BOOL)_isAnyMoviePlaying
+{
+ if (!_element)
+ return NO;
+
+ Node* nextNode = _element.get();
+ while (nextNode)
+ {
+ if (nextNode->hasTagName(HTMLNames::videoTag)) {
+ HTMLMediaElement* element = static_cast<HTMLMediaElement*>(nextNode);
+ if (!element->paused() && !element->ended())
+ return YES;
+ }
+
+ nextNode = nextNode->traverseNextNode(_element.get());
+ }
+
+ return NO;
+}
+
+#pragma mark -
+#pragma mark Utility Functions
+
+- (WebFullscreenWindow *)_fullscreenWindow
+{
+ return (WebFullscreenWindow *)[self window];
+}
+
+- (Document*)_document
+{
+ return core([[[self webView] mainFrame] DOMDocument]);
+}
+
+- (CFTimeInterval)_animationDuration
+{
+ static const CFTimeInterval defaultDuration = 0.5;
+ CFTimeInterval duration = defaultDuration;
+#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
+ NSUInteger modifierFlags = [NSEvent modifierFlags];
+#else
+ NSUInteger modifierFlags = [[NSApp currentEvent] modifierFlags];
+#endif
+ if ((modifierFlags & NSControlKeyMask) == NSControlKeyMask)
+ duration *= 2;
+ if ((modifierFlags & NSShiftKeyMask) == NSShiftKeyMask)
+ duration *= 10;
+ if (_forceDisableAnimation) {
+ // This will disable scale animation
+ duration = 0;
+ }
+ return duration;
+}
+
+@end
+
+#pragma mark -
+@implementation WebFullscreenWindow
+
+- (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag
+{
+ UNUSED_PARAM(aStyle);
+ self = [super initWithContentRect:contentRect styleMask:NSBorderlessWindowMask backing:bufferingType defer:flag];
+ if (!self)
+ return nil;
+ [self setOpaque:NO];
+ [self setBackgroundColor:[NSColor clearColor]];
+ [self setIgnoresMouseEvents:NO];
+ [self setAcceptsMouseMovedEvents:YES];
+ [self setReleasedWhenClosed:NO];
+ [self setHasShadow:YES];
+#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
+ [self setMovable:NO];
+#else
+ [self setMovableByWindowBackground:NO];
+#endif
+
+ NSView* contentView = [self contentView];
+ _animationView = [[NSView alloc] initWithFrame:[contentView bounds]];
+
+ CALayer* contentLayer = [[CALayer alloc] init];
+ [_animationView setLayer:contentLayer];
+ [_animationView setWantsLayer:YES];
+ [_animationView setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
+ [contentView addSubview:_animationView];
+
+ _backgroundLayer = [[CALayer alloc] init];
+ [contentLayer addSublayer:_backgroundLayer];
+#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
+ [contentLayer setGeometryFlipped:YES];
+#else
+ [contentLayer setSublayerTransform:CATransform3DMakeScale(1, -1, 1)];
+#endif
+ [contentLayer setOpacity:0];
+
+ [_backgroundLayer setBackgroundColor:CGColorGetConstantColor(kCGColorBlack)];
+ [_backgroundLayer setOpacity:0];
+ return self;
+}
+
+- (void)dealloc
+{
+ [_animationView release];
+ [_backgroundLayer release];
+ [_rendererLayer release];
+ [super dealloc];
+}
+
+- (BOOL)canBecomeKeyWindow
+{
+ return YES;
+}
+
+- (void)keyDown:(NSEvent *)theEvent
+{
+ if ([[theEvent charactersIgnoringModifiers] isEqual:@"\e"]) // Esacpe key-code
+ [self cancelOperation:self];
+ else [super keyDown:theEvent];
+}
+
+- (void)cancelOperation:(id)sender
+{
+ UNUSED_PARAM(sender);
+ [[self windowController] _requestExitFullscreenWithAnimation:YES];
+}
+
+- (CALayer*)rendererLayer
+{
+ return _rendererLayer;
+}
+
+- (void)setRendererLayer:(CALayer *)rendererLayer
+{
+ [CATransaction begin];
+ [CATransaction setDisableActions:YES];
+ [rendererLayer retain];
+ [_rendererLayer removeFromSuperlayer];
+ [_rendererLayer release];
+ _rendererLayer = rendererLayer;
+
+ if (_rendererLayer)
+ [[[self animationView] layer] addSublayer:_rendererLayer];
+ [CATransaction commit];
+}
+
+- (CALayer*)backgroundLayer
+{
+ return _backgroundLayer;
+}
+
+- (NSView*)animationView
+{
+ return _animationView;
+}
+@end
+
+#pragma mark -
+#pragma mark MediaEventListener
+
+MediaEventListener::MediaEventListener(WebFullScreenController* delegate)
+ : EventListener(CPPEventListenerType)
+ , delegate(delegate)
+{
+}
+
+PassRefPtr<MediaEventListener> MediaEventListener::create(WebFullScreenController* delegate)
+{
+ return adoptRef(new MediaEventListener(delegate));
+}
+
+bool MediaEventListener::operator==(const EventListener& listener)
+{
+ return this == &listener;
+}
+
+void MediaEventListener::handleEvent(ScriptExecutionContext* context, Event* event)
+{
+ [delegate _updatePowerAssertions];
+}
+
+#endif /* ENABLE(FULLSCREEN_API) */
diff --git a/WebKit/mac/WebView/WebHTMLRepresentation.mm b/WebKit/mac/WebView/WebHTMLRepresentation.mm
index 2699472..fad0a4a 100644
--- a/WebKit/mac/WebView/WebHTMLRepresentation.mm
+++ b/WebKit/mac/WebView/WebHTMLRepresentation.mm
@@ -285,12 +285,12 @@ static HTMLFormElement* formElementFromDOMElement(DOMElement *element)
HTMLFormElement* formElement = formElementFromDOMElement(form);
if (!formElement)
return nil;
- const Vector<HTMLFormControlElement*>& elements = formElement->associatedElements();
+ const Vector<FormAssociatedElement*>& elements = formElement->associatedElements();
AtomicString targetName = name;
for (unsigned i = 0; i < elements.size(); i++) {
- HTMLFormControlElement* elt = elements[i];
+ FormAssociatedElement* elt = elements[i];
if (elt->name() == targetName)
- return kit(elt);
+ return kit(toHTMLElement(elt));
}
return nil;
}
@@ -333,10 +333,10 @@ static HTMLInputElement* inputElementFromDOMElement(DOMElement* element)
if (!formElement)
return nil;
NSMutableArray *results = nil;
- const Vector<HTMLFormControlElement*>& elements = formElement->associatedElements();
+ const Vector<FormAssociatedElement*>& elements = formElement->associatedElements();
for (unsigned i = 0; i < elements.size(); i++) {
if (elements[i]->isEnumeratable()) { // Skip option elements, other duds
- DOMElement* de = kit(elements[i]);
+ DOMElement* de = kit(toHTMLElement(elements[i]));
if (!results)
results = [NSMutableArray arrayWithObject:de];
else
diff --git a/WebKit/mac/WebView/WebHTMLView.mm b/WebKit/mac/WebView/WebHTMLView.mm
index 07e4876..093f3db 100644
--- a/WebKit/mac/WebView/WebHTMLView.mm
+++ b/WebKit/mac/WebView/WebHTMLView.mm
@@ -83,6 +83,7 @@
#import <WebCore/ContextMenuController.h>
#import <WebCore/Document.h>
#import <WebCore/DocumentFragment.h>
+#import <WebCore/DocumentMarkerController.h>
#import <WebCore/DragController.h>
#import <WebCore/Editor.h>
#import <WebCore/EditorDeleteAction.h>
@@ -129,6 +130,53 @@ using namespace HTMLNames;
using namespace WTF;
using namespace std;
+@interface WebMenuTarget : NSObject {
+ WebCore::ContextMenuController* _menuController;
+}
++ (WebMenuTarget*)sharedMenuTarget;
+- (WebCore::ContextMenuController*)menuController;
+- (void)setMenuController:(WebCore::ContextMenuController*)menuController;
+- (void)forwardContextMenuAction:(id)sender;
+- (BOOL)validateMenuItem:(NSMenuItem *)item;
+@end
+
+static WebMenuTarget* target;
+
+@implementation WebMenuTarget
+
++ (WebMenuTarget*)sharedMenuTarget
+{
+ if (!target)
+ target = [[WebMenuTarget alloc] init];
+ return target;
+}
+
+- (WebCore::ContextMenuController*)menuController
+{
+ return _menuController;
+}
+
+- (void)setMenuController:(WebCore::ContextMenuController*)menuController
+{
+ _menuController = menuController;
+}
+
+- (void)forwardContextMenuAction:(id)sender
+{
+ WebCore::ContextMenuItem item(WebCore::ActionType, static_cast<WebCore::ContextMenuAction>([sender tag]), [sender title]);
+ _menuController->contextMenuItemSelected(&item);
+}
+
+- (BOOL)validateMenuItem:(NSMenuItem *)item
+{
+ WebCore::ContextMenuItem coreItem(item);
+ ASSERT(_menuController->contextMenu());
+ _menuController->checkOrEnableIfNeeded(coreItem);
+ return coreItem.enabled();
+}
+
+@end
+
@interface NSWindow (BorderViewAccess)
- (NSView*)_web_borderView;
@end
@@ -525,6 +573,16 @@ static NSCellStateValue kit(TriState state)
return NSOffState;
}
+static FindOptions coreOptions(WebFindOptions options)
+{
+ return (options & WebFindOptionsCaseInsensitive ? CaseInsensitive : 0)
+ | (options & WebFindOptionsAtWordStarts ? AtWordStarts : 0)
+ | (options & WebFindOptionsTreatMedialCapitalAsWordStart ? TreatMedialCapitalAsWordStart : 0)
+ | (options & WebFindOptionsBackwards ? Backwards : 0)
+ | (options & WebFindOptionsWrapAround ? WrapAround : 0)
+ | (options & WebFindOptionsStartInSelection ? StartInSelection : 0);
+}
+
@implementation WebHTMLViewPrivate
+ (void)initialize
@@ -2078,7 +2136,7 @@ static void _updateMouseoverTimerCallback(CFRunLoopTimerRef timer, void *info)
// The _hasHTMLDocument clause here is a workaround for a bug in NSAttributedString: Radar 5052369.
// If we call _documentFromRange on an XML document we'll get "setInnerHTML: method not found".
// FIXME: Remove this once bug 5052369 is fixed.
- if ([self _hasHTMLDocument] && pboardType == NSRTFPboardType || pboardType == NSRTFDPboardType) {
+ if ([self _hasHTMLDocument] && (pboardType == NSRTFPboardType || pboardType == NSRTFDPboardType)) {
NSAttributedString *string = nil;
if (pboardType == NSRTFDPboardType)
string = [[NSAttributedString alloc] initWithRTFD:[pasteboard dataForType:NSRTFDPboardType] documentAttributes:NULL];
@@ -3213,6 +3271,28 @@ WEBCORE_COMMAND(yankAndSelect)
coreframe->eventHandler()->mouseUp(event);
}
+static void setMenuItemTarget(NSMenuItem* menuItem)
+{
+ // Don't set the menu item's action to the context menu action forwarder if we already
+ // have an action.
+ if ([menuItem action])
+ return;
+
+ [menuItem setTarget:[WebMenuTarget sharedMenuTarget]];
+ [menuItem setAction:@selector(forwardContextMenuAction:)];
+}
+
+static void setMenuTargets(NSMenu* menu)
+{
+ NSInteger itemCount = [menu numberOfItems];
+ for (NSInteger i = 0; i < itemCount; ++i) {
+ NSMenuItem *item = [menu itemAtIndex:i];
+ setMenuItemTarget(item);
+ if ([item hasSubmenu])
+ setMenuTargets([item submenu]);
+ }
+}
+
- (NSMenu *)menuForEvent:(NSEvent *)event
{
// There's a chance that if we run a nested event loop the event will be released.
@@ -3260,6 +3340,10 @@ WEBCORE_COMMAND(yankAndSelect)
NSMenu* menu = [[[NSMenu alloc] init] autorelease];
for (NSUInteger i = 0; i < count; i++)
[menu addItem:[menuItems objectAtIndex:i]];
+ setMenuTargets(menu);
+
+ [[WebMenuTarget sharedMenuTarget] setMenuController:page->contextMenuController()];
+
return menu;
}
@@ -4190,7 +4274,7 @@ static BOOL isInPasswordField(Frame* coreFrame)
- (id)accessibilityAttributeValue:(NSString*)attributeName
{
if ([attributeName isEqualToString: NSAccessibilityChildrenAttribute]) {
- id accTree = [[self _frame] _accessibilityTree];
+ id accTree = [[self _frame] accessibilityRoot];
if (accTree)
return [NSArray arrayWithObject:accTree];
return nil;
@@ -4200,7 +4284,7 @@ static BOOL isInPasswordField(Frame* coreFrame)
- (id)accessibilityFocusedUIElement
{
- id accTree = [[self _frame] _accessibilityTree];
+ id accTree = [[self _frame] accessibilityRoot];
if (accTree)
return [accTree accessibilityFocusedUIElement];
return self;
@@ -4208,7 +4292,7 @@ static BOOL isInPasswordField(Frame* coreFrame)
- (id)accessibilityHitTest:(NSPoint)point
{
- id accTree = [[self _frame] _accessibilityTree];
+ id accTree = [[self _frame] accessibilityRoot];
if (accTree) {
NSPoint windowCoord = [[self window] convertScreenToBase:point];
return [accTree accessibilityHitTest:[self convertPoint:windowCoord fromView:nil]];
@@ -4218,7 +4302,7 @@ static BOOL isInPasswordField(Frame* coreFrame)
- (id)_accessibilityParentForSubview:(NSView *)subview
{
- id accTree = [[self _frame] _accessibilityTree];
+ id accTree = [[self _frame] accessibilityRoot];
if (!accTree)
return self;
id parent = [accTree _accessibilityParentForSubview:subview];
@@ -6198,10 +6282,7 @@ static void extractUnderlines(NSAttributedString *string, Vector<CompositionUnde
- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag startInSelection:(BOOL)startInSelection
{
- if (![string length])
- return NO;
- Frame* coreFrame = core([self _frame]);
- return coreFrame && coreFrame->editor()->findString(string, forward, caseFlag, wrapFlag, startInSelection);
+ return [self _findString:string options:(forward ? 0 : WebFindOptionsBackwards) | (caseFlag ? 0 : WebFindOptionsCaseInsensitive) | (startInSelection ? WebFindOptionsStartInSelection : 0)];
}
@end
@@ -6221,17 +6302,13 @@ static void extractUnderlines(NSAttributedString *string, Vector<CompositionUnde
return [[[WebElementDictionary alloc] initWithHitTestResult:coreFrame->eventHandler()->hitTestResultAtPoint(IntPoint(point), allow)] autorelease];
}
-- (NSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag limit:(NSUInteger)limit
-{
- return [self countMatchesForText:string caseSensitive:caseFlag limit:limit markMatches:YES];
-}
-
-- (NSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag limit:(NSUInteger)limit markMatches:(BOOL)markMatches
+- (NSUInteger)countMatchesForText:(NSString *)string inDOMRange:(DOMRange *)range options:(WebFindOptions)options limit:(NSUInteger)limit markMatches:(BOOL)markMatches
{
Frame* coreFrame = core([self _frame]);
if (!coreFrame)
return 0;
- return coreFrame->editor()->countMatchesForText(string, caseFlag, limit, markMatches);
+
+ return coreFrame->editor()->countMatchesForText(string, core(range), coreOptions(options), limit, markMatches);
}
- (void)setMarkedTextMatchesAreHighlighted:(BOOL)newValue
@@ -6276,6 +6353,14 @@ static void extractUnderlines(NSAttributedString *string, Vector<CompositionUnde
return result;
}
+- (BOOL)_findString:(NSString *)string options:(WebFindOptions)options
+{
+ if (![string length])
+ return NO;
+ Frame* coreFrame = core([self _frame]);
+ return coreFrame && coreFrame->editor()->findString(string, coreOptions(options));
+}
+
@end
// This is used by AppKit and is included here so that WebDataProtocolScheme is only defined once.
diff --git a/WebKit/mac/WebView/WebPDFView.mm b/WebKit/mac/WebView/WebPDFView.mm
index 70fceb6..445b537 100644
--- a/WebKit/mac/WebView/WebPDFView.mm
+++ b/WebKit/mac/WebView/WebPDFView.mm
@@ -28,6 +28,8 @@
#import "WebPDFView.h"
+#import "DOMNodeInternal.h"
+#import "DOMRangeInternal.h"
#import "WebDataSourceInternal.h"
#import "WebDelegateImplementationCaching.h"
#import "WebDocumentInternal.h"
@@ -53,6 +55,7 @@
#import <WebCore/FrameLoadRequest.h>
#import <WebCore/FrameLoader.h>
#import <WebCore/HTMLFormElement.h>
+#import <WebCore/HTMLFrameOwnerElement.h>
#import <WebCore/KURL.h>
#import <WebCore/KeyboardEvent.h>
#import <WebCore/MouseEvent.h>
@@ -103,7 +106,7 @@ extern "C" NSString *_NSPathForSystemFramework(NSString *framework);
- (id)initWithView:(WebPDFView *)view;
@end
-#pragma mark C UTILITY FUNCTIONS
+// MARK: C UTILITY FUNCTIONS
static void _applicationInfoForMIMEType(NSString *type, NSString **name, NSImage **image)
{
@@ -148,7 +151,7 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
@implementation WebPDFView
-#pragma mark WebPDFView API
+// MARK: WebPDFView API
+ (NSBundle *)PDFKitBundle
{
@@ -187,7 +190,7 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
return [PDFSubview document];
}
-#pragma mark NSObject OVERRIDES
+// MARK: NSObject OVERRIDES
- (void)dealloc
{
@@ -201,7 +204,7 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
[super dealloc];
}
-#pragma mark NSResponder OVERRIDES
+// MARK: NSResponder OVERRIDES
- (void)centerSelectionInVisibleArea:(id)sender
{
@@ -254,7 +257,7 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
[self centerSelectionInVisibleArea:nil];
}
-#pragma mark NSView OVERRIDES
+// MARK: NSView OVERRIDES
- (BOOL)acceptsFirstResponder {
return YES;
@@ -480,7 +483,7 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
firstResponderIsPDFDocumentView = NO;
}
-#pragma mark NSUserInterfaceValidations PROTOCOL IMPLEMENTATION
+// MARK: NSUserInterfaceValidations PROTOCOL IMPLEMENTATION
- (BOOL)validateUserInterfaceItemWithoutDelegate:(id <NSValidatedUserInterfaceItem>)item
{
@@ -507,7 +510,7 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
return CallUIDelegateReturningBoolean(result, [self _webView], @selector(webView:validateUserInterfaceItem:defaultValidation:), item, result);
}
-#pragma mark INTERFACE BUILDER ACTIONS FOR SAFARI
+// MARK: INTERFACE BUILDER ACTIONS FOR SAFARI
// Surprisingly enough, this isn't defined in any superclass, though it is defined in assorted AppKit classes since
// it's a standard menu item IBAction.
@@ -523,7 +526,7 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
[NSPasteboard _web_setFindPasteboardString:[[PDFSubview currentSelection] string] withOwner:self];
}
-#pragma mark WebFrameView UNDECLARED "DELEGATE METHODS"
+// MARK: WebFrameView UNDECLARED "DELEGATE METHODS"
// This is tested in -[WebFrameView canPrintHeadersAndFooters], but isn't declared anywhere (yuck)
- (BOOL)canPrintHeadersAndFooters
@@ -537,7 +540,7 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
return [[PDFSubview document] getPrintOperationForPrintInfo:printInfo autoRotate:YES];
}
-#pragma mark WebDocumentView PROTOCOL IMPLEMENTATION
+// MARK: WebDocumentView PROTOCOL IMPLEMENTATION
- (void)setDataSource:(WebDataSource *)ds
{
@@ -571,7 +574,7 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
{
}
-#pragma mark WebDocumentElement PROTOCOL IMPLEMENTATION
+// MARK: WebDocumentElement PROTOCOL IMPLEMENTATION
- (NSDictionary *)elementAtPoint:(NSPoint)point
{
@@ -589,14 +592,14 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
return [self elementAtPoint:point];
}
-#pragma mark WebDocumentSearching PROTOCOL IMPLEMENTATION
+// MARK: WebDocumentSearching PROTOCOL IMPLEMENTATION
- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag
{
return [self searchFor:string direction:forward caseSensitive:caseFlag wrap:wrapFlag startInSelection:NO];
}
-#pragma mark WebDocumentIncrementalSearching PROTOCOL IMPLEMENTATION
+// MARK: WebDocumentIncrementalSearching PROTOCOL IMPLEMENTATION
- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag startInSelection:(BOOL)startInSelection
{
@@ -609,7 +612,7 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
return YES;
}
-#pragma mark WebMultipleTextMatches PROTOCOL IMPLEMENTATION
+// MARK: WebMultipleTextMatches PROTOCOL IMPLEMENTATION
- (void)setMarkedTextMatchesAreHighlighted:(BOOL)newValue
{
@@ -626,19 +629,28 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
return NO;
}
-- (NSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag limit:(NSUInteger)limit
+static BOOL isFrameInRange(WebFrame *frame, DOMRange *range)
{
- return [self countMatchesForText:string caseSensitive:caseFlag limit:limit markMatches:YES];
+ BOOL inRange = NO;
+ for (HTMLFrameOwnerElement* ownerElement = core(frame)->ownerElement(); ownerElement; ownerElement = ownerElement->document()->frame()->ownerElement()) {
+ if (ownerElement->document() == core(range)->ownerDocument()) {
+ inRange = [range intersectsNode:kit(ownerElement)];
+ break;
+ }
+ }
+ return inRange;
}
-- (NSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag limit:(NSUInteger)limit markMatches:(BOOL)markMatches
+- (NSUInteger)countMatchesForText:(NSString *)string inDOMRange:(DOMRange *)range options:(WebFindOptions)options limit:(NSUInteger)limit markMatches:(BOOL)markMatches
{
+ if (range && !isFrameInRange([dataSource webFrame], range))
+ return 0;
+
PDFSelection *previousMatch = nil;
- PDFSelection *nextMatch = nil;
NSMutableArray *matches = [[NSMutableArray alloc] initWithCapacity:limit];
for (;;) {
- nextMatch = [self _nextMatchFor:string direction:YES caseSensitive:caseFlag wrap:NO fromSelection:previousMatch startInSelection:NO];
+ PDFSelection *nextMatch = [self _nextMatchFor:string direction:YES caseSensitive:!(options & WebFindOptionsCaseInsensitive) wrap:NO fromSelection:previousMatch startInSelection:NO];
if (!nextMatch)
break;
@@ -684,7 +696,7 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
return result;
}
-#pragma mark WebDocumentText PROTOCOL IMPLEMENTATION
+// MARK: WebDocumentText PROTOCOL IMPLEMENTATION
- (BOOL)supportsTextEncoding
{
@@ -738,7 +750,7 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
[PDFSubview clearSelection];
}
-#pragma mark WebDocumentViewState PROTOCOL IMPLEMENTATION
+// MARK: WebDocumentViewState PROTOCOL IMPLEMENTATION
// Even though to WebKit we are the "docView", in reality a PDFView contains its own scrollview and docView.
// And it even turns out there is another PDFKit view between the docView and its enclosing ScrollView, so
@@ -797,7 +809,7 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
[PDFSubview setScaleFactor:[[state objectAtIndex:i++] floatValue]];
}
-#pragma mark _WebDocumentTextSizing PROTOCOL IMPLEMENTATION
+// MARK: _WebDocumentTextSizing PROTOCOL IMPLEMENTATION
- (IBAction)_zoomOut:(id)sender
{
@@ -829,7 +841,7 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
return [PDFSubview scaleFactor] != 1.0;
}
-#pragma mark WebDocumentSelection PROTOCOL IMPLEMENTATION
+// MARK: WebDocumentSelection PROTOCOL IMPLEMENTATION
- (NSRect)selectionRect
{
@@ -922,7 +934,7 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
[pasteboard setString:[self selectedString] forType:NSStringPboardType];
}
-#pragma mark PDFView DELEGATE METHODS
+// MARK: PDFView DELEGATE METHODS
- (void)PDFViewWillClickOnLink:(PDFView *)sender withURL:(NSURL *)URL
{
@@ -964,7 +976,8 @@ static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selec
}
// Call to the frame loader because this is where our security checks are made.
- core([dataSource webFrame])->loader()->loadFrameRequest(ResourceRequest(URL), false, false, event.get(), 0, SendReferrer);
+ Frame* frame = core([dataSource webFrame]);
+ frame->loader()->loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(URL)), false, false, event.get(), 0, SendReferrer);
}
- (void)PDFViewOpenPDFInNativeApplication:(PDFView *)sender
diff --git a/WebKit/mac/WebView/WebPreferenceKeysPrivate.h b/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
index 5c6b530..93f83fc 100644
--- a/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
+++ b/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
@@ -99,6 +99,7 @@
#define WebKitPaginateDuringLayoutEnabledPreferenceKey @"WebKitPaginateDuringLayoutEnabled"
#define WebKitDNSPrefetchingEnabledPreferenceKey @"WebKitDNSPrefetchingEnabled"
#define WebKitFullScreenEnabledPreferenceKey @"WebKitFullScreenEnabled"
+#define WebKitAsynchronousSpellCheckingEnabledPreferenceKey @"WebKitAsynchronousSpellCheckingEnabled"
#define WebKitMemoryInfoEnabledPreferenceKey @"WebKitMemoryInfoEnabled"
#define WebKitHyperlinkAuditingEnabledPreferenceKey @"WebKitHyperlinkAuditingEnabled"
diff --git a/WebKit/mac/WebView/WebPreferences.mm b/WebKit/mac/WebView/WebPreferences.mm
index 1bacb85..7ce3bc4 100644
--- a/WebKit/mac/WebView/WebPreferences.mm
+++ b/WebKit/mac/WebView/WebPreferences.mm
@@ -365,10 +365,11 @@ static WebCacheModel cacheModelForMainBundle(void)
[NSNumber numberWithUnsignedInt:4], WebKitPluginAllowedRunTimePreferenceKey,
[NSNumber numberWithBool:NO], WebKitFrameFlatteningEnabledPreferenceKey,
[NSNumber numberWithBool:NO], WebKitSpatialNavigationEnabledPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitDNSPrefetchingEnabledPreferenceKey,
+ [NSNumber numberWithBool:NO], WebKitDNSPrefetchingEnabledPreferenceKey,
[NSNumber numberWithBool:NO], WebKitFullScreenEnabledPreferenceKey,
+ [NSNumber numberWithBool:NO], WebKitAsynchronousSpellCheckingEnabledPreferenceKey,
[NSNumber numberWithBool:NO], WebKitMemoryInfoEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitHyperlinkAuditingEnabledPreferenceKey,
+ [NSNumber numberWithBool:YES], WebKitHyperlinkAuditingEnabledPreferenceKey,
[NSNumber numberWithBool:NO], WebKitUsePreHTML5ParserQuirksKey,
[NSNumber numberWithLongLong:WebCore::ApplicationCacheStorage::noQuota()], WebKitApplicationCacheTotalQuota,
[NSNumber numberWithLongLong:WebCore::ApplicationCacheStorage::noQuota()], WebKitApplicationCacheDefaultOriginQuota,
@@ -1393,6 +1394,16 @@ static NSString *classIBCreatorID = nil;
return [self _boolValueForKey:WebKitFullScreenEnabledPreferenceKey];
}
+- (void)setAsynchronousSpellCheckingEnabled:(BOOL)flag
+{
+ [self _setBoolValue:flag forKey:WebKitAsynchronousSpellCheckingEnabledPreferenceKey];
+}
+
+- (BOOL)asynchronousSpellCheckingEnabled
+{
+ return [self _boolValueForKey:WebKitAsynchronousSpellCheckingEnabledPreferenceKey];
+}
+
+ (void)setWebKitLinkTimeVersion:(int)version
{
setWebKitLinkTimeVersion(version);
diff --git a/WebKit/mac/WebView/WebPreferencesPrivate.h b/WebKit/mac/WebView/WebPreferencesPrivate.h
index 2ee07d7..89b6288 100644
--- a/WebKit/mac/WebView/WebPreferencesPrivate.h
+++ b/WebKit/mac/WebView/WebPreferencesPrivate.h
@@ -221,6 +221,9 @@ extern NSString *WebPreferencesRemovedNotification;
- (void)setFullScreenEnabled:(BOOL)flag;
- (BOOL)fullScreenEnabled;
+- (void)setAsynchronousSpellCheckingEnabled:(BOOL)flag;
+- (BOOL)asynchronousSpellCheckingEnabled;
+
- (void)setUsePreHTML5ParserQuirks:(BOOL)flag;
- (BOOL)usePreHTML5ParserQuirks;
diff --git a/WebKit/mac/WebView/WebScriptDebugger.mm b/WebKit/mac/WebView/WebScriptDebugger.mm
index f67b46f..25ef4b7 100644
--- a/WebKit/mac/WebView/WebScriptDebugger.mm
+++ b/WebKit/mac/WebView/WebScriptDebugger.mm
@@ -220,10 +220,12 @@ void WebScriptDebugger::exception(const DebuggerCallFrame& debuggerCallFrame, in
void WebScriptDebugger::willExecuteProgram(const DebuggerCallFrame& debuggerCallFrame, intptr_t sourceID, int lineno)
{
+ callEvent(debuggerCallFrame, sourceID, lineno);
}
void WebScriptDebugger::didExecuteProgram(const DebuggerCallFrame& debuggerCallFrame, intptr_t sourceID, int lineno)
{
+ returnEvent(debuggerCallFrame, sourceID, lineno);
}
void WebScriptDebugger::didReachBreakpoint(const DebuggerCallFrame&, intptr_t, int)
diff --git a/WebKit/mac/WebView/WebScriptWorld.mm b/WebKit/mac/WebView/WebScriptWorld.mm
index 8ca6f44..61daff1 100644
--- a/WebKit/mac/WebView/WebScriptWorld.mm
+++ b/WebKit/mac/WebView/WebScriptWorld.mm
@@ -77,7 +77,7 @@ static WorldMap& allWorlds()
- (void)unregisterWorld
{
- _private->world->unregisterWorld();
+ _private->world->clearWrappers();
}
- (void)dealloc
diff --git a/WebKit/mac/WebView/WebTextCompletionController.mm b/WebKit/mac/WebView/WebTextCompletionController.mm
index ab0e621..48b5035 100644
--- a/WebKit/mac/WebView/WebTextCompletionController.mm
+++ b/WebKit/mac/WebView/WebTextCompletionController.mm
@@ -173,7 +173,7 @@ using namespace std;
WebFrame *frame = [_htmlView _frame];
DOMRange *selection = kit(core(frame)->selection()->toNormalizedRange().get());
DOMRange *wholeWord = [frame _rangeByAlteringCurrentSelection:SelectionController::AlterationExtend
- direction:SelectionController::DirectionBackward granularity:WordGranularity];
+ direction:DirectionBackward granularity:WordGranularity];
DOMRange *prefix = [wholeWord cloneRange];
[prefix setEnd:[selection startContainer] offset:[selection startOffset]];
@@ -285,7 +285,7 @@ using namespace std;
[self endRevertingChange:YES moveLeft:NO];
return YES;
}
- if (c == ' ' || c >= 0x21 && c <= 0x2F || c >= 0x3A && c <= 0x40 || c >= 0x5B && c <= 0x60 || c >= 0x7B && c <= 0x7D) {
+ if (c == ' ' || (c >= 0x21 && c <= 0x2F) || (c >= 0x3A && c <= 0x40) || (c >= 0x5B && c <= 0x60) || (c >= 0x7B && c <= 0x7D)) {
// FIXME: Is the above list of keys really definitive?
// Originally this code called ispunct; aren't there other punctuation keys on international keyboards?
[self endRevertingChange:NO moveLeft:NO];
diff --git a/WebKit/mac/WebView/WebVideoFullscreenController.mm b/WebKit/mac/WebView/WebVideoFullscreenController.mm
index 2687b14..93e3d8c 100644
--- a/WebKit/mac/WebView/WebVideoFullscreenController.mm
+++ b/WebKit/mac/WebView/WebVideoFullscreenController.mm
@@ -219,8 +219,8 @@ static const NSTimeInterval tickleTimerInterval = 1.0;
}
-#pragma mark -
-#pragma mark Exposed Interface
+// MARK: -
+// MARK: Exposed Interface
static void constrainFrameToRatioOfFrame(NSRect *frameToConstrain, const NSRect *frame)
{
@@ -422,8 +422,8 @@ static NSWindow *createBackgroundFullscreenWindow(NSRect frame, int level)
#endif
}
-#pragma mark -
-#pragma mark Window callback
+// MARK: -
+// MARK: Window callback
- (void)_requestExit
{
@@ -452,8 +452,8 @@ static NSWindow *createBackgroundFullscreenWindow(NSRect frame, int level)
[_hudController fadeWindowIn];
}
-#pragma mark -
-#pragma mark QTMovie callbacks
+// MARK: -
+// MARK: QTMovie callbacks
- (void)rateChanged:(NSNotification *)unusedNotification
{
diff --git a/WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.mm b/WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.mm
index 6907311..0a5aca4 100644
--- a/WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.mm
+++ b/WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.mm
@@ -623,7 +623,7 @@ static NSString *timeToString(double time)
return timeToString([_delegate mediaElement]->currentTime());
}
-#pragma mark NSResponder
+// MARK: NSResponder
- (void)mouseEntered:(NSEvent *)theEvent
{
@@ -659,7 +659,7 @@ static NSString *timeToString(double time)
[_delegate requestExitFullscreen];
}
-#pragma mark NSWindowDelegate
+// MARK: NSWindowDelegate
- (void)windowDidExpose:(NSNotification *)notification
{
diff --git a/WebKit/mac/WebView/WebView.mm b/WebKit/mac/WebView/WebView.mm
index 0498554..9c7de2c 100644
--- a/WebKit/mac/WebView/WebView.mm
+++ b/WebKit/mac/WebView/WebView.mm
@@ -60,6 +60,7 @@
#import "WebFormDelegatePrivate.h"
#import "WebFrameInternal.h"
#import "WebFrameViewInternal.h"
+#import "WebFullScreenController.h"
#import "WebGeolocationClient.h"
#import "WebGeolocationPositionInternal.h"
#import "WebHTMLRepresentation.h"
@@ -1390,8 +1391,12 @@ static bool fastDocumentTeardownEnabled()
// <https://bugs.webkit.org/show_bug.cgi?id=46334>.
static bool isApplicationNeedingParserQuirks = !WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITH_HTML5_PARSER)
&& (applicationIsAOLInstantMessenger() || applicationIsMicrosoftMyDay());
+
+ // Mail.app must continue to display HTML email that contains quirky markup.
+ static bool isAppleMail = applicationIsAppleMail();
return isApplicationNeedingParserQuirks
+ || isAppleMail
#if ENABLE(DASHBOARD_SUPPORT)
// Pre-HTML5 parser quirks are required to remain compatible with many
// Dashboard widgets. See <rdar://problem/8175982>.
@@ -1501,6 +1506,10 @@ static bool fastDocumentTeardownEnabled()
#if ENABLE(FULLSCREEN_API)
settings->setFullScreenEnabled([preferences fullScreenEnabled]);
#endif
+#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
+ // Asynchronous spell checking API is available for 10.6 or later.
+ settings->setAsynchronousSpellCheckingEnabled([preferences asynchronousSpellCheckingEnabled]);
+#endif
settings->setMemoryInfoEnabled([preferences memoryInfoEnabled]);
settings->setHyperlinkAuditingEnabled([preferences hyperlinkAuditingEnabled]);
settings->setUsePreHTML5ParserQuirks([self _needsPreHTML5ParserQuirks]);
@@ -2645,6 +2654,26 @@ static PassOwnPtr<Vector<String> > toStringVector(NSArray* patterns)
return coreFrame->pageScaleFactor();
}
+- (NSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(NSUInteger)limit
+{
+ return [self countMatchesForText:string options:(caseFlag ? 0 : WebFindOptionsCaseInsensitive) highlight:highlight limit:limit markMatches:YES];
+}
+
+- (NSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(NSUInteger)limit markMatches:(BOOL)markMatches
+{
+ return [self countMatchesForText:string options:(caseFlag ? 0 : WebFindOptionsCaseInsensitive) highlight:highlight limit:limit markMatches:markMatches];
+}
+
+- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag startInSelection:(BOOL)startInSelection
+{
+ return [self findString:string options:((forward ? 0 : WebFindOptionsBackwards) | (caseFlag ? 0 : WebFindOptionsCaseInsensitive) | (wrapFlag ? WebFindOptionsWrapAround : 0) | (startInSelection ? WebFindOptionsStartInSelection : 0))];
+}
+
++ (void)_setLoadResourcesSerially:(BOOL)serialize
+{
+ resourceLoadScheduler()->setSerialLoadingEnabled(serialize);
+}
+
@end
@implementation _WebSafeForwarder
@@ -3824,12 +3853,12 @@ static bool needsWebViewInitThreadWorkaround()
[super setNextKeyView:view];
}
-static WebFrame *incrementFrame(WebFrame *frame, BOOL forward, BOOL wrapFlag)
+static WebFrame *incrementFrame(WebFrame *frame, WebFindOptions options = 0)
{
Frame* coreFrame = core(frame);
- return kit(forward
- ? coreFrame->tree()->traverseNextWithWrap(wrapFlag)
- : coreFrame->tree()->traversePreviousWithWrap(wrapFlag));
+ return kit((options & WebFindOptionsBackwards)
+ ? coreFrame->tree()->traversePreviousWithWrap(options & WebFindOptionsWrapAround)
+ : coreFrame->tree()->traverseNextWithWrap(options & WebFindOptionsWrapAround));
}
- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag
@@ -4255,7 +4284,16 @@ static WebFrame *incrementFrame(WebFrame *frame, BOOL forward, BOOL wrapFlag)
core(self)->removeSchedulePair(SchedulePair::create(runLoop, (CFStringRef)mode));
}
-- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag startInSelection:(BOOL)startInSelection
+static BOOL findString(NSView <WebDocumentSearching> *searchView, NSString *string, WebFindOptions options)
+{
+ if ([searchView conformsToProtocol:@protocol(WebDocumentOptionsSearching)])
+ return [(NSView <WebDocumentOptionsSearching> *)searchView _findString:string options:options];
+ if ([searchView conformsToProtocol:@protocol(WebDocumentIncrementalSearching)])
+ return [(NSView <WebDocumentIncrementalSearching> *)searchView searchFor:string direction:!(options & WebFindOptionsBackwards) caseSensitive:!(options & WebFindOptionsCaseInsensitive) wrap:!!(options & WebFindOptionsWrapAround) startInSelection:!!(options & WebFindOptionsStartInSelection)];
+ return [searchView searchFor:string direction:!(options & WebFindOptionsBackwards) caseSensitive:!(options & WebFindOptionsCaseInsensitive) wrap:!!(options & WebFindOptionsWrapAround)];
+}
+
+- (BOOL)findString:(NSString *)string options:(WebFindOptions)options
{
if (_private->closed)
return NO;
@@ -4267,7 +4305,7 @@ static WebFrame *incrementFrame(WebFrame *frame, BOOL forward, BOOL wrapFlag)
NSView <WebDocumentSearching> *startSearchView = nil;
WebFrame *frame = startFrame;
do {
- WebFrame *nextFrame = incrementFrame(frame, forward, wrapFlag);
+ WebFrame *nextFrame = incrementFrame(frame, options);
BOOL onlyOneFrame = (frame == nextFrame);
ASSERT(!onlyOneFrame || frame == startFrame);
@@ -4279,18 +4317,13 @@ static WebFrame *incrementFrame(WebFrame *frame, BOOL forward, BOOL wrapFlag)
if (frame == startFrame)
startSearchView = searchView;
- BOOL foundString;
// In some cases we have to search some content twice; see comment later in this method.
- // We can avoid ever doing this in the common one-frame case by passing YES for wrapFlag
+ // We can avoid ever doing this in the common one-frame case by passing the wrap option through
// here, and then bailing out before we get to the code that would search again in the
// same content.
- BOOL wrapOnThisPass = wrapFlag && onlyOneFrame;
- if ([searchView conformsToProtocol:@protocol(WebDocumentIncrementalSearching)])
- foundString = [(NSView <WebDocumentIncrementalSearching> *)searchView searchFor:string direction:forward caseSensitive:caseFlag wrap:wrapOnThisPass startInSelection:startInSelection];
- else
- foundString = [searchView searchFor:string direction:forward caseSensitive:caseFlag wrap:wrapOnThisPass];
-
- if (foundString) {
+ WebFindOptions optionsForThisPass = onlyOneFrame ? options : (options & ~WebFindOptionsWrapAround);
+
+ if (findString(searchView, string, optionsForThisPass)) {
if (frame != startFrame)
[startFrame _clearSelection];
[[self window] makeFirstResponder:searchView];
@@ -4303,18 +4336,13 @@ static WebFrame *incrementFrame(WebFrame *frame, BOOL forward, BOOL wrapFlag)
frame = nextFrame;
} while (frame && frame != startFrame);
- // If there are multiple frames and wrapFlag is true and we've visited each one without finding a result, we still need to search in the
+ // If there are multiple frames and WebFindOptionsWrapAround is set and we've visited each one without finding a result, we still need to search in the
// first-searched frame up to the selection. However, the API doesn't provide a way to search only up to a particular point. The only
- // way to make sure the entire frame is searched is to pass YES for the wrapFlag. When there are no matches, this will search again
+ // way to make sure the entire frame is searched is to pass WebFindOptionsWrapAround. When there are no matches, this will search
// some content that we already searched on the first pass. In the worst case, we could search the entire contents of this frame twice.
// To fix this, we'd need to add a mechanism to specify a range in which to search.
- if (wrapFlag && startSearchView) {
- BOOL foundString;
- if ([startSearchView conformsToProtocol:@protocol(WebDocumentIncrementalSearching)])
- foundString = [(NSView <WebDocumentIncrementalSearching> *)startSearchView searchFor:string direction:forward caseSensitive:caseFlag wrap:YES startInSelection:startInSelection];
- else
- foundString = [startSearchView searchFor:string direction:forward caseSensitive:caseFlag wrap:YES];
- if (foundString) {
+ if ((options & WebFindOptionsWrapAround) && startSearchView) {
+ if (findString(startSearchView, string, options)) {
[[self window] makeFirstResponder:startSearchView];
return YES;
}
@@ -4496,21 +4524,18 @@ static NSAppleEventDescriptor* aeDescFromJSValue(ExecState* exec, JSValue jsValu
if (view && ![view conformsToProtocol:@protocol(WebMultipleTextMatches)])
return NO;
- frame = incrementFrame(frame, YES, NO);
+ frame = incrementFrame(frame);
} while (frame);
return YES;
}
-- (NSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(NSUInteger)limit
+- (NSUInteger)countMatchesForText:(NSString *)string options:(WebFindOptions)options highlight:(BOOL)highlight limit:(NSUInteger)limit markMatches:(BOOL)markMatches
{
- if (_private->closed)
- return 0;
-
- return [self countMatchesForText:string caseSensitive:caseFlag highlight:highlight limit:limit markMatches:YES];
+ return [self countMatchesForText:string inDOMRange:nil options:options highlight:highlight limit:limit markMatches:markMatches];
}
-- (NSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(NSUInteger)limit markMatches:(BOOL)markMatches
+- (NSUInteger)countMatchesForText:(NSString *)string inDOMRange:(DOMRange *)range options:(WebFindOptions)options highlight:(BOOL)highlight limit:(NSUInteger)limit markMatches:(BOOL)markMatches
{
if (_private->closed)
return 0;
@@ -4524,14 +4549,14 @@ static NSAppleEventDescriptor* aeDescFromJSValue(ExecState* exec, JSValue jsValu
[(NSView <WebMultipleTextMatches>*)view setMarkedTextMatchesAreHighlighted:highlight];
ASSERT(limit == 0 || matchCount < limit);
- matchCount += [(NSView <WebMultipleTextMatches>*)view countMatchesForText:string caseSensitive:caseFlag limit:limit == 0 ? 0 : limit - matchCount markMatches:markMatches];
+ matchCount += [(NSView <WebMultipleTextMatches>*)view countMatchesForText:string inDOMRange:range options:options limit:(limit == 0 ? 0 : limit - matchCount) markMatches:markMatches];
// Stop looking if we've reached the limit. A limit of 0 means no limit.
if (limit > 0 && matchCount >= limit)
break;
}
- frame = incrementFrame(frame, YES, NO);
+ frame = incrementFrame(frame);
} while (frame);
return matchCount;
@@ -4548,7 +4573,7 @@ static NSAppleEventDescriptor* aeDescFromJSValue(ExecState* exec, JSValue jsValu
if ([view conformsToProtocol:@protocol(WebMultipleTextMatches)])
[(NSView <WebMultipleTextMatches>*)view unmarkAllTextMatches];
- frame = incrementFrame(frame, YES, NO);
+ frame = incrementFrame(frame);
} while (frame);
}
@@ -4586,7 +4611,7 @@ static NSAppleEventDescriptor* aeDescFromJSValue(ExecState* exec, JSValue jsValu
[pool drain];
}
- frame = incrementFrame(frame, YES, NO);
+ frame = incrementFrame(frame);
} while (frame);
return result;
@@ -6003,6 +6028,42 @@ static void layerSyncRunLoopObserverCallBack(CFRunLoopObserverRef, CFRunLoopActi
#endif
+#if ENABLE(FULLSCREEN_API)
+- (BOOL)_supportsFullScreenForElement:(const WebCore::Element*)element
+{
+ if (![[WebPreferences standardPreferences] fullScreenEnabled])
+ return NO;
+
+ // FIXME: If the element is in an IFrame, we should ensure it has
+ // an AllowsFullScreen=YES attribute before allowing fullscreen access.
+ return YES;
+}
+
+- (void)_enterFullScreenForElement:(WebCore::Element*)element
+{
+ if (!_private->newFullscreenController)
+ _private->newFullscreenController = [[WebFullScreenController alloc] init];
+
+ [_private->newFullscreenController setElement:element];
+ [_private->newFullscreenController setWebView:self];
+ [_private->newFullscreenController enterFullscreen:[[self window] screen]];
+}
+
+- (void)_exitFullScreenForElement:(WebCore::Element*)element
+{
+ if (!_private->newFullscreenController)
+ return;
+ [_private->newFullscreenController exitFullscreen];
+}
+
+- (void)_fullScreenRendererChanged:(WebCore::RenderBox*)renderer
+{
+ if (!_private->newFullscreenController)
+ _private->newFullscreenController = [[WebFullScreenController alloc] init];
+ [_private->newFullscreenController setRenderer:renderer];
+}
+#endif
+
#if ENABLE(GLIB_SUPPORT)
static void glibContextIterationCallback(CFRunLoopObserverRef, CFRunLoopActivity, void*)
diff --git a/WebKit/mac/WebView/WebViewData.h b/WebKit/mac/WebView/WebViewData.h
index 8b834ca..97d0fc3 100644
--- a/WebKit/mac/WebView/WebViewData.h
+++ b/WebKit/mac/WebView/WebViewData.h
@@ -49,6 +49,9 @@ namespace WebCore {
#if ENABLE(VIDEO)
@class WebVideoFullscreenController;
#endif
+#if ENABLE(FULLSCREEN_API)
+@class WebFullScreenController;
+#endif
extern BOOL applicationIsTerminating;
extern int pluginDatabaseClientCount;
@@ -171,6 +174,10 @@ extern int pluginDatabaseClientCount;
#if ENABLE(VIDEO)
WebVideoFullscreenController *fullscreenController;
#endif
+
+#if ENABLE(FULLSCREEN_API)
+ WebFullScreenController *newFullscreenController;
+#endif
#if ENABLE(GLIB_SUPPORT)
CFRunLoopObserverRef glibRunLoopObserver;
diff --git a/WebKit/mac/WebView/WebViewInternal.h b/WebKit/mac/WebView/WebViewInternal.h
index 0a6f462..555c4d1 100644
--- a/WebKit/mac/WebView/WebViewInternal.h
+++ b/WebKit/mac/WebView/WebViewInternal.h
@@ -39,10 +39,12 @@
#include <wtf/Forward.h>
namespace WebCore {
+ class Element;
class Frame;
class KURL;
class KeyboardEvent;
class Page;
+ class RenderBox;
class Node;
}
#endif
@@ -185,6 +187,13 @@ namespace WebCore {
- (void)_exitFullscreen;
#endif
+#if ENABLE(FULLSCREEN_API) && defined(__cplusplus)
+- (BOOL)_supportsFullScreenForElement:(WebCore::Element*)element;
+- (void)_enterFullScreenForElement:(WebCore::Element*)element;
+- (void)_exitFullScreenForElement:(WebCore::Element*)element;
+- (void)_fullScreenRendererChanged:(WebCore::RenderBox*)renderer;
+#endif
+
- (JSValueRef)_computedStyleIncludingVisitedInfo:(JSContextRef)context forElement:(JSValueRef)value;
@end
diff --git a/WebKit/mac/WebView/WebViewPrivate.h b/WebKit/mac/WebView/WebViewPrivate.h
index af594d9..67ee63a 100644
--- a/WebKit/mac/WebView/WebViewPrivate.h
+++ b/WebKit/mac/WebView/WebViewPrivate.h
@@ -70,7 +70,7 @@ extern NSString *WebElementIsContentEditableKey; // NSNumber indicating whether
extern NSString *WebElementMediaURLKey; // NSURL of the media element
// other WebElementDictionary keys
-extern NSString *WebElementLinkIsLiveKey; // NSNumber of BOOL indictating whether the link is live or not
+extern NSString *WebElementLinkIsLiveKey; // NSNumber of BOOL indicating whether the link is live or not
extern NSString *WebElementIsInScrollBarKey;
// One of the subviews of the WebView entered compositing mode.
@@ -96,6 +96,16 @@ typedef enum {
WebInjectInTopFrameOnly
} WebUserContentInjectedFrames;
+enum {
+ WebFindOptionsCaseInsensitive = 1 << 0,
+ WebFindOptionsAtWordStarts = 1 << 1,
+ WebFindOptionsTreatMedialCapitalAsWordStart = 1 << 2,
+ WebFindOptionsBackwards = 1 << 3,
+ WebFindOptionsWrapAround = 1 << 4,
+ WebFindOptionsStartInSelection = 1 << 5
+};
+typedef NSUInteger WebFindOptions;
+
@interface WebController : NSTreeController {
IBOutlet WebView *webView;
}
@@ -114,18 +124,7 @@ typedef enum {
- (void)scheduleInRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode;
- (void)unscheduleFromRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode;
-/*!
-@method searchFor:direction:caseSensitive:wrap:startInSelection:
- @abstract Searches a document view for a string and highlights the string if it is found.
- Starts the search from the current selection. Will search across all frames.
- @param string The string to search for.
- @param forward YES to search forward, NO to seach backwards.
- @param caseFlag YES to for case-sensitive search, NO for case-insensitive search.
- @param wrapFlag YES to wrap around, NO to avoid wrapping.
- @param startInSelection YES to begin search in the selected text (useful for incremental searching), NO to begin search after the selected text.
- @result YES if found, NO if not found.
- */
-- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag startInSelection:(BOOL)startInSelection;
+- (BOOL)findString:(NSString *)string options:(WebFindOptions)options;
- (void)setMainFrameDocumentReady:(BOOL)mainFrameDocumentReady;
@@ -182,8 +181,8 @@ typedef enum {
// whether or not they implement the protocol. For now we'll just deal with HTML.
// These methods are still in flux; don't rely on them yet.
- (BOOL)canMarkAllTextMatches;
-- (WebNSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(WebNSUInteger)limit;
-- (WebNSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(WebNSUInteger)limit markMatches:(BOOL)markMatches;
+- (WebNSUInteger)countMatchesForText:(NSString *)string options:(WebFindOptions)options highlight:(BOOL)highlight limit:(WebNSUInteger)limit markMatches:(BOOL)markMatches;
+- (WebNSUInteger)countMatchesForText:(NSString *)string inDOMRange:(DOMRange *)range options:(WebFindOptions)options highlight:(BOOL)highlight limit:(WebNSUInteger)limit markMatches:(BOOL)markMatches;
- (void)unmarkAllTextMatches;
- (NSArray *)rectsForTextMatches;
@@ -525,6 +524,9 @@ Could be worth adding to the API.
+ (void)_removeUserStyleSheetsFromGroup:(NSString *)groupName world:(WebScriptWorld *)world;
+ (void)_removeAllUserContentFromGroup:(NSString *)groupName;
+// SPI for DumpRenderTree
++ (void)_setLoadResourcesSerially:(BOOL)serialize;
+
/*!
@method cssAnimationsSuspended
@abstract Returns whether or not CSS Animations are suspended.
@@ -545,6 +547,24 @@ Could be worth adding to the API.
- (void)_scaleWebView:(float)scale atOrigin:(NSPoint)origin;
- (float)_viewScaleFactor;
+// Deprecated. Use the methods in pending public above instead.
+- (WebNSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(WebNSUInteger)limit;
+- (WebNSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(WebNSUInteger)limit markMatches:(BOOL)markMatches;
+
+/*!
+ @method searchFor:direction:caseSensitive:wrap:startInSelection:
+ @abstract Searches a document view for a string and highlights the string if it is found.
+ Starts the search from the current selection. Will search across all frames.
+ @param string The string to search for.
+ @param forward YES to search forward, NO to seach backwards.
+ @param caseFlag YES to for case-sensitive search, NO for case-insensitive search.
+ @param wrapFlag YES to wrap around, NO to avoid wrapping.
+ @param startInSelection YES to begin search in the selected text (useful for incremental searching), NO to begin search after the selected text.
+ @result YES if found, NO if not found.
+ */
+// Deprecated. Use findString.
+- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag startInSelection:(BOOL)startInSelection;
+
@end
@interface WebView (WebViewPrintingPrivate)
diff --git a/WebKit/qt/Api/qgraphicswebview.cpp b/WebKit/qt/Api/qgraphicswebview.cpp
index c8438f3..9697c20 100644
--- a/WebKit/qt/Api/qgraphicswebview.cpp
+++ b/WebKit/qt/Api/qgraphicswebview.cpp
@@ -80,8 +80,13 @@ public:
{
if (!page || !page->d->client)
return 0;
- return static_cast<PageClientQGraphicsWidget*>(page->d->client)->overlay;
+ return pageClient()->overlay;
}
+
+ PageClientQGraphicsWidget* pageClient() const
+ {
+ return static_cast<WebCore::PageClientQGraphicsWidget*> (page->d->client.get());
+ }
};
QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate()
@@ -92,7 +97,7 @@ QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate()
void QGraphicsWebViewPrivate::syncLayers()
{
#if USE(ACCELERATED_COMPOSITING)
- static_cast<PageClientQGraphicsWidget*>(page->d->client)->syncLayers();
+ pageClient()->syncLayers();
#endif
}
@@ -128,7 +133,7 @@ void QGraphicsWebViewPrivate::_q_pageDestroyed()
void QGraphicsWebViewPrivate::updateResizesToContentsForPage()
{
ASSERT(page);
- static_cast<PageClientQGraphicsWidget*>(page->d->client)->viewResizesToContents = resizesToContents;
+ pageClient()->viewResizesToContents = resizesToContents;
if (resizesToContents) {
// resizes to contents mode requires preferred contents size to be set
if (!page->preferredContentsSize().isValid())
@@ -156,7 +161,7 @@ void QGraphicsWebViewPrivate::_q_scaleChanged()
#if ENABLE(TILED_BACKING_STORE)
if (!page)
return;
- static_cast<PageClientQGraphicsWidget*>(page->d->client)->updateTiledBackingStoreScale();
+ pageClient()->updateTiledBackingStoreScale();
#endif
}
@@ -414,9 +419,6 @@ void QGraphicsWebViewPrivate::detachCurrentPage()
return;
page->d->view.clear();
-
- // The client has always to be deleted.
- delete page->d->client;
page->d->client = 0;
// if the page was created by us, we own it and need to
diff --git a/WebKit/qt/Api/qwebframe.cpp b/WebKit/qt/Api/qwebframe.cpp
index eb7a85f..701cfe0 100644
--- a/WebKit/qt/Api/qwebframe.cpp
+++ b/WebKit/qt/Api/qwebframe.cpp
@@ -201,6 +201,21 @@ void QWEBKIT_EXPORT qtwebkit_webframe_scrollRecursively(QWebFrame* qFrame, int d
} while (qFrame);
}
+static inline ResourceRequestCachePolicy cacheLoadControlToCachePolicy(uint cacheLoadControl)
+{
+ switch (cacheLoadControl) {
+ case QNetworkRequest::AlwaysNetwork:
+ return WebCore::ReloadIgnoringCacheData;
+ case QNetworkRequest::PreferCache:
+ return WebCore::ReturnCacheDataElseLoad;
+ case QNetworkRequest::AlwaysCache:
+ return WebCore::ReturnCacheDataDontLoad;
+ default:
+ break;
+ }
+ return WebCore::UseProtocolCachePolicy;
+}
+
QWebFrameData::QWebFrameData(WebCore::Page* parentPage, WebCore::Frame* parentFrame,
WebCore::HTMLFrameOwnerElement* ownerFrameElement,
const WTF::String& frameName)
@@ -409,6 +424,34 @@ void QWebFramePrivate::renderRelativeCoords(GraphicsContext* context, QWebFrame:
}
}
+void QWebFrame::orientationChanged()
+{
+#if ENABLE(ORIENTATION_EVENTS) && ENABLE(DEVICE_ORIENTATION)
+ int orientation;
+ WebCore::Frame* frame = QWebFramePrivate::core(this);
+
+ switch (d->m_orientation.reading()->orientation()) {
+ case QtMobility::QOrientationReading::TopUp:
+ orientation = 0;
+ break;
+ case QtMobility::QOrientationReading::TopDown:
+ orientation = 180;
+ break;
+ case QtMobility::QOrientationReading::LeftUp:
+ orientation = -90;
+ break;
+ case QtMobility::QOrientationReading::RightUp:
+ orientation = 90;
+ break;
+ case QtMobility::QOrientationReading::FaceUp:
+ case QtMobility::QOrientationReading::FaceDown:
+ // WebCore unable to handle it
+ default:
+ return;
+ }
+ frame->sendOrientationChangeEvent(orientation);
+#endif
+}
/*!
\class QWebFrame
\since 4.4
@@ -483,6 +526,10 @@ QWebFrame::QWebFrame(QWebPage *parent, QWebFrameData *frameData)
WebCore::ResourceRequest request(frameData->url, frameData->referrer);
d->frame->loader()->load(request, frameData->name, false);
}
+#if ENABLE(ORIENTATION_EVENTS) && ENABLE(DEVICE_ORIENTATION)
+ connect(&d->m_orientation, SIGNAL(readingChanged()), this, SLOT(orientationChanged()));
+ d->m_orientation.start();
+#endif
}
QWebFrame::QWebFrame(QWebFrame *parent, QWebFrameData *frameData)
@@ -491,6 +538,10 @@ QWebFrame::QWebFrame(QWebFrame *parent, QWebFrameData *frameData)
{
d->page = parent->d->page;
d->init(this, frameData);
+#if ENABLE(ORIENTATION_EVENTS) && ENABLE(DEVICE_ORIENTATION)
+ connect(&d->m_orientation, SIGNAL(readingChanged()), this, SLOT(orientationChanged()));
+ d->m_orientation.start();
+#endif
}
QWebFrame::~QWebFrame()
@@ -837,11 +888,24 @@ void QWebFrame::load(const QNetworkRequest &req,
case QNetworkAccessManager::DeleteOperation:
request.setHTTPMethod("DELETE");
break;
+#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)
+ case QNetworkAccessManager::CustomOperation:
+ request.setHTTPMethod(req.attribute(QNetworkRequest::CustomVerbAttribute).toByteArray().constData());
+ break;
+#endif
case QNetworkAccessManager::UnknownOperation:
// eh?
break;
}
+ QVariant cacheLoad = req.attribute(QNetworkRequest::CacheLoadControlAttribute);
+ if (cacheLoad.isValid()) {
+ bool ok;
+ uint cacheLoadValue = cacheLoad.toUInt(&ok);
+ if (ok)
+ request.setCachePolicy(cacheLoadControlToCachePolicy(cacheLoadValue));
+ }
+
QList<QByteArray> httpHeaders = req.rawHeaderList();
for (int i = 0; i < httpHeaders.size(); ++i) {
const QByteArray &headerName = httpHeaders.at(i);
diff --git a/WebKit/qt/Api/qwebframe.h b/WebKit/qt/Api/qwebframe.h
index a598a56..8410962 100644
--- a/WebKit/qt/Api/qwebframe.h
+++ b/WebKit/qt/Api/qwebframe.h
@@ -205,6 +205,9 @@ public Q_SLOTS:
void print(QPrinter *printer) const;
#endif
+private Q_SLOTS:
+ void orientationChanged();
+
Q_SIGNALS:
void javaScriptWindowObjectCleared();
diff --git a/WebKit/qt/Api/qwebframe_p.h b/WebKit/qt/Api/qwebframe_p.h
index 1af1c95..ee8c463 100644
--- a/WebKit/qt/Api/qwebframe_p.h
+++ b/WebKit/qt/Api/qwebframe_p.h
@@ -28,6 +28,9 @@
#include "GraphicsContext.h"
#include "KURL.h"
#include "PlatformString.h"
+#if ENABLE(ORIENTATION_EVENTS) && ENABLE(DEVICE_ORIENTATION)
+#include "qorientationsensor.h"
+#endif
#include "qwebelement.h"
#include "wtf/RefPtr.h"
#include "Frame.h"
@@ -37,6 +40,7 @@
#include "texmap/TextureMapper.h"
#endif
+
namespace WebCore {
class FrameLoaderClientQt;
class FrameView;
@@ -114,6 +118,10 @@ public:
WebCore::TextureMapperContentLayer* rootGraphicsLayer;
OwnPtr<WebCore::TextureMapper> textureMapper;
#endif
+
+#if ENABLE(ORIENTATION_EVENTS) && ENABLE(DEVICE_ORIENTATION)
+ QtMobility::QOrientationSensor m_orientation;
+#endif
};
class QWebHitTestResultPrivate {
diff --git a/WebKit/qt/Api/qwebkitglobal.h b/WebKit/qt/Api/qwebkitglobal.h
index a6be571..7ee56de 100644
--- a/WebKit/qt/Api/qwebkitglobal.h
+++ b/WebKit/qt/Api/qwebkitglobal.h
@@ -29,7 +29,7 @@
#define QTWEBKIT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch))
#if defined(QT_MAKEDLL) /* create a Qt DLL library */
-# if defined(BUILD_WEBKIT)
+# if defined(BUILDING_WEBKIT)
# define QWEBKIT_EXPORT Q_DECL_EXPORT
# else
# define QWEBKIT_EXPORT Q_DECL_IMPORT
diff --git a/WebKit/qt/Api/qwebkitplatformplugin.h b/WebKit/qt/Api/qwebkitplatformplugin.h
index 2ceaac1..b8cc984 100644
--- a/WebKit/qt/Api/qwebkitplatformplugin.h
+++ b/WebKit/qt/Api/qwebkitplatformplugin.h
@@ -131,6 +131,8 @@ public:
virtual QObject* createExtension(Extension extension) const = 0;
};
+QT_BEGIN_NAMESPACE
Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "com.nokia.Qt.WebKit.PlatformPlugin/1.6");
+QT_END_NAMESPACE
#endif // QWEBKITPLATFORMPLUGIN_H
diff --git a/WebKit/qt/Api/qwebpage.cpp b/WebKit/qt/Api/qwebpage.cpp
index 030923f..eab514b 100644
--- a/WebKit/qt/Api/qwebpage.cpp
+++ b/WebKit/qt/Api/qwebpage.cpp
@@ -418,6 +418,7 @@ static QWebPage::WebAction webActionForContextMenuAction(WebCore::ContextMenuAct
case WebCore::ContextMenuItemTagBold: return QWebPage::ToggleBold;
case WebCore::ContextMenuItemTagItalic: return QWebPage::ToggleItalic;
case WebCore::ContextMenuItemTagUnderline: return QWebPage::ToggleUnderline;
+ case WebCore::ContextMenuItemTagSelectAll: return QWebPage::SelectAll;
#if ENABLE(INSPECTOR)
case WebCore::ContextMenuItemTagInspectElement: return QWebPage::InspectElement;
#endif
@@ -443,7 +444,7 @@ QMenu *QWebPagePrivate::createContextMenu(const WebCore::ContextMenu *webcoreMen
QAction *a = q->action(action);
if (a) {
ContextMenuItem it(item);
- webcoreMenu->checkOrEnableIfNeeded(it);
+ page->contextMenuController()->checkOrEnableIfNeeded(it);
PlatformMenuItemDescription desc = it.releasePlatformDescription();
a->setEnabled(desc.enabled);
a->setChecked(desc.checked);
@@ -759,10 +760,10 @@ void QWebPagePrivate::mouseReleaseEvent(T *ev)
ev->setAccepted(accepted);
handleClipboard(ev, ev->button());
- handleSoftwareInputPanel(ev->button());
+ handleSoftwareInputPanel(ev->button(), QPointF(ev->pos()).toPoint());
}
-void QWebPagePrivate::handleSoftwareInputPanel(Qt::MouseButton button)
+void QWebPagePrivate::handleSoftwareInputPanel(Qt::MouseButton button, const QPoint& pos)
{
Frame* frame = page->focusController()->focusedFrame();
if (!frame)
@@ -774,8 +775,11 @@ void QWebPagePrivate::handleSoftwareInputPanel(Qt::MouseButton button)
QStyle::RequestSoftwareInputPanel behavior = QStyle::RequestSoftwareInputPanel(
client->ownerWidget()->style()->styleHint(QStyle::SH_RequestSoftwareInputPanel));
if (!clickCausedFocus || behavior == QStyle::RSIP_OnMouseClick) {
- QEvent event(QEvent::RequestSoftwareInputPanel);
- QApplication::sendEvent(client->ownerWidget(), &event);
+ HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(frame->view()->windowToContents(pos), false);
+ if (result.isContentEditable()) {
+ QEvent event(QEvent::RequestSoftwareInputPanel);
+ QApplication::sendEvent(client->ownerWidget(), &event);
+ }
}
}
@@ -1092,10 +1096,15 @@ void QWebPagePrivate::inputMethodEvent(QInputMethodEvent *ev)
setSelectionRange(node, start, start + ev->replacementLength());
// Commit regardless of whether commitString is empty, to get rid of selection.
editor->confirmComposition(ev->commitString());
- } else if (!ev->commitString().isEmpty())
- editor->confirmComposition(ev->commitString());
- else if (!hasSelection && !ev->preeditString().isEmpty())
+ } else if (!ev->commitString().isEmpty()) {
+ if (editor->hasComposition())
+ editor->confirmComposition(ev->commitString());
+ else
+ editor->insertText(ev->commitString(), 0);
+ } else if (!hasSelection && !ev->preeditString().isEmpty())
editor->setComposition(ev->preeditString(), underlines, 0, 0);
+ else if (ev->preeditString().isEmpty() && editor->hasComposition())
+ editor->confirmComposition(String());
ev->accept();
}
@@ -2008,7 +2017,7 @@ void QWebPage::setView(QWidget* view)
if (d->client) {
if (d->client->isQWidgetClient())
- static_cast<PageClientQWidget*>(d->client)->view = view;
+ static_cast<PageClientQWidget*>(d->client.get())->view = view;
return;
}
@@ -2244,8 +2253,8 @@ bool QWebPage::supportsContentType(const QString& mimeType) const
static WebCore::FrameLoadRequest frameLoadRequest(const QUrl &url, WebCore::Frame *frame)
{
- WebCore::ResourceRequest rr(url, frame->loader()->outgoingReferrer());
- return WebCore::FrameLoadRequest(rr);
+ return WebCore::FrameLoadRequest(frame->document()->securityOrigin(),
+ WebCore::ResourceRequest(url, frame->loader()->outgoingReferrer()));
}
static void openNewWindow(const QUrl& url, WebCore::Frame* frame)
@@ -2621,12 +2630,27 @@ bool QWebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &
}
/*!
+ \property QWebPage::hasSelection
+ \brief whether this page contains selected content or not.
+
+ \sa selectionChanged()
+*/
+bool QWebPage::hasSelection() const
+{
+ d->createMainFrame();
+ WebCore::Frame* frame = d->page->focusController()->focusedOrMainFrame();
+ if (frame)
+ return (frame->selection()->selection().selectionType() != VisibleSelection::NoSelection);
+ return false;
+}
+
+/*!
\property QWebPage::selectedText
\brief the text currently selected
By default, this property contains an empty string.
- \sa selectionChanged()
+ \sa selectionChanged(), selectedHtml()
*/
QString QWebPage::selectedText() const
{
@@ -2637,6 +2661,21 @@ QString QWebPage::selectedText() const
return frame->editor()->selectedText();
}
+/*!
+ \since 4.8
+ \property QWebPage::selectedHtml
+ \brief the HTML currently selected
+
+ By default, this property contains an empty string.
+
+ \sa selectionChanged(), selectedText()
+*/
+QString QWebPage::selectedHtml() const
+{
+ d->createMainFrame();
+ return d->page->focusController()->focusedOrMainFrame()->editor()->selectedRange()->toHTML();
+}
+
#ifndef QT_NO_ACTION
/*!
Returns a QAction for the specified WebAction \a action.
@@ -2714,6 +2753,9 @@ QAction *QWebPage::action(WebAction action) const
case Paste:
text = contextMenuItemTagPaste();
break;
+ case SelectAll:
+ text = contextMenuItemTagSelectAll();
+ break;
#ifndef QT_NO_UNDOSTACK
case Undo: {
QAction *a = undoStack()->createUndoAction(d->q);
@@ -2762,9 +2804,6 @@ QAction *QWebPage::action(WebAction action) const
case MoveToEndOfDocument:
text = tr("Move the cursor to the end of the document");
break;
- case SelectAll:
- text = tr("Select all");
- break;
case SelectNextChar:
text = tr("Select to the next character");
break;
@@ -3209,12 +3248,13 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos)
d->hitTestResult = QWebHitTestResult();
else
d->hitTestResult = QWebHitTestResult(new QWebHitTestResultPrivate(result));
- WebCore::ContextMenu menu(result);
- menu.populate();
+
+ d->page->contextMenuController()->setHitTestResult(result);
+ d->page->contextMenuController()->populate();
#if ENABLE(INSPECTOR)
if (d->page->inspectorController()->enabled())
- menu.addInspectElementItem();
+ d->page->contextMenuController()->addInspectElementItem();
#endif
QBitArray visitedWebActions(QWebPage::WebActionCount);
@@ -3223,7 +3263,7 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos)
delete d->currentContextMenu;
// Then we let createContextMenu() enable the actions that are put into the menu
- d->currentContextMenu = d->createContextMenu(&menu, menu.platformDescription(), &visitedWebActions);
+ d->currentContextMenu = d->createContextMenu(d->page->contextMenuController()->contextMenu(), d->page->contextMenuController()->contextMenu()->platformDescription(), &visitedWebActions);
#endif // QT_NO_CONTEXTMENU
#ifndef QT_NO_ACTION
@@ -4120,6 +4160,13 @@ quint64 QWebPage::bytesReceived() const
\sa QWebDatabase
*/
+/*!
+ \fn void QWebPage::applicationCacheQuotaExceeded(QWebSecurityOrigin* origin, quint64 defaultOriginQuota);
+
+ This signal is emitted whenever the web site is asking to store data to the application cache
+ database databaseName and the quota allocated to that web site is exceeded.
+
+*/
/*!
\since 4.5
diff --git a/WebKit/qt/Api/qwebpage.h b/WebKit/qt/Api/qwebpage.h
index f1f5d24..b66adb2 100644
--- a/WebKit/qt/Api/qwebpage.h
+++ b/WebKit/qt/Api/qwebpage.h
@@ -48,6 +48,7 @@ class QWebHitTestResult;
class QWebNetworkInterface;
class QWebPagePrivate;
class QWebPluginFactory;
+class QWebSecurityOrigin;
class QtViewportAttributesPrivate;
namespace WebCore {
@@ -71,6 +72,8 @@ class QWEBKIT_EXPORT QWebPage : public QObject {
Q_PROPERTY(bool modified READ isModified)
Q_PROPERTY(QString selectedText READ selectedText)
+ Q_PROPERTY(QString selectedHtml READ selectedHtml)
+ Q_PROPERTY(bool hasSelection READ hasSelection)
Q_PROPERTY(QSize viewportSize READ viewportSize WRITE setViewportSize)
Q_PROPERTY(QSize preferredContentsSize READ preferredContentsSize WRITE setPreferredContentsSize)
Q_PROPERTY(bool forwardUnsupportedContent READ forwardUnsupportedContent WRITE setForwardUnsupportedContent)
@@ -267,7 +270,9 @@ public:
quint64 totalBytes() const;
quint64 bytesReceived() const;
+ bool hasSelection() const;
QString selectedText() const;
+ QString selectedHtml() const;
#ifndef QT_NO_ACTION
QAction *action(WebAction action) const;
@@ -387,6 +392,7 @@ Q_SIGNALS:
void microFocusChanged();
void contentsChanged();
void databaseQuotaExceeded(QWebFrame* frame, QString databaseName);
+ void applicationCacheQuotaExceeded(QWebSecurityOrigin* origin, quint64 defaultOriginQuota);
void saveFrameStateRequested(QWebFrame* frame, QWebHistoryItem* item);
void restoreFrameStateRequested(QWebFrame* frame);
diff --git a/WebKit/qt/Api/qwebpage_p.h b/WebKit/qt/Api/qwebpage_p.h
index 624ff99..dc6da7e 100644
--- a/WebKit/qt/Api/qwebpage_p.h
+++ b/WebKit/qt/Api/qwebpage_p.h
@@ -35,6 +35,7 @@
#include "KURL.h"
#include "PlatformString.h"
+#include <wtf/OwnPtr.h>
#include <wtf/RefPtr.h>
#include "ViewportArguments.h"
@@ -124,7 +125,7 @@ public:
void shortcutOverrideEvent(QKeyEvent*);
void leaveEvent(QEvent*);
void handleClipboard(QEvent*, Qt::MouseButton);
- void handleSoftwareInputPanel(Qt::MouseButton);
+ void handleSoftwareInputPanel(Qt::MouseButton, const QPoint&);
bool handleScrolling(QKeyEvent*, WebCore::Frame*);
// Returns whether the default action was cancelled in the JS event handler
@@ -160,7 +161,7 @@ public:
QWebPage *q;
WebCore::Page *page;
- QWebPageClient* client;
+ OwnPtr<QWebPageClient> client;
QPointer<QWebFrame> mainFrame;
#ifndef QT_NO_UNDOSTACK
diff --git a/WebKit/qt/Api/qwebsecurityorigin.cpp b/WebKit/qt/Api/qwebsecurityorigin.cpp
index e8c8f33..08e8f69 100644
--- a/WebKit/qt/Api/qwebsecurityorigin.cpp
+++ b/WebKit/qt/Api/qwebsecurityorigin.cpp
@@ -19,14 +19,15 @@
#include "config.h"
#include "qwebsecurityorigin.h"
-#include "qwebsecurityorigin_p.h"
-#include "qwebdatabase.h"
-#include "qwebdatabase_p.h"
+#include "ApplicationCacheStorage.h"
#include "DatabaseTracker.h"
#include "KURL.h"
#include "SchemeRegistry.h"
#include "SecurityOrigin.h"
+#include "qwebdatabase.h"
+#include "qwebdatabase_p.h"
+#include "qwebsecurityorigin_p.h"
#include <QStringList>
using namespace WebCore;
@@ -152,6 +153,12 @@ void QWebSecurityOrigin::setDatabaseQuota(qint64 quota)
#endif
}
+void QWebSecurityOrigin::setApplicationCacheQuota(qint64 quota)
+{
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+ WebCore::cacheStorage().storeUpdatedQuotaForOrigin(d->origin.get(), quota);
+#endif
+}
/*!
Destroys the security origin.
*/
diff --git a/WebKit/qt/Api/qwebsecurityorigin.h b/WebKit/qt/Api/qwebsecurityorigin.h
index 16f8bc1..7328680 100644
--- a/WebKit/qt/Api/qwebsecurityorigin.h
+++ b/WebKit/qt/Api/qwebsecurityorigin.h
@@ -51,6 +51,7 @@ public:
qint64 databaseQuota() const;
void setDatabaseQuota(qint64 quota);
+ void setApplicationCacheQuota(qint64 quota);
QList<QWebDatabase> databases() const;
diff --git a/WebKit/qt/Api/qwebview.cpp b/WebKit/qt/Api/qwebview.cpp
index 64b7a90..f4b23f3 100644
--- a/WebKit/qt/Api/qwebview.cpp
+++ b/WebKit/qt/Api/qwebview.cpp
@@ -39,7 +39,7 @@ public:
QWebViewPrivate(QWebView *view)
: view(view)
, page(0)
- , renderHints(QPainter::TextAntialiasing)
+ , renderHints(QPainter::TextAntialiasing | QPainter::SmoothPixmapTransform)
{
Q_ASSERT(view);
}
@@ -353,9 +353,9 @@ void QWebViewPrivate::detachCurrentPage()
// to destroy it.
if (page->d->client && page->d->client->isQWidgetClient())
- delete page->d->client;
+ page->d->client.clear();
- page->d->client = 0;
+ page->d->client.release();
// if the page was created by us, we own it and need to
// destroy it as well.
@@ -572,12 +572,27 @@ QIcon QWebView::icon() const
}
/*!
+ \property QWebView::hasSelection
+ \brief whether this page contains selected content or not.
+
+ By default, this property is false.
+
+ \sa selectionChanged()
+*/
+bool QWebView::hasSelection() const
+{
+ if (d->page)
+ return d->page->hasSelection();
+ return false;
+}
+
+/*!
\property QWebView::selectedText
\brief the text currently selected
By default, this property contains an empty string.
- \sa findText(), selectionChanged()
+ \sa findText(), selectionChanged(), selectedHtml()
*/
QString QWebView::selectedText() const
{
@@ -586,6 +601,22 @@ QString QWebView::selectedText() const
return QString();
}
+/*!
+ \since 4.8
+ \property QWebView::selectedHtml
+ \brief the HTML currently selected
+
+ By default, this property contains an empty string.
+
+ \sa findText(), selectionChanged(), selectedText()
+*/
+QString QWebView::selectedHtml() const
+{
+ if (d->page)
+ return d->page->selectedHtml();
+ return QString();
+}
+
#ifndef QT_NO_ACTION
/*!
Returns a pointer to a QAction that encapsulates the specified web action \a action.
@@ -713,7 +744,7 @@ qreal QWebView::textSizeMultiplier() const
These hints are used to initialize QPainter before painting the Web page.
- QPainter::TextAntialiasing is enabled by default.
+ QPainter::TextAntialiasing and QPainter::SmoothPixmapTransform are enabled by default.
\note This property is not available on Symbian. However, the getter and
setter functions can still be used directly.
diff --git a/WebKit/qt/Api/qwebview.h b/WebKit/qt/Api/qwebview.h
index 1d651d5..8b28f62 100644
--- a/WebKit/qt/Api/qwebview.h
+++ b/WebKit/qt/Api/qwebview.h
@@ -44,6 +44,8 @@ class QWEBKIT_EXPORT QWebView : public QWidget {
Q_PROPERTY(QUrl url READ url WRITE setUrl)
Q_PROPERTY(QIcon icon READ icon)
Q_PROPERTY(QString selectedText READ selectedText)
+ Q_PROPERTY(QString selectedHtml READ selectedHtml)
+ Q_PROPERTY(bool hasSelection READ hasSelection)
Q_PROPERTY(bool modified READ isModified)
//Q_PROPERTY(Qt::TextInteractionFlags textInteractionFlags READ textInteractionFlags WRITE setTextInteractionFlags)
Q_PROPERTY(qreal textSizeMultiplier READ textSizeMultiplier WRITE setTextSizeMultiplier DESIGNABLE false)
@@ -73,7 +75,9 @@ public:
QUrl url() const;
QIcon icon() const;
+ bool hasSelection() const;
QString selectedText() const;
+ QString selectedHtml() const;
#ifndef QT_NO_ACTION
QAction* pageAction(QWebPage::WebAction action) const;
diff --git a/WebKit/qt/ChangeLog b/WebKit/qt/ChangeLog
index 5c54db2..d59d413 100644
--- a/WebKit/qt/ChangeLog
+++ b/WebKit/qt/ChangeLog
@@ -1,3 +1,739 @@
+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
+
+ Update documentation to reference new location of WebCore.
+
+ * docs/qtwebkit.qdoc:
+
+2011-01-07 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ [Qt] Add selectedHtml function to QWebView
+ https://bugs.webkit.org/show_bug.cgi?id=35028
+
+ Add QWebView::selectedHtml() and QWebPage::selectedHtml()
+ which return the current selection range's HTML representation.
+
+ * Api/qwebpage.cpp:
+ (QWebPage::selectedHtml):
+ * Api/qwebpage.h:
+ * Api/qwebview.cpp:
+ (QWebView::selectedText):
+ (QWebView::selectedHtml):
+ * Api/qwebview.h:
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::cursorMovements):
+ (tst_QWebPage::textSelection):
+ (tst_QWebPage::crashTests_LazyInitializationOfMainFrame):
+ (tst_QWebPage::findText):
+
+2011-01-06 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] Introduce QDRTNode for passing WebCore::Node across JS bridge
+
+ This allows LayoutTestController to pass WebCore::Node back to
+ layout tests.
+
+ Also amend nodesFromRect-links-and-text.html and
+ nodesFromRect-inner-documents.html so that they do not produce
+ platform-specific results.
+
+ Unskip:
+ fast/dom/nodesFromRect-links-and-text.html
+ fast/dom/nodesFromRect-inner-documents.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=48957
+
+ * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
+ (QDRTNode::QDRTNode):
+ (QDRTNode::~QDRTNode):
+ (DumpRenderTreeSupportQt::nodesFromRect):
+ * WebCoreSupport/DumpRenderTreeSupportQt.h:
+
+2011-01-04 Girish Ramakrishnan <girish@forwardbias.in>
+
+ Reviewed by Simon Hausmann.
+ Acked by Aaron Kennedy <aaron.kennedy@nokia.com>
+
+ [Qt] QML WebView does not transfer focus to underlying QGraphicsWebView
+
+ QML WebView creates QGraphicsWebView as it's child. The WebView is not
+ setup as a focus proxy of the QGraphicsWebView. Thus, even though the
+ WebView gets focus, the QGraphicsWebView does not get focus.
+ In QML, focus proxies or "focus scopes" are created using FocusScope.
+ This change makes WebView a FocusScope and sets the focus on the
+ QGraphicsWebView.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51094
+
+ * declarative/qdeclarativewebview.cpp:
+ (QDeclarativeWebView::init):
+
+2011-01-05 Yi Shen <yi.4.shen@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Sync qwebkitplatformplugin.h in the plugin example
+ https://bugs.webkit.org/show_bug.cgi?id=51882
+
+ Make examples/platformplugin/qwebkitplatformplugin.h exactly the same
+ as the one in the Api folder.
+
+ * examples/platformplugin/qwebkitplatformplugin.h:
+
+2011-01-04 Zhe Su <suzhe@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ Fix test LayoutTests/fast/events/ime-composition-events-001.html.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51693
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::inputMethodEvent): Calls editor->insertText() to
+ insert the commit string when no composition text is available.
+
+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
+
+ Enable SelectAll for the Qt context menu.
+
+ * Api/qwebpage.cpp:
+ (webActionForContextMenuAction):
+ (QWebPage::action):
+ * WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebPlatformStrategies::contextMenuItemTagSelectAll):
+ * WebCoreSupport/WebPlatformStrategies.h:
+
+2011-01-03 Antonio Gomes <agomes@rim.com>
+
+ Unreviewed crash fix.
+
+ Follow up of r74891: potential crash fix (bogus assertion).
+
+ * WebCoreSupport/EditorClientQt.cpp:
+ (WebCore::editorCommandForKeyDownEvent):
+
+2011-01-03 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] document.getElementById(...) doesn't return the right object in combination with QGraphicsWidget
+ https://bugs.webkit.org/show_bug.cgi?id=51464
+
+ Added a way to bind any QObject created as a plugin to JavaScript,
+ by adding a custom membe to WebCore::Widget.
+ Added a test to make sure plugins created as QGraphicsWidget are
+ accessible through JavaScript.
+
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (PluginPage::createPlugin):
+ (tst_QWebPage::graphicsWidgetPlugin):
+
+2011-01-02 Antonio Gomes <agomes@rim.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Refactor EditorClientQt::handleKeyboardEvent
+ https://bugs.webkit.org/show_bug.cgi?id=51306
+
+ EditorClientQt::handleKeyboardEvent relies on QWebPagePrivate::editorActionForKeyEvent()
+ to handle all editor commands that have a QAction associted with it.
+ In practice, that covers most of editor commands (as one can see in editorCommandWebActions,
+ in qwebpage.cpp). However, there are some key down events that are associated to no QAction
+ or need special handling when features like spatial navigation or
+ caret browsing are enabled. Currently, these cases are being handled with confusing
+ and nested if/else switch's statements in EditorClientQt::handleKeyboardEvent(),
+ and the code is hardly readable.
+
+ This patch introduces a mapping hash for those cases, simplifying much
+ the code. Basically, nested switches statements mixed with if/else's were
+ refactored, and early returns were added right after an event gets consumed
+ by the Editor.
+
+ Since it is a refactor only patch, there is no funcionality change at
+ all, and then no new tests are being added.
+
+ * WebCoreSupport/EditorClientQt.cpp:
+ (WebCore::interpretKeyEvent):
+ (WebCore::EditorClientQt::handleKeyboardEvent):
+
+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
+
+ * WebKit_pch.h:
+ * docs/qtwebkit.qdocconf:
+ - Point to JavaScriptCore in its new location.
+
+2010-12-29 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation with Qt in namespace
+ https://bugs.webkit.org/show_bug.cgi?id=51701
+
+ * Api/qwebkitplatformplugin.h:
+ * WebCoreSupport/InspectorServerQt.h:
+ * tests/hybridPixmap/widget.h:
+
+2010-12-23 Jan Erik Hanssen <jhanssen@sencha.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ [Qt] Composition text is not removed from the editor when composition is cancelled
+ https://bugs.webkit.org/show_bug.cgi?id=29391
+
+ Ensure that the composition text is cleared when an empty QInputMethodEvent
+ is received and the editor is in composition mode.
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::inputMethodEvent):
+
+2010-12-23 Jan Erik Hanssen <jhanssen@sencha.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] copy and paste greek symbols to Word, TextEdit results in ?'s being shown
+ https://bugs.webkit.org/show_bug.cgi?id=35635
+
+ Test that QClipboard contains the charset information and unicode data
+ after copying unicode text.
+
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::macCopyUnicodeToClipboard):
+
+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
+
+ - Add client functions to notify that a frame has been added or
+ removed from the page cache.
+
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::didSaveToPageCache):
+ (WebCore::FrameLoaderClientQt::didRestoreFromPageCache):
+ * WebCoreSupport/FrameLoaderClientQt.h:
+
+2010-12-22 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Editor.h doesn't need to include SelectionController.h
+ https://bugs.webkit.org/show_bug.cgi?id=51441
+
+ Renamed SelectionController::EDirection to SelectionDirection.
+
+ * WebCoreSupport/EditorClientQt.cpp:
+ (WebCore::EditorClientQt::handleKeyboardEvent):
+
+2010-12-23 Dawit Alemayehu <adawit@kde.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add a 'hasSelection' function to QWebView and QWebPage.
+ https://bugs.webkit.org/show_bug.cgi?id=48722
+
+ This is a convenience API that optimizes the case where checking for
+ the presence of selected content and accessing the selected content
+ are two separate actions in the client. See comment #12 in the above
+ bug report link for details.
+
+ * Api/qwebpage.cpp:
+ (QWebPage::hasSelection):
+ * Api/qwebpage.h:
+ * Api/qwebview.cpp:
+ (QWebView::hasSelection):
+ * Api/qwebview.h:
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::textSelection):
+
+2010-12-20 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Improve the readability of FrameLoaderClientQt::createPlugin()
+ https://bugs.webkit.org/show_bug.cgi?id=51330
+
+ Redefine the scopes to improve readability. Objects are now created in
+ the scope they are used in.
+
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::createPlugin):
+
+2010-12-17 Ariya Hidayat <ariya@sencha.com>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] GraphicsContext should respect QWebView render hints
+ https://bugs.webkit.org/show_bug.cgi?id=51208
+
+ Adjust the test since SmoothPixmapTransform is set by default.
+
+ * tests/qwebview/tst_qwebview.cpp:
+ (tst_QWebView::renderHints):
+
+2010-12-05 Antonio Gomes <agomes@rim.com>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Fix caret browsing navigation mode
+ https://bugs.webkit.org/show_bug.cgi?id=50536
+
+ Caret browsing can consume editing commands even when the start
+ of current selection is not a editable content. r69582 missed this
+ case because caret browsing feature testing is very poor today.
+
+ This commit reintroduces part of the removed code in r69582 but
+ guarded by a isCaretBrowsingEnabled() check. No regression found.
+
+ * WebCoreSupport/EditorClientQt.cpp:
+ (WebCore::EditorClientQt::handleKeyboardEvent):
+
+2010-12-17 Yi Shen <yi.4.shen@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] QWebPage sends out a RequestSoftwareInputPanel event
+ incorrectly in particular case
+ https://bugs.webkit.org/show_bug.cgi?id=50419
+
+ Add HitTestResult check before firing RequestSoftwareInputPanel event.
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::mouseReleaseEvent):
+ (QWebPagePrivate::handleSoftwareInputPanel):
+ * Api/qwebpage_p.h:
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (clickOnPage):
+ (tst_QWebPage::inputMethods):
+
+2010-12-17 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, rolling out r74229.
+ http://trac.webkit.org/changeset/74229
+ https://bugs.webkit.org/show_bug.cgi?id=50536
+
+ Broken on Snow Leopard and possibly other platforms
+
+ * WebCoreSupport/EditorClientQt.cpp:
+ (WebCore::EditorClientQt::handleKeyboardEvent):
+
+2010-12-05 Antonio Gomes <agomes@rim.com>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Fix caret browsing navigation mode
+ https://bugs.webkit.org/show_bug.cgi?id=50536
+
+ Caret browsing can consume editing commands even when the start
+ of current selection is not a editable content. r69582 missed this
+ case because caret browsing feature testing is very poor today.
+
+ This commit reintroduces part of the removed code in r69582 but
+ guarded by a isCaretBrowsingEnabled() check. No regression found.
+
+ * WebCoreSupport/EditorClientQt.cpp:
+ (WebCore::EditorClientQt::handleKeyboardEvent):
+
+2010-12-16 Ariya Hidayat <ariya@sencha.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] GraphicsContext should respect QWebView render hints
+ https://bugs.webkit.org/show_bug.cgi?id=51208
+
+ Add some checks to ensure that GraphicsContext (via QWebFrame)
+ does not clobber the render hints.
+
+ * Api/qwebview.cpp:
+ (QWebViewPrivate::QWebViewPrivate):
+ * tests/qwebframe/tst_qwebframe.cpp:
+
+2010-12-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] Fix tst_QWebPage::geolocationRequestJS()
+ https://bugs.webkit.org/show_bug.cgi?id=46814
+
+ Change the test case according to the changes introduced by
+ r72603 and enable the test case.
+
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::geolocationRequestJS):
+
+2010-12-14 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Flash plugins should be windowless on QGraphicsWebView on Symbian
+ Remove #idef SYMBIAN introduced by r69396.
+ https://bugs.webkit.org/show_bug.cgi?id=50487
+
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::createPlugin):
+
+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.
+
+ * WebCoreSupport/EditorClientQt.h:
+ (WebCore::EditorClientQt::requestCheckingOfString):
+
+2010-12-11 Yi Shen <yi.4.shen@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Memory leaks for QWebPageClient
+ https://bugs.webkit.org/show_bug.cgi?id=50267
+
+ Use OwnPtr to solve this memory leak issue.
+
+ * Api/qgraphicswebview.cpp:
+ (QGraphicsWebViewPrivate::overlay):
+ (QGraphicsWebViewPrivate::QWebViewPrivate::pageClient):
+ (QGraphicsWebViewPrivate::syncLayers):
+ (QGraphicsWebViewPrivate::updateResizesToContentsForPage):
+ (QGraphicsWebViewPrivate::_q_scaleChanged):
+ (QGraphicsWebViewPrivate::detachCurrentPage):
+ * Api/qwebpage_p.h:
+ * Api/qwebview.cpp:
+ (QWebViewPrivate::detachCurrentPage):
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::platformPageClient):
+ * WebCoreSupport/EditorClientQt.cpp:
+ (WebCore::EditorClientQt::setInputMethodState):
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::createPlugin):
+
+2010-12-11 Jan Erik Hanssen <jhanssen@sencha.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] QWebFrame does not support QNetworkRequest::CacheLoadControl
+ https://bugs.webkit.org/show_bug.cgi?id=35671
+
+ Make QWebFrame respect the QNetworkRequest::CacheLoadControl attribute
+ set on the request, if any.
+
+ * Api/qwebframe.cpp:
+ (cacheLoadControlToCachePolicy):
+ (QWebFrame::load):
+ * tests/qwebframe/tst_qwebframe.cpp:
+
+2010-10-11 Diego Gonzalez <diegohcg@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Mock DeviceOrientation client for DRT
+ https://bugs.webkit.org/show_bug.cgi?id=47490
+
+ * WebCoreSupport/DeviceOrientationClientMockQt.cpp: Added.
+ (WebCore::DeviceOrientationClientMockQt::client):
+ (WebCore::DeviceOrientationClientMockQt::DeviceOrientationClientMockQt):
+ (WebCore::DeviceOrientationClientMockQt::~DeviceOrientationClientMockQt):
+ (WebCore::DeviceOrientationClientMockQt::setController):
+ (WebCore::DeviceOrientationClientMockQt::startUpdating):
+ (WebCore::DeviceOrientationClientMockQt::stopUpdating):
+ (WebCore::DeviceOrientationClientMockQt::lastOrientation):
+ (WebCore::DeviceOrientationClientMockQt::deviceOrientationControllerDestroyed):
+ (WebCore::DeviceOrientationClientMockQt::setOrientation):
+ * WebCoreSupport/DeviceOrientationClientMockQt.h: Added.
+ * WebCoreSupport/DeviceOrientationClientQt.cpp:
+ * WebCoreSupport/DeviceOrientationProviderQt.cpp:
+ (WebCore::DeviceOrientationProviderQt::DeviceOrientationProviderQt):
+ (WebCore::DeviceOrientationProviderQt::~DeviceOrientationProviderQt):
+ (WebCore::DeviceOrientationProviderQt::changeDeviceOrientation):
+ * WebCoreSupport/DeviceOrientationProviderQt.h:
+ * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
+ (DumpRenderTreeSupportQt::activeMockDeviceOrientationClient):
+ (DumpRenderTreeSupportQt::removeMockDeviceOrientation):
+ (DumpRenderTreeSupportQt::setMockDeviceOrientation):
+ * WebCoreSupport/DumpRenderTreeSupportQt.h:
+
+2010-12-10 Krithigassree Sambamurthy <krithigassree.sambamurthy@nokia.com>
+
+ Reviewed by Joseph Pecoraro.
+
+ Bug 43455 - [Qt]: Implement Application Cache Quotas
+ https://bugs.webkit.org/show_bug.cgi?id=43455
+
+ Added new signal to report ApplicationCache Database
+ quota.
+
+ * Api/qwebpage.cpp:
+ * Api/qwebpage.h:
+
+ Added new functions to accomodate new appcache layout
+ test origin-quota.html.
+
+ * Api/qwebsecurityorigin.cpp:
+ (QWebSecurityOrigin::setApplicationCacheQuota):
+ * Api/qwebsecurityorigin.h:
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::reachedApplicationCacheOriginQuota):
+ * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
+ (DumpRenderTreeSupportQt::clearAllApplicationCaches):
+ * WebCoreSupport/DumpRenderTreeSupportQt.h:
+
+2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Support a QNetworkAccessManager affined to a different thread.
+ https://bugs.webkit.org/show_bug.cgi?id=50080
+
+ This patch introduce thread safe proxy classes for QNetworkAccessManager
+ and QNetworkReply.
+ If run in the same thread, these objects will forward the calls with
+ Qt::DirectConnection bindings, while in the other case they will use
+ Qt::QueuedConnection to carry requests accross threads.
+
+ This patch basically:
+ - Makes sure that all access goes through these objects
+ - Reorders signal connections to make sure we are connected when the
+ signal comes
+ - Makes sure that no QObject in the WebCore thread is a child of the
+ reply which might be in a different thread.
+ - Forward the data directly in QByteArrays in signals instead of collecting
+ the data when the signal is handled.
+
+ New test: tst_QWebPage::networkAccessManagerOnDifferentThread
+
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::download):
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (QtNAMThread::QtNAMThread):
+ (QtNAMThread::~QtNAMThread):
+ (QtNAMThread::networkAccessManager):
+ (QtNAMThread::run):
+ (tst_QWebPage::networkAccessManagerOnDifferentThread):
+
+2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r73635.
+ http://trac.webkit.org/changeset/73635
+ https://bugs.webkit.org/show_bug.cgi?id=50778
+
+ 'Side-effects on 3 css tests needs closer review' (Requested
+ by mwenge on #webkit).
+
+ * Api/qwebsettings.cpp:
+ (graphics):
+ * Api/qwebsettings.h:
+
+2010-12-09 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Search input field doesn't have cancel button
+
+ Add a cancel button to the search field and make it customizable
+ by the client. For now, use the close dialog button associated
+ with the application's style as the default.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42887
+
+ * Api/qwebsettings.cpp:
+ (graphics):
+ * Api/qwebsettings.h:
+
+2010-12-09 Siddharth Mathur <siddharth.mathur@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ Use BUILDING_WEBKIT like other ports
+ https://bugs.webkit.org/show_bug.cgi?id=50713
+
+ * Api/qwebkitglobal.h: change BUILD_WEBKIT to BUILDING_WEBKIT
+
+2010-12-08 Qi Zhang <qi.2.zhang@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Support OrientationChange event
+ https://bugs.webkit.org/show_bug.cgi?id=50685
+
+ Get OrientationChange event from qtmobility then send to webkit.
+
+ * Api/qwebframe.cpp:
+ (QWebFrame::orientationChanged):
+ (QWebFrame::QWebFrame):
+ * Api/qwebframe.h:
+ * Api/qwebframe_p.h:
+
+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.
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::createContextMenu):
+ (QWebPage::updatePositionDependentActions):
+
+2010-12-07 Darin Adler <darin@apple.com>
+
+ Try to fix build.
+
+ * Api/qwebpage.cpp:
+ (frameLoadRequest): Added missing parentheses.
+
+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
+
+ * Api/qwebpage.cpp:
+ (frameLoadRequest): Pass security origin.
+
+2010-12-07 Martin Robinson <mrobinson@igalia.com>
+
+ Unreviewed, rolling out r73392.
+ http://trac.webkit.org/changeset/73392
+ https://bugs.webkit.org/show_bug.cgi?id=50489
+
+ This commit caused crashes on the GTK+ bots
+
+ * Api/qwebframe.cpp:
+ (QWebFrame::setUrl):
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::finishedLoading):
+
+2010-12-06 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Update calls to DocumentWriter.
+ https://bugs.webkit.org/show_bug.cgi?id=50489
+
+ * Api/qwebframe.cpp:
+ (QWebFrame::setUrl):
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::finishedLoading):
+
+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 signature defined in base class.
+
+ * WebCoreSupport/EditorClientQt.cpp:
+ (WebCore::EditorClientQt::getGuessesForWord):
+ * WebCoreSupport/EditorClientQt.h:
+
+2010-11-30 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implement layoutTestController.findString
+ https://bugs.webkit.org/show_bug.cgi?id=50236
+
+ Add support for the new advanced findString().
+
+ * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
+ (DumpRenderTreeSupportQt::findString):
+ * WebCoreSupport/DumpRenderTreeSupportQt.h:
+
+2010-11-30 Ojan Vafai <ojan@chromium.org>
+
+ Revert r72876. It caused a ~30% perf regression in chromium's bloat-http test
+ https://bugs.webkit.org/show_bug.cgi?id=50288
+
+ 2010-11-29 Adam Barth <abarth@webkit.org (:abarth) (r)>
+ Reviewed by Darin Adler.
+ Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
+ https://bugs.webkit.org/show_bug.cgi?id=50182
+ A display-isolated URL can only be displayed (e.g., put in an iframe,
+ hyperlinked to) by documents from that scheme. In a sense, this is a
+ generalization of some of the protections we give file URLs, but
+ instead of lumping them all together into one "local" bucket, this
+ patch creates a separate bucket for each scheme.
+ For a while, I tried using a separate bucket for each origin. That
+ would have played nicely with what Blob URLs are trying to do, but some
+ "chrome" URL pages rely on being able to display other chrome URL
+ pages, even in different origins. For example, the New Tab Page shows
+ thumbnails from the "thumbnail" host.
+ This patch also removes a bunch of unused code. I've also propagated
+ the "deprecated" status of deprecatedCanDisplay to
+ deprecatedShouldTreatURLAsLocal because that method has no other
+ callers and is really asking for uppercase/lowercase bugs. I dream of
+ someday removing these functions.
+ 2010-11-29 Adam Barth <abarth@webkit.org (:abarth) (r)>
+ Reviewed by Darin Adler.
+ Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
+ https://bugs.webkit.org/show_bug.cgi?id=50182
+ This patch adds a Chromium API for registering schemes as
+ display-isolated. In a subsequent patch, I'll change the "chrome"
+ scheme in Chrome to be display isolated instead of local. That will
+ prevent file URLs from linking to chrome URLs.
+
+ * Api/qwebsecurityorigin.cpp:
+ (QWebSecurityOrigin::localSchemes):
+
+2010-11-29 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Provide more fine grained control to ports over when to turn on accelerated
+ compositing.
+ https://bugs.webkit.org/show_bug.cgi?id=49998
+
+ As part of this change, the old hasAcceleratedCompositing method on the ChromeClient
+ has now been replaced by allowedCompositingTriggers which returns a bitfield of
+ all the features which can trigger the compositor.
+
+
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::allowedCompositingTriggers):
+ * WebCoreSupport/ChromeClientQt.h:
+
+2010-11-30 Thiago Macieira <thiago.macieira@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] QWebFrame::load(QNetworkRequest) should respect the CustomVerbAttribute
+
+ For CustomOperation requests, pass the CustomVerbAttribute on to
+ the WebCore::ResourceRequest.
+
+ * Api/qwebframe.cpp:
+ (QWebFrame::load):
+
2010-11-25 Norbert Leser <norbert.leser@nokia.com>
Reviewed by Laszlo Gombos.
diff --git a/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp b/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
index e72ef3e..a26d6e2 100644
--- a/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
@@ -30,6 +30,7 @@
#include "config.h"
#include "ChromeClientQt.h"
+#include "ApplicationCacheStorage.h"
#include "DatabaseTracker.h"
#include "FileChooser.h"
#include "Frame.h"
@@ -73,6 +74,7 @@
#include <qeventloop.h>
#include <qtextdocument.h>
#include <qtooltip.h>
+#include <wtf/OwnPtr.h>
namespace WebCore {
@@ -452,7 +454,7 @@ IntPoint ChromeClientQt::screenToWindow(const IntPoint& point) const
PlatformPageClient ChromeClientQt::platformPageClient() const
{
- return m_webPage->d->client;
+ return m_webPage->d->client.get();
}
void ChromeClientQt::contentsSizeChanged(Frame* frame, const IntSize& size) const
@@ -518,9 +520,18 @@ void ChromeClientQt::reachedMaxAppCacheSize(int64_t)
notImplemented();
}
-void ChromeClientQt::reachedApplicationCacheOriginQuota(SecurityOrigin*)
+void ChromeClientQt::reachedApplicationCacheOriginQuota(SecurityOrigin* origin)
{
- notImplemented();
+ int64_t quota;
+ quint64 defaultOriginQuota = WebCore::cacheStorage().defaultOriginQuota();
+
+ QWebSecurityOriginPrivate* priv = new QWebSecurityOriginPrivate(origin);
+ QWebSecurityOrigin* securityOrigin = new QWebSecurityOrigin(priv);
+
+ if (!WebCore::cacheStorage().quotaForOrigin(origin, quota))
+ WebCore::cacheStorage().storeUpdatedQuotaForOrigin(origin, defaultOriginQuota);
+
+ emit m_webPage->applicationCacheQuotaExceeded(securityOrigin, defaultOriginQuota);
}
#endif
diff --git a/WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.cpp b/WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.cpp
new file mode 100644
index 0000000..81ddaa2
--- /dev/null
+++ b/WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.cpp
@@ -0,0 +1,88 @@
+/*
+ * Copyright (C) 2010 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 "config.h"
+#include "DeviceOrientationClientMockQt.h"
+
+#include "DeviceOrientation.h"
+#include "DeviceOrientationClientMock.h"
+#include "DeviceOrientationController.h"
+
+namespace WebCore {
+
+bool DeviceOrientationClientMockQt::mockIsActive = false;
+
+DeviceOrientationClientMockQt* DeviceOrientationClientMockQt::client()
+{
+ static DeviceOrientationClientMockQt* client = 0;
+ if (!client)
+ client = new DeviceOrientationClientMockQt;
+
+ return client;
+}
+
+DeviceOrientationClientMockQt::DeviceOrientationClientMockQt()
+ : m_clientMock(new DeviceOrientationClientMock())
+{
+ m_orientation = DeviceOrientation::create();
+}
+
+DeviceOrientationClientMockQt::~DeviceOrientationClientMockQt()
+{
+ delete m_clientMock;
+}
+
+void DeviceOrientationClientMockQt::setController(DeviceOrientationController* controller)
+{
+ m_clientMock->setController(m_controller);
+}
+
+void DeviceOrientationClientMockQt::startUpdating()
+{
+ m_clientMock->startUpdating();
+}
+
+void DeviceOrientationClientMockQt::stopUpdating()
+{
+ m_clientMock->stopUpdating();
+}
+
+DeviceOrientation* DeviceOrientationClientMockQt::lastOrientation() const
+{
+ return m_orientation.get();
+}
+
+void DeviceOrientationClientMockQt::deviceOrientationControllerDestroyed()
+{
+ delete this;
+}
+
+void DeviceOrientationClientMockQt::setOrientation(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma)
+{
+ m_orientation = DeviceOrientation::create(canProvideAlpha, alpha,
+ canProvideBeta, beta,
+ canProvideGamma, gamma);
+ m_clientMock->setOrientation(m_orientation);
+
+ emit mockOrientationChanged(m_orientation.get());
+}
+
+} // namespace WebCore
+
+#include "moc_DeviceOrientationClientMockQt.cpp"
diff --git a/WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.h b/WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.h
new file mode 100644
index 0000000..cc5913d
--- /dev/null
+++ b/WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2010 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.
+ *
+ */
+#ifndef DeviceOrientationClientMockQt_h
+#define DeviceOrientationClientMockQt_h
+
+#include "DeviceOrientationClient.h"
+#include "RefPtr.h"
+
+#include <QObject>
+
+namespace WebCore {
+
+class DeviceOrientation;
+class DeviceOrientationClientMock;
+class DeviceOrientationController;
+
+class DeviceOrientationClientMockQt : public QObject, public DeviceOrientationClient {
+ Q_OBJECT
+public:
+ static DeviceOrientationClientMockQt* client();
+ virtual ~DeviceOrientationClientMockQt();
+
+ virtual void setController(DeviceOrientationController*);
+ virtual void startUpdating();
+ virtual void stopUpdating();
+ virtual DeviceOrientation* lastOrientation() const;
+ virtual void deviceOrientationControllerDestroyed();
+ void setOrientation(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma);
+ static bool mockIsActive;
+
+Q_SIGNALS:
+ void mockOrientationChanged(DeviceOrientation*);
+
+private:
+ DeviceOrientationClientMockQt();
+
+ DeviceOrientationClientMock* m_clientMock;
+ DeviceOrientationController* m_controller;
+ RefPtr<DeviceOrientation> m_orientation;
+};
+
+} // namespace WebCore
+
+#endif // DeviceOrientationClientMockQt_h
diff --git a/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp b/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp
index 1d0c6d1..01cbe73 100644
--- a/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp
@@ -20,6 +20,7 @@
#include "config.h"
#include "DeviceOrientationClientQt.h"
+#include "DeviceOrientationClientMockQt.h"
#include "DeviceOrientationController.h"
#include "DeviceOrientationProviderQt.h"
#include "qwebpage.h"
diff --git a/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp b/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp
index 051eba0..a31930d 100644
--- a/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp
+++ b/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp
@@ -20,16 +20,22 @@
#include "config.h"
#include "DeviceOrientationProviderQt.h"
+#include "DeviceOrientationClientMockQt.h"
+
namespace WebCore {
DeviceOrientationProviderQt::DeviceOrientationProviderQt()
{
m_rotation.addFilter(this);
m_orientation = DeviceOrientation::create();
+
+ if (DeviceOrientationClientMockQt::mockIsActive)
+ activeClientMock();
}
DeviceOrientationProviderQt::~DeviceOrientationProviderQt()
{
+ disconnect();
}
void DeviceOrientationProviderQt::start()
@@ -63,6 +69,16 @@ bool DeviceOrientationProviderQt::filter(QRotationReading* reading)
return false;
}
+void DeviceOrientationProviderQt::changeDeviceOrientation(DeviceOrientation* orientation)
+{
+ m_orientation = orientation;
+}
+
+void DeviceOrientationProviderQt::activeClientMock()
+{
+ connect(DeviceOrientationClientMockQt::client(), SIGNAL(mockOrientationChanged(DeviceOrientation*)), SLOT(changeDeviceOrientation(DeviceOrientation*)));
+}
+
}
#include "moc_DeviceOrientationProviderQt.cpp"
diff --git a/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h b/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h
index 86c224e..e87937e 100644
--- a/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h
+++ b/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h
@@ -48,7 +48,12 @@ public:
Q_SIGNALS:
void deviceOrientationChanged(DeviceOrientation*);
+public Q_SLOTS:
+ void changeDeviceOrientation(DeviceOrientation*);
+
private:
+ void activeClientMock();
+
RefPtr<DeviceOrientation> m_orientation;
QRotationSensor m_rotation;
};
diff --git a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
index a5a7270..e958751 100644
--- a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
+++ b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
@@ -23,11 +23,14 @@
#include "config.h"
#include "DumpRenderTreeSupportQt.h"
+#include "ApplicationCacheStorage.h"
#include "CSSComputedStyleDeclaration.h"
#include "ChromeClientQt.h"
#include "ContextMenu.h"
#include "ContextMenuClientQt.h"
#include "ContextMenuController.h"
+#include "DeviceOrientation.h"
+#include "DeviceOrientationClientMockQt.h"
#include "Editor.h"
#include "EditorClientQt.h"
#include "Element.h"
@@ -79,6 +82,27 @@ using namespace WebCore;
QMap<int, QWebScriptWorld*> m_worldMap;
+QDRTNode::QDRTNode()
+ : m_node(0)
+{
+}
+
+QDRTNode::QDRTNode(WebCore::Node* node)
+ : m_node(0)
+{
+ if (node) {
+ m_node = node;
+ m_node->ref();
+ }
+}
+
+QDRTNode::~QDRTNode()
+{
+ if (m_node)
+ m_node->deref();
+}
+
+
DumpRenderTreeSupportQt::DumpRenderTreeSupportQt()
{
}
@@ -437,6 +461,32 @@ bool DumpRenderTreeSupportQt::isCommandEnabled(QWebPage* page, const QString& na
return page->handle()->page->focusController()->focusedOrMainFrame()->editor()->command(name).isEnabled();
}
+bool DumpRenderTreeSupportQt::findString(QWebPage* page, const QString& string, const QStringList& optionArray)
+{
+ // 1. Parse the options from the array
+ WebCore::FindOptions options = 0;
+ const int optionCount = optionArray.size();
+ for (int i = 0; i < optionCount; ++i) {
+ const QString& option = optionArray.at(i);
+ if (option == QLatin1String("CaseInsensitive"))
+ options |= WebCore::CaseInsensitive;
+ else if (option == QLatin1String("AtWordStarts"))
+ options |= WebCore::AtWordStarts;
+ else if (option == QLatin1String("TreatMedialCapitalAsWordStart"))
+ options |= WebCore::TreatMedialCapitalAsWordStart;
+ else if (option == QLatin1String("Backwards"))
+ options |= WebCore::Backwards;
+ else if (option == QLatin1String("WrapAround"))
+ options |= WebCore::WrapAround;
+ else if (option == QLatin1String("StartInSelection"))
+ options |= WebCore::StartInSelection;
+ }
+
+ // 2. find the string
+ WebCore::Frame* frame = page->handle()->page->focusController()->focusedOrMainFrame();
+ return frame && frame->editor()->findString(string, options);
+}
+
QString DumpRenderTreeSupportQt::markerTextForListItem(const QWebElement& listItem)
{
return WebCore::markerTextForListItem(listItem.m_element);
@@ -559,6 +609,14 @@ void DumpRenderTreeSupportQt::setEditingBehavior(QWebPage* page, const QString&
corePage->settings()->setEditingBehaviorType(coreEditingBehavior);
}
+void DumpRenderTreeSupportQt::clearAllApplicationCaches()
+{
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+ WebCore::cacheStorage().empty();
+ WebCore::cacheStorage().vacuumDatabaseFile();
+#endif
+}
+
void DumpRenderTreeSupportQt::dumpFrameLoader(bool b)
{
FrameLoaderClientQt::dumpFrameLoaderCallbacks = b;
@@ -658,6 +716,28 @@ QString DumpRenderTreeSupportQt::viewportAsText(QWebPage* page, const QSize& ava
return res;
}
+void DumpRenderTreeSupportQt::activeMockDeviceOrientationClient(bool b)
+{
+#if ENABLE(DEVICE_ORIENTATION)
+ DeviceOrientationClientMockQt::mockIsActive = b;
+#endif
+}
+
+void DumpRenderTreeSupportQt::removeMockDeviceOrientation()
+{
+#if ENABLE(DEVICE_ORIENTATION)
+ DeviceOrientationClientMockQt* client = DeviceOrientationClientMockQt::client();
+ delete client;
+#endif
+}
+
+void DumpRenderTreeSupportQt::setMockDeviceOrientation(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma)
+{
+#if ENABLE(DEVICE_ORIENTATION)
+ DeviceOrientationClientMockQt::client()->setOrientation(canProvideAlpha, alpha, canProvideBeta, beta, canProvideGamma, gamma);
+#endif
+}
+
void DumpRenderTreeSupportQt::setMockGeolocationPosition(double latitude, double longitude, double accuracy)
{
#if ENABLE(GEOLOCATION)
@@ -795,7 +875,10 @@ QVariantList DumpRenderTreeSupportQt::nodesFromRect(const QWebElement& document,
for (int i = 0; i < nodes->length(); i++) {
QVariant v;
// QWebElement will be null if the Node is not an HTML Element
- v.setValue(QWebElement(nodes->item(i)));
+ if (nodes->item(i)->isHTMLElement())
+ v.setValue(QWebElement(nodes->item(i)));
+ else
+ v.setValue(QDRTNode(nodes->item(i)));
res << v;
}
return res;
diff --git a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
index 82d9319..6917039 100644
--- a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
+++ b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
@@ -26,6 +26,26 @@
#include "qwebkitglobal.h"
#include <QVariant>
+namespace WebCore {
+class Text;
+class Node;
+}
+
+
+#if defined(WTF_USE_V8) && WTF_USE_V8
+namespace V8 {
+namespace Bindings {
+class QtDRTNodeRuntime;
+}
+}
+#else
+namespace JSC {
+namespace Bindings {
+class QtDRTNodeRuntime;
+}
+}
+#endif
+
class QWebElement;
class QWebFrame;
class QWebPage;
@@ -34,6 +54,28 @@ class QWebScriptWorld;
extern QMap<int, QWebScriptWorld*> m_worldMap;
+// Used to pass WebCore::Node's to layout tests using LayoutTestController
+class QWEBKIT_EXPORT QDRTNode {
+public:
+ QDRTNode();
+ ~QDRTNode();
+
+private:
+ explicit QDRTNode(WebCore::Node*);
+
+ friend class DumpRenderTreeSupportQt;
+
+#if defined(WTF_USE_V8) && WTF_USE_V8
+ friend class V8::Bindings::QtDRTNodeRuntime;
+#else
+ friend class JSC::Bindings::QtDRTNodeRuntime;
+#endif
+
+ WebCore::Node* m_node;
+};
+
+Q_DECLARE_METATYPE(QDRTNode)
+
class QWEBKIT_EXPORT DumpRenderTreeSupportQt {
public:
@@ -44,6 +86,7 @@ public:
static void executeCoreCommandByName(QWebPage* page, const QString& name, const QString& value);
static bool isCommandEnabled(QWebPage* page, const QString& name);
+ static bool findString(QWebPage* page, const QString& string, const QStringList& optionArray);
static void setSmartInsertDeleteEnabled(QWebPage* page, bool enabled);
static void setSelectTrailingWhitespaceEnabled(QWebPage* page, bool enabled);
static QVariantList selectedRange(QWebPage* page);
@@ -87,10 +130,16 @@ public:
static bool elementDoesAutoCompleteForElementWithId(QWebFrame* frame, const QString& elementId);
static void setEditingBehavior(QWebPage* page, const QString& editingBehavior);
+ static void clearAllApplicationCaches();
+
static void whiteListAccessFromOrigin(const QString& sourceOrigin, const QString& destinationProtocol, const QString& destinationHost, bool allowDestinationSubdomains);
static void removeWhiteListAccessFromOrigin(const QString& sourceOrigin, const QString& destinationProtocol, const QString& destinationHost, bool allowDestinationSubdomains);
static void resetOriginAccessWhiteLists();
+ static void activeMockDeviceOrientationClient(bool b);
+ static void removeMockDeviceOrientation();
+ static void setMockDeviceOrientation(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma);
+
static void setMockGeolocationPosition(double latitude, double longitude, double accuracy);
static void setMockGeolocationError(int errorCode, const QString& message);
diff --git a/WebKit/qt/WebCoreSupport/EditorClientQt.cpp b/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
index 91a0cc6..534e334 100644
--- a/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
@@ -53,6 +53,7 @@
#include <QUndoStack>
#include <stdio.h>
+#include <wtf/OwnPtr.h>
#define methodDebug() qDebug("EditorClientQt: %s", __FUNCTION__);
@@ -345,10 +346,64 @@ void EditorClientQt::toggleGrammarChecking()
notImplemented();
}
+static const unsigned CtrlKey = 1 << 0;
+static const unsigned AltKey = 1 << 1;
+static const unsigned ShiftKey = 1 << 2;
+
+struct KeyDownEntry {
+ unsigned virtualKey;
+ unsigned modifiers;
+ const char* editorCommand;
+};
+
+// Handle here key down events that are needed for spatial navigation and caret browsing, or
+// are not handled by QWebPage.
+static const KeyDownEntry keyDownEntries[] = {
+ // Ones that do not have an associated QAction:
+ { VK_DELETE, 0, "DeleteForward" },
+ { VK_BACK, ShiftKey, "DeleteBackward" },
+ { VK_BACK, 0, "DeleteBackward" },
+ // Ones that need special handling for caret browsing:
+ { VK_PRIOR, 0, "MovePageUp" },
+ { VK_PRIOR, ShiftKey, "MovePageUpAndModifySelection" },
+ { VK_NEXT, 0, "MovePageDown" },
+ { VK_NEXT, ShiftKey, "MovePageDownAndModifySelection" },
+ // Ones that need special handling for spatial navigation:
+ { VK_LEFT, 0, "MoveLeft" },
+ { VK_RIGHT, 0, "MoveRight" },
+ { VK_UP, 0, "MoveUp" },
+ { VK_DOWN, 0, "MoveDown" },
+};
+
+const char* editorCommandForKeyDownEvent(const KeyboardEvent* event)
+{
+ if (event->type() != eventNames().keydownEvent)
+ return "";
+
+ static HashMap<int, const char*> keyDownCommandsMap;
+ if (keyDownCommandsMap.isEmpty()) {
+
+ unsigned numEntries = sizeof(keyDownEntries) / sizeof((keyDownEntries)[0]);
+ for (unsigned i = 0; i < numEntries; i++)
+ keyDownCommandsMap.set(keyDownEntries[i].modifiers << 16 | keyDownEntries[i].virtualKey, keyDownEntries[i].editorCommand);
+ }
+
+ unsigned modifiers = 0;
+ if (event->shiftKey())
+ modifiers |= ShiftKey;
+ if (event->altKey())
+ modifiers |= AltKey;
+ if (event->ctrlKey())
+ modifiers |= CtrlKey;
+
+ int mapKey = modifiers << 16 | event->keyCode();
+ return mapKey ? keyDownCommandsMap.get(mapKey) : 0;
+}
+
void EditorClientQt::handleKeyboardEvent(KeyboardEvent* event)
{
Frame* frame = m_page->d->page->focusController()->focusedOrMainFrame();
- if (!frame || !frame->document()->focusedNode())
+ if (!frame)
return;
const PlatformKeyboardEvent* kevent = event->keyEvent();
@@ -373,6 +428,7 @@ void EditorClientQt::handleKeyboardEvent(KeyboardEvent* event)
}
}
}
+
#ifndef QT_NO_SHORTCUT
QWebPage::WebAction action = QWebPagePrivate::editorActionForKeyEvent(kevent->qtEvent());
if (action != QWebPage::NoWebAction && !doSpatialNavigation) {
@@ -385,94 +441,85 @@ void EditorClientQt::handleKeyboardEvent(KeyboardEvent* event)
return;
m_page->triggerAction(action);
- } else
+ event->setDefaultHandled();
+ return;
+ } else {
#endif // QT_NO_SHORTCUT
+ String commandName = editorCommandForKeyDownEvent(event);
+ if (!commandName.isEmpty()) {
+ if (frame->editor()->command(commandName).execute()) // Event handled.
+ event->setDefaultHandled();
+ return;
+ }
+
+ if (kevent->windowsVirtualKeyCode() == VK_TAB) {
+ // Do not handle TAB text insertion here.
+ return;
+ }
+
+ // Text insertion.
+ bool shouldInsertText = false;
+ if (kevent->type() != PlatformKeyboardEvent::KeyDown && !kevent->text().isEmpty()) {
+
+ if (kevent->ctrlKey()) {
+ if (kevent->altKey())
+ shouldInsertText = true;
+ } else {
+#ifndef Q_WS_MAC
+ // We need to exclude checking for Alt because it is just a different Shift
+ if (!kevent->altKey())
+#endif
+ shouldInsertText = true;
+
+ }
+ }
+
+ if (shouldInsertText) {
+ frame->editor()->insertText(kevent->text(), event);
+ event->setDefaultHandled();
+ return;
+ }
+ }
+
+ // Event not handled.
+ return;
+ }
+
+ // Non editable content.
+ if (m_page->handle()->page->settings()->caretBrowsingEnabled()) {
switch (kevent->windowsVirtualKeyCode()) {
- case VK_BACK:
- frame->editor()->deleteWithDirection(SelectionController::DirectionBackward,
- CharacterGranularity, false, true);
- break;
- case VK_DELETE:
- frame->editor()->deleteWithDirection(SelectionController::DirectionForward,
- CharacterGranularity, false, true);
- break;
case VK_LEFT:
- if (kevent->shiftKey())
- frame->editor()->command("MoveLeftAndModifySelection").execute();
- else if (!frame->editor()->command("MoveLeft").execute())
- return;
- break;
case VK_RIGHT:
- if (kevent->shiftKey())
- frame->editor()->command("MoveRightAndModifySelection").execute();
- else if (!frame->editor()->command("MoveRight").execute())
- return;
- break;
case VK_UP:
- if (kevent->shiftKey())
- frame->editor()->command("MoveUpAndModifySelection").execute();
- else if (!frame->editor()->command("MoveUp").execute())
- return;
- break;
case VK_DOWN:
- if (kevent->shiftKey())
- frame->editor()->command("MoveDownAndModifySelection").execute();
- else if (!frame->editor()->command("MoveDown").execute())
+ case VK_HOME:
+ case VK_END:
+ {
+ QWebPage::WebAction action = QWebPagePrivate::editorActionForKeyEvent(kevent->qtEvent());
+ ASSERT(action != QWebPage::NoWebAction);
+ m_page->triggerAction(action);
+ event->setDefaultHandled();
return;
- break;
+ }
case VK_PRIOR: // PageUp
- if (kevent->shiftKey())
- frame->editor()->command("MovePageUpAndModifySelection").execute();
- else
- frame->editor()->command("MovePageUp").execute();
- break;
- case VK_NEXT: // PageDown
- if (kevent->shiftKey())
- frame->editor()->command("MovePageDownAndModifySelection").execute();
- else
- frame->editor()->command("MovePageDown").execute();
- break;
- case VK_TAB:
- return;
- default:
- if (kevent->type() != PlatformKeyboardEvent::KeyDown && !kevent->ctrlKey()
-#ifndef Q_WS_MAC
- // We need to exclude checking for Alt because it is just a different Shift
- && !kevent->altKey()
-#endif
- && !kevent->text().isEmpty()) {
- frame->editor()->insertText(kevent->text(), event);
- } else if (kevent->ctrlKey()) {
- switch (kevent->windowsVirtualKeyCode()) {
- case VK_A:
- frame->editor()->command("SelectAll").execute();
- break;
- case VK_B:
- frame->editor()->command("ToggleBold").execute();
- break;
- case VK_I:
- frame->editor()->command("ToggleItalic").execute();
- break;
- default:
- // catch combination AltGr+key or Ctrl+Alt+key
- if (kevent->type() != PlatformKeyboardEvent::KeyDown && kevent->altKey() && !kevent->text().isEmpty()) {
- frame->editor()->insertText(kevent->text(), event);
- break;
- }
- return;
- }
- } else
+ case VK_NEXT: // PageDown
+ {
+ String commandName = editorCommandForKeyDownEvent(event);
+ ASSERT(!commandName.isEmpty());
+ frame->editor()->command(commandName).execute();
+ event->setDefaultHandled();
return;
+ }
}
- } else {
+ }
+
#ifndef QT_NO_SHORTCUT
- if (kevent->qtEvent() == QKeySequence::Copy)
- m_page->triggerAction(QWebPage::Copy);
- else
-#endif // QT_NO_SHORTCUT
- return;
+ if (kevent->qtEvent() == QKeySequence::Copy) {
+ m_page->triggerAction(QWebPage::Copy);
+ event->setDefaultHandled();
+ return;
}
- event->setDefaultHandled();
+#endif // QT_NO_SHORTCUT
}
void EditorClientQt::handleInputMethodKeydown(KeyboardEvent*)
@@ -558,7 +605,7 @@ bool EditorClientQt::spellingUIIsShowing()
return false;
}
-void EditorClientQt::getGuessesForWord(const String&, Vector<String>&)
+void EditorClientQt::getGuessesForWord(const String& word, const String& context, Vector<String>& guesses)
{
notImplemented();
}
@@ -574,7 +621,7 @@ void EditorClientQt::willSetInputMethodState()
void EditorClientQt::setInputMethodState(bool active)
{
- QWebPageClient* webPageClient = m_page->d->client;
+ QWebPageClient* webPageClient = m_page->d->client.get();
if (webPageClient) {
Qt::InputMethodHints hints;
diff --git a/WebKit/qt/WebCoreSupport/EditorClientQt.h b/WebKit/qt/WebCoreSupport/EditorClientQt.h
index 7d99d22..1e410e6 100644
--- a/WebKit/qt/WebCoreSupport/EditorClientQt.h
+++ b/WebKit/qt/WebCoreSupport/EditorClientQt.h
@@ -104,9 +104,10 @@ public:
virtual void updateSpellingUIWithMisspelledWord(const String&);
virtual void showSpellingUI(bool show);
virtual bool spellingUIIsShowing();
- virtual void getGuessesForWord(const String&, Vector<String>& guesses);
+ virtual void getGuessesForWord(const String& word, const String& context, Vector<String>& guesses);
virtual void willSetInputMethodState();
virtual void setInputMethodState(bool enabled);
+ virtual void requestCheckingOfString(SpellChecker*, int, const String&) {}
bool isEditing() const;
diff --git a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index bf6e75a..e83d5ef 100644
--- a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -59,6 +59,7 @@
#include "HTMLFormElement.h"
#include "HTMLPlugInElement.h"
#include "HTTPParsers.h"
+#include "QtNAMThreadSafeProxy.h"
#include "NotImplemented.h"
#include "QNetworkReplyHandler.h"
#include "ResourceHandleInternal.h"
@@ -85,6 +86,7 @@
#include <QNetworkReply>
#include <QStringList>
#include "qwebhistory_p.h"
+#include <wtf/OwnPtr.h>
static QMap<unsigned long, QString> dumpAssignedUrls;
@@ -293,6 +295,14 @@ void FrameLoaderClientQt::transitionToCommittedForNewPage()
m_frame->view()->setActualVisibleContentRect(IntRect(IntPoint::zero(), currentVisibleContentSize));
}
+void FrameLoaderClientQt::didSaveToPageCache()
+{
+}
+
+void FrameLoaderClientQt::didRestoreFromPageCache()
+{
+}
+
void FrameLoaderClientQt::dispatchDidBecomeFrameset(bool)
{
}
@@ -975,13 +985,13 @@ void FrameLoaderClientQt::download(WebCore::ResourceHandle* handle, const WebCor
return;
QNetworkReplyHandler* handler = handle->getInternal()->m_job;
- QNetworkReply* reply = handler->release();
- if (reply) {
+ QtNetworkReplyThreadSafeProxy* replyProxy = handler->release();
+ if (replyProxy) {
QWebPage *page = m_webFrame->page();
if (page->forwardUnsupportedContent())
- emit page->unsupportedContent(reply);
+ emit page->unsupportedContent(replyProxy->reply());
else
- reply->abort();
+ replyProxy->abort();
}
}
@@ -1435,7 +1445,12 @@ public:
graphicsWidget->hide();
}
private:
- QtPluginGraphicsWidget(QGraphicsWidget* w = 0): Widget(0), graphicsWidget(w) {}
+ QtPluginGraphicsWidget(QGraphicsWidget* w = 0)
+ : Widget(0)
+ , graphicsWidget(w)
+ {
+ setBindingObject(graphicsWidget);
+ }
QGraphicsWidget* graphicsWidget;
};
@@ -1464,10 +1479,8 @@ PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize,
QString urlStr(url.string());
QUrl qurl = urlStr;
- QObject* object = 0;
-
if (mimeType == "application/x-qt-plugin" || mimeType == "application/x-qt-styled-widget") {
- object = m_webFrame->page()->createPlugin(classid, qurl, params, values);
+ QObject* object = m_webFrame->page()->createPlugin(classid, qurl, params, values);
#ifndef QT_NO_STYLE_STYLESHEET
QWidget* widget = qobject_cast<QWidget*>(object);
if (widget && mimeType == "application/x-qt-styled-widget") {
@@ -1488,7 +1501,6 @@ PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize,
widget->setStyleSheet(styleSheet);
}
#endif // QT_NO_STYLE_STYLESHEET
- }
if (!object) {
QWebPluginFactory* factory = m_webFrame->page()->pluginFactory();
@@ -1497,8 +1509,7 @@ PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize,
}
if (object) {
- QWidget* widget = qobject_cast<QWidget*>(object);
- if (widget) {
+ if (QWidget* widget = qobject_cast<QWidget*>(object)) {
QWidget* parentWidget = 0;
if (m_webFrame->page()->d->client)
parentWidget = qobject_cast<QWidget*>(m_webFrame->page()->d->client->pluginParent());
@@ -1512,8 +1523,7 @@ PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize,
return w;
}
- QGraphicsWidget* graphicsWidget = qobject_cast<QGraphicsWidget*>(object);
- if (graphicsWidget) {
+ if (QGraphicsWidget* graphicsWidget = qobject_cast<QGraphicsWidget*>(object)) {
QGraphicsObject* parentWidget = 0;
if (m_webFrame->page()->d->client)
parentWidget = qobject_cast<QGraphicsObject*>(m_webFrame->page()->d->client->pluginParent());
@@ -1528,14 +1538,14 @@ PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize,
// FIXME: make things work for widgetless plugins as well
delete object;
+ }
}
#if ENABLE(NETSCAPE_PLUGIN_API)
else { // NPAPI Plugins
Vector<String> params = paramNames;
Vector<String> values = paramValues;
-#if !OS(SYMBIAN)
if (mimeType == "application/x-shockwave-flash") {
- QWebPageClient* client = m_webFrame->page()->d->client;
+ QWebPageClient* client = m_webFrame->page()->d->client.get();
const bool isQWebView = client && qobject_cast<QWidget*>(client->pluginParent());
#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO >= 5)
size_t wmodeIndex = params.find("wmode");
@@ -1559,7 +1569,6 @@ PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize,
}
#endif
}
-#endif
RefPtr<PluginView> pluginView = PluginView::create(m_frame, pluginSize, element, url,
params, values, mimeType, loadManually);
diff --git a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
index 275b0e8..3d93eaf 100644
--- a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
+++ b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
@@ -193,6 +193,9 @@ public:
virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*);
virtual void transitionToCommittedForNewPage();
+ virtual void didSaveToPageCache();
+ virtual void didRestoreFromPageCache();
+
virtual void dispatchDidBecomeFrameset(bool);
virtual bool canCachePage() const;
diff --git a/WebKit/qt/WebCoreSupport/InspectorServerQt.h b/WebKit/qt/WebCoreSupport/InspectorServerQt.h
index 74e8c2f..922b63e 100644
--- a/WebKit/qt/WebCoreSupport/InspectorServerQt.h
+++ b/WebKit/qt/WebCoreSupport/InspectorServerQt.h
@@ -27,8 +27,10 @@
#include <QString>
#include <wtf/Forward.h>
+QT_BEGIN_NAMESPACE
class QTcpServer;
class QTcpSocket;
+QT_END_NAMESPACE
class QWebPage;
namespace WebCore {
diff --git a/WebKit/qt/WebCoreSupport/WebPlatformStrategies.cpp b/WebKit/qt/WebCoreSupport/WebPlatformStrategies.cpp
index 7cd255f..c67ec2f 100644
--- a/WebKit/qt/WebCoreSupport/WebPlatformStrategies.cpp
+++ b/WebKit/qt/WebCoreSupport/WebPlatformStrategies.cpp
@@ -290,6 +290,11 @@ String WebPlatformStrategies::contextMenuItemTagPaste()
return QCoreApplication::translate("QWebPage", "Paste", "Paste context menu item");
}
+String WebPlatformStrategies::contextMenuItemTagSelectAll()
+{
+ return QCoreApplication::translate("QWebPage", "Select All", "Select All context menu item");
+}
+
String WebPlatformStrategies::contextMenuItemTagNoGuessesFound()
{
return QCoreApplication::translate("QWebPage", "No Guesses Found", "No Guesses Found context menu item");
diff --git a/WebKit/qt/WebCoreSupport/WebPlatformStrategies.h b/WebKit/qt/WebCoreSupport/WebPlatformStrategies.h
index ea366e0..5f72f46 100644
--- a/WebKit/qt/WebCoreSupport/WebPlatformStrategies.h
+++ b/WebKit/qt/WebCoreSupport/WebPlatformStrategies.h
@@ -74,6 +74,7 @@ private:
virtual WTF::String contextMenuItemTagReload();
virtual WTF::String contextMenuItemTagCut();
virtual WTF::String contextMenuItemTagPaste();
+ virtual WTF::String contextMenuItemTagSelectAll();
virtual WTF::String contextMenuItemTagNoGuessesFound();
virtual WTF::String contextMenuItemTagIgnoreSpelling();
virtual WTF::String contextMenuItemTagLearnSpelling();
diff --git a/WebKit/qt/WebKit_pch.h b/WebKit/qt/WebKit_pch.h
index 1dd4d52..f9f0fc1 100644
--- a/WebKit/qt/WebKit_pch.h
+++ b/WebKit/qt/WebKit_pch.h
@@ -39,7 +39,7 @@
#include <windows.h>
#endif
-#include "../../JavaScriptCore/config.h"
+#include "../../Source/JavaScriptCore/config.h"
#include <math.h>
#include <stdio.h>
diff --git a/WebKit/qt/declarative/qdeclarativewebview.cpp b/WebKit/qt/declarative/qdeclarativewebview.cpp
index 94f08bd..e26889e 100644
--- a/WebKit/qt/declarative/qdeclarativewebview.cpp
+++ b/WebKit/qt/declarative/qdeclarativewebview.cpp
@@ -253,10 +253,12 @@ void QDeclarativeWebView::init()
setAcceptedMouseButtons(Qt::LeftButton);
setFlag(QGraphicsItem::ItemHasNoContents, true);
+ setFlag(QGraphicsItem::ItemIsFocusScope, true);
setClip(true);
d->view = new GraphicsWebView(this);
d->view->setResizesToContents(true);
+ d->view->setFocus();
QWebPage* wp = new QDeclarativeWebPage(this);
setPage(wp);
connect(d->view, SIGNAL(geometryChanged()), this, SLOT(updateDeclarativeWebViewSize()));
diff --git a/WebKit/qt/docs/qtwebkit.qdoc b/WebKit/qt/docs/qtwebkit.qdoc
index 0335d46..df22e65 100644
--- a/WebKit/qt/docs/qtwebkit.qdoc
+++ b/WebKit/qt/docs/qtwebkit.qdoc
@@ -51,7 +51,7 @@
building the module only in release mode for embedded platforms.
Currently QtWebKit will always be compiled without debugging symbols
when using gcc. Take a look at the last lines of
- \c{src/3rdparty/webkit/WebCore/WebCore.pro} if you need to change this.
+ \c{src/3rdparty/webkit/Source/WebCore/WebCore.pro} if you need to change this.
\note Web site icons, also known as "FavIcons", are currently not supported
on Windows. We plan to address this in a future release.
diff --git a/WebKit/qt/docs/qtwebkit.qdocconf b/WebKit/qt/docs/qtwebkit.qdocconf
index 5f877c2..f1d198d 100644
--- a/WebKit/qt/docs/qtwebkit.qdocconf
+++ b/WebKit/qt/docs/qtwebkit.qdocconf
@@ -4,7 +4,7 @@ project = qtwebkit
description = "Qt WebKit API Documentation"
headerdirs = $SRCDIR/WebKit/qt/Api $SRCDIR/WebKit/qt/declarative
-sourcedirs = $SRCDIR/WebKit/qt/Api $SRCDIR/WebKit/qt/docs $SRCDIR/JavaScriptCore/qt/api $SRCDIR/WebKit/qt/declarative
+sourcedirs = $SRCDIR/WebKit/qt/Api $SRCDIR/WebKit/qt/docs $SRCDIR/Source/JavaScriptCore/qt/api $SRCDIR/WebKit/qt/declarative
outputdir = $OUTPUT_DIR/doc/html
outputformats = HTML
sources.fileextensions = "*.cpp *.doc *.qdoc *.h"
diff --git a/WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h b/WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h
index f38a8fb..b8cc984 100644
--- a/WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h
+++ b/WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h
@@ -84,9 +84,13 @@ Q_SIGNALS:
void notificationClicked();
};
-class QWebHapticFeedbackPlayer
+class QWebHapticFeedbackPlayer: public QObject
{
+ Q_OBJECT
public:
+ QWebHapticFeedbackPlayer() {}
+ virtual ~QWebHapticFeedbackPlayer() {}
+
enum HapticStrength {
None, Weak, Medium, Strong
};
@@ -127,6 +131,8 @@ public:
virtual QObject* createExtension(Extension extension) const = 0;
};
+QT_BEGIN_NAMESPACE
Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "com.nokia.Qt.WebKit.PlatformPlugin/1.6");
+QT_END_NAMESPACE
#endif // QWEBKITPLATFORMPLUGIN_H
diff --git a/WebKit/qt/tests/hybridPixmap/widget.h b/WebKit/qt/tests/hybridPixmap/widget.h
index a49f8ba..2ac8a06 100644
--- a/WebKit/qt/tests/hybridPixmap/widget.h
+++ b/WebKit/qt/tests/hybridPixmap/widget.h
@@ -27,9 +27,11 @@
typedef QWebView WebView;
+QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
+QT_END_NAMESPACE
class Widget : public QWidget {
Q_OBJECT
diff --git a/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp b/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
index eb3ae0a..2ae85e4 100644
--- a/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
+++ b/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
@@ -29,6 +29,7 @@
#include <QAbstractItemView>
#include <QApplication>
#include <QComboBox>
+#include <QPaintEngine>
#include <QPicture>
#include <QRegExp>
#include <QNetworkRequest>
@@ -616,6 +617,7 @@ private slots:
void baseUrl();
void hasSetFocus();
void render();
+ void renderHints();
void scrollPosition();
void scrollToAnchor();
void scrollbarsOff();
@@ -625,6 +627,7 @@ private slots:
void introspectQtMethods();
void setContent_data();
void setContent();
+ void setCacheLoadControlAttribute();
private:
QString evalJS(const QString&s) {
@@ -2856,6 +2859,139 @@ void tst_QWebFrame::render()
QCOMPARE(size.height(), picture.boundingRect().height()); // height: 100px
}
+
+class DummyPaintEngine: public QPaintEngine {
+public:
+
+ DummyPaintEngine()
+ : QPaintEngine(QPaintEngine::AllFeatures)
+ , renderHints(0)
+ {
+ }
+
+ bool begin(QPaintDevice*)
+ {
+ setActive(true);
+ return true;
+ }
+
+ bool end()
+ {
+ setActive(false);
+ return false;
+ }
+
+ void updateState(const QPaintEngineState& state)
+ {
+ renderHints = state.renderHints();
+ }
+
+ void drawPath(const QPainterPath&) { }
+ void drawPixmap(const QRectF&, const QPixmap&, const QRectF&) { }
+
+ QPaintEngine::Type type() const
+ {
+ return static_cast<QPaintEngine::Type>(QPaintEngine::User + 2);
+ }
+
+ QPainter::RenderHints renderHints;
+};
+
+class DummyPaintDevice: public QPaintDevice {
+public:
+ DummyPaintDevice()
+ : QPaintDevice()
+ , m_engine(new DummyPaintEngine)
+ {
+ }
+
+ ~DummyPaintDevice()
+ {
+ delete m_engine;
+ }
+
+ QPaintEngine* paintEngine() const
+ {
+ return m_engine;
+ }
+
+ QPainter::RenderHints renderHints() const
+ {
+ return m_engine->renderHints;
+ }
+
+protected:
+ int metric(PaintDeviceMetric metric) const;
+
+private:
+ DummyPaintEngine* m_engine;
+ friend class DummyPaintEngine;
+};
+
+
+int DummyPaintDevice::metric(PaintDeviceMetric metric) const
+{
+ switch (metric) {
+ case PdmWidth:
+ return 400;
+ break;
+
+ case PdmHeight:
+ return 200;
+ break;
+
+ case PdmNumColors:
+ return INT_MAX;
+ break;
+
+ case PdmDepth:
+ return 32;
+ break;
+
+ default:
+ break;
+ }
+ return 0;
+}
+
+void tst_QWebFrame::renderHints()
+{
+ QString html("<html><body><p>Hello, world!</p></body></html>");
+
+ QWebPage page;
+ page.mainFrame()->setHtml(html);
+ page.setViewportSize(page.mainFrame()->contentsSize());
+
+ // We will call frame->render and trap the paint engine state changes
+ // to ensure that GraphicsContext does not clobber the render hints.
+ DummyPaintDevice buffer;
+ QPainter painter(&buffer);
+
+ painter.setRenderHint(QPainter::TextAntialiasing, false);
+ page.mainFrame()->render(&painter);
+ QVERIFY(!(buffer.renderHints() & QPainter::TextAntialiasing));
+ QVERIFY(!(buffer.renderHints() & QPainter::SmoothPixmapTransform));
+ QVERIFY(!(buffer.renderHints() & QPainter::HighQualityAntialiasing));
+
+ painter.setRenderHint(QPainter::TextAntialiasing, true);
+ page.mainFrame()->render(&painter);
+ QVERIFY(buffer.renderHints() & QPainter::TextAntialiasing);
+ QVERIFY(!(buffer.renderHints() & QPainter::SmoothPixmapTransform));
+ QVERIFY(!(buffer.renderHints() & QPainter::HighQualityAntialiasing));
+
+ painter.setRenderHint(QPainter::SmoothPixmapTransform, true);
+ page.mainFrame()->render(&painter);
+ QVERIFY(buffer.renderHints() & QPainter::TextAntialiasing);
+ QVERIFY(buffer.renderHints() & QPainter::SmoothPixmapTransform);
+ QVERIFY(!(buffer.renderHints() & QPainter::HighQualityAntialiasing));
+
+ painter.setRenderHint(QPainter::HighQualityAntialiasing, true);
+ page.mainFrame()->render(&painter);
+ QVERIFY(buffer.renderHints() & QPainter::TextAntialiasing);
+ QVERIFY(buffer.renderHints() & QPainter::SmoothPixmapTransform);
+ QVERIFY(buffer.renderHints() & QPainter::HighQualityAntialiasing);
+}
+
void tst_QWebFrame::scrollPosition()
{
// enlarged image in a small viewport, to provoke the scrollbars to appear
@@ -3068,5 +3204,58 @@ void tst_QWebFrame::setContent()
QCOMPARE(expected , mainFrame->toPlainText());
}
+class CacheNetworkAccessManager : public QNetworkAccessManager {
+public:
+ CacheNetworkAccessManager(QObject* parent = 0)
+ : QNetworkAccessManager(parent)
+ , m_lastCacheLoad(QNetworkRequest::PreferNetwork)
+ {
+ }
+
+ virtual QNetworkReply* createRequest(Operation, const QNetworkRequest& request, QIODevice*)
+ {
+ QVariant cacheLoad = request.attribute(QNetworkRequest::CacheLoadControlAttribute);
+ if (cacheLoad.isValid())
+ m_lastCacheLoad = static_cast<QNetworkRequest::CacheLoadControl>(cacheLoad.toUInt());
+ else
+ m_lastCacheLoad = QNetworkRequest::PreferNetwork; // default value
+ return new FakeReply(request, this);
+ }
+
+ QNetworkRequest::CacheLoadControl lastCacheLoad() const
+ {
+ return m_lastCacheLoad;
+ }
+
+private:
+ QNetworkRequest::CacheLoadControl m_lastCacheLoad;
+};
+
+void tst_QWebFrame::setCacheLoadControlAttribute()
+{
+ QWebPage page;
+ CacheNetworkAccessManager* manager = new CacheNetworkAccessManager(&page);
+ page.setNetworkAccessManager(manager);
+ QWebFrame* frame = page.mainFrame();
+
+ QNetworkRequest request(QUrl("http://abcdef.abcdef/"));
+
+ request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysCache);
+ frame->load(request);
+ QCOMPARE(manager->lastCacheLoad(), QNetworkRequest::AlwaysCache);
+
+ request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache);
+ frame->load(request);
+ QCOMPARE(manager->lastCacheLoad(), QNetworkRequest::PreferCache);
+
+ request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysNetwork);
+ frame->load(request);
+ QCOMPARE(manager->lastCacheLoad(), QNetworkRequest::AlwaysNetwork);
+
+ request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferNetwork);
+ frame->load(request);
+ QCOMPARE(manager->lastCacheLoad(), QNetworkRequest::PreferNetwork);
+}
+
QTEST_MAIN(tst_QWebFrame)
#include "tst_qwebframe.moc"
diff --git a/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
index c27ba02..b71f665 100644
--- a/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
+++ b/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
@@ -21,6 +21,7 @@
#include "../util.h"
#include "../WebCoreSupport/DumpRenderTreeSupportQt.h"
+#include <QClipboard>
#include <QDir>
#include <QGraphicsWidget>
#include <QLineEdit>
@@ -90,6 +91,7 @@ private slots:
void destroyPlugin();
void createViewlessPlugin_data();
void createViewlessPlugin();
+ void graphicsWidgetPlugin();
void multiplePageGroupsAndLocalStorage();
void cursorMovements();
void textSelection();
@@ -128,6 +130,11 @@ private slots:
void findText();
void supportedContentType();
void infiniteLoopJS();
+ void networkAccessManagerOnDifferentThread();
+
+#ifdef Q_OS_MAC
+ void macCopyUnicodeToClipboard();
+#endif
private:
QWebView* m_view;
@@ -249,14 +256,8 @@ void tst_QWebPage::infiniteLoopJS()
void tst_QWebPage::geolocationRequestJS()
{
- /*
- This test is disabled because it can only succeed if ENABLE(GEOLOCATION) is true.
- The code needs to be updated when the API of requestPermissionFromUser is updated.
- */
- QSKIP("Test disabled as long as geolocation is disabled from the build.", SkipSingle);
-
JSTestPage* newPage = new JSTestPage(m_view);
- connect(newPage, SIGNAL(requestPermissionFromUser(QWebFrame*, QWebPage::Feature)),
+ connect(newPage, SIGNAL(featurePermissionRequested(QWebFrame*, QWebPage::Feature)),
newPage, SLOT(requestPermission(QWebFrame*, QWebPage::Feature)));
newPage->setGeolocationPermission(false);
@@ -588,6 +589,8 @@ protected:
result = new QPushButton();
else if (classid == "lineedit")
result = new QLineEdit();
+ else if (classid == "graphicswidget")
+ result = new QGraphicsWidget();
if (result)
result->setObjectName(classid);
calls.append(CallInfo(classid, url, paramNames, paramValues, result));
@@ -677,6 +680,54 @@ static void createPlugin(QWebView *view)
}
}
+void tst_QWebPage::graphicsWidgetPlugin()
+{
+ m_view->settings()->setAttribute(QWebSettings::PluginsEnabled, true);
+ QGraphicsWebView webView;
+
+ QSignalSpy loadSpy(&webView, SIGNAL(loadFinished(bool)));
+
+ PluginPage* newPage = new PluginPage(&webView);
+ webView.setPage(newPage);
+
+ // type has to be application/x-qt-plugin
+ webView.setHtml(QString("<html><body><object type='application/x-foobarbaz' classid='graphicswidget' id='mygraphicswidget'/></body></html>"));
+ QTRY_COMPARE(loadSpy.count(), 1);
+ QCOMPARE(newPage->calls.count(), 0);
+
+ webView.setHtml(QString("<html><body><object type='application/x-qt-plugin' classid='graphicswidget' id='mygraphicswidget'/></body></html>"));
+ QTRY_COMPARE(loadSpy.count(), 2);
+ QCOMPARE(newPage->calls.count(), 1);
+ {
+ PluginPage::CallInfo ci = newPage->calls.takeFirst();
+ QCOMPARE(ci.classid, QString::fromLatin1("graphicswidget"));
+ QCOMPARE(ci.url, QUrl());
+ QCOMPARE(ci.paramNames.count(), 3);
+ QCOMPARE(ci.paramValues.count(), 3);
+ QCOMPARE(ci.paramNames.at(0), QString::fromLatin1("type"));
+ QCOMPARE(ci.paramValues.at(0), QString::fromLatin1("application/x-qt-plugin"));
+ QCOMPARE(ci.paramNames.at(1), QString::fromLatin1("classid"));
+ QCOMPARE(ci.paramValues.at(1), QString::fromLatin1("graphicswidget"));
+ QCOMPARE(ci.paramNames.at(2), QString::fromLatin1("id"));
+ QCOMPARE(ci.paramValues.at(2), QString::fromLatin1("mygraphicswidget"));
+ QVERIFY(ci.returnValue);
+ QVERIFY(ci.returnValue->inherits("QGraphicsWidget"));
+ }
+ // test JS bindings
+ QCOMPARE(newPage->mainFrame()->evaluateJavaScript("document.getElementById('mygraphicswidget').toString()").toString(),
+ QString::fromLatin1("[object HTMLObjectElement]"));
+ QCOMPARE(newPage->mainFrame()->evaluateJavaScript("mygraphicswidget.toString()").toString(),
+ QString::fromLatin1("[object HTMLObjectElement]"));
+ QCOMPARE(newPage->mainFrame()->evaluateJavaScript("typeof mygraphicswidget.objectName").toString(),
+ QString::fromLatin1("string"));
+ QCOMPARE(newPage->mainFrame()->evaluateJavaScript("mygraphicswidget.objectName").toString(),
+ QString::fromLatin1("graphicswidget"));
+ QCOMPARE(newPage->mainFrame()->evaluateJavaScript("typeof mygraphicswidget.geometryChanged").toString(),
+ QString::fromLatin1("function"));
+ QCOMPARE(newPage->mainFrame()->evaluateJavaScript("mygraphicswidget.geometryChanged.toString()").toString(),
+ QString::fromLatin1("function geometryChanged() {\n [native code]\n}"));
+}
+
void tst_QWebPage::createPluginWithPluginsEnabled()
{
m_view->settings()->setAttribute(QWebSettings::PluginsEnabled, true);
@@ -884,6 +935,7 @@ void tst_QWebPage::cursorMovements()
"getSelection().addRange(range);";
page->mainFrame()->evaluateJavaScript(script);
QCOMPARE(page->selectedText().trimmed(), QString::fromLatin1("The quick brown fox"));
+ QCOMPARE(page->selectedHtml().trimmed(), QString::fromLatin1("<span class=\"Apple-style-span\" style=\"border-collapse: separate; color: rgb(0, 0, 0); font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; \"><p id=\"one\">The quick brown fox</p></span>"));
// these actions must exist
QVERIFY(page->action(QWebPage::MoveToNextChar) != 0);
@@ -1104,6 +1156,9 @@ void tst_QWebPage::textSelection()
// ..but SelectAll is awalys enabled
QCOMPARE(page->action(QWebPage::SelectAll)->isEnabled(), true);
+ // Verify hasSelection returns false since there is no selection yet...
+ QCOMPARE(page->hasSelection(), false);
+
// this will select the first paragraph
QString selectScript = "var range = document.createRange(); " \
"var node = document.getElementById(\"one\"); " \
@@ -1111,6 +1166,10 @@ void tst_QWebPage::textSelection()
"getSelection().addRange(range);";
page->mainFrame()->evaluateJavaScript(selectScript);
QCOMPARE(page->selectedText().trimmed(), QString::fromLatin1("The quick brown fox"));
+ QCOMPARE(page->selectedHtml().trimmed(), QString::fromLatin1("<span class=\"Apple-style-span\" style=\"border-collapse: separate; color: rgb(0, 0, 0); font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; \"><p id=\"one\">The quick brown fox</p></span>"));
+
+ // Make sure hasSelection returns true, since there is selected text now...
+ QCOMPARE(page->hasSelection(), true);
// here the actions are enabled after a selection has been created
QCOMPARE(page->action(QWebPage::SelectNextChar)->isEnabled(), true);
@@ -1397,6 +1456,14 @@ static bool inputMethodEnabled(QObject* object)
return false;
}
+static void clickOnPage(QWebPage* page, const QPoint& position)
+{
+ QMouseEvent evpres(QEvent::MouseButtonPress, position, Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
+ page->event(&evpres);
+ QMouseEvent evrel(QEvent::MouseButtonRelease, position, Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
+ page->event(&evrel);
+}
+
void tst_QWebPage::inputMethods()
{
QFETCH(QString, viewType);
@@ -1433,11 +1500,9 @@ void tst_QWebPage::inputMethods()
EventSpy viewEventSpy(container);
QWebElementCollection inputs = page->mainFrame()->documentElement().findAll("input");
+ QPoint textInputCenter = inputs.at(0).geometry().center();
- QMouseEvent evpres(QEvent::MouseButtonPress, inputs.at(0).geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
- page->event(&evpres);
- QMouseEvent evrel(QEvent::MouseButtonRelease, inputs.at(0).geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
- page->event(&evrel);
+ clickOnPage(page, textInputCenter);
// This part of the test checks if the SIP (Software Input Panel) is triggered,
// which normally happens on mobile platforms, when a user input form receives
@@ -1462,8 +1527,7 @@ void tst_QWebPage::inputMethods()
QVERIFY(!viewEventSpy.contains(QEvent::RequestSoftwareInputPanel));
viewEventSpy.clear();
- page->event(&evpres);
- page->event(&evrel);
+ clickOnPage(page, textInputCenter);
QVERIFY(viewEventSpy.contains(QEvent::RequestSoftwareInputPanel));
//ImMicroFocus
@@ -1565,8 +1629,7 @@ void tst_QWebPage::inputMethods()
// LEFT to RIGHT selection
// Deselect the selection by sending MouseButtonPress events
// This moves the current cursor to the end of the text
- page->event(&evpres);
- page->event(&evrel);
+ clickOnPage(page, textInputCenter);
{
QList<QInputMethodEvent::Attribute> attributes;
@@ -1614,8 +1677,7 @@ void tst_QWebPage::inputMethods()
//RIGHT to LEFT selection
//Deselect the selection (this moves the current cursor to the end of the text)
- page->event(&evpres);
- page->event(&evrel);
+ clickOnPage(page, textInputCenter);
//ImAnchorPosition
variant = page->inputMethodQuery(Qt::ImAnchorPosition);
@@ -1662,28 +1724,20 @@ void tst_QWebPage::inputMethods()
//END - Tests for Selection when the Editor is not in Composition mode
//ImhHiddenText
- QMouseEvent evpresPassword(QEvent::MouseButtonPress, inputs.at(1).geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
- page->event(&evpresPassword);
- QMouseEvent evrelPassword(QEvent::MouseButtonRelease, inputs.at(1).geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
- page->event(&evrelPassword);
+ QPoint passwordInputCenter = inputs.at(1).geometry().center();
+ clickOnPage(page, passwordInputCenter);
QVERIFY(inputMethodEnabled(view));
QVERIFY(inputMethodHints(view) & Qt::ImhHiddenText);
- page->event(&evpres);
- page->event(&evrel);
+ clickOnPage(page, textInputCenter);
QVERIFY(!(inputMethodHints(view) & Qt::ImhHiddenText));
page->mainFrame()->setHtml("<html><body><p>nothing to input here");
viewEventSpy.clear();
QWebElement para = page->mainFrame()->findFirstElement("p");
- {
- QMouseEvent evpres(QEvent::MouseButtonPress, para.geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
- page->event(&evpres);
- QMouseEvent evrel(QEvent::MouseButtonRelease, para.geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
- page->event(&evrel);
- }
+ clickOnPage(page, para.geometry().center());
QVERIFY(!viewEventSpy.contains(QEvent::RequestSoftwareInputPanel));
@@ -2009,6 +2063,15 @@ void tst_QWebPage::inputMethods()
anchorPosition = variant.toInt();
QCOMPARE(anchorPosition, 12);
+ // Check sending RequestSoftwareInputPanel event
+ page->mainFrame()->setHtml("<html><body>" \
+ "<input type='text' id='input5' value='QtWebKit inputMethod'/>" \
+ "<div id='btnDiv' onclick='i=document.getElementById(&quot;input5&quot;); i.focus();'>abc</div>"\
+ "</body></html>");
+ QWebElement inputElement = page->mainFrame()->findFirstElement("div");
+ clickOnPage(page, inputElement.geometry().center());
+
+ QVERIFY(!viewEventSpy.contains(QEvent::RequestSoftwareInputPanel));
delete container;
}
@@ -2319,6 +2382,10 @@ void tst_QWebPage::crashTests_LazyInitializationOfMainFrame()
}
{
QWebPage webPage;
+ webPage.selectedHtml();
+ }
+ {
+ QWebPage webPage;
webPage.triggerAction(QWebPage::Back, true);
}
{
@@ -2513,14 +2580,18 @@ void tst_QWebPage::findText()
m_view->setHtml(QString("<html><head></head><body><div>foo bar</div></body></html>"));
m_page->triggerAction(QWebPage::SelectAll);
QVERIFY(!m_page->selectedText().isEmpty());
+ QVERIFY(!m_page->selectedHtml().isEmpty());
m_page->findText("");
QVERIFY(m_page->selectedText().isEmpty());
+ QVERIFY(m_page->selectedHtml().isEmpty());
QStringList words = (QStringList() << "foo" << "bar");
foreach (QString subString, words) {
m_page->findText(subString, QWebPage::FindWrapsAroundDocument);
QCOMPARE(m_page->selectedText(), subString);
+ QCOMPARE(m_page->selectedHtml(), QString("<span class=\"Apple-style-span\" style=\"border-collapse: separate; color: rgb(0, 0, 0); font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; \">%1</span>").arg(subString));
m_page->findText("");
QVERIFY(m_page->selectedText().isEmpty());
+ QVERIFY(m_page->selectedHtml().isEmpty());
}
}
@@ -2599,5 +2670,60 @@ void tst_QWebPage::supportedContentType()
QVERIFY2(m_page->supportsContentType(mimeType), QString("Cannot handle content types '%1'!").arg(mimeType).toLatin1());
}
+class QtNAMThread : public QThread {
+public:
+ QtNAMThread()
+ {
+ m_qnamFuture.reportStarted();
+ }
+ ~QtNAMThread()
+ {
+ quit();
+ wait();
+ }
+
+ QFuture<QNetworkAccessManager*> networkAccessManager()
+ {
+ return m_qnamFuture.future();
+ }
+protected:
+ void run()
+ {
+ QNetworkAccessManager* qnam = new QNetworkAccessManager;
+ m_qnamFuture.reportFinished(&qnam);
+ exec();
+ delete qnam;
+ }
+private:
+ QFutureInterface<QNetworkAccessManager*> m_qnamFuture;
+};
+
+void tst_QWebPage::networkAccessManagerOnDifferentThread()
+{
+ QtNAMThread qnamThread;
+ qnamThread.start();
+ m_page->setNetworkAccessManager(qnamThread.networkAccessManager());
+ QSignalSpy loadSpy(m_page, SIGNAL(loadFinished(bool)));
+ QUrl url = QUrl("qrc:///resources/index.html");
+ m_page->mainFrame()->load(url);
+ QTRY_COMPARE(loadSpy.count(), 1);
+ QCOMPARE(m_page->mainFrame()->childFrames()[0]->url(), QUrl("qrc:///resources/frame_a.html"));
+}
+
+#ifdef Q_OS_MAC
+void tst_QWebPage::macCopyUnicodeToClipboard()
+{
+ QString unicodeText = QString::fromUtf8("αβγδεζηθικλμπ");
+ m_page->mainFrame()->setHtml(QString("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /></head><body>%1</body></html>").arg(unicodeText));
+ m_page->triggerAction(QWebPage::SelectAll);
+ m_page->triggerAction(QWebPage::Copy);
+
+ QString clipboardData = QString::fromUtf8(QApplication::clipboard()->mimeData()->data(QLatin1String("text/html")));
+
+ QVERIFY(clipboardData.contains(QLatin1String("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />")));
+ QVERIFY(clipboardData.contains(unicodeText));
+}
+#endif
+
QTEST_MAIN(tst_QWebPage)
#include "tst_qwebpage.moc"
diff --git a/WebKit/qt/tests/qwebview/tst_qwebview.cpp b/WebKit/qt/tests/qwebview/tst_qwebview.cpp
index 8cd2f3f..7bf66b7 100644
--- a/WebKit/qt/tests/qwebview/tst_qwebview.cpp
+++ b/WebKit/qt/tests/qwebview/tst_qwebview.cpp
@@ -79,22 +79,22 @@ void tst_QWebView::renderHints()
{
QWebView webView;
- // default is only text antialiasing
+ // default is only text antialiasing + smooth pixmap transform
QVERIFY(!(webView.renderHints() & QPainter::Antialiasing));
QVERIFY(webView.renderHints() & QPainter::TextAntialiasing);
- QVERIFY(!(webView.renderHints() & QPainter::SmoothPixmapTransform));
+ QVERIFY(webView.renderHints() & QPainter::SmoothPixmapTransform);
QVERIFY(!(webView.renderHints() & QPainter::HighQualityAntialiasing));
webView.setRenderHint(QPainter::Antialiasing, true);
QVERIFY(webView.renderHints() & QPainter::Antialiasing);
QVERIFY(webView.renderHints() & QPainter::TextAntialiasing);
- QVERIFY(!(webView.renderHints() & QPainter::SmoothPixmapTransform));
+ QVERIFY(webView.renderHints() & QPainter::SmoothPixmapTransform);
QVERIFY(!(webView.renderHints() & QPainter::HighQualityAntialiasing));
webView.setRenderHint(QPainter::Antialiasing, false);
QVERIFY(!(webView.renderHints() & QPainter::Antialiasing));
QVERIFY(webView.renderHints() & QPainter::TextAntialiasing);
- QVERIFY(!(webView.renderHints() & QPainter::SmoothPixmapTransform));
+ QVERIFY(webView.renderHints() & QPainter::SmoothPixmapTransform);
QVERIFY(!(webView.renderHints() & QPainter::HighQualityAntialiasing));
webView.setRenderHint(QPainter::SmoothPixmapTransform, true);
diff --git a/WebKit/win/AccessibleBase.cpp b/WebKit/win/AccessibleBase.cpp
index 3e8306f..1ebd45c 100644
--- a/WebKit/win/AccessibleBase.cpp
+++ b/WebKit/win/AccessibleBase.cpp
@@ -574,7 +574,7 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::accHitTest(long x, long y, VARIANT* pv
return E_FAIL;
IntPoint point = m_object->documentFrameView()->screenToContents(IntPoint(x, y));
- AccessibilityObject* childObj = m_object->doAccessibilityHitTest(point);
+ AccessibilityObject* childObj = m_object->accessibilityHitTest(point);
if (!childObj) {
// If we did not hit any child objects, test whether the point hit us, and
diff --git a/WebKit/win/AccessibleDocument.cpp b/WebKit/win/AccessibleDocument.cpp
index 3b53323..e98acc1 100644
--- a/WebKit/win/AccessibleDocument.cpp
+++ b/WebKit/win/AccessibleDocument.cpp
@@ -34,7 +34,7 @@ using namespace WebCore;
// AccessibleDocument
AccessibleDocument::AccessibleDocument(Document* doc)
- : AccessibleBase(doc->axObjectCache()->getOrCreate(doc->renderer()))
+ : AccessibleBase(doc->axObjectCache()->rootObject())
{
}
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index 9f6f837..de26c59 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,399 @@
+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
+
+ * WebKit.vcproj/WebKit.sln:
+
+2011-01-06 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 52035 - Unregistering DOMWrapperWorlds is unsafe
+
+ The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's
+ destructor early, in order to release wrappers once we know we no longer intend to use them.
+ Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to
+ lose any state stored on them) it is not okay to deregister the world from the JSGlobalData.
+ A sequence of events that triggers the bug would look like this:
+
+ (1) Create a DOMWrapperWorld.
+ (2) Register a timer in the world.
+ (3) Call unregisterWorld() on the world.
+ (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document.
+ (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've
+ called forgetWorld() none exists.
+ (6) Attempt to add a wrapper to a NULL map.
+
+ Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away.
+
+ * WebScriptWorld.cpp:
+ (WebScriptWorld::unregisterWorld):
+
+2011-01-07 Chris Marrin <cmarrin@apple.com>
+
+ Rubber-stamped by Simon Fraser.
+
+ Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
+ https://bugs.webkit.org/show_bug.cgi?id=49388
+
+ Change client API for the fullscreen video controller. It now uses a
+ PlatformCALayerClient so it can use a PlaformCALayer directly. Also
+ updated how to connect the layer tree to the view to reflect the updated
+ hardware compositing logic.
+
+ * FullscreenVideoController.cpp:
+ (FullscreenVideoController::LayerClient::LayerClient):
+ (FullscreenVideoController::LayerClient::platformCALayerRespondsToLayoutChanges):
+ (FullscreenVideoController::LayerClient::platformCALayerAnimationStarted):
+ (FullscreenVideoController::LayerClient::platformCALayerContentsOrientation):
+ (FullscreenVideoController::LayerClient::platformCALayerPaintContents):
+ (FullscreenVideoController::LayerClient::platformCALayerShowDebugBorders):
+ (FullscreenVideoController::LayerClient::platformCALayerShowRepaintCounter):
+ (FullscreenVideoController::LayerClient::platformCALayerIncrementRepaintCount):
+ (FullscreenVideoController::LayerClient::platformCALayerContentsOpaque):
+ (FullscreenVideoController::LayerClient::platformCALayerDrawsContent):
+ (FullscreenVideoController::LayerClient::platformCALayerLayerDidDisplay):
+ (FullscreenVideoController::LayerClient::platformCALayerLayoutSublayersOfLayer):
+ (FullscreenVideoController::FullscreenVideoController):
+ (FullscreenVideoController::~FullscreenVideoController):
+ (FullscreenVideoController::enterFullscreen):
+ * FullscreenVideoController.h:
+ * WebCoreSupport/WebChromeClient.cpp:
+ (WebChromeClient::attachRootGraphicsLayer):
+ (WebChromeClient::scheduleCompositingLayerSync):
+ * WebView.cpp:
+ (WebView::setRootChildLayer):
+ (WebView::animationsStarted):
+ (WebView::syncCompositingState):
+ * WebView.h:
+ (WebView::setRootLayerNeedsDisplay):
+
+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).
+
+ * WebKit.vcproj/InterfacesCommon.vsprops:
+ * WebKit.vcproj/InterfacesPostBuild.cmd:
+ * WebKit.vcproj/InterfacesPreBuild.cmd:
+ * WebKit.vcproj/WebKit.make:
+ * WebKit.vcproj/WebKitGUID.vcproj:
+ * WebKit.vcproj/WebKitGUIDCommon.vsprops:
+ * WebKit.vcproj/WebKitGUIDPostBuild.cmd:
+ * WebKit.vcproj/WebKitGUIDPreBuild.cmd:
+ * WebKit.vcproj/WebKitLibCommon.vsprops:
+ * WebKit.vcproj/WebKitLibPostBuild.cmd:
+ * WebKit.vcproj/WebKitLibPreBuild.cmd:
+
+2011-01-04 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WK2: Support Accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=51859
+
+ Use rootObject() method to get the top of the AX tree.
+
+ * AccessibleDocument.cpp:
+ (AccessibleDocument::AccessibleDocument):
+
+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
+
+ * WebKit.vcproj/WebKit.sln:
+ - Point to JavaScriptCore in its new location.
+
+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
+
+ - Add client functions to notify that a frame has been added or
+ removed from the page cache.
+
+ * WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebFrameLoaderClient::didSaveToPageCache):
+ (WebFrameLoaderClient::didRestoreFromPageCache):
+ * WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-12-22 Dan Bernstein <mitz@apple.com>
+
+ Changed WebKitTools to Tools.
+
+ * WebKit.vcproj/WebKit.sln:
+
+2010-12-14 Adam Roben <aroben@apple.com>
+
+ Always record the last-set cursor, even when the UI delegate is
+ setting the cursor for us
+
+ Prior to r63339, the last-set cursor was recorded in Widget::setCursor.
+ r63339 moved that code up to WebChromeClient, but failed to call it
+ when the UI delegate was the one setting the cursor.
+
+ Fixes <http://webkit.org/b/45692> <rdar://problem/8423464> REGRESSION
+ (r63339): Mouse cursor disappears when holding mouse button down on
+ page
+
+ Reviewed by Ada Chan.
+
+ * WebCoreSupport/WebChromeClient.cpp:
+ (WebChromeClient::setCursor): After the cursor is set, regardless of
+ whether the UI delegate sets it or we set it, record the cursor that
+ was just set. That way we'll be able to use the cursor later when
+ responding to the WM_SETCURSOR message.
+
+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
+
+ * WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): Changed default to NO.
+
+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.
+
+ * WebCoreSupport/WebEditorClient.h:
+ (WebEditorClient::requestCheckingOfString):
+
+2010-12-10 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ AX: refactor AccessibilityRenderObject::doAccessibilityHitTest
+ https://bugs.webkit.org/show_bug.cgi?id=50574
+
+ * AccessibleBase.cpp:
+ (AccessibleBase::accHitTest):
+
+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 WebKit for the new CROSS_PLATFORM_CONTEXT_MENUS flag, and define customizeMenu
+ instead of getCustomMenuFromDefaultItems.
+
+ * WebCoreSupport/WebContextMenuClient.cpp:
+ (WebContextMenuClient::customizeMenu): getCustomMenuFromDefaultItems was turned into
+ this function, with refactoring using nativeMenu instead of platformDescription.
+ (WebContextMenuClient::contextMenuItemSelected): Use nativeMenu instead of platformDescription.
+ * WebCoreSupport/WebContextMenuClient.h:
+ * WebView.cpp:
+ (WebView::handleContextMenuEvent): Call nativeMenu instead of platformDescription.
+ (WebView::performContextMenuAction): Only call itemAtIndex with one argument, no need
+ for the second.
+
+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.
+
+ * WebCoreSupport/WebContextMenuClient.cpp:
+ (WebContextMenuClient::getCustomMenuFromDefaultItems): Get the HitTestResult and ContextMenu from the
+ ContextMenuController (from the page).
+ (WebContextMenuClient::contextMenuItemSelected): Get the HitTestResult from the ContextMenuController.
+ * WebView.cpp:
+ (WebView::handleContextMenuEvent): Ditto.
+
+2010-12-07 Jessie Berlin <jberlin@apple.com>
+
+ Build fix. Unreviewed.
+
+ * WebCoreSupport/WebContextMenuClient.cpp:
+ (WebContextMenuClient::searchWithGoogle):
+ FrameLoader::urlSelected does not take a SecurityOrigin as a parameter.
+
+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
+
+ * WebCoreSupport/WebContextMenuClient.cpp:
+ (WebContextMenuClient::searchWithGoogle): Pass security origin.
+
+2010-12-07 Kenichi Ishibashi <bashi@google.com>
+
+ Reviewed by Kent Tamura.
+
+ Let HTMLObjectElement be a form associated element
+ https://bugs.webkit.org/show_bug.cgi?id=48821
+
+ Modified to use FormAssociatedElement instead of HTMLFormControlElement.
+
+ * WebFrame.cpp:
+ (WebFrame::elementWithName): Modified to use FormAssociatedElement
+ instead of HTMLFormControlElement.
+ (WebFrame::controlsInForm): Ditto.
+
+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.
+
+ * WebKit.vcproj/WebKit.make:
+
+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
+
+ * WebPreferences.cpp:
+ (WebPreferences::initializeDefaultSettings): Enable "HyperlinkAuditing" by default.
+
+2010-12-03 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ WebContextMenuClient::fixMenuReceivedFromOldSafari is no longer needed on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=50486
+
+ Remove the static fixMenuReceivedFromOldSafari and isPreInspectElementTagSafari methods
+ from WebContextMenuClient. There were there for when WebKit had the Inspect Element context menu
+ item, but Safari didn't support it. We don't support that old Safari, so that code can go.
+
+ * WebCoreSupport/WebContextMenuClient.cpp:
+ (WebContextMenuClient::getCustomMenuFromDefaultItems):
+
+2010-12-02 John Knottenbelt <jknotten@chromium.org>
+
+ Reviewed by Steve Block.
+
+ Move requestGeolocationPermissionForFrame to GeolocationClient
+ https://bugs.webkit.org/show_bug.cgi?id=50061
+
+ This change facilitates client-based geolocation implementation by
+ bringing together permission control into the geolocation client
+ interface.
+
+ Move method ChromeClient::requestGeolocationPermissionForFrame to
+ GeolocationClient::requestPermission. The moved code is unchanged
+ except that requestPermission now takes only one argument (Geolocation*),
+ the Frame parameter is retrieved from the Geolocation object and we need to
+ call m_webView.get() as it is a COMPtr in GeolocationClient.
+
+ * WebCoreSupport/WebChromeClient.cpp:
+ * WebCoreSupport/WebChromeClient.h:
+ * WebCoreSupport/WebGeolocationClient.cpp:
+ (WebGeolocationClient::requestPermission):
+ * WebCoreSupport/WebGeolocationClient.h:
+ (WebGeolocationClient::cancelPermissionRequest):
+
+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 signature defined in base class.
+
+ * WebCoreSupport/WebEditorClient.cpp:
+ (WebEditorClient::getGuessesForWord):
+ * WebCoreSupport/WebEditorClient.h:
+
+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
+
+ * WebKit.vcproj/Interfaces.vcproj:
+ * WebKit.vcproj/WebKit.vcproj:
+ * WebKit.vcproj/WebKitGUID.vcproj:
+
+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
+
+ * WebKit.vcproj/Interfaces.vcproj: Modified property svn:eol-style.
+ * WebKit.vcproj/InterfacesCommon.vsprops: Added property svn:eol-style.
+ * WebKit.vcproj/WebKit.sln: Modified property svn:eol-style.
+ * WebKit.vcproj/WebKit.submit.sln: Modified property svn:eol-style.
+ * WebKit.vcproj/WebKit.vcproj: Modified property svn:eol-style.
+ * WebKit.vcproj/WebKitGUID.vcproj: Modified property svn:eol-style.
+ * WebKit.vcproj/WebKitGUIDCommon.vsprops: Added property svn:eol-style.
+ * WebKit.vcproj/WebKitLibCommon.vsprops: Added property svn:eol-style.
+
+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
+
+ * WebKit.vcproj/InterfacesCommon.vsprops:
+ * WebKit.vcproj/InterfacesPostBuild.cmd: Added.
+ * WebKit.vcproj/InterfacesPreBuild.cmd: Added.
+ * WebKit.vcproj/WebKitGUIDCommon.vsprops:
+ * WebKit.vcproj/WebKitGUIDPostBuild.cmd: Added.
+ * WebKit.vcproj/WebKitGUIDPreBuild.cmd: Added.
+ * WebKit.vcproj/WebKitLibCommon.vsprops:
+ * WebKit.vcproj/WebKitLibPostBuild.cmd: Added.
+ * WebKit.vcproj/WebKitLibPreBuild.cmd: Added.
+
+2010-11-29 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build correction.
+
+ * WebKit.vcproj/WebKit.vcproj: Update WebKit project to
+ use WinCairo.vsprops definition for appropriate build targets.
+
2010-11-22 Adam Roben <aroben@apple.com>
Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files
diff --git a/WebKit/win/FullscreenVideoController.cpp b/WebKit/win/FullscreenVideoController.cpp
index 5f9b959..ab954f8 100644
--- a/WebKit/win/FullscreenVideoController.cpp
+++ b/WebKit/win/FullscreenVideoController.cpp
@@ -38,8 +38,8 @@
#include <WebCore/FontSelector.h>
#include <WebCore/GraphicsContext.h>
#include <WebCore/Page.h>
+#include <WebCore/PlatformCALayer.h>
#include <WebCore/TextRun.h>
-#include <WebCore/WKCACFLayer.h>
#include <WebKitSystemInterface/WebKitSystemInterface.h>
#include <windowsx.h>
#include <wtf/StdLibExtras.h>
@@ -174,20 +174,29 @@ void HUDSlider::drag(const IntPoint& point, bool start)
}
#if USE(ACCELERATED_COMPOSITING)
-class FullscreenVideoController::LayoutClient : public WKCACFLayerLayoutClient {
+class FullscreenVideoController::LayerClient : public WebCore::PlatformCALayerClient {
public:
- LayoutClient(FullscreenVideoController* parent);
- void layoutSublayersOfLayer(WKCACFLayer* layer);
+ LayerClient(FullscreenVideoController* parent) : m_parent(parent) { }
+
+private:
+ virtual void platformCALayerLayoutSublayersOfLayer(PlatformCALayer*);
+ virtual bool platformCALayerRespondsToLayoutChanges() const { return true; }
+
+ virtual void platformCALayerAnimationStarted(CFTimeInterval beginTime) { }
+ virtual GraphicsLayer::CompositingCoordinatesOrientation platformCALayerContentsOrientation() const { return GraphicsLayer::CompositingCoordinatesBottomUp; }
+ virtual void platformCALayerPaintContents(GraphicsContext&, const IntRect& inClip) { }
+ virtual bool platformCALayerShowDebugBorders() const { return false; }
+ virtual bool platformCALayerShowRepaintCounter() const { return false; }
+ virtual int platformCALayerIncrementRepaintCount() { return 0; }
+
+ virtual bool platformCALayerContentsOpaque() const { return false; }
+ virtual bool platformCALayerDrawsContent() const { return false; }
+ virtual void platformCALayerLayerDidDisplay(PlatformLayer*) { }
FullscreenVideoController* m_parent;
};
-FullscreenVideoController::LayoutClient::LayoutClient(FullscreenVideoController* parent)
- : m_parent(parent)
-{
-}
-
-void FullscreenVideoController::LayoutClient::layoutSublayersOfLayer(WKCACFLayer* layer)
+void FullscreenVideoController::LayerClient::platformCALayerLayoutSublayersOfLayer(PlatformCALayer* layer)
{
ASSERT_ARG(layer, layer == m_parent->m_rootChild);
@@ -195,7 +204,8 @@ void FullscreenVideoController::LayoutClient::layoutSublayersOfLayer(WKCACFLayer
if (!mediaElement)
return;
- WKCACFLayer* videoLayer = mediaElement->platformLayer();
+
+ PlatformCALayer* videoLayer = PlatformCALayer::platformCALayer(mediaElement->platformLayer());
if (!videoLayer || videoLayer->superlayer() != layer)
return;
@@ -232,20 +242,17 @@ FullscreenVideoController::FullscreenVideoController()
, m_movingWindow(false)
, m_timer(this, &FullscreenVideoController::timerFired)
#if USE(ACCELERATED_COMPOSITING)
- , m_rootChild(WKCACFLayer::create(WKCACFLayer::Layer))
- , m_layoutClient(new LayoutClient(this))
+ , m_layerClient(new LayerClient(this))
+ , m_rootChild(PlatformCALayer::create(PlatformCALayer::LayerTypeLayer, m_layerClient.get()))
#endif
, m_fullscreenWindow(new MediaPlayerPrivateFullscreenWindow(this))
{
-#if USE(ACCELERATED_COMPOSITING)
- m_rootChild->setLayoutClient(m_layoutClient.get());
-#endif
}
FullscreenVideoController::~FullscreenVideoController()
{
#if USE(ACCELERATED_COMPOSITING)
- m_rootChild->setLayoutClient(0);
+ m_rootChild->setOwner(0);
#endif
}
@@ -273,8 +280,8 @@ void FullscreenVideoController::enterFullscreen()
#if USE(ACCELERATED_COMPOSITING)
m_fullscreenWindow->setRootChildLayer(m_rootChild);
- WKCACFLayer* videoLayer = m_mediaElement->platformLayer();
- m_rootChild->addSublayer(videoLayer);
+ PlatformCALayer* videoLayer = PlatformCALayer::platformCALayer(m_mediaElement->platformLayer());
+ m_rootChild->appendSublayer(videoLayer);
m_rootChild->setNeedsLayout();
m_rootChild->setGeometryFlipped(1);
#endif
diff --git a/WebKit/win/FullscreenVideoController.h b/WebKit/win/FullscreenVideoController.h
index 9ac8c69..6b56ab5 100644
--- a/WebKit/win/FullscreenVideoController.h
+++ b/WebKit/win/FullscreenVideoController.h
@@ -39,7 +39,7 @@
namespace WebCore {
class GraphicsContext;
#if USE(ACCELERATED_COMPOSITING)
-class WKCACFLayer;
+class PlatformCALayer;
#endif
}
@@ -157,10 +157,10 @@ private:
WebCore::IntPoint m_hudPosition;
OwnPtr<WebCore::MediaPlayerPrivateFullscreenWindow> m_fullscreenWindow;
#if USE(ACCELERATED_COMPOSITING)
- RefPtr<WebCore::WKCACFLayer> m_rootChild;
- class LayoutClient;
- friend class LayoutClient;
- OwnPtr<LayoutClient> m_layoutClient;
+ class LayerClient;
+ friend class LayerClient;
+ OwnPtr<LayerClient> m_layerClient;
+ RefPtr<WebCore::PlatformCALayer> m_rootChild;
#endif
HUDButton m_playPauseButton;
diff --git a/WebKit/win/WebCoreSupport/WebChromeClient.cpp b/WebKit/win/WebCoreSupport/WebChromeClient.cpp
index d046c21..9446e15 100644
--- a/WebKit/win/WebCoreSupport/WebChromeClient.cpp
+++ b/WebKit/win/WebCoreSupport/WebChromeClient.cpp
@@ -32,7 +32,6 @@
#include "DOMCoreClasses.h"
#include "WebElementPropertyBag.h"
#include "WebFrame.h"
-#include "WebGeolocationPolicyListener.h"
#include "WebHistory.h"
#include "WebMutableURLRequest.h"
#include "WebDesktopNotificationsDelegate.h"
@@ -46,7 +45,6 @@
#include <WebCore/FloatRect.h>
#include <WebCore/FrameLoadRequest.h>
#include <WebCore/FrameView.h>
-#include <WebCore/Geolocation.h>
#include <WebCore/HTMLNames.h>
#include <WebCore/Icon.h>
#include <WebCore/LocalWindowsContext.h>
@@ -799,17 +797,19 @@ void WebChromeClient::setCursor(const Cursor& cursor)
if (!platformCursor)
return;
+ bool shouldSetCursor = true;
if (COMPtr<IWebUIDelegate> delegate = uiDelegate()) {
COMPtr<IWebUIDelegatePrivate> delegatePrivate(Query, delegate);
if (delegatePrivate) {
if (SUCCEEDED(delegatePrivate->webViewSetCursor(m_webView, reinterpret_cast<OLE_HANDLE>(platformCursor))))
- return;
+ shouldSetCursor = false;
}
}
- m_webView->setLastCursor(platformCursor);
- ::SetCursor(platformCursor);
- return;
+ if (shouldSetCursor)
+ ::SetCursor(platformCursor);
+
+ setLastSetCursorToCurrentCursor();
}
void WebChromeClient::setLastSetCursorToCurrentCursor()
@@ -817,38 +817,15 @@ void WebChromeClient::setLastSetCursorToCurrentCursor()
m_webView->setLastCursor(::GetCursor());
}
-void WebChromeClient::requestGeolocationPermissionForFrame(Frame* frame, Geolocation* geolocation)
-{
- COMPtr<IWebUIDelegate> uiDelegate;
- if (FAILED(m_webView->uiDelegate(&uiDelegate))) {
- geolocation->setIsAllowed(false);
- return;
- }
-
- COMPtr<IWebUIDelegatePrivate2> uiDelegatePrivate2(Query, uiDelegate);
- if (!uiDelegatePrivate2) {
- geolocation->setIsAllowed(false);
- return;
- }
-
- COMPtr<WebSecurityOrigin> origin(AdoptCOM, WebSecurityOrigin::createInstance(frame->document()->securityOrigin()));
- COMPtr<WebGeolocationPolicyListener> listener = WebGeolocationPolicyListener::createInstance(geolocation);
- HRESULT hr = uiDelegatePrivate2->decidePolicyForGeolocationRequest(m_webView, kit(frame), origin.get(), listener.get());
- if (hr != E_NOTIMPL)
- return;
-
- geolocation->setIsAllowed(false);
-}
-
#if USE(ACCELERATED_COMPOSITING)
void WebChromeClient::attachRootGraphicsLayer(Frame* frame, GraphicsLayer* graphicsLayer)
{
- m_webView->setRootChildLayer(graphicsLayer ? static_cast<WKCACFLayer*>(graphicsLayer->platformLayer()) : 0);
+ m_webView->setRootChildLayer(graphicsLayer ? PlatformCALayer::platformCALayer(graphicsLayer->platformLayer()) : 0);
}
void WebChromeClient::scheduleCompositingLayerSync()
{
- m_webView->setRootLayerNeedsDisplay();
+ m_webView->setRootLayerNeedsDisplay(true);
}
#endif
diff --git a/WebKit/win/WebCoreSupport/WebChromeClient.h b/WebKit/win/WebCoreSupport/WebChromeClient.h
index 55167b6..b6c2525 100644
--- a/WebKit/win/WebCoreSupport/WebChromeClient.h
+++ b/WebKit/win/WebCoreSupport/WebChromeClient.h
@@ -159,7 +159,9 @@ public:
virtual void scrollRectIntoView(const WebCore::IntRect&, const WebCore::ScrollView*) const {}
- virtual void requestGeolocationPermissionForFrame(WebCore::Frame*, WebCore::Geolocation*);
+ // FIXME: Remove once all ports are using client-based geolocation. https://bugs.webkit.org/show_bug.cgi?id=40373
+ // For client-based geolocation, these two methods have been moved to WebGeolocationClient. https://bugs.webkit.org/show_bug.cgi?id=50061
+ virtual void requestGeolocationPermissionForFrame(WebCore::Frame*, WebCore::Geolocation*) { }
virtual void cancelGeolocationPermissionRequestForFrame(WebCore::Frame*, WebCore::Geolocation*) { }
#if ENABLE(VIDEO)
diff --git a/WebKit/win/WebCoreSupport/WebContextMenuClient.cpp b/WebKit/win/WebCoreSupport/WebContextMenuClient.cpp
index 24178f2..9405fc8 100644
--- a/WebKit/win/WebCoreSupport/WebContextMenuClient.cpp
+++ b/WebKit/win/WebCoreSupport/WebContextMenuClient.cpp
@@ -32,6 +32,7 @@
#include "WebView.h"
#include <WebCore/ContextMenu.h>
+#include <WebCore/ContextMenuController.h>
#include <WebCore/Event.h>
#include <WebCore/Frame.h>
#include <WebCore/FrameLoader.h>
@@ -54,59 +55,29 @@ void WebContextMenuClient::contextMenuDestroyed()
delete this;
}
-static bool isPreInspectElementTagSafari(IWebUIDelegate* uiDelegate)
+PassOwnPtr<ContextMenu> WebContextMenuClient::customizeMenu(PassOwnPtr<ContextMenu> popMenu)
{
- if (!uiDelegate)
- return false;
+ OwnPtr<ContextMenu> menu = popMenu;
- TCHAR modulePath[MAX_PATH];
- DWORD length = ::GetModuleFileName(0, modulePath, WTF_ARRAY_LENGTH(modulePath));
- if (!length)
- return false;
-
- return String(modulePath, length).endsWith("Safari.exe", false);
-}
-
-static HMENU fixMenuReceivedFromOldSafari(IWebUIDelegate* uiDelegate, ContextMenu* originalMenu, HMENU menuFromClient)
-{
- ASSERT_ARG(originalMenu, originalMenu);
- if (!isPreInspectElementTagSafari(uiDelegate))
- return menuFromClient;
-
- int count = ::GetMenuItemCount(originalMenu->platformDescription());
- if (count < 1)
- return menuFromClient;
-
- if (::GetMenuItemID(originalMenu->platformDescription(), count - 1) != WebMenuItemTagInspectElement)
- return menuFromClient;
-
- count = ::GetMenuItemCount(menuFromClient);
- if (count < 1)
- return menuFromClient;
-
- if (::GetMenuItemID(menuFromClient, count - 1) == WebMenuItemTagInspectElement)
- return menuFromClient;
-
- originalMenu->setPlatformDescription(menuFromClient);
- originalMenu->addInspectElementItem();
- return originalMenu->platformDescription();
-}
-
-HMENU WebContextMenuClient::getCustomMenuFromDefaultItems(ContextMenu* menu)
-{
COMPtr<IWebUIDelegate> uiDelegate;
if (FAILED(m_webView->uiDelegate(&uiDelegate)))
- return menu->platformDescription();
+ return menu.release();
ASSERT(uiDelegate);
- HMENU newMenu = 0;
+ HMENU nativeMenu = menu->nativeMenu();
COMPtr<WebElementPropertyBag> propertyBag;
- propertyBag.adoptRef(WebElementPropertyBag::createInstance(menu->hitTestResult()));
+ propertyBag.adoptRef(WebElementPropertyBag::createInstance(m_webView->page()->contextMenuController()->hitTestResult()));
// FIXME: We need to decide whether to do the default before calling this delegate method
- if (FAILED(uiDelegate->contextMenuItemsForElement(m_webView, propertyBag.get(), (OLE_HANDLE)(ULONG64)menu->platformDescription(), (OLE_HANDLE*)&newMenu)))
- return menu->platformDescription();
- return fixMenuReceivedFromOldSafari(uiDelegate.get(), menu, newMenu);
+ if (FAILED(uiDelegate->contextMenuItemsForElement(m_webView, propertyBag.get(), (OLE_HANDLE)(ULONG64)nativeMenu, (OLE_HANDLE*)&nativeMenu))) {
+ ::DestroyMenu(nativeMenu);
+ return menu.release();
+ }
+
+ OwnPtr<ContextMenu> customizedMenu = adoptPtr(new ContextMenu(nativeMenu));
+ ::DestroyMenu(nativeMenu);
+
+ return customizedMenu.release();
}
void WebContextMenuClient::contextMenuItemSelected(ContextMenuItem* item, const ContextMenu* parentMenu)
@@ -120,9 +91,18 @@ void WebContextMenuClient::contextMenuItemSelected(ContextMenuItem* item, const
ASSERT(uiDelegate);
COMPtr<WebElementPropertyBag> propertyBag;
- propertyBag.adoptRef(WebElementPropertyBag::createInstance(parentMenu->hitTestResult()));
-
- uiDelegate->contextMenuItemSelected(m_webView, item->releasePlatformDescription(), propertyBag.get());
+ propertyBag.adoptRef(WebElementPropertyBag::createInstance(m_webView->page()->contextMenuController()->hitTestResult()));
+
+ // This call would leak the MENUITEMINFO's subMenu if it had one, but on Windows, subMenus can't be selected, so there is
+ // no way we would get to this point. Also, it can't be a separator, because separators cannot be selected.
+ ASSERT(item->type() != SubmenuType);
+ ASSERT(item->type() != SeparatorType);
+
+ // ContextMenuItem::nativeMenuItem doesn't set the dwTypeData of the MENUITEMINFO, but no WebKit clients
+ // use the title in IWebUIDelegate::contextMenuItemSelected, so we don't need to populate it here.
+ MENUITEMINFO selectedItem = item->nativeMenuItem();
+
+ uiDelegate->contextMenuItemSelected(m_webView, &selectedItem, propertyBag.get());
}
void WebContextMenuClient::downloadURL(const KURL& url)
diff --git a/WebKit/win/WebCoreSupport/WebContextMenuClient.h b/WebKit/win/WebCoreSupport/WebContextMenuClient.h
index 6bcb072..ed41c59 100644
--- a/WebKit/win/WebCoreSupport/WebContextMenuClient.h
+++ b/WebKit/win/WebCoreSupport/WebContextMenuClient.h
@@ -23,8 +23,10 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include <WebCore/ContextMenu.h>
#include <WebCore/ContextMenuClient.h>
#include <wtf/Forward.h>
+#include <wtf/PassOwnPtr.h>
class WebView;
@@ -34,7 +36,7 @@ public:
virtual void contextMenuDestroyed();
- virtual HMENU getCustomMenuFromDefaultItems(WebCore::ContextMenu*);
+ virtual PassOwnPtr<WebCore::ContextMenu> customizeMenu(PassOwnPtr<WebCore::ContextMenu>);
virtual void contextMenuItemSelected(WebCore::ContextMenuItem*, const WebCore::ContextMenu*);
virtual void downloadURL(const WebCore::KURL&);
diff --git a/WebKit/win/WebCoreSupport/WebEditorClient.cpp b/WebKit/win/WebCoreSupport/WebEditorClient.cpp
index f03ffd6..539259b 100644
--- a/WebKit/win/WebCoreSupport/WebEditorClient.cpp
+++ b/WebKit/win/WebCoreSupport/WebEditorClient.cpp
@@ -758,7 +758,7 @@ bool WebEditorClient::spellingUIIsShowing()
return !!showing;
}
-void WebEditorClient::getGuessesForWord(const String& word, Vector<String>& guesses)
+void WebEditorClient::getGuessesForWord(const String& word, const String& context, Vector<String>& guesses)
{
guesses.clear();
diff --git a/WebKit/win/WebCoreSupport/WebEditorClient.h b/WebKit/win/WebCoreSupport/WebEditorClient.h
index 8be6de9..358a365 100644
--- a/WebKit/win/WebCoreSupport/WebEditorClient.h
+++ b/WebKit/win/WebCoreSupport/WebEditorClient.h
@@ -107,10 +107,11 @@ public:
virtual void updateSpellingUIWithMisspelledWord(const WTF::String&);
virtual void showSpellingUI(bool show);
virtual bool spellingUIIsShowing();
- virtual void getGuessesForWord(const WTF::String&, Vector<WTF::String>& guesses);
+ virtual void getGuessesForWord(const WTF::String& word, const WTF::String& context, WTF::Vector<WTF::String>& guesses);
virtual void willSetInputMethodState();
virtual void setInputMethodState(bool);
+ virtual void requestCheckingOfString(WebCore::SpellChecker*, int, const WTF::String&) {}
private:
WebView* m_webView;
diff --git a/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp b/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp
index 24f97ca..7fd2b98 100644
--- a/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp
+++ b/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp
@@ -720,6 +720,14 @@ void WebFrameLoaderClient::transitionToCommittedForNewPage()
core(m_webFrame)->createView(IntRect(rect).size(), backgroundColor, transparent, IntSize(), false);
}
+void WebFrameLoaderClient::didSaveToPageCache()
+{
+}
+
+void WebFrameLoaderClient::didRestoreFromPageCache()
+{
+}
+
void WebFrameLoaderClient::dispatchDidBecomeFrameset(bool)
{
}
diff --git a/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h b/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h
index 981daec..573b58f 100644
--- a/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h
+++ b/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h
@@ -108,6 +108,9 @@ public:
virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*);
virtual void transitionToCommittedForNewPage();
+ virtual void didSaveToPageCache();
+ virtual void didRestoreFromPageCache();
+
virtual void dispatchDidBecomeFrameset(bool);
virtual bool canCachePage() const;
diff --git a/WebKit/win/WebCoreSupport/WebGeolocationClient.cpp b/WebKit/win/WebCoreSupport/WebGeolocationClient.cpp
index 8a526c4..b1d83fb 100644
--- a/WebKit/win/WebCoreSupport/WebGeolocationClient.cpp
+++ b/WebKit/win/WebCoreSupport/WebGeolocationClient.cpp
@@ -27,8 +27,14 @@
#include "WebKitDLL.h"
#include "WebGeolocationClient.h"
+#include "WebFrame.h"
+#include "WebGeolocationPolicyListener.h"
#include "WebGeolocationPosition.h"
+#include "WebSecurityOrigin.h"
#include "WebView.h"
+#include <WebCore/Frame.h>
+#include <WebCore/Geolocation.h>
+#include <WebCore/SecurityOrigin.h>
using namespace WebCore;
@@ -72,3 +78,27 @@ GeolocationPosition* WebGeolocationClient::lastPosition()
return 0;
#endif
}
+
+void WebGeolocationClient::requestPermission(Geolocation* geolocation)
+{
+ COMPtr<IWebUIDelegate> uiDelegate;
+ if (FAILED(m_webView->uiDelegate(&uiDelegate))) {
+ geolocation->setIsAllowed(false);
+ return;
+ }
+
+ COMPtr<IWebUIDelegatePrivate2> uiDelegatePrivate2(Query, uiDelegate);
+ if (!uiDelegatePrivate2) {
+ geolocation->setIsAllowed(false);
+ return;
+ }
+
+ Frame* frame = geolocation->frame();
+ COMPtr<WebSecurityOrigin> origin(AdoptCOM, WebSecurityOrigin::createInstance(frame->document()->securityOrigin()));
+ COMPtr<WebGeolocationPolicyListener> listener = WebGeolocationPolicyListener::createInstance(geolocation);
+ HRESULT hr = uiDelegatePrivate2->decidePolicyForGeolocationRequest(m_webView.get(), kit(frame), origin.get(), listener.get());
+ if (hr != E_NOTIMPL)
+ return;
+
+ geolocation->setIsAllowed(false);
+}
diff --git a/WebKit/win/WebCoreSupport/WebGeolocationClient.h b/WebKit/win/WebCoreSupport/WebGeolocationClient.h
index 2422ae5..c5db134 100644
--- a/WebKit/win/WebCoreSupport/WebGeolocationClient.h
+++ b/WebKit/win/WebCoreSupport/WebGeolocationClient.h
@@ -30,7 +30,8 @@
#include <WebCore/GeolocationClient.h>
namespace WebCore {
- class GeolocationPosition;
+class Geolocation;
+class GeolocationPosition;
}
class WebView;
@@ -45,6 +46,9 @@ public:
virtual void setEnableHighAccuracy(bool) { }
virtual WebCore::GeolocationPosition* lastPosition();
+ virtual void requestPermission(WebCore::Geolocation*);
+ virtual void cancelPermissionRequest(WebCore::Geolocation*) { }
+
private:
COMPtr<WebView> m_webView;
};
diff --git a/WebKit/win/WebFrame.cpp b/WebKit/win/WebFrame.cpp
index 60be4d5..bb5f886 100644
--- a/WebKit/win/WebFrame.cpp
+++ b/WebKit/win/WebFrame.cpp
@@ -58,6 +58,7 @@
#include <WebCore/MemoryCache.h>
#include <WebCore/Document.h>
#include <WebCore/DocumentLoader.h>
+#include <WebCore/DocumentMarkerController.h>
#include <WebCore/DOMImplementation.h>
#include <WebCore/DOMWindow.h>
#include <WebCore/Event.h>
@@ -1134,12 +1135,14 @@ HRESULT WebFrame::elementWithName(BSTR name, IDOMElement* form, IDOMElement** el
if (!form)
return E_INVALIDARG;
- HTMLFormElement *formElement = formElementFromDOMElement(form);
+ HTMLFormElement* formElement = formElementFromDOMElement(form);
if (formElement) {
- const Vector<HTMLFormControlElement*>& elements = formElement->associatedElements();
+ const Vector<FormAssociatedElement*>& elements = formElement->associatedElements();
AtomicString targetName((UChar*)name, SysStringLen(name));
for (unsigned int i = 0; i < elements.size(); i++) {
- HTMLFormControlElement *elt = elements[i];
+ if (!elements[i]->isFormControlElement())
+ continue;
+ HTMLFormControlElement* elt = static_cast<HTMLFormControlElement*>(elements[i]);
// Skip option elements, other duds
if (elt->name() == targetName) {
*element = DOMElement::createInstance(elt);
@@ -1349,7 +1352,7 @@ HRESULT WebFrame::controlsInForm(IDOMElement* form, IDOMElement** controls, int*
if (!form)
return E_INVALIDARG;
- HTMLFormElement *formElement = formElementFromDOMElement(form);
+ HTMLFormElement* formElement = formElementFromDOMElement(form);
if (!formElement)
return E_FAIL;
@@ -1362,10 +1365,10 @@ HRESULT WebFrame::controlsInForm(IDOMElement* form, IDOMElement** controls, int*
return E_FAIL;
*cControls = 0;
- const Vector<HTMLFormControlElement*>& elements = formElement->associatedElements();
+ const Vector<FormAssociatedElement*>& elements = formElement->associatedElements();
for (int i = 0; i < count; i++) {
if (elements.at(i)->isEnumeratable()) { // Skip option elements, other duds
- controls[*cControls] = DOMElement::createInstance(elements.at(i));
+ controls[*cControls] = DOMElement::createInstance(toHTMLElement(elements.at(i)));
(*cControls)++;
}
}
diff --git a/WebKit/win/WebKit.vcproj/Interfaces.vcproj b/WebKit/win/WebKit.vcproj/Interfaces.vcproj
index 00a7250..2da87bf 100644
--- a/WebKit/win/WebKit.vcproj/Interfaces.vcproj
+++ b/WebKit/win/WebKit.vcproj/Interfaces.vcproj
@@ -1,4683 +1,4682 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="Interfaces"
- ProjectGUID="{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
- RootNamespace="Interfaces"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\InterfacesCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\InterfacesCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_LTCG|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\InterfacesCommon.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\InterfacesCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\InterfacesCommon.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\InterfacesCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="..\Interfaces\AccessibleComparable.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMCore.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMCSS.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMEvents.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMExtensions.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMHTML.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMRange.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMWindow.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IGEN_DOMObject.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebArchive.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebBackForwardList.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebBackForwardListPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebCache.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebCookieManager.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebCoreStatistics.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebDatabaseManager.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebDataSource.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebDesktopNotificationsDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebDocument.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebDownload.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebEditingDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebEmbeddedView.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebError.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebErrorPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFormDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFrame.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFrameLoadDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFrameLoadDelegatePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFrameLoadDelegatePrivate2.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFramePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFrameView.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebGeolocationPolicyListener.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebGeolocationPosition.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebGeolocationProvider.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHistory.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHistoryDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHistoryItem.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHistoryItemPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHistoryPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHTMLRepresentation.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHTTPURLResponse.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebIconDatabase.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebInspector.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebInspectorPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebJavaScriptCollector.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebKitStatistics.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebMutableURLRequest.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebMutableURLRequestPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebNavigationData.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebNotification.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebNotificationCenter.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebNotificationObserver.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebPluginHalterDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebPolicyDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebPolicyDelegatePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebPreferences.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebPreferencesPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebResource.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebResourceLoadDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebResourceLoadDelegatePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebScriptObject.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebScriptWorld.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebScrollBarDelegatePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebScrollBarPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebSecurityOrigin.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebSerializedJSValue.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebSerializedJSValuePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebTextRenderer.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebUIDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebUIDelegatePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebUndoManager.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebUndoTarget.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebURLAuthenticationChallenge.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebURLRequest.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebURLResponse.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebURLResponsePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebUserContentURLPattern.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebView.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebViewPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebWorkersPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\JavaScriptCoreAPITypes.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\WebKit.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\WebScrollbarTypes.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="Interfaces"
+ ProjectGUID="{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
+ RootNamespace="Interfaces"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\InterfacesCommon.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\InterfacesCommon.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_LTCG|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\InterfacesCommon.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\InterfacesCommon.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\InterfacesCommon.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\InterfacesCommon.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\Interfaces\AccessibleComparable.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\DOMCore.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\DOMCSS.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\DOMEvents.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\DOMExtensions.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\DOMHTML.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\DOMPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\DOMRange.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\DOMWindow.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IGEN_DOMObject.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebArchive.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebBackForwardList.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebBackForwardListPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebCache.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebCookieManager.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebCoreStatistics.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebDatabaseManager.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebDataSource.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebDesktopNotificationsDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebDocument.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebDownload.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebEditingDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebEmbeddedView.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebError.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebErrorPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebFormDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebFrame.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebFrameLoadDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebFrameLoadDelegatePrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebFrameLoadDelegatePrivate2.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebFramePrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebFrameView.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebGeolocationPolicyListener.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebGeolocationPosition.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebGeolocationProvider.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebHistory.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebHistoryDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebHistoryItem.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebHistoryItemPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebHistoryPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebHTMLRepresentation.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebHTTPURLResponse.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebIconDatabase.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebInspector.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebInspectorPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebJavaScriptCollector.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebKitStatistics.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebMutableURLRequest.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebMutableURLRequestPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebNavigationData.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebNotification.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebNotificationCenter.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebNotificationObserver.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebPluginHalterDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebPolicyDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebPolicyDelegatePrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebPreferences.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebPreferencesPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebResource.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebResourceLoadDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebResourceLoadDelegatePrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebScriptObject.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebScriptWorld.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebScrollBarDelegatePrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebScrollBarPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebSecurityOrigin.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebSerializedJSValue.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebSerializedJSValuePrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebTextRenderer.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebUIDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebUIDelegatePrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebUndoManager.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebUndoTarget.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebURLAuthenticationChallenge.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebURLRequest.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebURLResponse.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebURLResponsePrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebUserContentURLPattern.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebView.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebViewPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebWorkersPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\JavaScriptCoreAPITypes.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\WebKit.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ GenerateTypeLibrary="true"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ GenerateTypeLibrary="true"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ GenerateTypeLibrary="true"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ GenerateTypeLibrary="true"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ GenerateTypeLibrary="true"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ GenerateTypeLibrary="true"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\WebScrollbarTypes.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops b/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops
index 3fccc84..73d55b5 100644
--- a/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops
+++ b/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops
@@ -1,22 +1,14 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="InterfacesCommon"
- OutputDirectory="$(WebKitOutputDir)\include\WebKit"
- >
- <Tool
- Name="VCMIDLTool"
- AdditionalIncludeDirectories="&quot;$(WebKitOutputDir)\obj\WebKit\DerivedSources&quot;;..\Interfaces;&quot;$(IntDir)\include&quot;"
- TypeLibraryName="$(WebKitOutputDir)\lib\WebKit.tlb"
- OutputDirectory="$(WebKitOutputDir)\obj\WebKit\$(ProjectName)"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;perl FixMIDLHeaders.pl &quot;$(WebkitOutputDir)/include/webkit/&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; del &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;"
- />
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\obj\WebKit\$(ProjectName)&quot;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="InterfacesCommon"
+ OutputDirectory="$(ConfigurationBuildDir)\include\WebKit"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\obj\WebKit\DerivedSources&quot;;..\Interfaces;&quot;$(IntDir)\include&quot;"
+ TypeLibraryName="$(ConfigurationBuildDir)\lib\WebKit.tlb"
+ OutputDirectory="$(ConfigurationBuildDir)\obj\WebKit\$(ProjectName)"
+ />
+</VisualStudioPropertySheet>
diff --git a/WebKit/win/WebKit.vcproj/InterfacesPostBuild.cmd b/WebKit/win/WebKit.vcproj/InterfacesPostBuild.cmd
new file mode 100644
index 0000000..e5d4873
--- /dev/null
+++ b/WebKit/win/WebKit.vcproj/InterfacesPostBuild.cmd
@@ -0,0 +1,7 @@
+%SystemDrive%\cygwin\bin\which.exe bash
+if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
+cmd /c
+
+perl FixMIDLHeaders.pl "%CONFIGURATIONBUILDDIR%/include/webkit/"
+
+if exist "%CONFIGURATIONBUILDDIR%\buildfailed" del "%CONFIGURATIONBUILDDIR%\buildfailed"
diff --git a/WebKit/win/WebKit.vcproj/InterfacesPreBuild.cmd b/WebKit/win/WebKit.vcproj/InterfacesPreBuild.cmd
new file mode 100644
index 0000000..5f2ea56
--- /dev/null
+++ b/WebKit/win/WebKit.vcproj/InterfacesPreBuild.cmd
@@ -0,0 +1,9 @@
+%SystemDrive%\cygwin\bin\which.exe bash
+if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
+cmd /c
+if exist "%CONFIGURATIONBUILDDIR%\buildfailed" grep XX%PROJECTNAME%XX "%CONFIGURATIONBUILDDIR%\buildfailed"
+if errorlevel 1 exit 1
+echo XX%PROJECTNAME%XX > "%CONFIGURATIONBUILDDIR%\buildfailed"
+
+mkdir 2>NUL "%CONFIGURATIONBUILDDIR%\obj\WebKit\%PROJECTNAME%"
+bash "%WEBKITLIBRARIESDIR%\tools\scripts\auto-version.sh" "%INTDIR%"
diff --git a/WebKit/win/WebKit.vcproj/WebKit.make b/WebKit/win/WebKit.vcproj/WebKit.make
index 0d5fbc5..ef8e7a6 100755
--- a/WebKit/win/WebKit.vcproj/WebKit.make
+++ b/WebKit/win/WebKit.vcproj/WebKit.make
@@ -7,12 +7,13 @@ BUILDSTYLE=Release_LTCG
install:
set WebKitLibrariesDir=$(SRCROOT)\AppleInternal
set WebKitOutputDir=$(OBJROOT)
- set WebKitVSPropsRedirectionDir=$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\
+ set ConfigurationBuildDir=$(OBJROOT)\$(BUILDSTYLE)
+ set WebKitVSPropsRedirectionDir=$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\
set PRODUCTION=1
devenv "WebKit.submit.sln" /rebuild $(BUILDSTYLE)
- -xcopy "$(OBJROOT)\bin\*.exe" "$(DSTROOT)\AppleInternal\bin\" /e/v/i/h/y
- xcopy "$(OBJROOT)\bin\*.pdb" "$(DSTROOT)\AppleInternal\bin\" /e/v/i/h/y
- -xcopy "$(OBJROOT)\bin\*.dll" "$(DSTROOT)\AppleInternal\bin\" /e/v/i/h/y
- xcopy "$(OBJROOT)\include\*" "$(DSTROOT)\AppleInternal\include\" /e/v/i/h/y
- xcopy "$(OBJROOT)\lib\*" "$(DSTROOT)\AppleInternal\lib\" /e/v/i/h/y
- xcopy "$(OBJROOT)\bin\WebKit.resources\*" "$(DSTROOT)\AppleInternal\bin\WebKit.resources" /e/v/i/h/y
+ -xcopy "$(ConfigurationBuildDir)\bin\*.exe" "$(DSTROOT)\AppleInternal\bin\" /e/v/i/h/y
+ xcopy "$(ConfigurationBuildDir)\bin\*.pdb" "$(DSTROOT)\AppleInternal\bin\" /e/v/i/h/y
+ -xcopy "$(ConfigurationBuildDir)\bin\*.dll" "$(DSTROOT)\AppleInternal\bin\" /e/v/i/h/y
+ xcopy "$(ConfigurationBuildDir)\include\*" "$(DSTROOT)\AppleInternal\include\" /e/v/i/h/y
+ xcopy "$(ConfigurationBuildDir)\lib\*" "$(DSTROOT)\AppleInternal\lib\" /e/v/i/h/y
+ xcopy "$(ConfigurationBuildDir)\bin\WebKit.resources\*" "$(DSTROOT)\AppleInternal\bin\WebKit.resources" /e/v/i/h/y
diff --git a/WebKit/win/WebKit.vcproj/WebKit.sln b/WebKit/win/WebKit.vcproj/WebKit.sln
index f2f8f2f..febe55e 100644
--- a/WebKit/win/WebKit.vcproj/WebKit.sln
+++ b/WebKit/win/WebKit.vcproj/WebKit.sln
@@ -1,415 +1,415 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCore", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\JavaScriptCore\JavaScriptCore.vcproj", "{011D10F1-B656-4A1B-A0C3-3842F02122C5}"
- ProjectSection(ProjectDependencies) = postProject
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {AA8A5A85-592B-4357-BC60-E0E91E026AF6}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCore", "..\..\..\WebCore\WebCore.vcproj\WebCore.vcproj", "{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}"
- ProjectSection(ProjectDependencies) = postProject
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {E498CA9D-3BD2-4D52-8E37-C8DC76526325}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTF", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\WTF\WTF.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}"
- ProjectSection(ProjectDependencies) = postProject
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsc", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\jsc\jsc.vcproj", "{C59E5129-B453-49B7-A52B-1E104715F76E}"
- ProjectSection(ProjectDependencies) = postProject
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2} = {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "JavaScriptCore Folder", "JavaScriptCore Folder", "{557FA164-0E39-4DEC-B66C-8795C8E52399}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCoreGenerated", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\JavaScriptCore\JavaScriptCoreGenerated.vcproj", "{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebCore Folder", "WebCore Folder", "{63FB6F8A-C601-43E3-BD16-A00A465C2CB6}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreGenerated", "..\..\..\WebCore\WebCore.vcproj\WebCoreGenerated.vcproj", "{0A324352-B3B6-496C-9E5B-4C7E923E628B}"
- ProjectSection(ProjectDependencies) = postProject
- {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {011D10F1-B656-4A1B-A0C3-3842F02122C5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QTMovieWin", "..\..\..\WebCore\WebCore.vcproj\QTMovieWin.vcproj", "{E498CA9D-3BD2-4D52-8E37-C8DC76526325}"
- ProjectSection(ProjectDependencies) = postProject
- {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {0A324352-B3B6-496C-9E5B-4C7E923E628B}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testapi", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\testapi\testapi.vcproj", "{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}"
- ProjectSection(ProjectDependencies) = postProject
- {DA31DA52-6675-48D4-89E0-333A7144397C} = {DA31DA52-6675-48D4-89E0-333A7144397C}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit", "..\..\..\WebKit2\win\WebKit2.vcproj", "{2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}"
- ProjectSection(ProjectDependencies) = postProject
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKit2 Folder", "WebKit2 Folder", "{9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2Generated", "..\..\..\WebKit2\win\WebKit2Generated.vcproj", "{2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}"
- ProjectSection(ProjectDependencies) = postProject
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {0662A8A9-82A3-4638-97D8-EC425D8D87C9}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2WebProcess", "..\..\..\WebKit2\win\WebKit2WebProcess.vcproj", "{AAE88FEF-509E-4D49-870B-7357922C276F}"
- ProjectSection(ProjectDependencies) = postProject
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKitCOM Folder", "WebKitCOM Folder", "{1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Interfaces", "Interfaces.vcproj", "{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
- ProjectSection(ProjectDependencies) = postProject
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLib", "WebKit.vcproj", "{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
- ProjectSection(ProjectDependencies) = postProject
- {B8437A41-67BC-4769-9452-45203827F821} = {B8437A41-67BC-4769-9452-45203827F821}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitGUID", "WebKitGUID.vcproj", "{B8437A41-67BC-4769-9452-45203827F821}"
- ProjectSection(ProjectDependencies) = postProject
- {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKitTools", "WebKitTools", "{62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DumpRenderTree", "..\..\..\WebKitTools\DumpRenderTree\win\DumpRenderTree.vcproj", "{6567DFD4-D6DE-4CD5-825D-17E353D160E1}"
- ProjectSection(ProjectDependencies) = postProject
- {59CC0547-70AC-499C-9B19-EC01C6F61137} = {59CC0547-70AC-499C-9B19-EC01C6F61137}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageDiff", "..\..\..\WebKitTools\DumpRenderTree\win\ImageDiff.vcproj", "{59CC0547-70AC-499C-9B19-EC01C6F61137}"
- ProjectSection(ProjectDependencies) = postProject
- {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {C0737398-3565-439E-A2B8-AB2BE4D5430C}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FindSafari", "..\..\..\WebKitTools\FindSafari\FindSafari.vcproj", "{DA31DA52-6675-48D4-89E0-333A7144397C}"
- ProjectSection(ProjectDependencies) = postProject
- {AAE88FEF-509E-4D49-870B-7357922C276F} = {AAE88FEF-509E-4D49-870B-7357922C276F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "record-memory-win", "..\..\..\WebKitTools\record-memory-win\record-memory-win.vcproj", "{44B9C152-1870-4035-B94D-7B3285AA0C12}"
- ProjectSection(ProjectDependencies) = postProject
- {D09806DB-E58B-4646-8C9B-61101906C1E2} = {D09806DB-E58B-4646-8C9B-61101906C1E2}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestNetscapePlugin", "..\..\..\WebKitTools\DumpRenderTree\TestNetscapePlugIn\win\TestNetscapePlugin.vcproj", "{C0737398-3565-439E-A2B8-AB2BE4D5430C}"
- ProjectSection(ProjectDependencies) = postProject
- {114FCA11-216B-4C8C-957E-30A75AE80443} = {114FCA11-216B-4C8C-957E-30A75AE80443}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitAPITest", "..\..\..\WebKitTools\WebKitAPITest\WebKitAPITest.vcproj", "{626089A3-25D3-4883-A96C-B8C66E036397}"
- ProjectSection(ProjectDependencies) = postProject
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {6567DFD4-D6DE-4CD5-825D-17E353D160E1}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLauncherWin", "..\..\..\WebKitTools\WebKitLauncherWin\WebKitLauncherWin.vcproj", "{D09806DB-E58B-4646-8C9B-61101906C1E2}"
- ProjectSection(ProjectDependencies) = postProject
- {626089A3-25D3-4883-A96C-B8C66E036397} = {626089A3-25D3-4883-A96C-B8C66E036397}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinLauncher", "..\..\..\WebKitTools\WinLauncher\WinLauncher.vcproj", "{114FCA11-216B-4C8C-957E-30A75AE80443}"
- ProjectSection(ProjectDependencies) = postProject
- {C59E5129-B453-49B7-A52B-1E104715F76E} = {C59E5129-B453-49B7-A52B-1E104715F76E}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InjectedBundle", "..\..\..\WebKitTools\WebKitTestRunner\win\InjectedBundle.vcproj", "{CBC3391C-F060-4BF5-A66E-81404168816B}"
- ProjectSection(ProjectDependencies) = postProject
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD} = {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InjectedBundleGenerated", "..\..\..\WebKitTools\WebKitTestRunner\win\InjectedBundleGenerated.vcproj", "{4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}"
- ProjectSection(ProjectDependencies) = postProject
- {44B9C152-1870-4035-B94D-7B3285AA0C12} = {44B9C152-1870-4035-B94D-7B3285AA0C12}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitTestRunner", "..\..\..\WebKitTools\WebKitTestRunner\win\WebKitTestRunner.vcproj", "{3B99669B-1817-443B-BCBE-835580146668}"
- ProjectSection(ProjectDependencies) = postProject
- {CBC3391C-F060-4BF5-A66E-81404168816B} = {CBC3391C-F060-4BF5-A66E-81404168816B}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MiniBrowser", "..\..\..\WebKitTools\MiniBrowser\MiniBrowser.vcproj", "{1480CF5F-4160-47B5-A0E6-96AEC8258FB5}"
- ProjectSection(ProjectDependencies) = postProject
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28} = {3E48AB23-D249-488F-A1C4-43CDF52FBD28}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPI", "..\..\..\WebKitTools\TestWebKitAPI\win\TestWebKitAPI.vcproj", "{3E48AB23-D249-488F-A1C4-43CDF52FBD28}"
- ProjectSection(ProjectDependencies) = postProject
- {45C45411-7F0E-404D-919A-4EE9BB60BE86} = {45C45411-7F0E-404D-919A-4EE9BB60BE86}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPIGenerated", "..\..\..\WebKitTools\TestWebKitAPI\win\TestWebKitAPIGenerated.vcproj", "{45C45411-7F0E-404D-919A-4EE9BB60BE86}"
- ProjectSection(ProjectDependencies) = postProject
- {3B99669B-1817-443B-BCBE-835580146668} = {3B99669B-1817-443B-BCBE-835580146668}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug_Cairo_CFLite|Win32 = Debug_Cairo_CFLite|Win32
- Debug|Win32 = Debug|Win32
- Release_Cairo_CFLite|Win32 = Release_Cairo_CFLite|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.ActiveCfg = Debug|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.Build.0 = Debug|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.ActiveCfg = Release|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.Build.0 = Release|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.ActiveCfg = Debug|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.Build.0 = Debug|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.ActiveCfg = Release|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.Build.0 = Release|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.ActiveCfg = Debug|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.Build.0 = Debug|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.ActiveCfg = Release|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.Build.0 = Release|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.ActiveCfg = Debug|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.Build.0 = Debug|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.ActiveCfg = Release|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.Build.0 = Release|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.ActiveCfg = Debug|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.Build.0 = Debug|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.ActiveCfg = Release|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.Build.0 = Release|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.ActiveCfg = Debug|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.Build.0 = Debug|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.ActiveCfg = Release|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.Build.0 = Release|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.ActiveCfg = Debug|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.Build.0 = Debug|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.ActiveCfg = Release|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.Build.0 = Release|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug|Win32.ActiveCfg = Debug|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug|Win32.Build.0 = Debug|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release|Win32.ActiveCfg = Release|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release|Win32.Build.0 = Release|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.ActiveCfg = Debug|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.Build.0 = Debug|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.ActiveCfg = Release|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.Build.0 = Release|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.ActiveCfg = Debug|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.Build.0 = Debug|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.ActiveCfg = Release|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.Build.0 = Release|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.ActiveCfg = Debug|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.Build.0 = Debug|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.ActiveCfg = Release|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.Build.0 = Release|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.ActiveCfg = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.Build.0 = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.ActiveCfg = Release|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.Build.0 = Release|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.ActiveCfg = Debug|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.Build.0 = Debug|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.ActiveCfg = Release|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.Build.0 = Release|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.ActiveCfg = Debug|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.Build.0 = Debug|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.ActiveCfg = Release|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.Build.0 = Release|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|Win32.ActiveCfg = Debug|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|Win32.Build.0 = Debug|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.ActiveCfg = Release|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.Build.0 = Release|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.ActiveCfg = Debug|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.Build.0 = Debug|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.ActiveCfg = Release|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.Build.0 = Release|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug|Win32.ActiveCfg = Debug|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug|Win32.Build.0 = Debug|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Release|Win32.ActiveCfg = Release|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Release|Win32.Build.0 = Release|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug|Win32.ActiveCfg = Debug|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug|Win32.Build.0 = Debug|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release|Win32.ActiveCfg = Release|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release|Win32.Build.0 = Release|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.ActiveCfg = Debug|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.Build.0 = Debug|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.ActiveCfg = Release|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.Build.0 = Release|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Debug|Win32.ActiveCfg = Debug|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Debug|Win32.Build.0 = Debug|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Release|Win32.ActiveCfg = Release|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Release|Win32.Build.0 = Release|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug|Win32.ActiveCfg = Debug|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug|Win32.Build.0 = Debug|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release|Win32.ActiveCfg = Release|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release|Win32.Build.0 = Release|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|Win32.ActiveCfg = Debug|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|Win32.Build.0 = Debug|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.ActiveCfg = Release|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.Build.0 = Release|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug|Win32.ActiveCfg = Debug|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug|Win32.Build.0 = Debug|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Release|Win32.ActiveCfg = Release|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Release|Win32.Build.0 = Release|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug|Win32.ActiveCfg = Debug|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug|Win32.Build.0 = Debug|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release|Win32.ActiveCfg = Release|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release|Win32.Build.0 = Release|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Debug|Win32.ActiveCfg = Debug|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Debug|Win32.Build.0 = Debug|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Release|Win32.ActiveCfg = Release|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Release|Win32.Build.0 = Release|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug|Win32.ActiveCfg = Debug|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug|Win32.Build.0 = Debug|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release|Win32.ActiveCfg = Release|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release|Win32.Build.0 = Release|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug|Win32.ActiveCfg = Debug|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug|Win32.Build.0 = Debug|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release|Win32.ActiveCfg = Release|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release|Win32.Build.0 = Release|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug|Win32.ActiveCfg = Debug|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug|Win32.Build.0 = Debug|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release|Win32.ActiveCfg = Release|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
- {C59E5129-B453-49B7-A52B-1E104715F76E} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
- {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
- {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
- {AAE88FEF-509E-4D49-870B-7357922C276F} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
- {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
- {B8437A41-67BC-4769-9452-45203827F821} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {59CC0547-70AC-499C-9B19-EC01C6F61137} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {DA31DA52-6675-48D4-89E0-333A7144397C} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {44B9C152-1870-4035-B94D-7B3285AA0C12} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {626089A3-25D3-4883-A96C-B8C66E036397} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {D09806DB-E58B-4646-8C9B-61101906C1E2} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {114FCA11-216B-4C8C-957E-30A75AE80443} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {CBC3391C-F060-4BF5-A66E-81404168816B} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {3B99669B-1817-443B-BCBE-835580146668} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {45C45411-7F0E-404D-919A-4EE9BB60BE86} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCore", "..\..\..\Source\JavaScriptCore\JavaScriptCore.vcproj\JavaScriptCore\JavaScriptCore.vcproj", "{011D10F1-B656-4A1B-A0C3-3842F02122C5}"
+ ProjectSection(ProjectDependencies) = postProject
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {AA8A5A85-592B-4357-BC60-E0E91E026AF6}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCore", "..\..\..\Source\WebCore\WebCore.vcproj\WebCore.vcproj", "{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {E498CA9D-3BD2-4D52-8E37-C8DC76526325}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTF", "..\..\..\Source\JavaScriptCore\JavaScriptCore.vcproj\WTF\WTF.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsc", "..\..\..\Source\JavaScriptCore\JavaScriptCore.vcproj\jsc\jsc.vcproj", "{C59E5129-B453-49B7-A52B-1E104715F76E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2} = {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "JavaScriptCore Folder", "JavaScriptCore Folder", "{557FA164-0E39-4DEC-B66C-8795C8E52399}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCoreGenerated", "..\..\..\Source\JavaScriptCore\JavaScriptCore.vcproj\JavaScriptCore\JavaScriptCoreGenerated.vcproj", "{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebCore Folder", "WebCore Folder", "{63FB6F8A-C601-43E3-BD16-A00A465C2CB6}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreGenerated", "..\..\..\Source\WebCore\WebCore.vcproj\WebCoreGenerated.vcproj", "{0A324352-B3B6-496C-9E5B-4C7E923E628B}"
+ ProjectSection(ProjectDependencies) = postProject
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {011D10F1-B656-4A1B-A0C3-3842F02122C5}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QTMovieWin", "..\..\..\Source\WebCore\WebCore.vcproj\QTMovieWin.vcproj", "{E498CA9D-3BD2-4D52-8E37-C8DC76526325}"
+ ProjectSection(ProjectDependencies) = postProject
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {0A324352-B3B6-496C-9E5B-4C7E923E628B}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testapi", "..\..\..\Source\JavaScriptCore\JavaScriptCore.vcproj\testapi\testapi.vcproj", "{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}"
+ ProjectSection(ProjectDependencies) = postProject
+ {DA31DA52-6675-48D4-89E0-333A7144397C} = {DA31DA52-6675-48D4-89E0-333A7144397C}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit", "..\..\..\WebKit2\win\WebKit2.vcproj", "{2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}"
+ ProjectSection(ProjectDependencies) = postProject
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKit2 Folder", "WebKit2 Folder", "{9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2Generated", "..\..\..\WebKit2\win\WebKit2Generated.vcproj", "{2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}"
+ ProjectSection(ProjectDependencies) = postProject
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {0662A8A9-82A3-4638-97D8-EC425D8D87C9}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2WebProcess", "..\..\..\WebKit2\win\WebKit2WebProcess.vcproj", "{AAE88FEF-509E-4D49-870B-7357922C276F}"
+ ProjectSection(ProjectDependencies) = postProject
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKitCOM Folder", "WebKitCOM Folder", "{1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Interfaces", "Interfaces.vcproj", "{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
+ ProjectSection(ProjectDependencies) = postProject
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLib", "WebKit.vcproj", "{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B8437A41-67BC-4769-9452-45203827F821} = {B8437A41-67BC-4769-9452-45203827F821}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitGUID", "WebKitGUID.vcproj", "{B8437A41-67BC-4769-9452-45203827F821}"
+ ProjectSection(ProjectDependencies) = postProject
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DumpRenderTree", "..\..\..\Tools\DumpRenderTree\win\DumpRenderTree.vcproj", "{6567DFD4-D6DE-4CD5-825D-17E353D160E1}"
+ ProjectSection(ProjectDependencies) = postProject
+ {59CC0547-70AC-499C-9B19-EC01C6F61137} = {59CC0547-70AC-499C-9B19-EC01C6F61137}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageDiff", "..\..\..\Tools\DumpRenderTree\win\ImageDiff.vcproj", "{59CC0547-70AC-499C-9B19-EC01C6F61137}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {C0737398-3565-439E-A2B8-AB2BE4D5430C}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FindSafari", "..\..\..\Tools\FindSafari\FindSafari.vcproj", "{DA31DA52-6675-48D4-89E0-333A7144397C}"
+ ProjectSection(ProjectDependencies) = postProject
+ {AAE88FEF-509E-4D49-870B-7357922C276F} = {AAE88FEF-509E-4D49-870B-7357922C276F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "record-memory-win", "..\..\..\Tools\record-memory-win\record-memory-win.vcproj", "{44B9C152-1870-4035-B94D-7B3285AA0C12}"
+ ProjectSection(ProjectDependencies) = postProject
+ {D09806DB-E58B-4646-8C9B-61101906C1E2} = {D09806DB-E58B-4646-8C9B-61101906C1E2}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestNetscapePlugin", "..\..\..\Tools\DumpRenderTree\TestNetscapePlugIn\win\TestNetscapePlugin.vcproj", "{C0737398-3565-439E-A2B8-AB2BE4D5430C}"
+ ProjectSection(ProjectDependencies) = postProject
+ {114FCA11-216B-4C8C-957E-30A75AE80443} = {114FCA11-216B-4C8C-957E-30A75AE80443}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitAPITest", "..\..\..\Tools\WebKitAPITest\WebKitAPITest.vcproj", "{626089A3-25D3-4883-A96C-B8C66E036397}"
+ ProjectSection(ProjectDependencies) = postProject
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {6567DFD4-D6DE-4CD5-825D-17E353D160E1}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLauncherWin", "..\..\..\Tools\WebKitLauncherWin\WebKitLauncherWin.vcproj", "{D09806DB-E58B-4646-8C9B-61101906C1E2}"
+ ProjectSection(ProjectDependencies) = postProject
+ {626089A3-25D3-4883-A96C-B8C66E036397} = {626089A3-25D3-4883-A96C-B8C66E036397}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinLauncher", "..\..\..\Tools\WinLauncher\WinLauncher.vcproj", "{114FCA11-216B-4C8C-957E-30A75AE80443}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C59E5129-B453-49B7-A52B-1E104715F76E} = {C59E5129-B453-49B7-A52B-1E104715F76E}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InjectedBundle", "..\..\..\Tools\WebKitTestRunner\win\InjectedBundle.vcproj", "{CBC3391C-F060-4BF5-A66E-81404168816B}"
+ ProjectSection(ProjectDependencies) = postProject
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD} = {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InjectedBundleGenerated", "..\..\..\Tools\WebKitTestRunner\win\InjectedBundleGenerated.vcproj", "{4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}"
+ ProjectSection(ProjectDependencies) = postProject
+ {44B9C152-1870-4035-B94D-7B3285AA0C12} = {44B9C152-1870-4035-B94D-7B3285AA0C12}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitTestRunner", "..\..\..\Tools\WebKitTestRunner\win\WebKitTestRunner.vcproj", "{3B99669B-1817-443B-BCBE-835580146668}"
+ ProjectSection(ProjectDependencies) = postProject
+ {CBC3391C-F060-4BF5-A66E-81404168816B} = {CBC3391C-F060-4BF5-A66E-81404168816B}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MiniBrowser", "..\..\..\Tools\MiniBrowser\MiniBrowser.vcproj", "{1480CF5F-4160-47B5-A0E6-96AEC8258FB5}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28} = {3E48AB23-D249-488F-A1C4-43CDF52FBD28}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPI", "..\..\..\Tools\TestWebKitAPI\win\TestWebKitAPI.vcproj", "{3E48AB23-D249-488F-A1C4-43CDF52FBD28}"
+ ProjectSection(ProjectDependencies) = postProject
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86} = {45C45411-7F0E-404D-919A-4EE9BB60BE86}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPIGenerated", "..\..\..\Tools\TestWebKitAPI\win\TestWebKitAPIGenerated.vcproj", "{45C45411-7F0E-404D-919A-4EE9BB60BE86}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3B99669B-1817-443B-BCBE-835580146668} = {3B99669B-1817-443B-BCBE-835580146668}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug_Cairo_CFLite|Win32 = Debug_Cairo_CFLite|Win32
+ Debug|Win32 = Debug|Win32
+ Release_Cairo_CFLite|Win32 = Release_Cairo_CFLite|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.ActiveCfg = Debug|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.Build.0 = Debug|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.ActiveCfg = Release|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.Build.0 = Release|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.Build.0 = Debug|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.ActiveCfg = Release|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.Build.0 = Release|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.Build.0 = Debug|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.ActiveCfg = Release|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.Build.0 = Release|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.Build.0 = Debug|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.ActiveCfg = Release|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.Build.0 = Release|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.Build.0 = Debug|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.ActiveCfg = Release|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.Build.0 = Release|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.Build.0 = Debug|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.ActiveCfg = Release|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.Build.0 = Release|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.Build.0 = Debug|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.ActiveCfg = Release|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.Build.0 = Release|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug|Win32.Build.0 = Debug|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release|Win32.ActiveCfg = Release|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release|Win32.Build.0 = Release|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.Build.0 = Debug|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.ActiveCfg = Release|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.Build.0 = Release|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.Build.0 = Debug|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.ActiveCfg = Release|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.Build.0 = Release|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.Build.0 = Debug|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.ActiveCfg = Release|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.Build.0 = Release|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.ActiveCfg = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.Build.0 = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.ActiveCfg = Release|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.Build.0 = Release|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.Build.0 = Debug|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.ActiveCfg = Release|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.Build.0 = Release|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.Build.0 = Debug|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.ActiveCfg = Release|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.Build.0 = Release|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|Win32.Build.0 = Debug|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.ActiveCfg = Release|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.Build.0 = Release|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.ActiveCfg = Debug|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.Build.0 = Debug|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.ActiveCfg = Release|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.Build.0 = Release|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug|Win32.Build.0 = Debug|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Release|Win32.ActiveCfg = Release|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Release|Win32.Build.0 = Release|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug|Win32.ActiveCfg = Debug|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug|Win32.Build.0 = Debug|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release|Win32.ActiveCfg = Release|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release|Win32.Build.0 = Release|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.Build.0 = Debug|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.ActiveCfg = Release|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.Build.0 = Release|Win32
+ {626089A3-25D3-4883-A96C-B8C66E036397}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {626089A3-25D3-4883-A96C-B8C66E036397}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {626089A3-25D3-4883-A96C-B8C66E036397}.Debug|Win32.ActiveCfg = Debug|Win32
+ {626089A3-25D3-4883-A96C-B8C66E036397}.Debug|Win32.Build.0 = Debug|Win32
+ {626089A3-25D3-4883-A96C-B8C66E036397}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {626089A3-25D3-4883-A96C-B8C66E036397}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {626089A3-25D3-4883-A96C-B8C66E036397}.Release|Win32.ActiveCfg = Release|Win32
+ {626089A3-25D3-4883-A96C-B8C66E036397}.Release|Win32.Build.0 = Release|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug|Win32.Build.0 = Debug|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release|Win32.ActiveCfg = Release|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release|Win32.Build.0 = Release|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|Win32.ActiveCfg = Debug|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|Win32.Build.0 = Debug|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.ActiveCfg = Release|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.Build.0 = Release|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug|Win32.Build.0 = Debug|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Release|Win32.ActiveCfg = Release|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Release|Win32.Build.0 = Release|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug|Win32.Build.0 = Debug|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release|Win32.ActiveCfg = Release|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release|Win32.Build.0 = Release|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug|Win32.Build.0 = Debug|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Release|Win32.ActiveCfg = Release|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Release|Win32.Build.0 = Release|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug|Win32.Build.0 = Debug|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release|Win32.ActiveCfg = Release|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release|Win32.Build.0 = Release|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug|Win32.Build.0 = Debug|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release|Win32.ActiveCfg = Release|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release|Win32.Build.0 = Release|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug|Win32.ActiveCfg = Debug|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug|Win32.Build.0 = Debug|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release|Win32.ActiveCfg = Release|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
+ {C59E5129-B453-49B7-A52B-1E104715F76E} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
+ {AAE88FEF-509E-4D49-870B-7357922C276F} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
+ {B8437A41-67BC-4769-9452-45203827F821} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {59CC0547-70AC-499C-9B19-EC01C6F61137} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {DA31DA52-6675-48D4-89E0-333A7144397C} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {44B9C152-1870-4035-B94D-7B3285AA0C12} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {626089A3-25D3-4883-A96C-B8C66E036397} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {D09806DB-E58B-4646-8C9B-61101906C1E2} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {114FCA11-216B-4C8C-957E-30A75AE80443} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {CBC3391C-F060-4BF5-A66E-81404168816B} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {3B99669B-1817-443B-BCBE-835580146668} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ EndGlobalSection
+EndGlobal
diff --git a/WebKit/win/WebKit.vcproj/WebKit.submit.sln b/WebKit/win/WebKit.vcproj/WebKit.submit.sln
index d4c1f4d..c4830fc 100644
--- a/WebKit/win/WebKit.vcproj/WebKit.submit.sln
+++ b/WebKit/win/WebKit.vcproj/WebKit.submit.sln
@@ -1,53 +1,53 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLib", "WebKit.vcproj", "{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
- ProjectSection(ProjectDependencies) = postProject
- {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
- {B8437A41-67BC-4769-9452-45203827F821} = {B8437A41-67BC-4769-9452-45203827F821}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitGUID", "WebKitGUID.vcproj", "{B8437A41-67BC-4769-9452-45203827F821}"
- ProjectSection(ProjectDependencies) = postProject
- {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Interfaces", "Interfaces.vcproj", "{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug_All|Win32 = Debug_All|Win32
- Debug|Win32 = Debug|Win32
- Release_LTCG|Win32 = Release_LTCG|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.ActiveCfg = Debug|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.Build.0 = Debug|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.ActiveCfg = Release|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.Build.0 = Release|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.ActiveCfg = Debug|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.Build.0 = Debug|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.ActiveCfg = Release|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.Build.0 = Release|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.ActiveCfg = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.Build.0 = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.ActiveCfg = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.Build.0 = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.ActiveCfg = Release|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLib", "WebKit.vcproj", "{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
+ {B8437A41-67BC-4769-9452-45203827F821} = {B8437A41-67BC-4769-9452-45203827F821}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitGUID", "WebKitGUID.vcproj", "{B8437A41-67BC-4769-9452-45203827F821}"
+ ProjectSection(ProjectDependencies) = postProject
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Interfaces", "Interfaces.vcproj", "{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug_All|Win32 = Debug_All|Win32
+ Debug|Win32 = Debug|Win32
+ Release_LTCG|Win32 = Release_LTCG|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.Build.0 = Debug|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.ActiveCfg = Release|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.Build.0 = Release|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.Build.0 = Debug|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.ActiveCfg = Release|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.Build.0 = Release|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.ActiveCfg = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.Build.0 = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.ActiveCfg = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.Build.0 = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.ActiveCfg = Release|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/WebKit/win/WebKit.vcproj/WebKit.vcproj b/WebKit/win/WebKit.vcproj/WebKit.vcproj
index 4616c74..bf13191 100644
--- a/WebKit/win/WebKit.vcproj/WebKit.vcproj
+++ b/WebKit/win/WebKit.vcproj/WebKit.vcproj
@@ -1,1320 +1,1319 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitLib"
- ProjectGUID="{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
- RootNamespace="WebKit"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKitLibCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitLibCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKitLibCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKitLibCommon.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebKitLibCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_LTCG|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitLibCommon.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\MarshallingHelpers.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitClassFactory.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitDLL.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitSystemBits.cpp"
- >
- </File>
- <File
- RelativePath="..\WebNodeHighlight.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\AccessibleBase.h"
- >
- </File>
- <File
- RelativePath="..\AccessibleDocument.h"
- >
- </File>
- <File
- RelativePath="..\AccessibleImage.h"
- >
- </File>
- <File
- RelativePath=".\autoversion.h"
- >
- </File>
- <File
- RelativePath="..\CFDictionaryPropertyBag.h"
- >
- </File>
- <File
- RelativePath="..\CodeAnalysisConfig.h"
- >
- </File>
- <File
- RelativePath="..\COMEnumVariant.h"
- >
- </File>
- <File
- RelativePath="..\COMPropertyBag.h"
- >
- </File>
- <File
- RelativePath="..\COMVariantSetter.h"
- >
- </File>
- <File
- RelativePath="..\DefaultDownloadDelegate.h"
- >
- </File>
- <File
- RelativePath="..\DefaultPolicyDelegate.h"
- >
- </File>
- <File
- RelativePath="..\DOMCoreClasses.h"
- >
- </File>
- <File
- RelativePath="..\DOMCSSClasses.h"
- >
- </File>
- <File
- RelativePath="..\DOMEventsClasses.h"
- >
- </File>
- <File
- RelativePath="..\DOMHTMLClasses.h"
- >
- </File>
- <File
- RelativePath="..\ForEachCoClass.h"
- >
- </File>
- <File
- RelativePath="..\FullscreenVideoController.h"
- >
- </File>
- <File
- RelativePath="..\MarshallingHelpers.h"
- >
- </File>
- <File
- RelativePath="..\MemoryStream.h"
- >
- </File>
- <File
- RelativePath="..\ProgIDMacros.h"
- >
- </File>
- <File
- RelativePath=".\resource.h"
- >
- </File>
- <File
- RelativePath="..\WebActionPropertyBag.h"
- >
- </File>
- <File
- RelativePath="..\WebArchive.h"
- >
- </File>
- <File
- RelativePath="..\WebBackForwardList.h"
- >
- </File>
- <File
- RelativePath="..\WebCache.h"
- >
- </File>
- <File
- RelativePath="..\WebCachedFramePlatformData.h"
- >
- </File>
- <File
- RelativePath="..\WebCookieManager.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreStatistics.h"
- >
- </File>
- <File
- RelativePath="..\WebDatabaseManager.h"
- >
- </File>
- <File
- RelativePath="..\WebDataSource.h"
- >
- </File>
- <File
- RelativePath="..\WebDocumentLoader.h"
- >
- </File>
- <File
- RelativePath="..\WebDownload.h"
- >
- </File>
- <File
- RelativePath="..\WebDropSource.h"
- >
- </File>
- <File
- RelativePath="..\WebElementPropertyBag.h"
- >
- </File>
- <File
- RelativePath="..\WebError.h"
- >
- </File>
- <File
- RelativePath="..\WebFrame.h"
- >
- </File>
- <File
- RelativePath="..\WebFramePolicyListener.h"
- >
- </File>
- <File
- RelativePath="..\WebGeolocationPolicyListener.h"
- >
- </File>
- <File
- RelativePath="..\WebGeolocationPosition.h"
- >
- </File>
- <File
- RelativePath="..\WebHistory.h"
- >
- </File>
- <File
- RelativePath="..\WebHistoryItem.h"
- >
- </File>
- <File
- RelativePath="..\WebHTMLRepresentation.h"
- >
- </File>
- <File
- RelativePath="..\WebIconDatabase.h"
- >
- </File>
- <File
- RelativePath="..\WebInspector.h"
- >
- </File>
- <File
- RelativePath="..\WebJavaScriptCollector.h"
- >
- </File>
- <File
- RelativePath="..\WebKitClassFactory.h"
- >
- </File>
- <File
- RelativePath="..\WebKitDLL.h"
- >
- </File>
- <File
- RelativePath="..\WebKitGraphics.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebKitLogging.h"
- >
- </File>
- <File
- RelativePath="..\WebKitStatistics.h"
- >
- </File>
- <File
- RelativePath="..\WebKitStatisticsPrivate.h"
- >
- </File>
- <File
- RelativePath="..\WebKitSystemBits.h"
- >
- </File>
- <File
- RelativePath="..\WebLocalizableStrings.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebMutableURLRequest.h"
- >
- </File>
- <File
- RelativePath="..\WebNavigationData.h"
- >
- </File>
- <File
- RelativePath="..\WebNodeHighlight.h"
- >
- </File>
- <File
- RelativePath="..\WebNotification.h"
- >
- </File>
- <File
- RelativePath="..\WebNotificationCenter.h"
- >
- </File>
- <File
- RelativePath="..\WebPreferenceKeysPrivate.h"
- >
- </File>
- <File
- RelativePath="..\WebPreferences.h"
- >
- </File>
- <File
- RelativePath="..\WebResource.h"
- >
- </File>
- <File
- RelativePath="..\WebScriptObject.h"
- >
- </File>
- <File
- RelativePath="..\WebScriptWorld.h"
- >
- </File>
- <File
- RelativePath="..\WebScriptWorld.h"
- >
- </File>
- <File
- RelativePath="..\WebScrollBar.h"
- >
- </File>
- <File
- RelativePath="..\WebSecurityOrigin.h"
- >
- </File>
- <File
- RelativePath="..\WebSerializedJSValue.h"
- >
- </File>
- <File
- RelativePath="..\WebTextRenderer.h"
- >
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallenge.h"
- >
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallengeSender.h"
- >
- </File>
- <File
- RelativePath="..\WebURLCredential.h"
- >
- </File>
- <File
- RelativePath="..\WebURLProtectionSpace.h"
- >
- </File>
- <File
- RelativePath="..\WebURLResponse.h"
- >
- </File>
- <File
- RelativePath="..\WebUserContentURLPattern.h"
- >
- </File>
- <File
- RelativePath="..\WebView.h"
- >
- </File>
- <File
- RelativePath="..\WebWorkersPrivate.h"
- >
- </File>
- <File
- RelativePath="..\WindowsTouch.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Classes"
- >
- <File
- RelativePath="..\AccessibleBase.cpp"
- >
- </File>
- <File
- RelativePath="..\AccessibleDocument.cpp"
- >
- </File>
- <File
- RelativePath="..\AccessibleImage.cpp"
- >
- </File>
- <File
- RelativePath="..\CFDictionaryPropertyBag.cpp"
- >
- </File>
- <File
- RelativePath="..\DefaultDownloadDelegate.cpp"
- >
- </File>
- <File
- RelativePath="..\DefaultPolicyDelegate.cpp"
- >
- </File>
- <File
- RelativePath="..\DOMCoreClasses.cpp"
- >
- </File>
- <File
- RelativePath="..\DOMCSSClasses.cpp"
- >
- </File>
- <File
- RelativePath="..\DOMEventsClasses.cpp"
- >
- </File>
- <File
- RelativePath="..\DOMHTMLClasses.cpp"
- >
- </File>
- <File
- RelativePath="..\ForEachCoClass.cpp"
- >
- </File>
- <File
- RelativePath="..\FullscreenVideoController.cpp"
- >
- </File>
- <File
- RelativePath="..\MemoryStream.cpp"
- >
- </File>
- <File
- RelativePath="..\WebActionPropertyBag.cpp"
- >
- </File>
- <File
- RelativePath="..\WebArchive.cpp"
- >
- </File>
- <File
- RelativePath="..\WebBackForwardList.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCache.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCookieManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCookieManagerCFNet.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>
- <File
- RelativePath="..\WebCookieManagerCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebCoreStatistics.cpp"
- >
- </File>
- <File
- RelativePath="..\WebDatabaseManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebDataSource.cpp"
- >
- </File>
- <File
- RelativePath="..\WebDocumentLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\WebDownload.cpp"
- >
- </File>
- <File
- RelativePath="..\WebDownloadCFNet.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>
- <File
- RelativePath="..\WebDownloadCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebDropSource.cpp"
- >
- </File>
- <File
- RelativePath="..\WebElementPropertyBag.cpp"
- >
- </File>
- <File
- RelativePath="..\WebError.cpp"
- >
- </File>
- <File
- RelativePath="..\WebFrame.cpp"
- >
- </File>
- <File
- RelativePath="..\WebFramePolicyListener.cpp"
- >
- </File>
- <File
- RelativePath="..\WebGeolocationPolicyListener.cpp"
- >
- </File>
- <File
- RelativePath="..\WebGeolocationPosition.cpp"
- >
- </File>
- <File
- RelativePath="..\WebHistory.cpp"
- >
- </File>
- <File
- RelativePath="..\WebHistoryItem.cpp"
- >
- </File>
- <File
- RelativePath="..\WebHTMLRepresentation.cpp"
- >
- </File>
- <File
- RelativePath="..\WebIconDatabase.cpp"
- >
- </File>
- <File
- RelativePath="..\WebInspector.cpp"
- >
- </File>
- <File
- RelativePath="..\WebJavaScriptCollector.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitLogging.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitStatistics.cpp"
- >
- </File>
- <File
- RelativePath="..\WebMutableURLRequest.cpp"
- >
- </File>
- <File
- RelativePath="..\WebNavigationData.cpp"
- >
- </File>
- <File
- RelativePath="..\WebNotification.cpp"
- >
- </File>
- <File
- RelativePath="..\WebNotificationCenter.cpp"
- >
- </File>
- <File
- RelativePath="..\WebPreferences.cpp"
- >
- </File>
- <File
- RelativePath="..\WebResource.cpp"
- >
- </File>
- <File
- RelativePath="..\WebScriptObject.cpp"
- >
- </File>
- <File
- RelativePath="..\WebScriptWorld.cpp"
- >
- </File>
- <File
- RelativePath="..\WebScriptWorld.cpp"
- >
- </File>
- <File
- RelativePath="..\WebScrollBar.cpp"
- >
- </File>
- <File
- RelativePath="..\WebSecurityOrigin.cpp"
- >
- </File>
- <File
- RelativePath="..\WebSerializedJSValue.cpp"
- >
- </File>
- <File
- RelativePath="..\WebTextRenderer.cpp"
- >
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallenge.cpp"
- >
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallengeSender.cpp"
- >
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallengeSenderCFNet.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>
- <File
- RelativePath="..\WebURLAuthenticationChallengeSenderCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebURLCredential.cpp"
- >
- </File>
- <File
- RelativePath="..\WebURLProtectionSpace.cpp"
- >
- </File>
- <File
- RelativePath="..\WebURLResponse.cpp"
- >
- </File>
- <File
- RelativePath="..\WebUserContentURLPattern.cpp"
- >
- </File>
- <File
- RelativePath="..\WebView.cpp"
- >
- </File>
- <File
- RelativePath="..\WebWorkersPrivate.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="API"
- >
- <File
- RelativePath="..\WebKitCOMAPI.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitGraphics.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>
- <File
- RelativePath="..\WebLocalizableStrings.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="WebCoreSupport"
- >
- <File
- RelativePath="..\WebCoreSupport\EmbeddedWidget.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\EmbeddedWidget.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebChromeClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebChromeClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebContextMenuClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebContextMenuClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebDesktopNotificationsDelegate.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebDesktopNotificationsDelegate.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebDragClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebDragClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebEditorClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebEditorClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebFrameLoaderClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebFrameLoaderClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebFrameNetworkingContext.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebFrameNetworkingContext.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebGeolocationClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebGeolocationClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebInspectorClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebInspectorClient.h"
- >
- </File>
- <File
- RelativePath="..\..\cf\WebCoreSupport\WebInspectorClientCF.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebInspectorDelegate.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebInspectorDelegate.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebPlatformStrategies.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebPlatformStrategies.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebPluginHalterClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebPluginHalterClient.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\WebKitPrefix.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- PrecompiledHeaderThrough="WebKitPrefix.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebKitPrefix.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitLib"
+ ProjectGUID="{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
+ RootNamespace="WebKit"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKitLibCommon.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitLibCommon.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKitLibCommon.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKitLibCommon.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebKitLibCommon.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_LTCG|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitLibCommon.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\MarshallingHelpers.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitClassFactory.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitDLL.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitSystemBits.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebNodeHighlight.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\AccessibleBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\AccessibleDocument.h"
+ >
+ </File>
+ <File
+ RelativePath="..\AccessibleImage.h"
+ >
+ </File>
+ <File
+ RelativePath=".\autoversion.h"
+ >
+ </File>
+ <File
+ RelativePath="..\CFDictionaryPropertyBag.h"
+ >
+ </File>
+ <File
+ RelativePath="..\CodeAnalysisConfig.h"
+ >
+ </File>
+ <File
+ RelativePath="..\COMEnumVariant.h"
+ >
+ </File>
+ <File
+ RelativePath="..\COMPropertyBag.h"
+ >
+ </File>
+ <File
+ RelativePath="..\COMVariantSetter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\DefaultDownloadDelegate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\DefaultPolicyDelegate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\DOMCoreClasses.h"
+ >
+ </File>
+ <File
+ RelativePath="..\DOMCSSClasses.h"
+ >
+ </File>
+ <File
+ RelativePath="..\DOMEventsClasses.h"
+ >
+ </File>
+ <File
+ RelativePath="..\DOMHTMLClasses.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForEachCoClass.h"
+ >
+ </File>
+ <File
+ RelativePath="..\FullscreenVideoController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\MarshallingHelpers.h"
+ >
+ </File>
+ <File
+ RelativePath="..\MemoryStream.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ProgIDMacros.h"
+ >
+ </File>
+ <File
+ RelativePath=".\resource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebActionPropertyBag.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebArchive.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebBackForwardList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCache.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCachedFramePlatformData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCookieManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreStatistics.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDatabaseManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDataSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDocumentLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDownload.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDropSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebElementPropertyBag.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebError.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebFrame.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebFramePolicyListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebGeolocationPolicyListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebGeolocationPosition.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebHistory.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebHistoryItem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebHTMLRepresentation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebIconDatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebInspector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebJavaScriptCollector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitClassFactory.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitDLL.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitGraphics.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebKitLogging.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitStatistics.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitStatisticsPrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitSystemBits.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebLocalizableStrings.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebMutableURLRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebNavigationData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebNodeHighlight.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebNotification.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebNotificationCenter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebPreferenceKeysPrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebPreferences.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebResource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebScriptObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebScriptWorld.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebScriptWorld.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebScrollBar.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebSecurityOrigin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebSerializedJSValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebTextRenderer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLAuthenticationChallenge.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLAuthenticationChallengeSender.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLCredential.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLProtectionSpace.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLResponse.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebUserContentURLPattern.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebView.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebWorkersPrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WindowsTouch.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Classes"
+ >
+ <File
+ RelativePath="..\AccessibleBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\AccessibleDocument.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\AccessibleImage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\CFDictionaryPropertyBag.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\DefaultDownloadDelegate.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\DefaultPolicyDelegate.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\DOMCoreClasses.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\DOMCSSClasses.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\DOMEventsClasses.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\DOMHTMLClasses.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\ForEachCoClass.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\FullscreenVideoController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\MemoryStream.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebActionPropertyBag.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebArchive.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebBackForwardList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCache.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCookieManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCookieManagerCFNet.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>
+ <File
+ RelativePath="..\WebCookieManagerCurl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebCoreStatistics.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDatabaseManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDataSource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDocumentLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDownload.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDownloadCFNet.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>
+ <File
+ RelativePath="..\WebDownloadCurl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebDropSource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebElementPropertyBag.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebError.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebFrame.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebFramePolicyListener.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebGeolocationPolicyListener.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebGeolocationPosition.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebHistory.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebHistoryItem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebHTMLRepresentation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebIconDatabase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebInspector.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebJavaScriptCollector.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitLogging.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitStatistics.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebMutableURLRequest.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebNavigationData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebNotification.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebNotificationCenter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebPreferences.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebResource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebScriptObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebScriptWorld.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebScriptWorld.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebScrollBar.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebSecurityOrigin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebSerializedJSValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebTextRenderer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLAuthenticationChallenge.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLAuthenticationChallengeSender.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLAuthenticationChallengeSenderCFNet.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>
+ <File
+ RelativePath="..\WebURLAuthenticationChallengeSenderCurl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebURLCredential.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLProtectionSpace.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLResponse.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebUserContentURLPattern.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebView.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebWorkersPrivate.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="API"
+ >
+ <File
+ RelativePath="..\WebKitCOMAPI.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitGraphics.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>
+ <File
+ RelativePath="..\WebLocalizableStrings.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="WebCoreSupport"
+ >
+ <File
+ RelativePath="..\WebCoreSupport\EmbeddedWidget.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\EmbeddedWidget.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebChromeClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebChromeClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebContextMenuClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebContextMenuClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebDesktopNotificationsDelegate.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebDesktopNotificationsDelegate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebDragClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebDragClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebEditorClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebEditorClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebFrameLoaderClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebFrameLoaderClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebFrameNetworkingContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebFrameNetworkingContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebGeolocationClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebGeolocationClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebInspectorClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebInspectorClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cf\WebCoreSupport\WebInspectorClientCF.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebInspectorDelegate.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebInspectorDelegate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebPlatformStrategies.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebPlatformStrategies.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebPluginHalterClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebPluginHalterClient.h"
+ >
+ </File>
+ </Filter>
+ <File
+ RelativePath="..\WebKitPrefix.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="WebKitPrefix.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebKitPrefix.h"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj b/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj
index cb6de36..4d0ebdf 100644
--- a/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj
+++ b/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj
@@ -1,349 +1,348 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUID"
- ProjectGUID="{B8437A41-67BC-4769-9452-45203827F821}"
- RootNamespace="WebKitGUID"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKitGUIDCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Debug"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitGUIDCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Release"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebKitGUIDCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Debug"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_LTCG|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitGUIDCommon.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Release"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WebKitGUIDCommon.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Release"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\WebKitGUIDCommon.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Debug"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="$(WebKitOutputDir)\obj\WebKit\Interfaces\WebKit_i.c"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitGUID"
+ ProjectGUID="{B8437A41-67BC-4769-9452-45203827F821}"
+ RootNamespace="WebKitGUID"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKitGUIDCommon.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ OutputDirectory="Debug"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitGUIDCommon.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ OutputDirectory="Release"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebKitGUIDCommon.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ OutputDirectory="Debug"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_LTCG|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitGUIDCommon.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ OutputDirectory="Release"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WebKitGUIDCommon.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ OutputDirectory="Release"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\WebKitGUIDCommon.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ OutputDirectory="Debug"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebKit\Interfaces\WebKit_i.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops b/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops
index 422c8bd..1621ea6 100644
--- a/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops
+++ b/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops
@@ -1,27 +1,19 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUIDCommon"
- OutputDirectory="$(WebKitOutputDir)\lib"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(WebKitOutputDir)\$(ConfigurationName)\WebKit"
- PreprocessorDefinitions="_USRDLL;WEBKITGUID_EXPORTS"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="if exist &quot;$(WebKitOutputDir)\buildfailed&quot; del &quot;$(WebKitOutputDir)\buildfailed&quot;"
- />
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;"
- />
- <Tool
- Name="VCMIDLTool"
- AdditionalIncludeDirectories="Interfaces"
- HeaderFileName="$(InputName).h"
- />
-
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitGUIDCommon"
+ OutputDirectory="$(ConfigurationBuildDir)\lib"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="$(ConfigurationBuildDir)\WebKit"
+ PreprocessorDefinitions="_USRDLL;WEBKITGUID_EXPORTS"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ AdditionalIncludeDirectories="Interfaces"
+ HeaderFileName="$(InputName).h"
+ />
+
+</VisualStudioPropertySheet>
diff --git a/WebKit/win/WebKit.vcproj/WebKitGUIDPostBuild.cmd b/WebKit/win/WebKit.vcproj/WebKitGUIDPostBuild.cmd
new file mode 100644
index 0000000..26707ca
--- /dev/null
+++ b/WebKit/win/WebKit.vcproj/WebKitGUIDPostBuild.cmd
@@ -0,0 +1 @@
+if exist "%CONFIGURATIONBUILDDIR%\buildfailed" del "%CONFIGURATIONBUILDDIR%\buildfailed"
diff --git a/WebKit/win/WebKit.vcproj/WebKitGUIDPreBuild.cmd b/WebKit/win/WebKit.vcproj/WebKitGUIDPreBuild.cmd
new file mode 100644
index 0000000..a770776
--- /dev/null
+++ b/WebKit/win/WebKit.vcproj/WebKitGUIDPreBuild.cmd
@@ -0,0 +1,6 @@
+%SystemDrive%\cygwin\bin\which.exe bash
+if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
+cmd /c
+if exist "%CONFIGURATIONBUILDDIR%\buildfailed" grep XX%PROJECTNAME%XX "%CONFIGURATIONBUILDDIR%\buildfailed"
+if errorlevel 1 exit 1
+echo XX%PROJECTNAME%XX > "%CONFIGURATIONBUILDDIR%\buildfailed"
diff --git a/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops b/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops
index f2fb761..0797866 100644
--- a/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops
+++ b/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops
@@ -1,30 +1,22 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitLibCommon"
- OutputDirectory="$(WebKitOutputDir)\lib"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(WebKitOutputDir)\include\WebKit&quot;;&quot;$(WebKitOutputDir)\Include&quot;;&quot;$(WebKitOutputDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include&quot;;&quot;$(WebKitLibrariesDir)\Include\private&quot;;&quot;$(WebKitOutputDir)\Include\WebCore&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore&quot;;&quot;$(WebKitOutputDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitOutputDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitOutputDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(ProjectDir)\..&quot;;&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)\..\WebCoreSupport&quot;;&quot;$(IntDir)\include&quot;;&quot;$(WebKitOutputDir)\obj\WebKit\DerivedSources&quot;"
- PreprocessorDefinitions="_USRDLL;WEBKIT_EXPORTS;FRAMEWORK_NAME=WebKit"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="WebKitPrefix.h"
- ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
- DisableSpecificWarnings="4819"
- ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\WebKit&quot;&#x0D;&#x0A;&#x0D;&#x0A;xcopy /y /d &quot;$(ProjectDir)\..\WebLocalizableStrings.h&quot; &quot;$(WebKitOutputDir)\include\WebKit&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(ProjectDir)\..\WebKitGraphics.h&quot; &quot;$(WebKitOutputDir)\include\WebKit&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(ProjectDir)\..\WebKitCOMAPI.h&quot; &quot;$(WebKitOutputDir)\include\WebKit&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(ProjectDir)\..\WebPreferenceKeysPrivate.h&quot; &quot;$(WebKitOutputDir)\include\WebKit&quot;&#x0D;&#x0A;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitOutputDir)\include\WebCore\npapi.h&quot; &quot;$(WebKitOutputDir)\include\WebKit&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitOutputDir)\include\WebCore\npfunctions.h&quot; &quot;$(WebKitOutputDir)\include\WebKit&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitOutputDir)\include\WebCore\npruntime.h&quot; &quot;$(WebKitOutputDir)\include\WebKit&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitOutputDir)\include\WebCore\npruntime_internal.h&quot; &quot;$(WebKitOutputDir)\include\WebKit&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitOutputDir)\include\WebCore\nptypes.h&quot; &quot;$(WebKitOutputDir)\include\WebKit&quot;&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(OutDir)\..\bin\WebKit.resources&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(ProjectDir)..\WebKit.resources\*&quot; &quot;$(OutDir)\..\bin\WebKit.resources&quot;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(OutDir)\..\bin\WebKit.resources\en.lproj&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(ProjectDir)..\..\English.lproj\Localizable.strings&quot; &quot;$(OutDir)\..\bin\WebKit.resources\en.lproj\&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; del &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;"
- />
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;touch &quot;$(WebKitOutputDir)\tmp.cpp&quot;&#x0D;&#x0A;cl /analyze /nologo /c &quot;$(WebKitOutputDir)\tmp.cpp&quot; /Fo&quot;$(IntDir)\tmp.obj&quot; 2&gt;&amp;1 | findstr D9040&#x0D;&#x0A;if ERRORLEVEL 1 (set EnablePREfast=&quot;true&quot;) else (set EnablePREfast=&quot;false&quot;)&#x0D;&#x0A;if ERRORLEVEL 1 (set AnalyzeWithLargeStack=&quot;/analyze:65536&quot;) else (set AnalyzeWithLargeStack=&quot;&quot;)&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\JavaScriptCore&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitLibrariesDir)\include\JavaScriptCore\*&quot; &quot;$(WebKitOutputDir)\include\JavaScriptCore&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="$(WebKitOutputDir)\obj\WebKit\"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitLibCommon"
+ OutputDirectory="$(ConfigurationBuildDir)\lib"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include\WebKit&quot;;&quot;$(ConfigurationBuildDir)\Include&quot;;&quot;$(ConfigurationBuildDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include&quot;;&quot;$(WebKitLibrariesDir)\Include\private&quot;;&quot;$(ConfigurationBuildDir)\Include\WebCore&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore&quot;;&quot;$(ConfigurationBuildDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\Include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(ProjectDir)\..&quot;;&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)\..\WebCoreSupport&quot;;&quot;$(IntDir)\include&quot;;&quot;$(ConfigurationBuildDir)\obj\WebKit\DerivedSources&quot;"
+ PreprocessorDefinitions="_USRDLL;WEBKIT_EXPORTS;FRAMEWORK_NAME=WebKit"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderThrough="WebKitPrefix.h"
+ ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
+ DisableSpecificWarnings="4819"
+ ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ AdditionalIncludeDirectories="$(ConfigurationBuildDir)\obj\WebKit\"
+ />
+</VisualStudioPropertySheet>
diff --git a/WebKit/win/WebKit.vcproj/WebKitLibPostBuild.cmd b/WebKit/win/WebKit.vcproj/WebKitLibPostBuild.cmd
new file mode 100644
index 0000000..7968952
--- /dev/null
+++ b/WebKit/win/WebKit.vcproj/WebKitLibPostBuild.cmd
@@ -0,0 +1,19 @@
+mkdir 2>NUL "%CONFIGURATIONBUILDDIR%\include\WebKit"
+
+xcopy /y /d "%PROJECTDIR%\..\WebLocalizableStrings.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
+xcopy /y /d "%PROJECTDIR%\..\WebKitGraphics.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
+xcopy /y /d "%PROJECTDIR%\..\WebKitCOMAPI.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
+xcopy /y /d "%PROJECTDIR%\..\WebPreferenceKeysPrivate.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
+
+xcopy /y /d "%CONFIGURATIONBUILDDIR%\include\WebCore\npapi.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
+xcopy /y /d "%CONFIGURATIONBUILDDIR%\include\WebCore\npfunctions.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
+xcopy /y /d "%CONFIGURATIONBUILDDIR%\include\WebCore\npruntime.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
+xcopy /y /d "%CONFIGURATIONBUILDDIR%\include\WebCore\npruntime_internal.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
+xcopy /y /d "%CONFIGURATIONBUILDDIR%\include\WebCore\nptypes.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
+
+mkdir 2>NUL "%OUTDIR%\..\bin\WebKit.resources"
+xcopy /y /d "%PROJECTDIR%..\WebKit.resources\*" "%OUTDIR%\..\bin\WebKit.resources"
+mkdir 2>NUL "%OUTDIR%\..\bin\WebKit.resources\en.lproj"
+xcopy /y /d "%PROJECTDIR%..\..\English.lproj\Localizable.strings" "%OUTDIR%\..\bin\WebKit.resources\en.lproj\"
+
+if exist "%CONFIGURATIONBUILDDIR%\buildfailed" del "%CONFIGURATIONBUILDDIR%\buildfailed"
diff --git a/WebKit/win/WebKit.vcproj/WebKitLibPreBuild.cmd b/WebKit/win/WebKit.vcproj/WebKitLibPreBuild.cmd
new file mode 100644
index 0000000..b6f0bd4
--- /dev/null
+++ b/WebKit/win/WebKit.vcproj/WebKitLibPreBuild.cmd
@@ -0,0 +1,16 @@
+%SystemDrive%\cygwin\bin\which.exe bash
+if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
+cmd /c
+if exist "%CONFIGURATIONBUILDDIR%\buildfailed" grep XX%PROJECTNAME%XX "%CONFIGURATIONBUILDDIR%\buildfailed"
+if errorlevel 1 exit 1
+echo XX%PROJECTNAME%XX > "%CONFIGURATIONBUILDDIR%\buildfailed"
+
+touch "%CONFIGURATIONBUILDDIR%\tmp.cpp"
+cl /analyze /nologo /c "%CONFIGURATIONBUILDDIR%\tmp.cpp" /Fo"%INTDIR%\tmp.obj" 2>&1 | findstr D9040
+if ERRORLEVEL 1 (set EnablePREfast="true") else (set EnablePREfast="false")
+if ERRORLEVEL 1 (set AnalyzeWithLargeStack="/analyze:65536") else (set AnalyzeWithLargeStack="")
+
+mkdir 2>NUL "%CONFIGURATIONBUILDDIR%\include\JavaScriptCore"
+xcopy /y /d "%WEBKITLIBRARIESDIR%\include\JavaScriptCore\*" "%CONFIGURATIONBUILDDIR%\include\JavaScriptCore"
+
+bash "%WEBKITLIBRARIESDIR%\tools\scripts\auto-version.sh" "%INTDIR%"
diff --git a/WebKit/win/WebPreferences.cpp b/WebKit/win/WebPreferences.cpp
index 0854ac8..5a2c19b 100644
--- a/WebKit/win/WebPreferences.cpp
+++ b/WebKit/win/WebPreferences.cpp
@@ -261,10 +261,10 @@ void WebPreferences::initializeDefaultSettings()
CFDictionaryAddValue(defaults, CFSTR(WebKitShowDebugBordersPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitDNSPrefetchingEnabledPreferenceKey), kCFBooleanTrue);
+ CFDictionaryAddValue(defaults, CFSTR(WebKitDNSPrefetchingEnabledPreferenceKey), kCFBooleanFalse);
CFDictionaryAddValue(defaults, CFSTR(WebKitMemoryInfoEnabledPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitHyperlinkAuditingEnabledPreferenceKey), kCFBooleanFalse);
+ CFDictionaryAddValue(defaults, CFSTR(WebKitHyperlinkAuditingEnabledPreferenceKey), kCFBooleanTrue);
defaultSettings = defaults;
}
diff --git a/WebKit/win/WebScriptWorld.cpp b/WebKit/win/WebScriptWorld.cpp
index 9c661d9..6a35571 100644
--- a/WebKit/win/WebScriptWorld.cpp
+++ b/WebKit/win/WebScriptWorld.cpp
@@ -139,6 +139,6 @@ HRESULT WebScriptWorld::scriptWorldForGlobalContext(JSGlobalContextRef context,
HRESULT WebScriptWorld::unregisterWorld()
{
- m_world->unregisterWorld();
+ m_world->clearWrappers();
return S_OK;
}
diff --git a/WebKit/win/WebView.cpp b/WebKit/win/WebView.cpp
index 20c8d17..f0d504e 100644
--- a/WebKit/win/WebView.cpp
+++ b/WebKit/win/WebView.cpp
@@ -75,6 +75,7 @@
#include <WebCore/ContextMenuController.h>
#include <WebCore/Cursor.h>
#include <WebCore/Document.h>
+#include <WebCore/DocumentMarkerController.h>
#include <WebCore/DragController.h>
#include <WebCore/DragData.h>
#include <WebCore/Editor.h>
@@ -1245,12 +1246,14 @@ bool WebView::handleContextMenuEvent(WPARAM wParam, LPARAM lParam)
if (!handledEvent)
return false;
+ ContextMenuController* contextMenuController = m_page->contextMenuController();
+
// Show the menu
- ContextMenu* coreMenu = m_page->contextMenuController()->contextMenu();
+ ContextMenu* coreMenu = contextMenuController->contextMenu();
if (!coreMenu)
return false;
- Node* node = coreMenu->hitTestResult().innerNonSharedNode();
+ Node* node = contextMenuController->hitTestResult().innerNonSharedNode();
if (!node)
return false;
@@ -1262,7 +1265,7 @@ bool WebView::handleContextMenuEvent(WPARAM wParam, LPARAM lParam)
if (!view)
return false;
- POINT point(view->contentsToWindow(coreMenu->hitTestResult().point()));
+ POINT point(view->contentsToWindow(contextMenuController->hitTestResult().point()));
// Translate the point to screen coordinates
if (!::ClientToScreen(m_viewWindow, &point))
@@ -1273,12 +1276,12 @@ bool WebView::handleContextMenuEvent(WPARAM wParam, LPARAM lParam)
m_uiDelegate->hasCustomMenuImplementation(&hasCustomMenus);
if (hasCustomMenus)
- m_uiDelegate->trackCustomPopupMenu((IWebView*)this, (OLE_HANDLE)(ULONG64)coreMenu->platformDescription(), &point);
+ m_uiDelegate->trackCustomPopupMenu((IWebView*)this, (OLE_HANDLE)(ULONG64)coreMenu->nativeMenu(), &point);
else {
// Surprisingly, TPM_RIGHTBUTTON means that items are selectable with either the right OR left mouse button
UINT flags = TPM_RIGHTBUTTON | TPM_TOPALIGN | TPM_VERPOSANIMATION | TPM_HORIZONTAL
| TPM_LEFTALIGN | TPM_HORPOSANIMATION;
- ::TrackPopupMenuEx(coreMenu->platformDescription(), flags, point.x, point.y, m_viewWindow, 0);
+ ::TrackPopupMenuEx(coreMenu->nativeMenu(), flags, point.x, point.y, m_viewWindow, 0);
}
return true;
@@ -1353,11 +1356,10 @@ void WebView::performContextMenuAction(WPARAM wParam, LPARAM lParam, bool byPosi
ContextMenu* menu = m_page->contextMenuController()->contextMenu();
ASSERT(menu);
- ContextMenuItem* item = byPosition ? menu->itemAtIndex((unsigned)wParam, (HMENU)lParam) : menu->itemWithAction((ContextMenuAction)wParam);
+ ContextMenuItem* item = byPosition ? menu->itemAtIndex((unsigned)wParam) : menu->itemWithAction((ContextMenuAction)wParam);
if (!item)
return;
m_page->contextMenuController()->contextMenuItemSelected(item);
- delete item;
}
bool WebView::handleMouseEvent(UINT message, WPARAM wParam, LPARAM lParam)
@@ -6229,7 +6231,7 @@ void WebView::downloadURL(const KURL& url)
}
#if USE(ACCELERATED_COMPOSITING)
-void WebView::setRootChildLayer(WebCore::WKCACFLayer* layer)
+void WebView::setRootChildLayer(WebCore::PlatformCALayer* layer)
{
setAcceleratedCompositing(layer ? true : false);
if (m_layerRenderer)
@@ -6467,6 +6469,20 @@ bool WebView::shouldRender() const
return !frameView->layoutPending();
}
+
+void WebView::animationsStarted(CFTimeInterval t)
+{
+ // Tell the animation controller that its animations have started
+ m_page->mainFrame()->animation()->notifyAnimationStarted(0, t);
+}
+
+void WebView::syncCompositingState()
+{
+ Frame* coreFrame = core(m_mainFrame);
+ if (coreFrame && coreFrame->view())
+ coreFrame->view()->syncCompositingStateRecursive();
+}
+
#endif
class EnumTextMatches : public IEnumTextMatches
diff --git a/WebKit/win/WebView.h b/WebKit/win/WebView.h
index 424b03a..192c05c 100644
--- a/WebKit/win/WebView.h
+++ b/WebKit/win/WebView.h
@@ -40,7 +40,7 @@
#include <wtf/RefPtr.h>
#if USE(ACCELERATED_COMPOSITING)
-#include <WebCore/WKCACFLayer.h>
+#include <WebCore/PlatformCALayer.h>
#include <WebCore/WKCACFLayerRenderer.h>
#endif
@@ -904,8 +904,12 @@ public:
void downloadURL(const WebCore::KURL&);
#if USE(ACCELERATED_COMPOSITING)
- void setRootLayerNeedsDisplay() { if (m_layerRenderer) m_layerRenderer->setNeedsDisplay(); }
- void setRootChildLayer(WebCore::WKCACFLayer* layer);
+ void setRootLayerNeedsDisplay(bool sync = false)
+ {
+ if (m_layerRenderer)
+ m_layerRenderer->setNeedsDisplay(sync);
+ }
+ void setRootChildLayer(WebCore::PlatformCALayer*);
#endif
void enterFullscreenForNode(WebCore::Node*);
@@ -941,6 +945,8 @@ private:
#if USE(ACCELERATED_COMPOSITING)
// WKCACFLayerRendererClient
virtual bool shouldRender() const;
+ virtual void animationsStarted(CFTimeInterval);
+ virtual void syncCompositingState();
#endif
protected:
diff --git a/WebKit/wince/CMakeListsWinCE.txt b/WebKit/wince/CMakeListsWinCE.txt
new file mode 100644
index 0000000..28feaf3
--- /dev/null
+++ b/WebKit/wince/CMakeListsWinCE.txt
@@ -0,0 +1,25 @@
+LIST(APPEND WebKit_INCLUDE_DIRECTORIES
+ "${WEBCORE_DIR}/page/win"
+ "${WEBCORE_DIR}/platform/graphics/wince"
+ "${WEBCORE_DIR}/platform/network/win"
+ "${WEBCORE_DIR}/platform/win"
+
+ wince
+ wince/WebCoreSupport
+)
+
+LIST(APPEND WebKit_SOURCES
+ wince/WebView.h
+ wince/WebView.cpp
+
+ wince/WebCoreSupport/ChromeClientWinCE.cpp
+ wince/WebCoreSupport/ContextMenuClientWinCE.cpp
+ wince/WebCoreSupport/DragClientWinCE.cpp
+ wince/WebCoreSupport/EditorClientWinCE.cpp
+ wince/WebCoreSupport/FrameLoaderClientWinCE.cpp
+ wince/WebCoreSupport/FrameNetworkingContextWinCE.cpp
+ wince/WebCoreSupport/InspectorClientWinCE.cpp
+ wince/WebCoreSupport/PlatformStrategiesWinCE.cpp
+)
+
+SET(WebKit_LIBRARY_TYPE STATIC)
diff --git a/WebKit/wince/ChangeLog b/WebKit/wince/ChangeLog
index 0b99bf7..f44bddf 100644
--- a/WebKit/wince/ChangeLog
+++ b/WebKit/wince/ChangeLog
@@ -1,3 +1,113 @@
+2011-01-04 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed WinCE build fix.
+
+ * WebCoreSupport/ChromeClientWinCE.cpp:
+ (WebKit::ChromeClientWinCE::exceededDatabaseQuota): Added missing semicolon.
+ (WebKit::ChromeClientWinCE::reachedApplicationCacheOriginQuota):
+ * WebCoreSupport/ChromeClientWinCE.h:
+
+2010-12-29 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed build fix for WinCE after r73802.
+
+ * WebCoreSupport/ContextMenuClientWinCE.cpp:
+ (WebKit::ContextMenuClientWinCE::customizeMenu):
+ * WebCoreSupport/ContextMenuClientWinCE.h:
+
+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
+
+ - Add client functions to notify that a frame has been added or
+ removed from the page cache.
+
+ * WebCoreSupport/FrameLoaderClientWinCE.cpp:
+ (WebKit::FrameLoaderClientWinCE::didSaveToPageCache):
+ (WebKit::FrameLoaderClientWinCE::didRestoreFromPageCache):
+ * WebCoreSupport/FrameLoaderClientWinCE.h:
+
+2010-12-22 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Editor.h doesn't need to include SelectionController.h
+ https://bugs.webkit.org/show_bug.cgi?id=51441
+
+ Renamed SelectionController::EDirection to SelectionDirection.
+
+ * WebCoreSupport/EditorClientWinCE.cpp:
+ (WebKit::EditorClientWinCE::handleEditingKeyboardEvent):
+
+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.
+
+ * WebCoreSupport/EditorClientWinCE.h:
+ (WebKit::EditorClient::requestCheckingOfString):
+
+2010-12-07 Martin Robinson <mrobinson@igalia.com>
+
+ Unreviewed, rolling out r73392.
+ http://trac.webkit.org/changeset/73392
+ https://bugs.webkit.org/show_bug.cgi?id=50489
+
+ This commit caused crashes on the GTK+ bots
+
+ * WebCoreSupport/FrameLoaderClientWinCE.cpp:
+ (WebKit::FrameLoaderClientWinCE::finishedLoading):
+
+2010-12-06 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Update calls to DocumentWriter.
+ https://bugs.webkit.org/show_bug.cgi?id=50489
+
+ * WebCoreSupport/FrameLoaderClientWinCE.cpp:
+ (WebKit::FrameLoaderClientWinCE::finishedLoading):
+
+2010-12-06 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [WINCE] Add build system
+ https://bugs.webkit.org/show_bug.cgi?id=50522
+
+ * CMakeListsWinCE.txt: Added.
+
+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 signature defined in base class.
+
+ * WebCoreSupport/EditorClientWinCE.cpp:
+ (WebKit::EditorClientWinCE::getGuessesForWord):
+ * WebCoreSupport/EditorClientWinCE.h:
+
+2010-11-30 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ [WINCE] Add WebView
+ https://bugs.webkit.org/show_bug.cgi?id=50216
+
+ * WebView.cpp: Added.
+ * WebView.h: Added.
+
2010-11-13 Patrick Gansterer <paroga@webkit.org>
Unreviewed, build fix after r71541.
diff --git a/WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp b/WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp
index e19d6ad..659d246 100644
--- a/WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp
+++ b/WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp
@@ -305,7 +305,7 @@ void ChromeClientWinCE::print(Frame*)
#if ENABLE(DATABASE)
void ChromeClientWinCE::exceededDatabaseQuota(Frame*, const String&)
{
- notImplemented()
+ notImplemented();
}
#endif
@@ -314,6 +314,11 @@ void ChromeClientWinCE::reachedMaxAppCacheSize(int64_t)
{
notImplemented();
}
+
+void ChromeClientWinCE::reachedApplicationCacheOriginQuota(SecurityOrigin*)
+{
+ notImplemented();
+}
#endif
#if ENABLE(TOUCH_EVENTS)
diff --git a/WebKit/wince/WebCoreSupport/ChromeClientWinCE.h b/WebKit/wince/WebCoreSupport/ChromeClientWinCE.h
index 3069472..4e7fb28 100644
--- a/WebKit/wince/WebCoreSupport/ChromeClientWinCE.h
+++ b/WebKit/wince/WebCoreSupport/ChromeClientWinCE.h
@@ -114,7 +114,7 @@ public:
virtual void print(WebCore::Frame*);
#if ENABLE(DATABASE)
- virtual void exceededDatabaseQuota(WebCore::Frame*, const WTF::String& databaseName) = 0;
+ virtual void exceededDatabaseQuota(WebCore::Frame*, const WTF::String& databaseName);
#endif
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
@@ -123,7 +123,14 @@ public:
// size or past the amount of free space on the device.
// The chrome client would need to take some action such as evicting some
// old caches.
- virtual void reachedMaxAppCacheSize(int64_t spaceNeeded) = 0;
+ virtual void reachedMaxAppCacheSize(int64_t spaceNeeded);
+
+ // Callback invoked when the application cache origin quota is reached. This
+ // means that the resources attempting to be cached via the manifest are
+ // more than allowed on this origin. This callback allows the chrome client
+ // to take action, such as prompting the user to ask to increase the quota
+ // for this origin.
+ virtual void reachedApplicationCacheOriginQuota(WebCore::SecurityOrigin*);
#endif
#if ENABLE(CONTEXT_MENUS)
@@ -131,7 +138,7 @@ public:
#endif
#if ENABLE(NOTIFICATIONS)
- virtual WebCore::NotificationPresenter* notificationPresenter() const = 0;
+ virtual WebCore::NotificationPresenter* notificationPresenter() const;
#endif
// This can be either a synchronous or asynchronous call. The ChromeClient can display UI asking the user for permission
diff --git a/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.cpp b/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.cpp
index 7358f2a..dda4d27 100644
--- a/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.cpp
+++ b/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.cpp
@@ -42,9 +42,9 @@ void ContextMenuClientWinCE::contextMenuDestroyed()
delete this;
}
-PlatformMenuDescription ContextMenuClientWinCE::getCustomMenuFromDefaultItems(ContextMenu* menu)
+PassOwnPtr<ContextMenu> ContextMenuClientWinCE::customizeMenu(PassOwnPtr<ContextMenu> menu)
{
- return menu->releasePlatformDescription();
+ return menu;
}
void ContextMenuClientWinCE::contextMenuItemSelected(ContextMenuItem*, const ContextMenu*)
diff --git a/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.h b/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.h
index 13d91d1..8cd1951 100644
--- a/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.h
+++ b/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.h
@@ -37,7 +37,7 @@ public:
virtual void contextMenuDestroyed();
- virtual WebCore::PlatformMenuDescription getCustomMenuFromDefaultItems(WebCore::ContextMenu*);
+ virtual PassOwnPtr<WebCore::ContextMenu> customizeMenu(PassOwnPtr<WebCore::ContextMenu>);
virtual void contextMenuItemSelected(WebCore::ContextMenuItem*, const WebCore::ContextMenu*);
virtual void downloadURL(const WebCore::KURL&);
diff --git a/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp b/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp
index 7dee562..77cc720 100644
--- a/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp
+++ b/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp
@@ -353,25 +353,25 @@ bool EditorClientWinCE::handleEditingKeyboardEvent(KeyboardEvent* event)
switch (keyEvent->windowsVirtualKeyCode()) {
case VK_LEFT:
frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
- SelectionController::DirectionLeft,
+ DirectionLeft,
keyEvent->ctrlKey() ? WordGranularity : CharacterGranularity,
true);
return true;
case VK_RIGHT:
frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
- SelectionController::DirectionRight,
+ DirectionRight,
keyEvent->ctrlKey() ? WordGranularity : CharacterGranularity,
true);
return true;
case VK_UP:
frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
- SelectionController::DirectionBackward,
+ DirectionBackward,
keyEvent->ctrlKey() ? ParagraphGranularity : LineGranularity,
true);
return true;
case VK_DOWN:
frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
- SelectionController::DirectionForward,
+ DirectionForward,
keyEvent->ctrlKey() ? ParagraphGranularity : LineGranularity,
true);
return true;
@@ -487,7 +487,7 @@ bool EditorClientWinCE::spellingUIIsShowing()
return false;
}
-void EditorClientWinCE::getGuessesForWord(const String& word, WTF::Vector<String>& guesses)
+void EditorClientWinCE::getGuessesForWord(const String& word, const String& context, WTF::Vector<String>& guesses)
{
notImplemented();
}
diff --git a/WebKit/wince/WebCoreSupport/EditorClientWinCE.h b/WebKit/wince/WebCoreSupport/EditorClientWinCE.h
index be85b3f..8db8c16 100644
--- a/WebKit/wince/WebCoreSupport/EditorClientWinCE.h
+++ b/WebKit/wince/WebCoreSupport/EditorClientWinCE.h
@@ -97,9 +97,10 @@ public:
virtual void updateSpellingUIWithMisspelledWord(const WTF::String&);
virtual void showSpellingUI(bool);
virtual bool spellingUIIsShowing();
- virtual void getGuessesForWord(const WTF::String&, WTF::Vector<WTF::String>&);
+ virtual void getGuessesForWord(const WTF::String& word, const WTF::String& context, WTF::Vector<WTF::String>& guesses);
virtual void willSetInputMethodState();
virtual void setInputMethodState(bool);
+ virtual void requestCheckingOfString(WebCore::SpellChecker*, int, const WTF::String&) {}
private:
WebView* m_webView;
diff --git a/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp b/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp
index f3643b2..6a8fb74 100644
--- a/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp
+++ b/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp
@@ -630,6 +630,14 @@ void FrameLoaderClientWinCE::transitionToCommittedForNewPage()
m_frame->ownerRenderer()->setWidget(frameView);
}
+void FrameLoaderClientWinCE::didSaveToPageCache()
+{
+}
+
+void FrameLoaderClientWinCE::didRestoreFromPageCache()
+{
+}
+
void FrameLoaderClientWinCE::dispatchDidBecomeFrameset(bool)
{
}
diff --git a/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h b/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h
index 46b3a19..c4dcf6d 100644
--- a/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h
+++ b/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h
@@ -175,6 +175,9 @@ public:
virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*);
virtual void transitionToCommittedForNewPage();
+ virtual void didSaveToPageCache();
+ virtual void didRestoreFromPageCache();
+
virtual void dispatchDidBecomeFrameset(bool);
virtual bool canCachePage() const;
diff --git a/WebKit/wince/WebView.cpp b/WebKit/wince/WebView.cpp
new file mode 100644
index 0000000..ce90149
--- /dev/null
+++ b/WebKit/wince/WebView.cpp
@@ -0,0 +1,454 @@
+/*
+ * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple, Inc. All rights reserved.
+ * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com>
+ *
+ * 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 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 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 "ChromeClientWinCE.h"
+#include "ContextMenuClientWinCE.h"
+#include "DragClientWinCE.h"
+#include "EditorClientWinCE.h"
+#include "FocusController.h"
+#include "Frame.h"
+#include "FrameLoader.h"
+#include "FrameLoaderClientWinCE.h"
+#include "FrameView.h"
+#include "GraphicsContext.h"
+#include "InitializeThreading.h"
+#include "InspectorClientWinCE.h"
+#include "IntSize.h"
+#include "MainThread.h"
+#include "NotImplemented.h"
+#include "Page.h"
+#include "PlatformKeyboardEvent.h"
+#include "PlatformMouseEvent.h"
+#include "PlatformStrategiesWinCE.h"
+#include "PlatformWheelEvent.h"
+#include "ResourceRequest.h"
+#include "Settings.h"
+#include "SharedBuffer.h"
+#include "WebCoreInstanceHandle.h"
+
+using namespace WebCore;
+
+const LPCWSTR kWebViewWindowClassName = L"WebViewWindowClass";
+
+
+LRESULT CALLBACK WebView::webViewWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ if (WebView* webView = reinterpret_cast<WebView*>(GetWindowLong(hWnd, 0)))
+ return webView->wndProc(hWnd, message, wParam, lParam);
+
+ return DefWindowProc(hWnd, message, wParam, lParam);
+}
+
+PassRefPtr<SharedBuffer> loadResourceIntoBuffer(const char* name)
+{
+ notImplemented();
+ return 0;
+}
+
+
+WebView::WebView(HWND hwnd, unsigned features)
+ : m_frame(0)
+ , m_page(0)
+ , m_parentWindowHandle(hwnd)
+ , m_enableDoubleBuffer(features & EnableDoubleBuffering)
+{
+ RECT rcClient;
+ GetClientRect(hwnd, &rcClient);
+
+ m_windowHandle = CreateWindow(kWebViewWindowClassName, 0, WS_CHILD,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, hwnd, 0, WebCore::instanceHandle(), 0);
+
+ SetWindowLong(m_windowHandle, 0, reinterpret_cast<LONG>(this));
+
+ MoveWindow(m_windowHandle, 0, 0, rcClient.right, rcClient.bottom, TRUE);
+ ShowWindow(m_windowHandle, SW_SHOW);
+
+ Page::PageClients pageClients;
+ pageClients.chromeClient = new WebKit::ChromeClientWinCE(this);
+ pageClients.contextMenuClient = new WebKit::ContextMenuClientWinCE(this);
+ pageClients.editorClient = new WebKit::EditorClientWinCE(this);
+ pageClients.dragClient = new WebKit::DragClientWinCE();
+ pageClients.inspectorClient = new WebKit::InspectorClientWinCE(this);
+ m_page = new Page(pageClients);
+
+ Settings* settings = m_page->settings();
+ settings->setDefaultFixedFontSize(14);
+ settings->setDefaultFontSize(14);
+ settings->setMinimumFontSize(8);
+ settings->setMinimumLogicalFontSize(8);
+ settings->setJavaScriptEnabled(true);
+ settings->setLoadsImagesAutomatically(true);
+
+ WebKit::FrameLoaderClientWinCE* loaderClient = new WebKit::FrameLoaderClientWinCE(this);
+ RefPtr<Frame> frame = Frame::create(m_page, 0, loaderClient);
+ m_frame = frame.get();
+ loaderClient->setFrame(m_frame);
+
+ m_page->mainFrame()->init();
+
+ if (view()) {
+ RECT windowRect;
+ frameRect(&windowRect);
+ view()->resize(IntRect(windowRect).size());
+ }
+}
+
+WebView::~WebView()
+{
+ delete m_page;
+ DestroyWindow(m_windowHandle);
+}
+
+void WebView::initialize(HINSTANCE instanceHandle)
+{
+ JSC::initializeThreading();
+ WTF::initializeMainThread();
+ PlatformStrategiesWinCE::initialize();
+
+ WebCore::setInstanceHandle(instanceHandle);
+
+ WNDCLASS wc;
+ wc.style = CS_DBLCLKS;
+ wc.lpfnWndProc = WebView::webViewWndProc;
+ wc.cbClsExtra = 0;
+ wc.cbWndExtra = sizeof(void *);
+ wc.hInstance = instanceHandle;
+ wc.hIcon = 0;
+ wc.hCursor = LoadCursor(0, IDC_ARROW);
+ wc.hbrBackground = 0;
+ wc.lpszMenuName = 0;
+ wc.lpszClassName = kWebViewWindowClassName;
+
+ RegisterClass(&wc);
+}
+
+void WebView::cleanup()
+{
+ UnregisterClass(kWebViewWindowClassName, WebCore::instanceHandle());
+}
+
+PassRefPtr<Frame> WebView::createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement, const String& referrer,
+ bool /*allowsScrolling*/, int /*marginWidth*/, int /*marginHeight*/)
+{
+ Frame* coreFrame = m_frame;
+
+ WebKit::FrameLoaderClientWinCE *loaderClient = new WebKit::FrameLoaderClientWinCE(this);
+ RefPtr<Frame> childFrame = Frame::create(m_page, ownerElement, loaderClient);
+ loaderClient->setFrame(childFrame.get());
+
+ coreFrame->tree()->appendChild(childFrame);
+ childFrame->tree()->setName(name);
+ childFrame->init();
+
+ // The creation of the frame may have run arbitrary JavaScript that removed it from the page already.
+ if (!childFrame->page())
+ return 0;
+
+ childFrame->loader()->loadURLIntoChildFrame(url, referrer, childFrame.get());
+
+ // The frame's onload handler may have removed it from the document.
+ if (!childFrame->tree()->parent())
+ return 0;
+
+ return childFrame.release();
+}
+
+void WebView::runJavaScriptAlert(const String& message)
+{
+ notImplemented();
+}
+
+bool WebView::runJavaScriptConfirm(const String& message)
+{
+ notImplemented();
+ return false;
+}
+
+bool WebView::runJavaScriptPrompt(const String& message, const String& defaultValue, String& result)
+{
+ notImplemented();
+ return false;
+}
+
+void WebView::frameRect(RECT* rect) const
+{
+ GetWindowRect(m_windowHandle, rect);
+}
+
+FrameView* WebView::view() const
+{
+ return m_frame ? m_frame->view() : 0;
+}
+
+void WebView::load(LPCWSTR url)
+{
+ load(String(url));
+}
+
+void WebView::load(const String &url)
+{
+ load(WebCore::ResourceRequest(url));
+}
+
+void WebView::load(const WebCore::ResourceRequest &request)
+{
+ frame()->loader()->load(request, false);
+}
+
+void WebView::reload()
+{
+ frame()->loader()->reload();
+}
+
+void WebView::stop()
+{
+ frame()->loader()->stopAllLoaders();
+}
+
+void WebView::paint(HDC hDC, const IntRect& clipRect)
+{
+ OwnPtr<HRGN> clipRgn(CreateRectRgn(clipRect.x(), clipRect.y(), clipRect.right(), clipRect.bottom()));
+ SelectClipRgn(hDC, clipRgn.get());
+
+ GraphicsContext gc(hDC);
+ view()->paint(&gc, clipRect);
+}
+
+bool WebView::handlePaint(HWND hWnd)
+{
+ RECT updateRect;
+ if (!GetUpdateRect(hWnd, &updateRect, false))
+ return false;
+
+ PAINTSTRUCT ps;
+ HDC hDC = BeginPaint(m_windowHandle, &ps);
+
+ IntRect clipRect(updateRect);
+
+ if (m_enableDoubleBuffer) {
+ if (!m_doubleBufferDC) {
+ RECT rcClient;
+ GetClientRect(m_windowHandle, &rcClient);
+
+ m_doubleBufferDC = adoptPtr(CreateCompatibleDC(hDC));
+ m_doubleBufferBitmap = adoptPtr(CreateCompatibleBitmap(hDC, rcClient.right, rcClient.bottom));
+ SelectObject(m_doubleBufferDC.get(), m_doubleBufferBitmap.get());
+ }
+
+ paint(m_doubleBufferDC.get(), clipRect);
+
+ BitBlt(hDC, clipRect.x(), clipRect.y(), clipRect.width(), clipRect.height(), m_doubleBufferDC.get(), clipRect.x(), clipRect.y(), SRCCOPY);
+ } else
+ paint(hDC, clipRect);
+
+ EndPaint(m_windowHandle, &ps);
+ return true;
+}
+
+bool WebView::handleMouseEvent(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ static LONG globalClickCount;
+ static IntPoint globalPrevPoint;
+ static MouseButton globalPrevButton;
+ static LONG globalPrevMouseDownTime;
+
+ // Create our event.
+ // On WM_MOUSELEAVE we need to create a mouseout event, so we force the position
+ // of the event to be at (MINSHORT, MINSHORT).
+ PlatformMouseEvent mouseEvent(hWnd, message, wParam, lParam);
+
+ bool insideThreshold = abs(globalPrevPoint.x() - mouseEvent.pos().x()) < ::GetSystemMetrics(SM_CXDOUBLECLK)
+ && abs(globalPrevPoint.y() - mouseEvent.pos().y()) < ::GetSystemMetrics(SM_CYDOUBLECLK);
+ LONG messageTime = 0;
+
+ bool handled = false;
+ if (message == WM_LBUTTONDOWN || message == WM_MBUTTONDOWN || message == WM_RBUTTONDOWN) {
+ // FIXME: I'm not sure if this is the "right" way to do this
+ // but without this call, we never become focused since we don't allow
+ // the default handling of mouse events.
+ SetFocus(m_windowHandle);
+
+ PlatformMouseEvent moveEvent(hWnd, WM_MOUSEMOVE, 0, lParam, false);
+ moveEvent.setClickCount(0);
+ m_page->mainFrame()->eventHandler()->handleMouseMoveEvent(moveEvent);
+
+ // Always start capturing events when the mouse goes down in our HWND.
+ SetCapture(m_windowHandle);
+
+ if (insideThreshold && mouseEvent.button() == globalPrevButton)
+ globalClickCount++;
+ else
+ // Reset the click count.
+ globalClickCount = 1;
+ globalPrevMouseDownTime = messageTime;
+ globalPrevButton = mouseEvent.button();
+ globalPrevPoint = mouseEvent.pos();
+
+ mouseEvent.setClickCount(globalClickCount);
+ handled = m_page->mainFrame()->eventHandler()->handleMousePressEvent(mouseEvent);
+ } else if (message == WM_LBUTTONDBLCLK || message == WM_MBUTTONDBLCLK || message == WM_RBUTTONDBLCLK) {
+ globalClickCount++;
+ mouseEvent.setClickCount(globalClickCount);
+ handled = m_page->mainFrame()->eventHandler()->handleMousePressEvent(mouseEvent);
+ } else if (message == WM_LBUTTONUP || message == WM_MBUTTONUP || message == WM_RBUTTONUP) {
+ // Record the global position and the button of the up.
+ globalPrevButton = mouseEvent.button();
+ globalPrevPoint = mouseEvent.pos();
+ mouseEvent.setClickCount(globalClickCount);
+ m_page->mainFrame()->eventHandler()->handleMouseReleaseEvent(mouseEvent);
+ ReleaseCapture();
+ } else if (message == WM_MOUSEMOVE) {
+ if (!insideThreshold)
+ globalClickCount = 0;
+ mouseEvent.setClickCount(globalClickCount);
+ handled = m_page->mainFrame()->eventHandler()->mouseMoved(mouseEvent);
+ }
+
+ return handled;
+}
+
+bool WebView::handleMouseWheel(HWND hWnd, WPARAM wParam, LPARAM lParam, bool isHorizontal)
+{
+ PlatformWheelEvent wheelEvent(hWnd, wParam, lParam, isHorizontal);
+ return frame()->eventHandler()->handleWheelEvent(wheelEvent);
+}
+
+bool WebView::handleKeyDown(WPARAM virtualKeyCode, LPARAM keyData, bool systemKeyDown)
+{
+ Frame* frame = m_page->focusController()->focusedOrMainFrame();
+ if (virtualKeyCode == VK_CAPITAL)
+ frame->eventHandler()->capsLockStateMayHaveChanged();
+
+ PlatformKeyboardEvent keyEvent(m_windowHandle, virtualKeyCode, keyData, PlatformKeyboardEvent::RawKeyDown, systemKeyDown);
+ bool handled = frame->eventHandler()->keyEvent(keyEvent);
+
+ // These events cannot be canceled, and we have no default handling for them.
+ // FIXME: match IE list more closely, see <http://msdn2.microsoft.com/en-us/library/ms536938.aspx>.
+ if (systemKeyDown && virtualKeyCode != VK_RETURN)
+ return false;
+
+ if (handled) {
+ MSG msg;
+ if (!systemKeyDown)
+ ::PeekMessage(&msg, m_windowHandle, WM_CHAR, WM_CHAR, PM_REMOVE);
+ return true;
+ }
+
+ return handled;
+}
+
+bool WebView::handleKeyPress(WPARAM charCode, LPARAM keyData, bool systemKeyDown)
+{
+ Frame* frame = m_page->focusController()->focusedOrMainFrame();
+
+ PlatformKeyboardEvent keyEvent(m_windowHandle, charCode, keyData, PlatformKeyboardEvent::Char, systemKeyDown);
+ // IE does not dispatch keypress event for WM_SYSCHAR.
+ if (systemKeyDown)
+ return frame->eventHandler()->handleAccessKey(keyEvent);
+ if (frame->eventHandler()->keyEvent(keyEvent))
+ return true;
+
+ return false;
+}
+
+bool WebView::handleKeyUp(WPARAM virtualKeyCode, LPARAM keyData, bool systemKeyDown)
+{
+ PlatformKeyboardEvent keyEvent(m_windowHandle, virtualKeyCode, keyData, PlatformKeyboardEvent::KeyUp, systemKeyDown);
+
+ Frame* frame = m_page->focusController()->focusedOrMainFrame();
+ return frame->eventHandler()->keyEvent(keyEvent);
+}
+
+LRESULT WebView::wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ bool handled = false;
+
+ if (view()) {
+ switch (message) {
+ case WM_PAINT:
+ handled = handlePaint(hWnd);
+ break;
+
+ case WM_MOUSEMOVE:
+ case WM_LBUTTONDOWN:
+ case WM_MBUTTONDOWN:
+ case WM_RBUTTONDOWN:
+ case WM_LBUTTONDBLCLK:
+ case WM_MBUTTONDBLCLK:
+ case WM_RBUTTONDBLCLK:
+ case WM_LBUTTONUP:
+ case WM_MBUTTONUP:
+ case WM_RBUTTONUP:
+ if (frame()->eventHandler() && view()->didFirstLayout())
+ handled = handleMouseEvent(hWnd, message, wParam, lParam);
+ break;
+
+ case WM_MOUSEWHEEL:
+ if (frame()->eventHandler() && view()->didFirstLayout())
+ handled = handleMouseWheel(hWnd, wParam, lParam, wParam & MK_SHIFT);
+ break;
+
+ case WM_SYSKEYDOWN:
+ handled = handleKeyDown(wParam, lParam, true);
+ break;
+
+ case WM_KEYDOWN:
+ handled = handleKeyDown(wParam, lParam, false);
+ break;
+
+ case WM_SYSKEYUP:
+ handled = handleKeyUp(wParam, lParam, true);
+ break;
+
+ case WM_KEYUP:
+ handled = handleKeyUp(wParam, lParam, false);
+ break;
+
+ case WM_SYSCHAR:
+ handled = handleKeyPress(wParam, lParam, true);
+ break;
+
+ case WM_CHAR:
+ handled = handleKeyPress(wParam, lParam, false);
+ break;
+
+ case WM_CLOSE:
+ PostMessage(m_parentWindowHandle, WM_CLOSE, wParam, lParam);
+ handled = true;
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ if (handled)
+ return 0;
+
+ return DefWindowProc(hWnd, message, wParam, lParam);
+}
diff --git a/WebKit/wince/WebView.h b/WebKit/wince/WebView.h
new file mode 100644
index 0000000..c6e6684
--- /dev/null
+++ b/WebKit/wince/WebView.h
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com>
+ *
+ * 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 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 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 "IntRect.h"
+#include "OwnPtr.h"
+#include "PassRefPtr.h"
+
+namespace WTF {
+class String;
+}
+
+namespace WebCore {
+class Frame;
+class Page;
+class FrameView;
+class HTMLFrameOwnerElement;
+class KURL;
+class ResourceRequest;
+}
+
+class WebView {
+public:
+ enum Features {
+ NoFeature = 0,
+ EnableDoubleBuffering = 1 << 0
+ };
+
+ WebView(HWND hwnd, unsigned features = EnableDoubleBuffering);
+ ~WebView();
+
+ static void initialize(HINSTANCE instanceHandle);
+ static void cleanup();
+
+ HWND windowHandle() const { return m_windowHandle; }
+ WebCore::Frame* frame() const { return m_frame; }
+ WebCore::Page* page() const { return m_page; }
+ WebCore::FrameView* view() const;
+
+ void load(LPCWSTR url);
+ void load(const WTF::String &url);
+ void load(const WebCore::ResourceRequest &request);
+ void reload();
+ void stop();
+
+ void frameRect(RECT* rect) const;
+
+ PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL&, const WTF::String&, WebCore::HTMLFrameOwnerElement*, const WTF::String&, bool, int, int);
+
+ // JavaScript Dialog
+ void runJavaScriptAlert(const WTF::String& message);
+ bool runJavaScriptConfirm(const WTF::String& message);
+ bool runJavaScriptPrompt(const WTF::String& message, const WTF::String& defaultValue, WTF::String& result);
+
+private:
+ static LRESULT CALLBACK webViewWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
+ LRESULT wndProc(HWND, UINT, WPARAM, LPARAM);
+
+ bool handlePaint(HWND hWnd);
+ bool handleMouseEvent(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
+ bool handleMouseWheel(HWND hWnd, WPARAM wParam, LPARAM lParam, bool isHorizontal);
+ bool handleKeyDown(WPARAM virtualKeyCode, LPARAM keyData, bool systemKeyDown);
+ bool handleKeyPress(WPARAM charCode, LPARAM keyData, bool systemKeyDown);
+ bool handleKeyUp(WPARAM virtualKeyCode, LPARAM keyData, bool systemKeyDown);
+
+ void paint(HDC hDC, const WebCore::IntRect& clipRect);
+
+ WebCore::Frame* m_frame;
+ WebCore::Page* m_page;
+ HWND m_parentWindowHandle;
+ HWND m_windowHandle;
+ bool m_enableDoubleBuffer;
+ OwnPtr<HDC> m_doubleBufferDC;
+ OwnPtr<HBITMAP> m_doubleBufferBitmap;
+};
+
+#endif // WebView_h
diff --git a/WebKit/wx/ChangeLog b/WebKit/wx/ChangeLog
index 2b55577..e1a6dad 100644
--- a/WebKit/wx/ChangeLog
+++ b/WebKit/wx/ChangeLog
@@ -1,6 +1,98 @@
+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
+
+ * bindings/python/wscript:
+ * wscript:
+
+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
+
+ * bindings/python/wscript:
+ * wscript:
+ - Point to JavaScriptCore in its new location.
+
+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
+
+ - Add client functions to notify that a frame has been added or
+ removed from the page cache.
+
+ * WebKitSupport/FrameLoaderClientWx.cpp:
+ (WebCore::FrameLoaderClientWx::didSaveToPageCache):
+ (WebCore::FrameLoaderClientWx::didRestoreFromPageCache):
+ * WebKitSupport/FrameLoaderClientWx.h:
+
+2010-12-20 Eric Seidel <eric@webkit.org>
+
+ Unreviewed.
+
+ Removed a non-utf8 character from this file.
+ Looks like it was accidentally added in:
+ http://trac.webkit.org/changeset/72669
+ Which caused troubles for the contributor working on bug 51382.
+
+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.
+
+ * WebKitSupport/EditorClientWx.h:
+ (WebCore::EditorClientWx::requestCheckingOfString):
+
+2010-12-07 Martin Robinson <mrobinson@igalia.com>
+
+ Unreviewed, rolling out r73392.
+ http://trac.webkit.org/changeset/73392
+ https://bugs.webkit.org/show_bug.cgi?id=50489
+
+ This commit caused crashes on the GTK+ bots
+
+ * WebKitSupport/FrameLoaderClientWx.cpp:
+ (WebCore::FrameLoaderClientWx::finishedLoading):
+
+2010-12-06 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Update calls to DocumentWriter.
+ https://bugs.webkit.org/show_bug.cgi?id=50489
+
+ * WebKitSupport/FrameLoaderClientWx.cpp:
+ (WebCore::FrameLoaderClientWx::finishedLoading):
+
+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 signature defined in base class.
+
+ * WebKitSupport/EditorClientWx.cpp:
+ (WebCore::EditorClientWx::getGuessesForWord):
+ * WebKitSupport/EditorClientWx.h:
+
2010-11-24 Patrick Gansterer <paroga@webkit.org>
- Reviewed by Csaba Osztrogonác.
+ Reviewed by Csaba Osztrogonác.
Remove Bakefile build system files
https://bugs.webkit.org/show_bug.cgi?id=49983
diff --git a/WebKit/wx/WebKitSupport/EditorClientWx.cpp b/WebKit/wx/WebKitSupport/EditorClientWx.cpp
index 59e2fd4..5601364 100644
--- a/WebKit/wx/WebKitSupport/EditorClientWx.cpp
+++ b/WebKit/wx/WebKitSupport/EditorClientWx.cpp
@@ -542,9 +542,9 @@ bool EditorClientWx::spellingUIIsShowing()
return false;
}
-void EditorClientWx::getGuessesForWord(const String&, Vector<String>& guesses)
-{
- notImplemented();
+void EditorClientWx::getGuessesForWord(const String& word, const String& context, Vector<String>& guesses)
+{
+ notImplemented();
}
String EditorClientWx::getAutoCorrectSuggestionForMisspelledWord(const WTF::String&)
diff --git a/WebKit/wx/WebKitSupport/EditorClientWx.h b/WebKit/wx/WebKitSupport/EditorClientWx.h
index be5c98a..7dbee31 100644
--- a/WebKit/wx/WebKitSupport/EditorClientWx.h
+++ b/WebKit/wx/WebKitSupport/EditorClientWx.h
@@ -107,11 +107,12 @@ public:
virtual void updateSpellingUIWithMisspelledWord(const String&);
virtual void showSpellingUI(bool show);
virtual bool spellingUIIsShowing();
- virtual void getGuessesForWord(const String&, Vector<String>& guesses);
+ virtual void getGuessesForWord(const String& word, const String& context, Vector<String>& guesses);
virtual String getAutoCorrectSuggestionForMisspelledWord(const WTF::String&);
-
+
virtual void willSetInputMethodState();
virtual void setInputMethodState(bool enabled);
+ virtual void requestCheckingOfString(WebCore::SpellChecker*, int, const WTF::String&) {}
private:
Page* m_page;
diff --git a/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp b/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp
index 8748a98..362c726 100644
--- a/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp
+++ b/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp
@@ -966,6 +966,14 @@ void FrameLoaderClientWx::transitionToCommittedForNewPage()
m_frame->createView(size, backgroundColor, transparent, IntSize(), false);
}
+void FrameLoaderClientWx::didSaveToPageCache()
+{
+}
+
+void FrameLoaderClientWx::didRestoreFromPageCache()
+{
+}
+
void FrameLoaderClientWx::dispatchDidBecomeFrameset(bool)
{
}
diff --git a/WebKit/wx/WebKitSupport/FrameLoaderClientWx.h b/WebKit/wx/WebKitSupport/FrameLoaderClientWx.h
index cb34b0f..b56a900 100644
--- a/WebKit/wx/WebKitSupport/FrameLoaderClientWx.h
+++ b/WebKit/wx/WebKitSupport/FrameLoaderClientWx.h
@@ -151,7 +151,10 @@ namespace WebCore {
virtual void savePlatformDataToCachedFrame(WebCore::CachedFrame*);
virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*);
virtual void transitionToCommittedForNewPage();
-
+
+ virtual void didSaveToPageCache();
+ virtual void didRestoreFromPageCache();
+
virtual void dispatchDidBecomeFrameset(bool);
virtual void updateGlobalHistory();
diff --git a/WebKit/wx/bindings/python/wscript b/WebKit/wx/bindings/python/wscript
index cd07836..0a1df31 100644
--- a/WebKit/wx/bindings/python/wscript
+++ b/WebKit/wx/bindings/python/wscript
@@ -30,9 +30,9 @@ import Logs
import Options
include_paths = [
- os.path.join(wk_root, 'JavaScriptCore'),
- os.path.join(wk_root, 'WebCore', 'bindings', 'cpp'),
- os.path.join(wk_root, 'WebCore', 'DerivedSources'),
+ os.path.join(wk_root, 'Source', 'JavaScriptCore'),
+ os.path.join(wk_root, 'Source', 'WebCore', 'bindings', 'cpp'),
+ os.path.join(wk_root, 'Source', 'WebCore', 'DerivedSources'),
os.path.join(wk_root, 'WebKit', 'wx'),
os.path.join(wx_root, 'wxPython', 'include'),
os.path.join(wx_root, '..', 'wxPython', 'include'),
diff --git a/WebKit/wx/wscript b/WebKit/wx/wscript
index fa3e06f..f91a69c 100644
--- a/WebKit/wx/wscript
+++ b/WebKit/wx/wscript
@@ -30,20 +30,20 @@ from settings import *
webkit_dirs = ['.', 'WebKitSupport']
include_paths = webkit_dirs + common_includes + ['.', '..',
wk_root,
- os.path.join(wk_root, 'JavaScriptCore'),
- os.path.join(wk_root, 'WebCore'),
- os.path.join(wk_root, 'WebCore', 'bindings', 'wx'),
- os.path.join(wk_root, 'WebCore', 'DerivedSources'),
+ os.path.join(wk_root, 'Source', 'JavaScriptCore'),
+ os.path.join(wk_root, 'Source', 'WebCore'),
+ os.path.join(wk_root, 'Source', 'WebCore', 'bindings', 'wx'),
+ os.path.join(wk_root, 'Source', 'WebCore', 'DerivedSources'),
os.path.join(output_dir),
- os.path.join(wk_root, 'WebCore', 'page', 'wx'),
- os.path.join(wk_root, 'WebCore', 'platform', 'network', 'curl'),
- os.path.join(wk_root, 'WebCore', 'platform', 'wx'),
- os.path.join(wk_root, 'WebCore', 'platform', 'bridge', 'wx'),
- os.path.join(wk_root, 'WebCore', 'platform', 'graphics', 'wx'),
+ os.path.join(wk_root, 'Source', 'WebCore', 'page', 'wx'),
+ os.path.join(wk_root, 'Source', 'WebCore', 'platform', 'network', 'curl'),
+ os.path.join(wk_root, 'Source', 'WebCore', 'platform', 'wx'),
+ os.path.join(wk_root, 'Source', 'WebCore', 'platform', 'bridge', 'wx'),
+ os.path.join(wk_root, 'Source', 'WebCore', 'platform', 'graphics', 'wx'),
]
if sys.platform.startswith("win"):
- include_paths.append(os.path.join(wk_root, 'WebCore','platform','win'))
+ include_paths.append(os.path.join(wk_root, 'Source', 'WebCore','platform','win'))
windows_deps = [
'lib/pthreadVC2.dll',
@@ -54,11 +54,11 @@ windows_deps = [
webcore_include_dirs = []
for dir in webcore_dirs + ['DerivedSources']:
- include_paths.append(os.path.join(wk_root, 'WebCore', dir))
+ include_paths.append(os.path.join(wk_root, 'Source', 'WebCore', dir))
-js_include_dirs = [os.path.join(wk_root, 'JavaScriptCore', 'assembler')]
+js_include_dirs = [os.path.join(wk_root, 'Source', 'JavaScriptCore', 'assembler')]
for dir in jscore_dirs:
- js_include_dirs.append(os.path.join(wk_root, 'JavaScriptCore', dir))
+ js_include_dirs.append(os.path.join(wk_root, 'Source', 'JavaScriptCore', dir))
def set_options(opt):
common_set_options(opt)
@@ -110,7 +110,7 @@ def build(bld):
exts = ['.c', '.cpp']
if sys.platform.startswith('darwin'):
exts.append('.mm')
- obj.includes += '../mac/WebCoreSupport ../../WebCore/platform/mac'
+ obj.includes += '../mac/WebCoreSupport ../../Source/WebCore/platform/mac'
obj.source = "../mac/WebCoreSupport/WebSystemInterface.mm"
obj.find_sources_in_dirs(webkit_dirs)